定时器,欢迎语

dev
zhenghuang 5 years ago
parent 2b7d128ef1
commit bc082e1072

@ -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<String, Object> saveInstance(@RequestBody @Validated ActivityInstanceVO activityInstanceVO) {
public Map<String, Object> saveInstance(@RequestBody @Validated({ActivityValidGroup.class}) ActivityInstanceVO activityInstanceVO) {
try {
boolean save = pmnActivityInstanceService.saveVO(activityInstanceVO, false);
return save ? data(activityInstanceVO) : fail("操作失败");

@ -339,6 +339,8 @@ public class PmnActivityInstanceServiceImpl extends ServiceImpl<PmnActivityInsta
}
if (paramIds.size() > 0) {
pmnActivityPromotionParamService.remove(Wrappers.<PmnActivityPromotionParam>lambdaQuery().eq(PmnActivityPromotionParam::getPromotionId, pmnActivityPromotion.getId()).notIn(PmnActivityPromotionParam::getId, paramIds).eq(PmnActivityPromotionParam::getAttr, 2));
}else {
pmnActivityPromotionParamService.remove(Wrappers.<PmnActivityPromotionParam>lambdaQuery().eq(PmnActivityPromotionParam::getPromotionId, pmnActivityPromotion.getId()).eq(PmnActivityPromotionParam::getAttr, 2));
}
applicationContext.publishEvent(new WelcomeCreatedEvent(this, pmnActivityInstance, activityInstanceVO.getStores()));

@ -0,0 +1,4 @@
package com.kiisoo.ic.config;
public interface ActivityValidGroup {
}

@ -0,0 +1,4 @@
package com.kiisoo.ic.config;
public interface WelcomeValidGroup {
}

@ -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<String, Object> turnBack(TurnBackDTO turnBackDTOS) throws Exception {
String eaCode = turnBackDTOS.getEaCode();
Map<String, Object> returnValue = new HashMap<>();
log.info("回调参数: {}", turnBackDTOS);
// TODO 测试用
Map<String, Object> 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.<PoiStoreStaff>lambdaQuery().eq(PoiStoreStaff::getStaffCode, turnBackDTOS.getUserId()));
storeId = storeStaff.getStoreId();
}
List<PmnActivityStoreRelation> storeRelations = pmnActivityStoreRelationService.list(Wrappers.<PmnActivityStoreRelation>lambdaQuery().eq(PmnActivityStoreRelation::getStoreId, storeId).eq(PmnActivityStoreRelation::getStatus, 1).select(PmnActivityStoreRelation::getInstanceId).orderByDesc(PmnActivityStoreRelation::getCreateTime));
if (storeRelations.size() > 0) {
Set<Long> instanceIds = storeRelations.stream().map(PmnActivityStoreRelation::getInstanceId).collect(Collectors.toSet());
List<PmnActivityInstance> instance = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().in(PmnActivityInstance::getId, instanceIds).eq(PmnActivityInstance::getCategoryCode, "promotion").eq(PmnActivityInstance::getStatus, 2));
if (instance.size() > 0) {
//TODO 有活动,返回活动
} else {
//没有活动,返回欢迎语
List<PmnActivityInstance> welcomes = pmnActivityInstanceService.list(Wrappers.<PmnActivityInstance>lambdaQuery().in(PmnActivityInstance::getId, instanceIds).eq(PmnActivityInstance::getCategoryCode, "welcome"));
if (welcomes.size() > 0) {
PmnActivityInstance welcome = welcomes.get(0);
List<PmnActivityInstanceConfig> configs = pmnActivityInstanceConfigService.list(Wrappers.<PmnActivityInstanceConfig>lambdaQuery().eq(PmnActivityInstanceConfig::getInstanceId, welcome.getId()));
List<PmnActivityPromotionParam> params = pmnActivityPromotionParamService.listByIds(configs.stream().map(PmnActivityInstanceConfig::getParamId).collect(Collectors.toSet()));
Map<String, Object> content = new HashMap<>();
content.put("content", welcome.getContent());
returnValue.put("text", content);
for (PmnActivityPromotionParam param : params) {
if (param.getType().equals(1)) {
//图片
Map<String, Object> image = new HashMap<>();
image.put("media_id", param.getDefaultVal());
returnValue.put("image", image);
} else if (param.getType().equals(2)) {
//网页
Map<String, Object> 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<String, Object> 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)) {

@ -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){

@ -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 {
/**

Loading…
Cancel
Save