From 09951f4bd3e2e5bf8ccb3324a74a8ae0af65267e Mon Sep 17 00:00:00 2001 From: Caps <452713115@qq.com> Date: Tue, 7 Apr 2020 13:36:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E6=89=AB=E7=A0=81=E5=85=B3?= =?UTF-8?q?=E8=81=94=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kiisoo/ic/customer/CustomerService.java | 56 +++++++++++- .../kiisoo/ic/customer/entity/OpCustomer.java | 91 +++++++++++++++++++ .../entity/OpSellerCustomerRelation.java | 59 ++++++++++++ .../customer/mapper/OpCustomerDOMapper.java | 13 +++ .../OpSellerCustomerRelationDOMapper.java | 13 +++ 5 files changed, 227 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java create mode 100644 src/main/java/com/kiisoo/ic/customer/entity/OpSellerCustomerRelation.java create mode 100644 src/main/java/com/kiisoo/ic/customer/mapper/OpCustomerDOMapper.java create mode 100644 src/main/java/com/kiisoo/ic/customer/mapper/OpSellerCustomerRelationDOMapper.java diff --git a/src/main/java/com/kiisoo/ic/customer/CustomerService.java b/src/main/java/com/kiisoo/ic/customer/CustomerService.java index 9eb8bdc..40c62e9 100644 --- a/src/main/java/com/kiisoo/ic/customer/CustomerService.java +++ b/src/main/java/com/kiisoo/ic/customer/CustomerService.java @@ -1,8 +1,16 @@ package com.kiisoo.ic.customer; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.kiisoo.ic.customer.entity.OpCustomer; +import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation; +import com.kiisoo.ic.customer.mapper.OpCustomerDOMapper; +import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Date; + /** * @ClassName: CustomerService * @Description: 客户业务类 @@ -13,20 +21,58 @@ import org.springframework.transaction.annotation.Transactional; @Service public class CustomerService { + private final OpCustomerDOMapper opCustomerDOMapper; + + private final OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper; + + public CustomerService(OpCustomerDOMapper opCustomerDOMapper, OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper) { + this.opCustomerDOMapper = opCustomerDOMapper; + this.opSellerCustomerRelationDOMapper = opSellerCustomerRelationDOMapper; + } /** * 绑定客户的关系 * @param phone 客户手机号 * @param sellerId 分享码的导购id * @param shopId 导购所在的店铺id + * @Description: 根据客户联系方式查询客户id 1.判断客户是否存在,不存在就添加,存在就进行下一步 2.判断客户id和导购是否绑定了关系如果绑定了就直接下一步,如果没有就绑定 3.判断客户id和vip是否绑定了关系如果绑定了就直接下一步,如果没有就绑定 */ @Transactional(rollbackFor = Exception.class) + @Deprecated public void customerRelation(String phone,long sellerId,long shopId){ - //根据客户联系方式查询客户id - //1.判断客户是否存在,不存在就添加 - //2.判断客户id和导购是否绑定了关系如果绑定了就直接下一步,如果没有就绑定 - //3.判断客户id和门店是否绑定了关系如果绑定了就直接下一步,如果没有就绑定 - //4.判断客户id和vip是否绑定了关系如果绑定了就直接下一步,如果没有就绑定 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("phone",phone).last("limit 1"); + OpCustomer opCustomer = opCustomerDOMapper.selectOne(wrapper); + if(null != opCustomer){ + //存在--1.处理客户导购关系。2.处理客户和vip关系(待定) + sellerCustomerRelation(opCustomer,sellerId,shopId); + }else { + //不存在 + OpCustomer insertCustomer = new OpCustomer(); + insertCustomer.setPhone(phone); + opCustomerDOMapper.insert(insertCustomer); + } + } + + /** + * 处理客户和导购的关系 + * @param opCustomer 客户的数据信息 + * @param sellerId 导购id + */ + private void sellerCustomerRelation(OpCustomer opCustomer,long sellerId,long shopId){ + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("customer_id",opCustomer.getId()).eq("user_id",sellerId).eq("store_id",shopId).last("limit 1"); + OpSellerCustomerRelation opSellerCustomerRelation = opSellerCustomerRelationDOMapper.selectOne(wrapper1); + if(null == opSellerCustomerRelation){ + //不存在就添加 + OpSellerCustomerRelation insertRelation = new OpSellerCustomerRelation(); + insertRelation.setCreateTime(new Date()); + insertRelation.setUpdateTime(new Date()); + insertRelation.setCustomerId(opCustomer.getId()); + insertRelation.setStoreId(shopId); + insertRelation.setUserId(sellerId); + opSellerCustomerRelationDOMapper.insert(insertRelation); + } } } diff --git a/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java b/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java new file mode 100644 index 0000000..f45f275 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java @@ -0,0 +1,91 @@ +package com.kiisoo.ic.customer.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import java.util.Date; + +/** + * @Description 客户表 + * @Author Caps + * @Date 2020-04-07 + */ +@Data +@TableName ("op_customer") +public class OpCustomer { + + /** + * 主键ID + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 微信openId + */ + private String wechatOpenId; + + /** + * 微信uniId + */ + private String wechatUniId; + + private String wechatXxxId; + + /** + * 会员ID + */ + private Long memberId; + + /** + * 客户类型 1 微信 2 企业微信 + */ + private Long type; + + /** + * 客户名称 + */ + private String name; + + /** + * 手机号 + */ + private String phone; + + /** + * 客户描述 + */ + private String desc; + + /** + * 邮箱 + */ + private String mail; + + /** + * 品牌ID(考虑下沉) + */ + private Long brandId; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 修改时间 + */ + private Date updateTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 修改人 + */ + private String updateBy; + +} diff --git a/src/main/java/com/kiisoo/ic/customer/entity/OpSellerCustomerRelation.java b/src/main/java/com/kiisoo/ic/customer/entity/OpSellerCustomerRelation.java new file mode 100644 index 0000000..6d3da40 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/customer/entity/OpSellerCustomerRelation.java @@ -0,0 +1,59 @@ +package com.kiisoo.ic.customer.entity; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import java.util.Date; + +/** + * @Description 导购客户关系表 + * @Author Caps + * @Date 2020-04-07 + */ +@Data +@TableName ("op_seller_customer_relation") +public class OpSellerCustomerRelation { + + /** + * 主键ID + */ + @TableId(type = IdType.AUTO) + private Long id; + + /** + * 导购ID + */ + private Long userId; + + /** + * 客户ID + */ + private Long customerId; + + /** + * 店铺ID + */ + private Long storeId; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 修改时间 + */ + private Date updateTime; + + /** + * 创建人 + */ + private String createBy; + + /** + * 修改人 + */ + private String updateBy; + +} diff --git a/src/main/java/com/kiisoo/ic/customer/mapper/OpCustomerDOMapper.java b/src/main/java/com/kiisoo/ic/customer/mapper/OpCustomerDOMapper.java new file mode 100644 index 0000000..4ae836e --- /dev/null +++ b/src/main/java/com/kiisoo/ic/customer/mapper/OpCustomerDOMapper.java @@ -0,0 +1,13 @@ +package com.kiisoo.ic.customer.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kiisoo.ic.customer.entity.OpCustomer; +import org.springframework.stereotype.Repository; + +/** + * 客户 + */ +@Repository +public interface OpCustomerDOMapper extends BaseMapper { + +} diff --git a/src/main/java/com/kiisoo/ic/customer/mapper/OpSellerCustomerRelationDOMapper.java b/src/main/java/com/kiisoo/ic/customer/mapper/OpSellerCustomerRelationDOMapper.java new file mode 100644 index 0000000..4cf2376 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/customer/mapper/OpSellerCustomerRelationDOMapper.java @@ -0,0 +1,13 @@ +package com.kiisoo.ic.customer.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation; +import org.springframework.stereotype.Repository; + +/** + * 导购客户 + */ +@Repository +public interface OpSellerCustomerRelationDOMapper extends BaseMapper { + +}