From 25680e135b5bdc15658622cbfde74bab73cfee77 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 25 十二月 2020 18:54:40 +0800 Subject: [PATCH] 功能完善 --- service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardResultManager.java | 77 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 72 insertions(+), 5 deletions(-) diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardResultManager.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardResultManager.java index 5e5946f..b4fc569 100644 --- a/service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardResultManager.java +++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/LuckyActivityAwardResultManager.java @@ -6,12 +6,22 @@ import com.ks.app.entity.AppInfo; import com.ks.lucky.exception.LuckyActivityAwardException; import com.ks.lucky.exception.LuckyActivityAwardResultException; +import com.ks.lucky.exception.LuckyMQException; import com.ks.lucky.mapper.LuckyActivityAwardResultExtraMapper; import com.ks.lucky.mapper.LuckyActivityAwardResultMapper; import com.ks.lucky.pojo.DO.LuckyActivityAwardResult; import com.ks.lucky.pojo.DO.LuckyActivityAwardResultExtra; import com.ks.lucky.pojo.DO.LuckyActivityAwards; +import com.ks.lucky.pojo.DO.LuckyMQ; import com.ks.lucky.pojo.DTO.ActivityAwardParams; +import com.ks.lucky.pojo.DTO.mq.ActivityDrawnMsgDTO; +import com.ks.lucky.query.ActivityAwardResultQuery; +import com.ks.lucky.service.LuckyMQService; +import com.ks.lucky.util.Constant; +import com.ks.lucky.util.mq.CMQManager; +import com.ks.lucky.util.mq.LuckyMQFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.StringUtil; @@ -21,12 +31,14 @@ import org.yeshi.utils.entity.alipay.AlipayTransferAccount; import org.yeshi.utils.entity.alipay.AlipayTransferInfo; import org.yeshi.utils.exception.AlipayTransferException; +import org.yeshi.utils.generater.entity.ExceptionData; import javax.annotation.Resource; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.math.BigDecimal; import java.util.Date; +import java.util.List; import java.util.Set; /** @@ -34,6 +46,8 @@ */ @Component public class LuckyActivityAwardResultManager { + + Logger logger = LoggerFactory.getLogger(LuckyActivityAwardResultManager.class); @Resource private LuckyActivityAwardManager luckyActivityAwardManager; @@ -47,8 +61,8 @@ @Resource private LuckyActivityAwardResultExtraMapper luckyActivityAwardResultExtraMapper; - - + @Resource + private LuckyMQService luckyMQService; /** @@ -79,6 +93,13 @@ extra.setAwardResultId(result.getId()); extra.setCreateTime(new Date()); luckyActivityAwardResultExtraMapper.insertSelective(extra); + + //娣诲姞閫氱煡 + try { + CMQManager.getInstance().publishActivityDrawnMsg(ActivityDrawnMsgDTO.create(result)); + } catch (Exception e) { + + } } @@ -159,9 +180,55 @@ } - @Transactional - public void setResultShow(Long activityId) { - luckyActivityAwardResultMapper.setStateByActivityId(activityId, LuckyActivityAwardResult.STATE_NOT_RECIEVE, "绛夊緟棰嗗彇", new Date()); + @Transactional(rollbackFor = Exception.class) + public void setResultShow(Long activityId) throws LuckyMQException { + Date date = new Date(); + luckyActivityAwardResultMapper.setStateByActivityId(activityId, LuckyActivityAwardResult.STATE_NOT_RECIEVE, "绛夊緟棰嗗彇", date); + ActivityAwardResultQuery query = new ActivityAwardResultQuery(); + query.activityId = activityId; + long count = luckyActivityAwardResultMapper.count(query); + query.count = (int) count; + + List<LuckyActivityAwardResult> resultList = luckyActivityAwardResultMapper.list(query); + if (resultList != null && resultList.size() > 0) { + for (LuckyActivityAwardResult result : resultList) { + //娣诲姞杩囨湡棰嗗彇閫氱煡 + LuckyMQ mq = LuckyMQFactory.createActivityDrawnOutDate(result.getId(), new Date(date.getTime() + Constant.ACTIVITY_DRAWN_RECIEVE_VALID_TIME)); + luckyMQService.addMQ(mq); + + //娣诲姞閫氱煡 + try { + CMQManager.getInstance().publishActivityDrawnMsg(ActivityDrawnMsgDTO.create(result)); + } catch (Exception e) { + logger.error("鍙戝竷娲诲姩涓鐨勮闃呮秷鎭嚭閿欙細", result.getId(), e.getMessage()); + } + } + } + } + + /** + * 浣夸腑濂栬繃鏈� + * + * @param id + */ + @Transactional(rollbackFor = Exception.class) + public void setResultOutDate(Long id) { + LuckyActivityAwardResult result = luckyActivityAwardResultMapper.selectByPrimaryKeyForUpdate(id); + if (result.getState() != LuckyActivityAwardResult.STATE_NOT_RECIEVE) { + return; + } + + LuckyActivityAwardResult update = new LuckyActivityAwardResult(); + update.setId(id); + update.setState(LuckyActivityAwardResult.STATE_OUT_OF_DATE); + update.setStateDesc("杩囨湡鏈鍙�"); + update.setUpdateTime(new Date()); + luckyActivityAwardResultMapper.updateByPrimaryKeySelective(update); + + result.setStateDesc(update.getStateDesc()); + result.setState(update.getState()); + //鍙戝竷娑堟伅 + CMQManager.getInstance().publishActivityDrawnMsg(ActivityDrawnMsgDTO.create(result)); } } -- Gitblit v1.8.0