diff --git a/src/main/java/com/kiisoo/ic/activity/entity/PmnPromotionFriendsSrc.java b/src/main/java/com/kiisoo/ic/activity/entity/PmnPromotionFriendsSrc.java index 0422da8..bd8f821 100644 --- a/src/main/java/com/kiisoo/ic/activity/entity/PmnPromotionFriendsSrc.java +++ b/src/main/java/com/kiisoo/ic/activity/entity/PmnPromotionFriendsSrc.java @@ -17,7 +17,7 @@ public class PmnPromotionFriendsSrc { private Long promotionSrcId; - private Long friendId; + private String friendId; private Long type; diff --git a/src/main/java/com/kiisoo/ic/customer/CustomerService.java b/src/main/java/com/kiisoo/ic/customer/CustomerService.java index 4fabeda..6504f8c 100644 --- a/src/main/java/com/kiisoo/ic/customer/CustomerService.java +++ b/src/main/java/com/kiisoo/ic/customer/CustomerService.java @@ -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.lambdaQuery().eq(PmnPromotionSrc::getCode, code)); + PmnActivityInstance instance = pmnActivityInstanceService.getById(instanceId); + PoiStoreStaff storeStaff = poiStoreStaffDOMapper.selectOne(Wrappers.lambdaQuery().eq(PoiStoreStaff::getStaffCode, turnBackDTOS.getUserId())); + if(instance == null || src == null || instance.getStatus() > 2) { + //如果没有活动或者活动已经过期,返回欢迎语 +// List storeRelation = pmnActivityStoreRelationService.list(Wrappers.lambdaQuery().eq(PmnActivityStoreRelation::getStoreId, storeId).select(PmnActivityStoreRelation::getInstanceId)); +// Set instanceIds = storeRelation.stream().map(PmnActivityStoreRelation::getInstanceId).collect(Collectors.toSet()); +// List welcomes = pmnActivityInstanceService.list(Wrappers.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.lambdaQuery().eq(PmnPromotionSrc::getInstanceId, instanceId).eq(PmnPromotionSrc::getType, type).eq(PmnPromotionSrc::getPromoterId, promoterId)); - if (src == null) { - PrivilageCpUserDO cpUserDO = privilageCpUserDOMapper.selectOne(Wrappers.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.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.lambdaQuery().eq(PmnPromotionFriendsSrc::getFriendId, turnBackDTOS.getWxData().getUserId()).eq(PmnPromotionFriendsSrc::getPromotionSrcId, storeStaff.getUserId())); + }else if(src.getType() == 2) { + //扫的店铺码,导购参与活动(生成导购码) + pmnPromotionSrcService.createCode(storeStaff, instanceId); } } diff --git a/src/main/java/com/kiisoo/ic/synchronous/controller/SynchronousController.java b/src/main/java/com/kiisoo/ic/synchronous/controller/SynchronousController.java index a62ff71..2d648ab 100644 --- a/src/main/java/com/kiisoo/ic/synchronous/controller/SynchronousController.java +++ b/src/main/java/com/kiisoo/ic/synchronous/controller/SynchronousController.java @@ -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 turnBackDTOS) { + public String turnBack(@RequestBody List turnBackDTOS, HttpServletResponse response) { try { for (TurnBackDTO turnBackDTO : turnBackDTOS) { customerService.turnBack(turnBackDTO);