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 | 123 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 122 insertions(+), 1 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 b2e2ad8..7298e61 100644 --- a/service-daylucky/src/test/java/com/ks/daylucky/MsgTest.java +++ b/service-daylucky/src/test/java/com/ks/daylucky/MsgTest.java @@ -1,26 +1,147 @@ package com.ks.daylucky; +import com.alipay.api.AlipayApiException; +import com.ks.app.entity.AppInfo; +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 { @Resource private UserMsgService userMsgService; + @Resource + private UserInfoService userInfoService; + + @Resource + private AppManager appManager; + + @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() { try { - userMsgService.addMsg(UserMsgFactory.createLuckyMsg(4L, LuckyMsgContentFactory.createJoinSuccess(7L))); + userMsgService.addMsg(UserMsgFactory.createLuckyMsg(4L, LuckyMsgContentFactory.createJoinSuccess(7L, new Date()))); } catch (UserMsgException e) { } } + @Test + public void sendTemplateMsg() { + //濡傛灉鏄腑濂栨秷鎭鍙戦�佹ā鏉挎秷鎭� + UserInfo userInfo = userInfoService.getUserDetail(4L); + AppInfo appInfo = appManager.getAppDetail(userInfo.getAppId()); + LuckyActivity activity = luckyActivityService.getActivity(10029L); + try { + AlipayXcxUtil.sendTemplateMsg(AlipayAppUtil.getAlipayAppInfo(appInfo.getAlipayInfo()), "677118be3b914b98be8cc58d4addc0db", "pages/activity-detail/activity-detail", userInfo.getAlipayUid(), "123", "涓鍟︼紝蹇幓鐪嬬湅浣犱腑浜嗕粈涔堝ぇ濂�", ActivityUtil.getActivityDateNumber(activity.getId(), activity.getCreateTime())); + } catch (AlipayApiException e) { + e.printStackTrace(); + } catch (AlipayXcxException e) { + e.printStackTrace(); + } + } + + 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