From 744594ef1a2f530fc3e86ea9dc48b62247f79420 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 19 五月 2020 17:13:23 +0800 Subject: [PATCH] 饿了么绘图,添加口碑 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralTaskRecordServiceImpl.java | 121 +++++++++------------------------------- 1 files changed, 28 insertions(+), 93 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralTaskRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralTaskRecordServiceImpl.java index 7351ed1..ed9cbad 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralTaskRecordServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralTaskRecordServiceImpl.java @@ -1,6 +1,5 @@ package com.yeshi.fanli.service.impl.user.integral; -import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -16,12 +15,8 @@ import org.springframework.transaction.annotation.Transactional; import org.yeshi.utils.DateUtil; -import com.aliyun.openservices.ons.api.Message; import com.aliyun.openservices.ons.api.Producer; import com.yeshi.fanli.dao.mybatis.integral.IntegralTaskRecordMapper; -import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; -import com.yeshi.fanli.dto.mq.user.body.IntegralTaskMQMsg; -import com.yeshi.fanli.dto.msg.MsgOtherRewardIntegralDTO; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; import com.yeshi.fanli.entity.integral.IntegralDetail; import com.yeshi.fanli.entity.integral.IntegralTask; @@ -29,6 +24,7 @@ import com.yeshi.fanli.entity.integral.IntegralTaskClass; import com.yeshi.fanli.entity.integral.IntegralTaskClass.UniqueKeyEnum; import com.yeshi.fanli.entity.integral.IntegralTaskRecord; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.exception.integral.IntegralTaskRecordException; import com.yeshi.fanli.exception.user.UserInfoExtraException; import com.yeshi.fanli.log.LogHelper; @@ -39,10 +35,9 @@ import com.yeshi.fanli.service.inter.user.integral.IntegralTaskClassService; import com.yeshi.fanli.service.inter.user.integral.IntegralTaskRecordService; import com.yeshi.fanli.service.inter.user.integral.IntegralTaskService; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; -import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; -import com.yeshi.fanli.util.rocketmq.MQTopicName; @Service public class IntegralTaskRecordServiceImpl implements IntegralTaskRecordService { @@ -82,6 +77,11 @@ return integralTaskRecordMapper.countFinished(uid, cid, dateType); } + @Override + public void invalidGoldCoin() { + integralTaskRecordMapper.invalidGoldCoin(); + } + @Override public void finishedTask(long uid, long cid, long taskId, int goldCoin) { IntegralTaskRecord taskRecord = new IntegralTaskRecord(); @@ -239,7 +239,7 @@ // 宸查鍙� Integer state = record.getState(); - if (state != null && state == 1) + if (state != null && state != 0) continue; if (addDetail(uid, record)) @@ -252,7 +252,7 @@ return totalGoldCoin + (userInfoExtra.getGoldCoin() == null ? 0 : userInfoExtra.getGoldCoin()); } - @Transactional + @Transactional(rollbackFor = Exception.class) public boolean addDetail(Long uid, IntegralTaskRecord record) throws IntegralTaskRecordException { Long uid2 = record.getUid(); if (uid2 == null || uid.longValue() != uid2.longValue()) @@ -350,7 +350,7 @@ return integralTaskRecordMapper.countGetCountByTaskIdAndDay(taskId, uid, minTime, maxTime); } - @Transactional + @Transactional(rollbackFor = Exception.class) @Override public IntegralTaskRecord addRecord(IntegralTaskRecord record) throws IntegralTaskRecordException { if (record == null) @@ -359,21 +359,16 @@ if (record.getCid() == null || record.getTaskId() == null || record.getGoldCoin() == null || record.getState() == null || record.getUid() == null) throw new IntegralTaskRecordException(2, "鏁版嵁涓嶅畬鎴�"); - + Date date = new Date(); if (record.getCreateTime() == null) - record.setCreateTime(new Date()); + record.setCreateTime(date); if (record.getUpdateTime() == null) - record.setUpdateTime(new Date()); + record.setUpdateTime(date); + + // 璁剧疆鏈夋晥鏈� + record.setEndTime(DateUtil.plusDayDate(Constant.GOLD_COIN_VALID_DAYS, date)); integralTaskRecordMapper.insertSelective(record); - long count = integralTaskRecordMapper.getTotalGoldCoinByUid(record.getUid()); - if (count >= 200) {// 澶т簬200鍙戦�佹秷鎭� - IntegralTaskMQMsg msg = new IntegralTaskMQMsg(record.getUid(), count, new Date()); - Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_USER, UserTopicTagEnum.integralTaskFinish, - msg); - producer.send(message); - } - return record; } @@ -394,10 +389,6 @@ return integralTaskRecordMapper.listByUidAndTaskId(uid, taskId, (page - 1) * count, count); } - @Override - public long getTotalGoldCoinByUid(Long uid) { - return integralTaskRecordMapper.getTotalGoldCoinByUid(uid); - } @Async() @Override @@ -405,7 +396,7 @@ if (uid == null || originUid == null) return; - String reward = configService.get("first_order_reward_boss"); + String reward = configService.get(ConfigKeyEnum.firstOrderRewardBoss.getKey()); if (StringUtil.isNullOrEmpty(reward)) return; firstOrderReward(uid, originUid, Integer.parseInt(reward), "涓�", beizu); @@ -417,7 +408,7 @@ if (uid == null || originUid == null) return; - String reward = configService.get("first_order_reward_boss_super"); + String reward = configService.get(ConfigKeyEnum.firstOrderRewardBossSuper.getKey()); if (StringUtil.isNullOrEmpty(reward)) return; firstOrderReward(uid, originUid, Integer.parseInt(reward), "浜�", beizu); @@ -429,10 +420,10 @@ if (uid == null) return; - String reward = configService.get("first_share_order_reward"); + String reward = configService.get(ConfigKeyEnum.firstShareOrderReward.getKey()); if (StringUtil.isNullOrEmpty(reward)) return; - firstOrderReward(uid, null, Integer.parseInt(reward), null, beizu); + //firstOrderReward(uid, null, Integer.parseInt(reward), null, beizu); } @Async() @@ -441,7 +432,7 @@ if (uid == null || originUid == null) return; - String reward = configService.get("first_share_order_reward_boss"); + String reward = configService.get(ConfigKeyEnum.firstShareOrderRewardBoss.getKey()); if (StringUtil.isNullOrEmpty(reward)) return; firstOrderReward(uid, originUid, Integer.parseInt(reward), "涓�", beizu); @@ -498,70 +489,14 @@ integralDetailService.insertSelective(detail); // 娑堟伅 - MsgOtherRewardIntegralDTO msgOther = new MsgOtherRewardIntegralDTO(); - msgOther.setTitle("閲戝竵濂栧姳"); - msgOther.setNum(addGoldCoin + "閲戝竵"); - msgOther.setTotal(totalGoldCoin + "閲戝竵"); - if (StringUtil.isNullOrEmpty(level)) { - msgOther.setSource("棣栫瑪鍒嗕韩璁㈠崟锛岀郴缁熷鍔遍噾甯� "); - msgOther.setExplain("棣栫瑪鍒嗕韩璁㈠崟寰楀埌鐨勫閲戜笉瓒�0.01鍏冩椂濂栧姳 "); + if (level.equalsIgnoreCase("涓�") || level.equalsIgnoreCase("1")) { + // 鐩存帴绮変笣 + userOtherMsgNotificationService.goldCoinOrderSubsidyMsg(originUid, addGoldCoin, totalGoldCoin, true); } else { - msgOther.setSource(level + "绾ч槦鍛橀娆′笅鍗曪紝绯荤粺濂栧姳閲戝竵 "); - msgOther.setExplain("浠呮柊閭�璇烽槦鍛橀涓嬪崟浣犲緱鍒扮殑濂栭噾涓嶈冻0.01鍏冩椂濂栧姳 "); + // 闂存帴绮変笣 + userOtherMsgNotificationService.goldCoinOrderSubsidyMsg(originUid, addGoldCoin, totalGoldCoin, false); } - userOtherMsgNotificationService.firstOrderRewardMsg(uid, null, msgOther); + } - - /** - * 鎺ㄥ箍绾㈠寘鎶樼畻閲戝竵 - * - * @param uid - * @param addGoldCoin - * @param tlj - */ - @Override - @Transactional(rollbackFor = Exception.class) - public void taoLiJinExchange(Long uid, Integer addGoldCoin, BigDecimal tlj) { - String uniqueKey = "taoLiJinExchange-" + uid.toString(); - IntegralDetail detailRecord = integralDetailService.getDetailByUniqueKey(uniqueKey); - if (detailRecord != null) - return; - - UserInfoExtra userInfoExtra = userInfoExtraService.getByUidForUpdate(uid); - if (userInfoExtra == null) - return; - - Integer goldCoin = userInfoExtra.getGoldCoin(); - if (goldCoin == null) - goldCoin = 0; - goldCoin = goldCoin + addGoldCoin; - - try { - UserInfoExtra extra = new UserInfoExtra(); - extra.setId(userInfoExtra.getId()); - extra.setGoldCoin(goldCoin); - userInfoExtraService.saveUserInfoExtra(extra); - } catch (UserInfoExtraException e) { - LogHelper.errorDetailInfo(e); - return; - } - - // 閲戝竵璇︽儏 - IntegralDetail detail = new IntegralDetail(); - detail.setTitle("鎺ㄥ箍绾㈠寘涓嬬嚎-绯荤粺鎶樼畻鎴愰噾甯�"); - detail.setUid(uid); - detail.setMoney(addGoldCoin); - detail.setUniqueKey(uniqueKey); - detail.setCreateTime(new Date()); - integralDetailService.insertSelective(detail); - - // 娑堟伅 - MsgOtherRewardIntegralDTO msgOther = new MsgOtherRewardIntegralDTO(); - msgOther.setTitle("鎺ㄥ箍绾㈠寘"); - msgOther.setTotal("鎺ㄥ箍绾㈠寘楼" + tlj.setScale(2)); - msgOther.setNum(addGoldCoin + "鏋�"); - msgOther.setSource("宸茶繘鍏ュ埌鍙敤閲戝竵涓�"); - msgOther.setExplain("鍘熸帹骞跨孩鍖呭姛鑳戒笅绾匡紝鍓╀綑鎺ㄥ箍绾㈠寘鎸夌収10:1鎶樼畻涓洪噾甯� "); - userOtherMsgNotificationService.taoLiJinExchangeMsg(uid, "鏈姌绠楁湁涓斾粎鏈変竴娆�", msgOther); - } + } -- Gitblit v1.8.0