From 3464725773d2cf437cfa3cb6690b4f94d5fc3914 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期日, 22 九月 2019 11:58:57 +0800 Subject: [PATCH] 金币领取bug修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralTaskRecordServiceImpl.java | 95 +++++++++++++++++++++-------------------------- 1 files changed, 42 insertions(+), 53 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 0f751a1..3f99051 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 @@ -55,14 +55,12 @@ @Lazy @Resource private IntegralTaskClassService integralTaskClassService; - + @Resource private UserOtherMsgNotificationService userOtherMsgNotificationService; - + @Resource private ConfigService configService; - - @Override public Integer getTotalGoldCoin(long uid, Long cid, Integer dateType) { @@ -149,7 +147,6 @@ return listRecord; } - @Override public List<IntegralTaskRecord> getSign7DaysRecord(long uid, Long cid) { List<IntegralTaskRecord> listRecord = new ArrayList<IntegralTaskRecord>(); @@ -165,8 +162,8 @@ } date = createTime; listRecord.add(record); - - if(listRecord.size() >= 7) + + if (listRecord.size() >= 7) break; } } @@ -175,7 +172,7 @@ } return listRecord; } - + @Override public List<IntegralTaskRecord> listNotReceived(int count, long uid) { return integralTaskRecordMapper.listNotReceived(count, uid); @@ -190,7 +187,7 @@ } @Override - @Transactional(rollbackFor=Exception.class) + @Transactional(rollbackFor = Exception.class) public Integer receiveGoldCoinALL(Long uid) throws IntegralTaskRecordException { UserInfoExtra userInfoExtra = userInfoExtraService.getByUidForUpdate(uid); if (userInfoExtra == null) @@ -205,21 +202,15 @@ if (addDetail(uid, record)) totalGoldCoin += record.getGoldCoin(); } - - Integer goldCoin = userInfoExtra.getGoldCoin(); - if (goldCoin == null) - goldCoin = 0; - goldCoin = goldCoin + totalGoldCoin; - // 鏇存柊閲戝竵 - userInfoExtraService.updateGoldCoin(userInfoExtra.getId(), goldCoin); - - return goldCoin; + userInfoExtraService.updateGoldCoin(userInfoExtra.getId(), totalGoldCoin); + + return (userInfoExtra.getGoldCoin()==null?0:userInfoExtra.getGoldCoin()) + totalGoldCoin; } - @Override - @Transactional(rollbackFor=Exception.class) + @Override + @Transactional(rollbackFor = Exception.class) public Integer receiveGoldCoin(Long uid, Set<Long> idList) throws IntegralTaskRecordException { if (idList == null || idList.size() == 0) { throw new IntegralTaskRecordException(1, "id涓虹┖"); @@ -229,28 +220,28 @@ if (userInfoExtra == null) { throw new IntegralTaskRecordException(1, "鐢ㄦ埛淇℃伅涓嶅叏"); } - + Integer totalGoldCoin = 0; for (Long id : idList) { IntegralTaskRecord record = integralTaskRecordMapper.selectByPrimaryKey(id); if (record == null) continue; - + // 宸查鍙� Integer state = record.getState(); - if (state != null && state == 1) + if (state != null && state == 1) continue; - + if (addDetail(uid, record)) totalGoldCoin += record.getGoldCoin(); } - + Integer goldCoin = userInfoExtra.getGoldCoin(); if (goldCoin == null) goldCoin = 0; goldCoin = goldCoin + totalGoldCoin; - + // 鏇存柊閲戝竵 userInfoExtraService.updateGoldCoin(userInfoExtra.getId(), goldCoin); @@ -389,85 +380,83 @@ public List<IntegralTaskRecord> listByUidAndTaskId(Long uid, Long taskId, int page, int count) { return integralTaskRecordMapper.listByUidAndTaskId(uid, taskId, (page - 1) * count, count); } - - + @Async() @Override public void firstRebateOrderRewardBoss(Long uid, Long originUid, String beizu) { if (uid == null || originUid == null) return; - + String reward = configService.get("first_order_reward_boss"); - if (StringUtil.isNullOrEmpty(reward)) + if (StringUtil.isNullOrEmpty(reward)) return; firstOrderReward(uid, originUid, Integer.parseInt(reward), "涓�", beizu); } - + @Async() @Override public void firstRebateOrderRewardBossSuper(Long uid, Long originUid, String beizu) { if (uid == null || originUid == null) return; - + String reward = configService.get("first_order_reward_boss_super"); - if (StringUtil.isNullOrEmpty(reward)) + if (StringUtil.isNullOrEmpty(reward)) return; firstOrderReward(uid, originUid, Integer.parseInt(reward), "浜�", beizu); } - - + @Async() @Override public void firstShareOrderReward(Long uid, String beizu) { - if(uid == null) + if (uid == null) return; - + String reward = configService.get("first_share_order_reward"); - if (StringUtil.isNullOrEmpty(reward)) + if (StringUtil.isNullOrEmpty(reward)) return; firstOrderReward(uid, null, Integer.parseInt(reward), null, beizu); } - - + @Async() @Override public void firstSharerOrderRewardBoss(Long uid, Long originUid, String beizu) { if (uid == null || originUid == null) return; - + String reward = configService.get("first_share_order_reward_boss"); - if (StringUtil.isNullOrEmpty(reward)) + if (StringUtil.isNullOrEmpty(reward)) return; firstOrderReward(uid, originUid, Integer.parseInt(reward), "涓�", beizu); } - - + /** * 闃熷憳棣栧崟濂栧姳閲戝竵 + * * @param uid * @param addGoldCoin - * @param level 鎵�灞炲摢绾ч槦鍛� + * @param level + * 鎵�灞炲摢绾ч槦鍛� * @param beizu */ private void firstOrderReward(Long uid, Long originUid, Integer addGoldCoin, String level, String beizu) { - String uniqueKey = "firstOrder-"+ uid.toString(); - if (originUid != null) + String uniqueKey = "firstOrder-" + uid.toString(); + if (originUid != null) uniqueKey = uniqueKey + "-" + originUid; - + // 鍒ゆ柇鏄惁宸查鍙� IntegralDetail detailRecord = integralDetailService.getDetailByUniqueKey(uniqueKey); if (detailRecord != null) return; - + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); - if (userInfoExtra == null) + 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()); @@ -487,7 +476,7 @@ detail.setUniqueKey(uniqueKey); detail.setCreateTime(new Date()); integralDetailService.insertSelective(detail); - + // 娑堟伅 MsgOtherRewardIntegralDTO msgOther = new MsgOtherRewardIntegralDTO(); msgOther.setTitle("閲戝竵濂栧姳"); -- Gitblit v1.8.0