From 8935277b33713cdc926f98e70fbf09856569b3aa Mon Sep 17 00:00:00 2001 From: Caps <452713115@qq.com> Date: Tue, 7 Apr 2020 14:39:27 +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 | 43 ++++++++++++++++--- .../kiisoo/ic/customer/entity/OpCustomer.java | 13 ++++++ .../ic/customer/mapper/OpVipAttrDOMapper.java | 13 ++++++ .../ic/customer/mapper/OpVipDOMapper.java | 14 ++++++ 4 files changed, 78 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/kiisoo/ic/customer/mapper/OpVipAttrDOMapper.java create mode 100644 src/main/java/com/kiisoo/ic/customer/mapper/OpVipDOMapper.java diff --git a/src/main/java/com/kiisoo/ic/customer/CustomerService.java b/src/main/java/com/kiisoo/ic/customer/CustomerService.java index d833e42..0cdbeb0 100644 --- a/src/main/java/com/kiisoo/ic/customer/CustomerService.java +++ b/src/main/java/com/kiisoo/ic/customer/CustomerService.java @@ -3,8 +3,11 @@ 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.entity.OpVip; import com.kiisoo.ic.customer.mapper.OpCustomerDOMapper; import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper; +import com.kiisoo.ic.customer.mapper.OpVipAttrDOMapper; +import com.kiisoo.ic.customer.mapper.OpVipDOMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,24 +28,30 @@ public class CustomerService { private final OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper; + private final OpVipDOMapper opVipDOMapper; + + private final OpVipAttrDOMapper opVipAttrDOMapper; + @Autowired - public CustomerService(OpCustomerDOMapper opCustomerDOMapper, OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper) { + public CustomerService(OpCustomerDOMapper opCustomerDOMapper, OpSellerCustomerRelationDOMapper opSellerCustomerRelationDOMapper, OpVipDOMapper opVipDOMapper, OpVipAttrDOMapper opVipAttrDOMapper) { this.opCustomerDOMapper = opCustomerDOMapper; this.opSellerCustomerRelationDOMapper = opSellerCustomerRelationDOMapper; + this.opVipDOMapper = opVipDOMapper; + this.opVipAttrDOMapper = opVipAttrDOMapper; } /** * 绑定客户的关系 - * @param phone 客户手机号 + * @param openId 微信openId * @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){ + public void customerRelation(String openId,long sellerId,long shopId){ QueryWrapper wrapper = new QueryWrapper<>(); - wrapper.eq("phone",phone).last("limit 1"); + wrapper.eq("wechat_open_id",openId).last("limit 1"); OpCustomer opCustomer = opCustomerDOMapper.selectOne(wrapper); if(null != opCustomer){ //存在--1.处理客户导购关系。2.处理客户和vip关系(待定) @@ -50,11 +59,35 @@ public class CustomerService { }else { //不存在 OpCustomer insertCustomer = new OpCustomer(); - insertCustomer.setPhone(phone); + insertCustomer.setWechatOpenId(openId); opCustomerDOMapper.insert(insertCustomer); } } + /** + * 录入客户信息/绑定客户vip关系(如果是VIP的话) + * @param openId + * @param name + * @param phone + * @param desc + * @param mail + * @param type + */ + @Transactional(rollbackFor = Exception.class) + 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()); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("phone",phone).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); + opCustomerDOMapper.update(opCustomer,wrapper1); + } + /** * 处理客户和导购的关系 * @param opCustomer 客户的数据信息 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 db29474..ee22086 100644 --- a/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java +++ b/src/main/java/com/kiisoo/ic/customer/entity/OpCustomer.java @@ -15,6 +15,19 @@ import java.util.Date; @TableName ("op_customer") public class OpCustomer { + public OpCustomer() { + } + + public OpCustomer(Long type, String name, String phone, String desc, String mail, Date createTime, Date updateTime) { + this.type = type; + this.name = name; + this.phone = phone; + this.desc = desc; + this.mail = mail; + this.createTime = createTime; + this.updateTime = updateTime; + } + /** * 主键ID */ diff --git a/src/main/java/com/kiisoo/ic/customer/mapper/OpVipAttrDOMapper.java b/src/main/java/com/kiisoo/ic/customer/mapper/OpVipAttrDOMapper.java new file mode 100644 index 0000000..661c192 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/customer/mapper/OpVipAttrDOMapper.java @@ -0,0 +1,13 @@ +package com.kiisoo.ic.customer.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kiisoo.ic.customer.entity.OpVipAttr; +import org.springframework.stereotype.Repository; + +/** + * 客户vip + */ +@Repository +public interface OpVipAttrDOMapper extends BaseMapper { + +} diff --git a/src/main/java/com/kiisoo/ic/customer/mapper/OpVipDOMapper.java b/src/main/java/com/kiisoo/ic/customer/mapper/OpVipDOMapper.java new file mode 100644 index 0000000..f8d0696 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/customer/mapper/OpVipDOMapper.java @@ -0,0 +1,14 @@ +package com.kiisoo.ic.customer.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.kiisoo.ic.customer.entity.OpVip; +import com.kiisoo.ic.customer.entity.OpVipAttr; +import org.springframework.stereotype.Repository; + +/** + * 客户vip + */ +@Repository +public interface OpVipDOMapper extends BaseMapper { + +}