From 10abb8f04d3bacd4cead1758aae48726ccd29c66 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期二, 22 十月 2019 10:43:48 +0800 Subject: [PATCH] 淘礼金赠送红包功能恢复 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java | 100 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 98 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java index 54dd5b5..06db636 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.user; +import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -14,6 +15,7 @@ import com.yeshi.fanli.dao.mybatis.user.TokenRecordMapper; import com.yeshi.fanli.dto.msg.MsgInviteContentDTO; import com.yeshi.fanli.dto.msg.MsgOtherGiveContentDTO; +import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinGiveRecord; import com.yeshi.fanli.entity.bus.user.TokenRecord; import com.yeshi.fanli.entity.bus.user.TokenRecord.TokenTypeEnum; import com.yeshi.fanli.entity.bus.user.UserInfo; @@ -23,11 +25,14 @@ import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord; import com.yeshi.fanli.entity.system.SystemCoupon; import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum; +import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException; import com.yeshi.fanli.exception.user.TokenRecordException; import com.yeshi.fanli.exception.user.UserInfoExtraException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.config.SystemCouponService; import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService; +import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinGiveRecordService; +import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; import com.yeshi.fanli.service.inter.user.TokenRecordService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; @@ -82,6 +87,13 @@ @Resource private UserInviteMsgNotificationService userInviteMsgNotificationService; + + @Resource + private UserTaoLiJinGiveRecordService userTaoLiJinGiveRecordService; + + @Resource + private UserTaoLiJinOriginService userTaoLiJinOriginService; + @Override @@ -209,7 +221,34 @@ throw new TokenRecordException(1, "鍙d护宸插け鏁�"); } } else if (tokenType == TokenTypeEnum.taoLiJin) { - throw new TokenRecordException(1, "鎺ㄥ箍绾㈠寘鐩稿叧鍔熻兘宸蹭笅绾匡紒"); + type = 12; + UserTaoLiJinGiveRecord giveRecord = userTaoLiJinGiveRecordService.selectByPrimaryKey(Long.parseLong(identify)); + if (giveRecord == null) + throw new TokenRecordException(1, "鍙d护宸插け鏁�"); + + BigDecimal amount = giveRecord.getAmount(); + num = Integer.parseInt(amount.setScale(0).toString()); + + if(giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_OVERDUE) { + tips.add("鍝庡憖锛屾帹骞跨孩鍖呭凡澶辨晥浜嗭紒"); + } else if (giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_RECEIVE) { + tips.add("鍝庡憖锛屾帹骞跨孩鍖呭凡琚鍙栦簡锛�"); + } else if (giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_INIT) { + if (uid == null || uid <= 0) + throw new TokenRecordException(1001, "娓╅Θ鎻愮ず锛孾鎺ㄥ箍绾㈠寘]闇�瑕佺櫥褰曞悗棰嗗彇"); + state = true; + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) { + tips.add("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱"); + tips.add("鎺ㄥ箍绾㈠寘锛屽彲鍒嗕韩鐖嗘鍟嗗搧锛岃鍒嗕韩璁㈠崟鎴愬崟鐜囨洿楂橈紱"); + tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥濅腑鏌ョ湅銆�"); + } else { + tips.add("鎺ㄥ箍绾㈠寘锛屽彲鍒嗕韩鐖嗘鍟嗗搧锛岃鍒嗕韩璁㈠崟鎴愬崟鐜囨洿楂橈紱"); + tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥濅腑鏌ョ湅銆�"); + } + } else { + throw new TokenRecordException(1, "鍙d护澶辨晥"); + } } else { throw new TokenRecordException(1, "鏃犲搴旂被鍨�"); } @@ -466,7 +505,64 @@ } }); } else if (tokenType == TokenTypeEnum.taoLiJin) { - throw new TokenRecordException(1, "鎺ㄥ箍绾㈠寘鐩稿叧鍔熻兘宸蹭笅绾匡紒"); + UserTaoLiJinGiveRecord giveRecord = userTaoLiJinGiveRecordService + .selectByPrimaryKey(Long.parseLong(identify)); + if (giveRecord == null || giveRecord.getState() != UserTaoLiJinGiveRecord.STATE_INIT) + throw new TokenRecordException(1, "璧犻�佽褰曞け鏁堟垨宸茶棰嗗彇"); + + Date endTime = giveRecord.getEndTime(); + if (endTime != null && endTime.getTime() < now.getTime()) + throw new TokenRecordException(1, "鎺ㄥ箍绾㈠寘宸插け鏁堜簡"); + + BigDecimal amount = giveRecord.getAmount(); + try { + // 棰嗗彇 + userTaoLiJinOriginService.receiveFriendsGive(uid, amount); + + // 鏇存柊璁板綍 + UserTaoLiJinGiveRecord updateRecord = new UserTaoLiJinGiveRecord(); + updateRecord.setId(Long.parseLong(identify)); + updateRecord.setReceiveTime(new Date()); + updateRecord.setReceiveUid(uid); + updateRecord.setState(UserTaoLiJinGiveRecord.STATE_RECEIVE); + userTaoLiJinGiveRecordService.updateByPrimaryKeySelective(updateRecord); + + integralGetService.addGiveTaoLiJin(giveUid); + + msg = "棰嗗彇鎴愬姛[鎺ㄥ箍绾㈠寘]鎴愬姛锛岃鍒癧鎴戠殑-鎺ㄥ箍绾㈠寘]涓煡鐪�"; + + // 娑堟伅 + 闃熷憳 + executor.execute(new Runnable() { + @Override + public void run() { + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); + boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra); + String beiZhu = "鏃�"; + if (addTeam) + beiZhu = "棰嗗彇浜哄凡缁忔垚涓轰綘鐨勪竴绾ч槦鍛�"; + + String userName = "鏃�"; + UserInfo user = userInfoService.selectByPKey(uid); + if (user != null && !StringUtil.isNullOrEmpty(user.getNickName())) + userName = user.getNickName(); + + MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO(); + msgOther.setType(MsgOtherGiveContentDTO.TYEP_TLJ); + msgOther.setTitle("璧犻�佹帹骞跨孩鍖�"); + msgOther.setGiveType("浣犺禒閫佺殑鎺ㄥ箍绾㈠寘琚垚鍔熼鍙�"); + msgOther.setReceiveInfo("鏄电О锛�" + userName + " ID锛�" + uid); + msgOther.setGiveTime(sd.format(giveRecord.getGiveTime())); + msgOther.setReceiveTime(sd.format(new Date())); + userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther); + + // 婵�娲婚個璇蜂俊鎭� + if (addTeam) + addInviteMsg(uid, giveUid, amount.setScale(2) + "鍏冩帹骞跨孩鍖�"); + } + }); + } catch (UserTaoLiJinOriginException e) { + e.printStackTrace(); + } } else { throw new TokenRecordException(1, "鏃犲搴旂被鍨�"); } -- Gitblit v1.8.0