diff --git a/luoo_user/src/main/java/com/luoo/user/service/DrawLotteryService.java b/luoo_user/src/main/java/com/luoo/user/service/DrawLotteryService.java index 4d414b9..57222f2 100644 --- a/luoo_user/src/main/java/com/luoo/user/service/DrawLotteryService.java +++ b/luoo_user/src/main/java/com/luoo/user/service/DrawLotteryService.java @@ -3,9 +3,11 @@ package com.luoo.user.service; import com.luoo.user.dao.LotteryDao; import com.luoo.user.dao.LotteryRegionDao; import com.luoo.user.dao.LotteryUserDao; +import com.luoo.user.dao.UserInfoDao; import com.luoo.user.pojo.Lottery; import com.luoo.user.pojo.LotteryRegion; import com.luoo.user.pojo.LotteryUser; +import com.luoo.user.pojo.UserInfo; import constants.Constants; import constants.ErrorConstants; import dto.UserLoginDto; @@ -31,6 +33,24 @@ import java.util.*; @Service public class DrawLotteryService { + // 中奖信息 + String[] winLotteryMessages = { + "恭喜你中奖了,你的运气真是太好了,连我都想跟你借钱买彩票了!", + "看来你的运气被幸运星咬了一口,中了个大奖!", + "你这是中了头奖,是不是昨晚做梦都在笑啊?", + "你的手气真是好得不得了,我都怀疑你是不是偷偷摸摸地跟财神爷打了招呼!", + "恭喜你中奖,你这是要发家致富的节奏啊!", + "你这是要把彩票中心吃垮的节奏啊,中了这么多奖!", + "你的运气真是好得让人眼红,我都想拜你为师,学学怎么中奖!", + "你的中奖概率比被闪电击中还低,你真是天生的幸运儿!", + "你的中奖记录比我的恋爱记录还丰富,真是让人羡慕嫉妒恨!", + "恭喜你中奖,你这是要成为我们朋友圈的土豪啊!", + "你这是要把彩票中心的钱都赢光,让他们破产吗?", + "你的中奖运气真是让人羡慕,我都想去拜拜财神爷,看看能不能沾沾你的光!", + "你的中奖记录比我的考试成绩还高,真是让人佩服得五体投地!", + "恭喜你中奖,你这是要成为我们村里的大富翁啊!" + }; + private final LotteryDao lotteryDao; private final LotteryRegionDao lotteryRegionDao; @@ -41,12 +61,15 @@ public class DrawLotteryService { private final UserMessageService userMessageService; - public DrawLotteryService(LotteryDao lotteryDao, LotteryRegionDao lotteryRegionDao, LotteryUserDao lotteryUserDao, JwtUtil jwtUtil, UserMessageService userMessageService) { + private final UserInfoDao userInfoDao; + + public DrawLotteryService(LotteryDao lotteryDao, LotteryRegionDao lotteryRegionDao, LotteryUserDao lotteryUserDao, JwtUtil jwtUtil, UserMessageService userMessageService, UserInfoDao userInfoDao) { this.lotteryDao = lotteryDao; this.lotteryRegionDao = lotteryRegionDao; this.lotteryUserDao = lotteryUserDao; this.jwtUtil = jwtUtil; this.userMessageService = userMessageService; + this.userInfoDao = userInfoDao; } public List findSigningList() { @@ -82,7 +105,7 @@ public class DrawLotteryService { List lotteryUserList = lotteryUserDao.findByLotteryIdAndRegionIdAndShowTime(id, lotteryRegion.getRegionId(), lotteryRegion.getShowTime()); - lotteryFunc(token, lotteryUserList, num); + lotteryFunc(token, lotteryUserList, num, lottery); } }); @@ -91,7 +114,7 @@ public class DrawLotteryService { // 实物抽奖业务 List byLotteryId = lotteryUserDao.findByLotteryId(id); - lotteryFunc(token, byLotteryId, lottery.getNum()); + lotteryFunc(token, byLotteryId, lottery.getNum(), lottery); } // 抽奖状态为报名中,自动抽奖 @@ -106,8 +129,9 @@ public class DrawLotteryService { * @param token 当前操作人 * @param lotteryUserList 参与抽奖人员列表 * @param num 设置的中奖数量 + * @param lottery 抽奖对象 */ - private void lotteryFunc(String token, List lotteryUserList, Integer num) { + private void lotteryFunc(String token, List lotteryUserList, Integer num, Lottery lottery) { List winnerList = new ArrayList<>(); if (lotteryUserList.size() > num) { // 抽奖人数大于设定人数 @@ -132,8 +156,14 @@ public class DrawLotteryService { userMessageDto.setType(MessageTypeEnum.PRIVATE_MESSAGE.getType()); userMessageDto.setSendUserId(StringUtils.isNotBlank(token) ? jwtUtil.getUserLoginDto(token).getUserId() : null); userMessageDto.setTitle("恭喜中奖!"); - userMessageDto.setContent("恭喜中奖!请加微信XXXXXX"); - userMessageDto.setUserId(lotteryUser.getUserId()); + + String userId = lotteryUser.getUserId(); + UserInfo userInfo = userInfoDao.getById(userId); + + String content = "亲爱的" + userInfo.getNickName() + ",您在积分抽奖 " + lottery.getTitle() + " 中幸运中奖,可以加微信号 indier 联系到我们。"; + // winLotteryMessages 随机选取一条 + userMessageDto.setContent(content + winLotteryMessages[new Random().nextInt(winLotteryMessages.length)]); + userMessageDto.setUserId(userId); userMessageDto.setSendUserAvatar(Constants.RESOURCE_PREFIX + (StringUtils.isNotBlank(token) ? jwtUtil.getUserLoginDto(token).getAvatar() : null)); userMessageDto.setSendUserNickName(StringUtils.isNotBlank(token) ? jwtUtil.getUserLoginDto(token).getNickName() : null); userMessageService.sendUserMessage(userMessageDto);