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