diff --git a/src/main/java/com/kiisoo/ic/customer/CustomerService.java b/src/main/java/com/kiisoo/ic/customer/CustomerService.java index 857e0d7..fee91fb 100644 --- a/src/main/java/com/kiisoo/ic/customer/CustomerService.java +++ b/src/main/java/com/kiisoo/ic/customer/CustomerService.java @@ -1,13 +1,17 @@ package com.kiisoo.ic.customer; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.kiisoo.ic.customer.bean.CustomerDTO; +import com.kiisoo.ic.customer.bean.CustomerModifyDTO; import com.kiisoo.ic.customer.entity.OpCustomer; import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation; import com.kiisoo.ic.customer.entity.OpVip; import com.kiisoo.ic.customer.mapper.OpCustomerDOMapper; import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper; import com.kiisoo.ic.customer.mapper.OpVipDOMapper; +import com.kiisoo.ic.store.entity.PoiStore; import com.kiisoo.ic.store.entity.PoiStoreStaff; +import com.kiisoo.ic.store.mapper.PoiStoreDOMapper; import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -31,64 +35,71 @@ public class CustomerService { private final OpVipDOMapper opVipDOMapper; + private final PoiStoreDOMapper poiStoreDOMapper; + private final PoiStoreStaffDOMapper poiStoreStaffDOMapper; @Autowired - public CustomerService(OpCustomerDOMapper opCustomerDOMapper, OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper, OpVipDOMapper opVipDOMapper, PoiStoreStaffDOMapper poiStoreStaffDOMapper) { + public CustomerService(OpCustomerDOMapper opCustomerDOMapper, OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper, OpVipDOMapper opVipDOMapper, PoiStoreDOMapper poiStoreDOMapper, PoiStoreStaffDOMapper poiStoreStaffDOMapper) { this.opCustomerDOMapper = opCustomerDOMapper; this.opSellerCustomerRelationDOMapper = opSellerCustomerRelationDOMapper; this.opVipDOMapper = opVipDOMapper; + this.poiStoreDOMapper = poiStoreDOMapper; this.poiStoreStaffDOMapper = poiStoreStaffDOMapper; } /** * 绑定客户的关系 - * @param uniId 微信uniId - * @param staffCode 分享码的导购Code + * @param customerDTO 传输实体 * @Description: 根据客户联系方式查询客户id 1.判断客户是否存在,不存在就添加,存在就进行下一步 2.判断客户id和导购是否绑定了关系如果绑定了就直接下一步,如果没有就绑定 3.判断客户id和vip是否绑定了关系如果绑定了就直接下一步,如果没有就绑定 */ @Transactional(rollbackFor = Exception.class) - @Deprecated - public void customerRelation(String uniId,String staffCode){ + public Long customerRelation(CustomerDTO customerDTO){ + //客户信息 QueryWrapper customerWrapper = new QueryWrapper<>(); - customerWrapper.eq("wechat_uni_id",uniId).last("limit 1"); + customerWrapper.eq("wechat_uni_id",customerDTO.getUniId()).last("limit 1"); OpCustomer opCustomer = opCustomerDOMapper.selectOne(customerWrapper); - QueryWrapper poiWrapper = new QueryWrapper<>(); - poiWrapper.eq("staff_code",staffCode).last("limit 1"); - PoiStoreStaff poiStoreStaff = poiStoreStaffDOMapper.selectOne(poiWrapper); + //店铺信息 + QueryWrapper poiWrapper = new QueryWrapper<>(); + poiWrapper.eq("code",customerDTO.getShopCode()).last("limit 1"); + PoiStore poiStore = poiStoreDOMapper.selectOne(poiWrapper); + //导购信息 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_code",customerDTO.getStaffCode()).eq("store_code",customerDTO.getShopCode()).last("limit 1"); + PoiStoreStaff poiStoreStaff = poiStoreStaffDOMapper.selectOne(wrapper); + + //做插入使用 + OpCustomer insertCustomer = new OpCustomer(); + insertCustomer.setWechatUniId(customerDTO.getUniId()); if(null != opCustomer){ - //存在--1.处理客户导购关系。2.处理客户和vip关系(待定) - sellerCustomerRelation(opCustomer,staffCode,poiStoreStaff.getStoreId(),poiStoreStaff.getUserId()); + //存在--1.处理客户导购关系。 + sellerCustomerRelation(opCustomer,customerDTO.getStaffCode(),poiStore.getId(),poiStoreStaff.getUserId()); + return opCustomer.getId(); }else { //不存在 - OpCustomer insertCustomer = new OpCustomer(); - insertCustomer.setWechatUniId(uniId); opCustomerDOMapper.insert(insertCustomer); + //添加关系 + sellerCustomerRelation(insertCustomer,customerDTO.getStaffCode(),poiStore.getId(),poiStoreStaff.getUserId()); + return insertCustomer.getId(); } } /** * 录入客户信息/绑定客户vip关系(如果是VIP的话) - * @param openId 微信openId - * @param name 名称 - * @param phone 手机号 - * @param desc 描述 - * @param mail 邮箱 - * @param type 类型 + * @param customerModifyDTO */ @Transactional(rollbackFor = Exception.class) - @Deprecated - public void customerVipRelation(String openId,String name,String phone,String desc,String mail,long type){ - OpCustomer opCustomer = new OpCustomer(type,name,phone,desc,mail,new Date(),new Date()); + public void customerVipRelation(CustomerModifyDTO customerModifyDTO){ + OpCustomer opCustomer = new OpCustomer(customerModifyDTO.getName(),customerModifyDTO.getPhone()); QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("phone",phone).last("limit 1"); + wrapper.eq("phone",customerModifyDTO.getPhone()).last("limit 1"); OpVip opVip = opVipDOMapper.selectOne(wrapper); if(null != opVip){ //有vip信息就绑定信息 opCustomer.setMemberId(opVip.getId()); } QueryWrapper wrapper1 = new QueryWrapper<>(); - wrapper1.eq("wechat_open_id",openId); + wrapper1.eq("wechat_uni_id",customerModifyDTO.getUniId()); opCustomerDOMapper.update(opCustomer,wrapper1); } diff --git a/src/main/java/com/kiisoo/ic/customer/bean/CustomerDTO.java b/src/main/java/com/kiisoo/ic/customer/bean/CustomerDTO.java new file mode 100644 index 0000000..ee0e05e --- /dev/null +++ b/src/main/java/com/kiisoo/ic/customer/bean/CustomerDTO.java @@ -0,0 +1,29 @@ +package com.kiisoo.ic.customer.bean; + +import lombok.Data; + +/** + * @ClassName: CustomerDTO + * @Description: + * @Auther: Caps + * @Date: 2020/4/8 0008 19:06 + * @Version: + */ +@Data +public class CustomerDTO { + + /** + * 微信uniId + */ + private String uniId; + + /** + * 人员编号 + */ + private String staffCode; + + /** + * 店铺code + */ + private String shopCode; +} diff --git a/src/main/java/com/kiisoo/ic/customer/bean/CustomerModifyDTO.java b/src/main/java/com/kiisoo/ic/customer/bean/CustomerModifyDTO.java new file mode 100644 index 0000000..92df8a7 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/customer/bean/CustomerModifyDTO.java @@ -0,0 +1,30 @@ +package com.kiisoo.ic.customer.bean; + +import lombok.Data; + +/** + * @ClassName: CustomerDTO + * @Description: + * @Auther: Caps + * @Date: 2020/4/8 0008 19:06 + * @Version: + */ +@Data +public class CustomerModifyDTO { + + /** + * 微信uniId + */ + private String uniId; + + /** + * 客户名称 + */ + private String name; + + /** + * 手机号 + */ + private String phone; + +} diff --git a/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java b/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java index ee22086..16320fa 100644 --- a/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java +++ b/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java @@ -18,14 +18,9 @@ public class OpCustomer { public OpCustomer() { } - public OpCustomer(Long type, String name, String phone, String desc, String mail, Date createTime, Date updateTime) { - this.type = type; + public OpCustomer(String name, String phone) { this.name = name; this.phone = phone; - this.desc = desc; - this.mail = mail; - this.createTime = createTime; - this.updateTime = updateTime; } /**