客户回调接口

master
Caps 6 years ago
parent 20b0a7a304
commit b4372a4b33

@ -1,13 +1,17 @@
package com.kiisoo.ic.customer; package com.kiisoo.ic.customer;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.OpCustomer;
import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation; import com.kiisoo.ic.customer.entity.OpSellerCustomerRelation;
import com.kiisoo.ic.customer.entity.OpVip; import com.kiisoo.ic.customer.entity.OpVip;
import com.kiisoo.ic.customer.mapper.OpCustomerDOMapper; import com.kiisoo.ic.customer.mapper.OpCustomerDOMapper;
import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper; import com.kiisoo.ic.customer.mapper.OpSellerCustomerRelationDOMapper;
import com.kiisoo.ic.customer.mapper.OpVipDOMapper; 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.entity.PoiStoreStaff;
import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper; import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -31,64 +35,71 @@ public class CustomerService {
private final OpVipDOMapper opVipDOMapper; private final OpVipDOMapper opVipDOMapper;
private final PoiStoreDOMapper poiStoreDOMapper;
private final PoiStoreStaffDOMapper poiStoreStaffDOMapper; private final PoiStoreStaffDOMapper poiStoreStaffDOMapper;
@Autowired @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.opCustomerDOMapper = opCustomerDOMapper;
this.opSellerCustomerRelationDOMapper = opSellerCustomerRelationDOMapper; this.opSellerCustomerRelationDOMapper = opSellerCustomerRelationDOMapper;
this.opVipDOMapper = opVipDOMapper; this.opVipDOMapper = opVipDOMapper;
this.poiStoreDOMapper = poiStoreDOMapper;
this.poiStoreStaffDOMapper = poiStoreStaffDOMapper; this.poiStoreStaffDOMapper = poiStoreStaffDOMapper;
} }
/** /**
* *
* @param uniId uniId * @param customerDTO
* @param staffCode Code
* @Description: id 1. 2.id 3.idvip * @Description: id 1. 2.id 3.idvip
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Deprecated public Long customerRelation(CustomerDTO customerDTO){
public void customerRelation(String uniId,String staffCode){ //客户信息
QueryWrapper<OpCustomer> customerWrapper = new QueryWrapper<>(); QueryWrapper<OpCustomer> 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); OpCustomer opCustomer = opCustomerDOMapper.selectOne(customerWrapper);
QueryWrapper<PoiStoreStaff> poiWrapper = new QueryWrapper<>(); //店铺信息
poiWrapper.eq("staff_code",staffCode).last("limit 1"); QueryWrapper<PoiStore> poiWrapper = new QueryWrapper<>();
PoiStoreStaff poiStoreStaff = poiStoreStaffDOMapper.selectOne(poiWrapper); poiWrapper.eq("code",customerDTO.getShopCode()).last("limit 1");
PoiStore poiStore = poiStoreDOMapper.selectOne(poiWrapper);
//导购信息
QueryWrapper<PoiStoreStaff> 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){ if(null != opCustomer){
//存在--1.处理客户导购关系。2.处理客户和vip关系(待定) //存在--1.处理客户导购关系。
sellerCustomerRelation(opCustomer,staffCode,poiStoreStaff.getStoreId(),poiStoreStaff.getUserId()); sellerCustomerRelation(opCustomer,customerDTO.getStaffCode(),poiStore.getId(),poiStoreStaff.getUserId());
return opCustomer.getId();
}else { }else {
//不存在 //不存在
OpCustomer insertCustomer = new OpCustomer();
insertCustomer.setWechatUniId(uniId);
opCustomerDOMapper.insert(insertCustomer); opCustomerDOMapper.insert(insertCustomer);
//添加关系
sellerCustomerRelation(insertCustomer,customerDTO.getStaffCode(),poiStore.getId(),poiStoreStaff.getUserId());
return insertCustomer.getId();
} }
} }
/** /**
* /vipVIP * /vipVIP
* @param openId openId * @param customerModifyDTO
* @param name
* @param phone
* @param desc
* @param mail
* @param type
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Deprecated public void customerVipRelation(CustomerModifyDTO customerModifyDTO){
public void customerVipRelation(String openId,String name,String phone,String desc,String mail,long type){ OpCustomer opCustomer = new OpCustomer(customerModifyDTO.getName(),customerModifyDTO.getPhone());
OpCustomer opCustomer = new OpCustomer(type,name,phone,desc,mail,new Date(),new Date());
QueryWrapper<OpVip> wrapper = new QueryWrapper<>(); QueryWrapper<OpVip> wrapper = new QueryWrapper<>();
wrapper.eq("phone",phone).last("limit 1"); wrapper.eq("phone",customerModifyDTO.getPhone()).last("limit 1");
OpVip opVip = opVipDOMapper.selectOne(wrapper); OpVip opVip = opVipDOMapper.selectOne(wrapper);
if(null != opVip){ if(null != opVip){
//有vip信息就绑定信息 //有vip信息就绑定信息
opCustomer.setMemberId(opVip.getId()); opCustomer.setMemberId(opVip.getId());
} }
QueryWrapper<OpCustomer> wrapper1 = new QueryWrapper<>(); QueryWrapper<OpCustomer> wrapper1 = new QueryWrapper<>();
wrapper1.eq("wechat_open_id",openId); wrapper1.eq("wechat_uni_id",customerModifyDTO.getUniId());
opCustomerDOMapper.update(opCustomer,wrapper1); opCustomerDOMapper.update(opCustomer,wrapper1);
} }

@ -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;
}

@ -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;
}

@ -18,14 +18,9 @@ public class OpCustomer {
public OpCustomer() { public OpCustomer() {
} }
public OpCustomer(Long type, String name, String phone, String desc, String mail, Date createTime, Date updateTime) { public OpCustomer(String name, String phone) {
this.type = type;
this.name = name; this.name = name;
this.phone = phone; this.phone = phone;
this.desc = desc;
this.mail = mail;
this.createTime = createTime;
this.updateTime = updateTime;
} }
/** /**

Loading…
Cancel
Save