郑皇 5 years ago
parent fabc6dbca4
commit e31a167b45

@ -17,7 +17,7 @@ public class PmnPromotionFriendsSrc {
private Long promotionSrcId;
private Long friendId;
private String friendId;
private Long type;

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

@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@ -77,7 +78,7 @@ public class SynchronousController {
*/
@RequestMapping(value = "/ics/customer", method = RequestMethod.POST, consumes = "application/json")
@ResponseBody
public String turnBack(@RequestBody List<TurnBackDTO> turnBackDTOS) {
public String turnBack(@RequestBody List<TurnBackDTO> turnBackDTOS, HttpServletResponse response) {
try {
for (TurnBackDTO turnBackDTO : turnBackDTOS) {
customerService.turnBack(turnBackDTO);

Loading…
Cancel
Save