From bc082e1072d313820929ac4c311f422f422c7c8f Mon Sep 17 00:00:00 2001 From: zhenghuang <236220500@qq.com> Date: Wed, 3 Jun 2020 15:54:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E6=97=B6=E5=99=A8,=E6=AC=A2=E8=BF=8E?= =?UTF-8?q?=E8=AF=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ActivityInstanceController.java | 3 +- .../impl/PmnActivityInstanceServiceImpl.java | 2 + .../kiisoo/ic/config/ActivityValidGroup.java | 4 ++ .../kiisoo/ic/config/WelcomeValidGroup.java | 4 ++ .../kiisoo/ic/customer/CustomerService.java | 69 ++++++++++++++++--- .../controller/SynchronousController.java | 1 + .../ic/synchronous/entity/TurnBackDTO.java | 2 + 7 files changed, 74 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/kiisoo/ic/config/ActivityValidGroup.java create mode 100644 src/main/java/com/kiisoo/ic/config/WelcomeValidGroup.java diff --git a/src/main/java/com/kiisoo/ic/activity/controller/ActivityInstanceController.java b/src/main/java/com/kiisoo/ic/activity/controller/ActivityInstanceController.java index 905229f..cb8ea0f 100644 --- a/src/main/java/com/kiisoo/ic/activity/controller/ActivityInstanceController.java +++ b/src/main/java/com/kiisoo/ic/activity/controller/ActivityInstanceController.java @@ -9,6 +9,7 @@ import com.kiisoo.ic.activity.service.IPmnActivityScheduleService; import com.kiisoo.ic.activity.service.IPmnActivityStoreRelationService; import com.kiisoo.ic.activity.service.IPmnPromotionSrcService; import com.kiisoo.ic.common.BaseController; +import com.kiisoo.ic.config.ActivityValidGroup; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -85,7 +86,7 @@ public class ActivityInstanceController extends BaseController { @ApiOperation(value = "根据活动池新建/编辑实例") @PostMapping(value = "/save") - public Map saveInstance(@RequestBody @Validated ActivityInstanceVO activityInstanceVO) { + public Map saveInstance(@RequestBody @Validated({ActivityValidGroup.class}) ActivityInstanceVO activityInstanceVO) { try { boolean save = pmnActivityInstanceService.saveVO(activityInstanceVO, false); return save ? data(activityInstanceVO) : fail("操作失败"); diff --git a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java index f8a87be..3cdacb3 100644 --- a/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java +++ b/src/main/java/com/kiisoo/ic/activity/service/impl/PmnActivityInstanceServiceImpl.java @@ -339,6 +339,8 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl 0) { pmnActivityPromotionParamService.remove(Wrappers.lambdaQuery().eq(PmnActivityPromotionParam::getPromotionId, pmnActivityPromotion.getId()).notIn(PmnActivityPromotionParam::getId, paramIds).eq(PmnActivityPromotionParam::getAttr, 2)); + }else { + pmnActivityPromotionParamService.remove(Wrappers.lambdaQuery().eq(PmnActivityPromotionParam::getPromotionId, pmnActivityPromotion.getId()).eq(PmnActivityPromotionParam::getAttr, 2)); } applicationContext.publishEvent(new WelcomeCreatedEvent(this, pmnActivityInstance, activityInstanceVO.getStores())); diff --git a/src/main/java/com/kiisoo/ic/config/ActivityValidGroup.java b/src/main/java/com/kiisoo/ic/config/ActivityValidGroup.java new file mode 100644 index 0000000..0e3d645 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/config/ActivityValidGroup.java @@ -0,0 +1,4 @@ +package com.kiisoo.ic.config; + +public interface ActivityValidGroup { +} diff --git a/src/main/java/com/kiisoo/ic/config/WelcomeValidGroup.java b/src/main/java/com/kiisoo/ic/config/WelcomeValidGroup.java new file mode 100644 index 0000000..bab6686 --- /dev/null +++ b/src/main/java/com/kiisoo/ic/config/WelcomeValidGroup.java @@ -0,0 +1,4 @@ +package com.kiisoo.ic.config; + +public interface WelcomeValidGroup { +} diff --git a/src/main/java/com/kiisoo/ic/customer/CustomerService.java b/src/main/java/com/kiisoo/ic/customer/CustomerService.java index 6dfabdb..93883c1 100644 --- a/src/main/java/com/kiisoo/ic/customer/CustomerService.java +++ b/src/main/java/com/kiisoo/ic/customer/CustomerService.java @@ -123,6 +123,10 @@ public class CustomerService { private IPmnPromotionFriendsSrcService pmnPromotionFriendsSrcService; @Autowired private RedisUtil redisUtil; + @Autowired + private IPmnActivityInstanceConfigService pmnActivityInstanceConfigService; + @Autowired + private IPmnActivityPromotionParamService pmnActivityPromotionParamService; /** * token @@ -204,14 +208,59 @@ public class CustomerService { public Map turnBack(TurnBackDTO turnBackDTOS) throws Exception { String eaCode = turnBackDTOS.getEaCode(); Map returnValue = new HashMap<>(); + log.info("回调参数: {}", turnBackDTOS); // TODO 测试用 - Map mp = new HashMap<>(); - mp.put("title", "点击进入 解锁春夏新品限时惊喜“派对价”"); - mp.put("pic_media_id", "3FATKOzsf_ZvET8_znnVUgjfYht3VlewPs1TtDYRTmKzSxorJDjDra0fZyluqlCxh"); - mp.put("appid", "wxdbee4d231d47d0bf"); - mp.put("page", "pages/springPumping/login/login"); returnValue.put("welcome_code", "WELCOMECODE"); - returnValue.put("miniprogram", mp); + Long storeId; + if (turnBackDTOS.getUserId().equals("mayifei")) { + storeId = 1962L; + } else { + PoiStoreStaff storeStaff = poiStoreStaffDOMapper.selectOne(Wrappers.lambdaQuery().eq(PoiStoreStaff::getStaffCode, turnBackDTOS.getUserId())); + storeId = storeStaff.getStoreId(); + } + List storeRelations = pmnActivityStoreRelationService.list(Wrappers.lambdaQuery().eq(PmnActivityStoreRelation::getStoreId, storeId).eq(PmnActivityStoreRelation::getStatus, 1).select(PmnActivityStoreRelation::getInstanceId).orderByDesc(PmnActivityStoreRelation::getCreateTime)); + if (storeRelations.size() > 0) { + Set instanceIds = storeRelations.stream().map(PmnActivityStoreRelation::getInstanceId).collect(Collectors.toSet()); + List instance = pmnActivityInstanceService.list(Wrappers.lambdaQuery().in(PmnActivityInstance::getId, instanceIds).eq(PmnActivityInstance::getCategoryCode, "promotion").eq(PmnActivityInstance::getStatus, 2)); + if (instance.size() > 0) { + //TODO 有活动,返回活动 + + } else { + //没有活动,返回欢迎语 + List welcomes = pmnActivityInstanceService.list(Wrappers.lambdaQuery().in(PmnActivityInstance::getId, instanceIds).eq(PmnActivityInstance::getCategoryCode, "welcome")); + if (welcomes.size() > 0) { + PmnActivityInstance welcome = welcomes.get(0); + List configs = pmnActivityInstanceConfigService.list(Wrappers.lambdaQuery().eq(PmnActivityInstanceConfig::getInstanceId, welcome.getId())); + List params = pmnActivityPromotionParamService.listByIds(configs.stream().map(PmnActivityInstanceConfig::getParamId).collect(Collectors.toSet())); + Map content = new HashMap<>(); + content.put("content", welcome.getContent()); + returnValue.put("text", content); + for (PmnActivityPromotionParam param : params) { + if (param.getType().equals(1)) { + //图片 + Map image = new HashMap<>(); + image.put("media_id", param.getDefaultVal()); + returnValue.put("image", image); + } else if (param.getType().equals(2)) { + //网页 + Map link = new HashMap<>(); + link.put("title", welcome.getContent()); + link.put("picurl", null); + link.put("desc", param.getDescription()); + link.put("url", param.getDefaultVal()); + returnValue.put("link", link); + } else if (param.getType().equals(3)) { + Map mini = new HashMap<>(); + mini.put("title", welcome.getContent()); + mini.put("pic_media_id", null); + mini.put("app_id", param.getDefaultVal()); + mini.put("page", param.getDescription()); + returnValue.put("miniprogram", mini); + } + } + } + } + } if (eaCode != null) { // 判断是否是活动扫码 if (eaCode.contains(Constants.ACTIVITY_QR_CODE_PREFIX)) { @@ -526,7 +575,7 @@ public class CustomerService { } insertRelation.setType(3); - }else{ + } else { PoiStore poiStore = poiStoreDOMapper.selectById(shopId); insertRelation.setStoreCode(poiStore.getCode()); } @@ -652,16 +701,16 @@ public class CustomerService { Long shopId = stafferInfoVOS.get(0).getStoreId(); IPage thisList; // PageHelper.startPage(pageNum, pageSize); - com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum,pageSize); + com.baomidou.mybatisplus.extension.plugins.pagination.Page page = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum, pageSize); - if(startDate.getTime() == endDate.getTime()){ + if (startDate.getTime() == endDate.getTime()) { endDate = null; } if (roleCode.equals(RoleEnum.ROLE_CODE_DZ.getRoleCode())) { // 0、新增好友 1、累计好友 if (flag == 0) { - thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(page,shopId, sellerId, search, startDate, endDate, type); + thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopId(page, shopId, sellerId, search, startDate, endDate, type); } else { thisList = opSellerCustomerRelationDOMapper.selectFriendListByShopIdAndDate(page, shopId, sellerId, search, startDate, endDate, type); 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 92074f0..c029d12 100644 --- a/src/main/java/com/kiisoo/ic/synchronous/controller/SynchronousController.java +++ b/src/main/java/com/kiisoo/ic/synchronous/controller/SynchronousController.java @@ -95,6 +95,7 @@ public class SynchronousController { // 目前暂时只取其中一个值 returnValue.putIfAbsent("callback_info", callback); } + log.info("添加好友回调了: {}", JSON.toJSONString(returnValue)); return JSON.toJSONString(returnValue); // return DataImportUtil.succ(1); }catch (Exception e){ diff --git a/src/main/java/com/kiisoo/ic/synchronous/entity/TurnBackDTO.java b/src/main/java/com/kiisoo/ic/synchronous/entity/TurnBackDTO.java index a513c83..68f8eff 100644 --- a/src/main/java/com/kiisoo/ic/synchronous/entity/TurnBackDTO.java +++ b/src/main/java/com/kiisoo/ic/synchronous/entity/TurnBackDTO.java @@ -1,6 +1,7 @@ package com.kiisoo.ic.synchronous.entity; import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.ToString; /** * @ClassName: TurnBackDTO @@ -9,6 +10,7 @@ import com.fasterxml.jackson.annotation.JsonProperty; * @Date: 2020/4/23 0023 10:08 * @Version: */ +@ToString public class TurnBackDTO { /**