From d8359ddb48dab5cc797a9d552e11fde571f4920c Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 27 八月 2019 12:32:46 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java |   58 +++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 11 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 57dbc70..a6e4ea7 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
@@ -8,6 +8,7 @@
 
 import javax.annotation.Resource;
 
+import org.springframework.context.annotation.Lazy;
 import org.springframework.core.task.TaskExecutor;
 import org.springframework.stereotype.Service;
 
@@ -21,12 +22,15 @@
 import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
 import com.yeshi.fanli.entity.bus.user.UserSystemCouponGiveRecord;
 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.hongbao.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.integral.IntegralGetService;
 import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService;
 import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinGiveRecordService;
 import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
@@ -76,6 +80,14 @@
 
 	@Resource
 	private UserOtherMsgNotificationService userOtherMsgNotificationService;
+	
+	@Lazy
+	@Resource
+	private IntegralGetService  integralGetService;
+	
+	@Resource
+	private SystemCouponService systemCouponService;
+	
 
 	@Override
 	public void insertSelective(TokenRecord record) {
@@ -102,10 +114,14 @@
 		if (StringUtil.isNullOrEmpty(parseToken)) 
 			throw new TokenRecordException(1, "鏈彂鐜板彛浠�");
 		
-		TokenRecord rokenRecord = tokenRecordMapper.getByToken(token);
+		TokenRecord rokenRecord = tokenRecordMapper.getByToken(parseToken);
 		if (rokenRecord == null)
 			throw new TokenRecordException(1, "鍙d护涓嶅瓨鍦�");
 
+		Long uidToken = rokenRecord.getUid();
+		if (uid != null && uidToken != null && uid.longValue() == uidToken.longValue())
+			throw new TokenRecordException(1, "涓嶈兘鑷繁璧犻�佺粰鑷繁");
+		
 		Date now = new Date();
 		Date endTimeToken = rokenRecord.getEndTime();
 		Integer stateTtoken = rokenRecord.getState();
@@ -252,7 +268,7 @@
 		
 		TokenVO tokenVO = new TokenVO();
 		tokenVO.setAmount(num);
-		tokenVO.setToken(token);
+		tokenVO.setToken(parseToken);
 		tokenVO.setNickName(nickName + "璧犻��");
 		tokenVO.setPortrait(portrait);
 		tokenVO.setTips(tips);
@@ -274,7 +290,11 @@
 		TokenRecord rokenRecord = tokenRecordMapper.getByToken(token);
 		if (rokenRecord == null)
 			throw new TokenRecordException(1, "鍙d护宸插け鏁�");
-
+		
+		Long uidToken = rokenRecord.getUid();
+		if (uidToken != null && uid.longValue() == uidToken.longValue())
+			throw new TokenRecordException(1, "涓嶈兘鑷繁璧犻�佺粰鑷繁");
+		
 		Date now = new Date();
 		Date endTimeToken = rokenRecord.getEndTime();
 		if (endTimeToken != null && endTimeToken.getTime() < now.getTime())
@@ -312,9 +332,11 @@
 					|| userCoupon.getState() != UserSystemCoupon.STATE_IN_USE)
 				throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦ㄦ垨闈炶禒閫�");
 
+			
+			
 			try {
 				userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(),
-						UserSystemCoupon.SOURCE_GIVE);
+						UserSystemCoupon.SOURCE_GIVE, null);
 			} catch (Exception e) {
 				LogHelper.errorDetailInfo(e);
 				throw new TokenRecordException(1, "棰嗗彇澶辫触");
@@ -345,12 +367,14 @@
 			updateGiveRecord.setState(UserSystemCouponGiveRecord.STATE_RECEIVE);
 			userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateGiveRecord);
 
+			integralGetService.addGiveFreeCoupon(giveUid);
+			
 			msg = "棰嗗彇鎴愬姛[鍏嶅崟鍒竇鎴愬姛锛岃鍒癧鎴戠殑-绂忓埄涓績]涓煡鐪�";
 			// 娑堟伅 + 闃熷憳
 			executor.execute(new Runnable() {
 				@Override
 				public void run() {
-					SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm");
+					SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm");
 					boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
 					String beiZhu = "鏃�";
 					if (addTeam)
@@ -365,7 +389,7 @@
 					msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON);
 					msgOther.setTitle("璧犻�佸厤鍗曞埜");
 					msgOther.setGiveType("浣犺禒閫佺殑鍏嶅崟鍒歌鎴愬姛棰嗗彇");
-					msgOther.setReceiveInfo("鏄电О:  " + userName + " ID:" + uid);
+					msgOther.setReceiveInfo("鏄电О: 锛�" + userName + " ID锛�" + uid);
 					msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
 					msgOther.setReceiveTime(sd.format(new Date()));
 					userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
@@ -387,9 +411,17 @@
 					|| userCoupon.getState() != UserSystemCoupon.STATE_IN_USE)
 				throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦ㄦ垨闈炶禒閫�");
 
+			SystemCoupon systemCoupon = userCoupon.getSystemCoupon();
+			if (systemCoupon == null)
+				throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�");
+			
+			systemCoupon = systemCouponService.selectByPrimaryKey(systemCoupon.getId());
+			if (systemCoupon == null)
+				throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�");
+			
 			try {
-				userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(),
-						UserSystemCoupon.SOURCE_GIVE);
+				userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(),
+						UserSystemCoupon.SOURCE_GIVE, systemCoupon.getPercent());
 			} catch (Exception e) {
 				LogHelper.errorDetailInfo(e);
 				throw new TokenRecordException(1, "棰嗗彇澶辫触");
@@ -420,12 +452,14 @@
 			updateGiveRecord.setState(UserSystemCouponGiveRecord.STATE_RECEIVE);
 			userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateGiveRecord);
 
+			integralGetService.addGiveRebateCoupon(giveUid);
+			
 			msg = "棰嗗彇鎴愬姛[杩斿埄濂栧姳鍒竇鎴愬姛锛岃鍒癧鎴戠殑-绂忓埄涓績]涓煡鐪�";
 			// 娑堟伅 + 闃熷憳
 			executor.execute(new Runnable() {
 				@Override
 				public void run() {
-					SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm");
+					SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm");
 					boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
 					String beiZhu = "鏃�";
 					if (addTeam)
@@ -469,13 +503,15 @@
 				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");
+						SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm");
 						boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
 						String beiZhu = "鏃�";
 						if (addTeam)
@@ -487,7 +523,7 @@
 							userName = user.getNickName();
 
 						MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO();
-						msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON);
+						msgOther.setType(MsgOtherGiveContentDTO.TYEP_TLJ);
 						msgOther.setTitle("璧犻�佹帹骞跨孩鍖�");
 						msgOther.setGiveType("浣犺禒閫佺殑鎺ㄥ箍绾㈠寘琚垚鍔熼鍙�");
 						msgOther.setReceiveInfo("鏄电О:  " + userName + " ID:" + uid);

--
Gitblit v1.8.0