|
|
|
@ -7,11 +7,8 @@ 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.activity.entity.*;
|
|
|
|
|
import com.kiisoo.ic.activity.service.*;
|
|
|
|
|
import com.kiisoo.ic.constants.Constants;
|
|
|
|
|
import com.kiisoo.ic.customer.bean.CustomerDTO;
|
|
|
|
|
import com.kiisoo.ic.customer.bean.CustomerModifyDTO;
|
|
|
|
@ -115,6 +112,10 @@ public class CustomerService {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private StoreEmployeeService storeEmployeeService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IPmnActivityStoreRelationService pmnActivityStoreRelationService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IPmnPromotionFriendsSrcService pmnPromotionFriendsSrcService;
|
|
|
|
|
/**
|
|
|
|
|
* token
|
|
|
|
|
*/
|
|
|
|
@ -215,33 +216,30 @@ public class CustomerService {
|
|
|
|
|
Long instanceId = Long.parseLong(strArr[1]);
|
|
|
|
|
int type = Integer.parseInt(strArr[2]);
|
|
|
|
|
Long promoterId = Long.parseLong(strArr[3]);
|
|
|
|
|
String code = new SimpleHash("MD5", eaCode).toHex();
|
|
|
|
|
PmnPromotionSrc src = pmnPromotionSrcService.getOne(Wrappers.<PmnPromotionSrc>lambdaQuery().eq(PmnPromotionSrc::getCode, code));
|
|
|
|
|
PmnActivityInstance instance = pmnActivityInstanceService.getById(instanceId);
|
|
|
|
|
PoiStoreStaff storeStaff = poiStoreStaffDOMapper.selectOne(Wrappers.<PoiStoreStaff>lambdaQuery().eq(PoiStoreStaff::getStaffCode, turnBackDTOS.getUserId()));
|
|
|
|
|
if(instance == null || src == null || instance.getStatus() > 2) {
|
|
|
|
|
//如果没有活动或者活动已经过期,返回欢迎语
|
|
|
|
|
// List<PmnActivityStoreRelation> storeRelation = pmnActivityStoreRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getStoreId, storeId).select(PmnActivityStoreRelation::getInstanceId));
|
|
|
|
|
// Set<Long> instanceIds = storeRelation.stream().map(PmnActivityStoreRelation::getInstanceId).collect(Collectors.toSet());
|
|
|
|
|
// List<PmnActivityInstance> welcomes = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().in(PmnActivityInstance::getId, instanceIds).eq(PmnActivityInstance::getCategoryCode, "welcome").orderBy(false, false, PmnActivityInstance::getCreateTime));
|
|
|
|
|
// if(welcomes == null) {
|
|
|
|
|
// //没有欢迎语
|
|
|
|
|
// }
|
|
|
|
|
// PmnActivityInstance welcome = welcomes.get(0);
|
|
|
|
|
}
|
|
|
|
|
// 处理逻辑
|
|
|
|
|
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.saveCodeFile(url, new SimpleHash("MD5", state).toHex());
|
|
|
|
|
pmnPromotionSrcService.save(saveSrc);
|
|
|
|
|
}
|
|
|
|
|
if (src.getType() == 1) {
|
|
|
|
|
//扫的导购码,客户参与活动
|
|
|
|
|
PmnPromotionFriendsSrc friendsSrc = new PmnPromotionFriendsSrc();
|
|
|
|
|
friendsSrc.setPromotionSrcId(storeStaff.getUserId());
|
|
|
|
|
friendsSrc.setFriendId(turnBackDTOS.getWxData().getUserId());
|
|
|
|
|
pmnPromotionFriendsSrcService.saveOrUpdate(friendsSrc, Wrappers.<PmnPromotionFriendsSrc>lambdaQuery().eq(PmnPromotionFriendsSrc::getFriendId, turnBackDTOS.getWxData().getUserId()).eq(PmnPromotionFriendsSrc::getPromotionSrcId, storeStaff.getUserId()));
|
|
|
|
|
}else if(src.getType() == 2) {
|
|
|
|
|
//扫的店铺码,导购参与活动(生成导购码)
|
|
|
|
|
pmnPromotionSrcService.createCode(storeStaff, instanceId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|