From 6c09cbd70388ae53ec593de253f69cfa1a3eeda7 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 06 二月 2021 15:41:25 +0800 Subject: [PATCH] 活动管理界面完善 --- service-daylucky/src/test/java/com/ks/daylucky/MsgTest.java | 84 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 84 insertions(+), 0 deletions(-) diff --git a/service-daylucky/src/test/java/com/ks/daylucky/MsgTest.java b/service-daylucky/src/test/java/com/ks/daylucky/MsgTest.java index 56165fc..7298e61 100644 --- a/service-daylucky/src/test/java/com/ks/daylucky/MsgTest.java +++ b/service-daylucky/src/test/java/com/ks/daylucky/MsgTest.java @@ -5,22 +5,36 @@ import com.ks.app.util.AlipayAppUtil; import com.ks.daylucky.exception.UserMsgException; import com.ks.daylucky.pojo.DO.UserInfo; +import com.ks.daylucky.pojo.DTO.UserMsgSettings; +import com.ks.daylucky.service.UserInfoExtraService; import com.ks.daylucky.service.UserInfoService; import com.ks.daylucky.service.UserMsgService; +import com.ks.daylucky.service.impl.AlipayTemplateMsgManager; import com.ks.daylucky.service.impl.AppManager; import com.ks.daylucky.util.activity.ActivityUtil; import com.ks.daylucky.util.factory.LuckyMsgContentFactory; import com.ks.daylucky.util.factory.UserMsgFactory; import com.ks.lucky.pojo.DO.LuckyActivity; +import com.ks.lucky.pojo.DO.LuckyActivityAwardResult; +import com.ks.lucky.pojo.DO.LuckyActivityAwards; +import com.ks.lucky.pojo.DO.LuckyActivityJoinRecord; +import com.ks.lucky.pojo.DTO.ActivitySimpleUser; +import com.ks.lucky.remote.service.LuckyActivityAwardResultService; +import com.ks.lucky.remote.service.LuckyActivityAwardService; +import com.ks.lucky.remote.service.LuckyActivityJoinService; import com.ks.lucky.remote.service.LuckyActivityService; import org.apache.dubbo.config.annotation.Reference; import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.yeshi.utils.alipay.AlipayXcxUtil; import org.yeshi.utils.exception.AlipayXcxException; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.Date; +import java.util.List; @SpringBootTest public class MsgTest { @@ -35,6 +49,20 @@ @Reference(version = "1.0.0") private LuckyActivityService luckyActivityService; + @Reference(version = "1.0.0") + private LuckyActivityJoinService luckyActivityJoinService; + @Resource + private UserInfoExtraService userInfoExtraService; + @Reference(version = "1.0.0") + private LuckyActivityAwardResultService luckyActivityAwardResultService; + @Reference(version = "1.0.0") + private LuckyActivityAwardService luckyActivityAwardService; + + @Resource + private AlipayTemplateMsgManager alipayTemplateMsgManager; + + + Logger logger = LoggerFactory.getLogger(MsgTest.class); @Test public void addMsg() { @@ -60,4 +88,60 @@ } } + private List<ActivitySimpleUser> getValidJoinerList(Long activityId) { + List<ActivitySimpleUser> list = new ArrayList<>(); + //鏌ヨ鎵�鏈夊弬涓庤�� + long count = luckyActivityJoinService.countJoiner(activityId, LuckyActivityJoinRecord.USER_TYPE_REAL); + int pageSize = 500; + int page = (int) (count % pageSize == 0 ? count / pageSize : count / pageSize + 1); + for (int i = 0; i < page; i++) { + List<ActivitySimpleUser> userList = luckyActivityJoinService.getJoinerList(activityId, LuckyActivityJoinRecord.USER_TYPE_REAL, i + 1, pageSize); + list.addAll(userList); + } + return list; + } + + private UserMsgSettings getUserMsgSetting(Long uid) { + return userInfoExtraService.getUserMsgSettings(uid); + } + + @Test + public void consumeMsg() { + + Long activityId = 10052L; + List<ActivitySimpleUser> userList = getValidJoinerList(activityId); + for (ActivitySimpleUser user : userList) { + //鍒ゆ柇鏄惁涓 + UserMsgSettings settings = getUserMsgSetting(Long.parseLong(user.getUid())); + LuckyActivity activity = luckyActivityService.getActivity(activityId); + + LuckyActivityAwardResult result = luckyActivityAwardResultService.getResult(user.getAppId(), user.getUid(), activityId); + if (result != null) { + if (settings.getDrawnMsg() != null && settings.getDrawnMsg()) { + LuckyActivityAwards awards = luckyActivityAwardService.getAwardDetail(result.getAwardId()); + + try { + userMsgService.addMsg(UserMsgFactory.createLuckyMsg(Long.parseLong(result.getUid()), LuckyMsgContentFactory.createDrawn(activityId, activity.getCreateTime(), awards.getAwardName()))); + } catch (UserMsgException e) { + logger.error("娣诲姞涓娑堟伅鍑洪敊 awardResultId-{}", result.getId(), e); + } + + //鍙戦�佷腑濂栨ā鏉挎秷鎭� + alipayTemplateMsgManager.sendDrawnMsg(activity, Long.parseLong(result.getUid())); + } + } else { + if (settings.getNotDrawnMsg() != null && settings.getNotDrawnMsg()) { + try { + userMsgService.addMsg(UserMsgFactory.createLuckyMsg(Long.parseLong(user.getUid()), LuckyMsgContentFactory.createNotDrawn(activityId, activity.getCreateTime()))); + } catch (UserMsgException e) { + logger.error("娣诲姞鏈腑濂栨秷鎭嚭閿� activityId-{} uid-{} ",activityId, user.getUid(), e); + } + //鍙戦�佹湭涓妯℃澘娑堟伅 + alipayTemplateMsgManager.sendUnDrawnMsg(activity, Long.parseLong(result.getUid())); + } + } + } + + } + } -- Gitblit v1.8.0