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 { + +}