|
|
|
@ -1,10 +1,17 @@
|
|
|
|
|
package com.kiisoo.ic.customer;
|
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
|
import com.github.pagehelper.Page;
|
|
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
|
|
import com.google.gson.Gson;
|
|
|
|
|
import com.kiisoo.ic.activity.bean.ActivityInstanceVO;
|
|
|
|
|
import com.kiisoo.ic.activity.entity.PmnActivityInstanceConfig;
|
|
|
|
|
import com.kiisoo.ic.activity.entity.PmnPromotionSrc;
|
|
|
|
|
import com.kiisoo.ic.activity.service.IPmnActivityInstanceConfigService;
|
|
|
|
|
import com.kiisoo.ic.activity.service.IPmnActivityInstanceService;
|
|
|
|
|
import com.kiisoo.ic.activity.service.IPmnPromotionSrcService;
|
|
|
|
|
import com.kiisoo.ic.constants.Constants;
|
|
|
|
|
import com.kiisoo.ic.customer.bean.CustomerDTO;
|
|
|
|
|
import com.kiisoo.ic.customer.bean.CustomerModifyDTO;
|
|
|
|
@ -30,6 +37,7 @@ import com.kiisoo.ic.store.mapper.PoiStoreDOMapper;
|
|
|
|
|
import com.kiisoo.ic.store.mapper.PoiStoreStaffDOMapper;
|
|
|
|
|
import com.kiisoo.ic.store.mapper.PrivilageCpUserStoreDOMapper;
|
|
|
|
|
import com.kiisoo.ic.store.service.PoiStoreService;
|
|
|
|
|
import com.kiisoo.ic.store.service.StoreEmployeeService;
|
|
|
|
|
import com.kiisoo.ic.synchronous.entity.TurnBackDTO;
|
|
|
|
|
import com.kiisoo.ic.system.entity.PrivilageUserDO;
|
|
|
|
|
import com.kiisoo.ic.system.enums.RoleEnum;
|
|
|
|
@ -97,6 +105,15 @@ public class CustomerService {
|
|
|
|
|
@Autowired
|
|
|
|
|
public PrivilageUserDOMapper privilageUserDOMapper;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private IPmnPromotionSrcService pmnPromotionSrcService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IPmnActivityInstanceService pmnActivityInstanceService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IPmnActivityInstanceConfigService pmnActivityInstanceConfigService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private StoreEmployeeService storeEmployeeService;
|
|
|
|
|
/**
|
|
|
|
|
* token
|
|
|
|
|
*/
|
|
|
|
@ -191,12 +208,38 @@ public class CustomerService {
|
|
|
|
|
* @param turnBackDTOS 回调对象
|
|
|
|
|
* @param eaCode 二维码的state字段
|
|
|
|
|
*/
|
|
|
|
|
private void handleActivity(TurnBackDTO turnBackDTOS, String eaCode){
|
|
|
|
|
private void handleActivity(TurnBackDTO turnBackDTOS, String eaCode) throws Exception {
|
|
|
|
|
String[] strArr = eaCode.split(Constants.LINE);
|
|
|
|
|
Long instanceId = Long.parseLong(strArr[1]);
|
|
|
|
|
int type = Integer.parseInt(strArr[2]);
|
|
|
|
|
Long promoterId = Long.parseLong(strArr[3]);
|
|
|
|
|
// 处理逻辑
|
|
|
|
|
if(type == 1) {
|
|
|
|
|
//导购逻辑
|
|
|
|
|
PmnPromotionSrc src = pmnPromotionSrcService.getOne(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instanceId).eq(PmnPromotionSrc::getType, type).eq(PmnPromotionSrc::getPromoterId, promoterId));
|
|
|
|
|
if(src == null) {
|
|
|
|
|
PrivilageCpUserDO cpUserDO = privilageCpUserDOMapper.selectOne(Wrappers.<PrivilageCpUserDO>lambdaQuery().eq(PrivilageCpUserDO::getCpUserId, turnBackDTOS.getWxData().getUserId()));
|
|
|
|
|
Long storeId = privilageCpUserStoreDOMapper.selectOneByCpUserId(turnBackDTOS.getWxData().getUserId());
|
|
|
|
|
String state = Constants.ACTIVITY_QR_CODE_PREFIX + Constants.LINE + instanceId + Constants.LINE + type + Constants.LINE + promoterId;
|
|
|
|
|
ActivityInstanceVO instanceVO = pmnActivityInstanceService.getVO(instanceId);
|
|
|
|
|
PmnActivityInstanceConfig config = pmnActivityInstanceConfigService.getOne(Wrappers.<PmnActivityInstanceConfig>lambdaQuery().eq(PmnActivityInstanceConfig::getInstanceId, instanceId));
|
|
|
|
|
PmnPromotionSrc saveSrc = new PmnPromotionSrc();
|
|
|
|
|
saveSrc.setCaseId(config.getCaseId());
|
|
|
|
|
saveSrc.setCode(state);
|
|
|
|
|
saveSrc.setCreateTime(new Date());
|
|
|
|
|
saveSrc.setExpiredTime(instanceVO.getEndTime());
|
|
|
|
|
saveSrc.setInstanceId(instanceId);
|
|
|
|
|
saveSrc.setPromoterId(cpUserDO.getId());
|
|
|
|
|
saveSrc.setIsAddition(2L);
|
|
|
|
|
saveSrc.setType(1L);
|
|
|
|
|
saveSrc.setUpdateTime(new Date());
|
|
|
|
|
saveSrc.setStatus(1L);
|
|
|
|
|
PoiStore store = poiStoreDOMapper.selectById(storeId);
|
|
|
|
|
String url = storeEmployeeService.createActivityQrCode(turnBackDTOS.getWxData().getUserId(), store.getCode(), 1, instanceId, promoterId);
|
|
|
|
|
saveSrc.setQrCode(url);
|
|
|
|
|
pmnPromotionSrcService.save(saveSrc);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|