From 8b2191df2f7d94aa299bd43dcbe97c94e5a61bbd Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 20 十一月 2019 14:53:34 +0800
Subject: [PATCH] RocketMQ的消息整改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java |   41 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 38 insertions(+), 3 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 c6840f3..dd59cea 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
@@ -16,6 +16,7 @@
 import com.yeshi.fanli.dto.msg.MsgInviteContentDTO;
 import com.yeshi.fanli.dto.msg.MsgOtherGiveContentDTO;
 import com.yeshi.fanli.dto.msg.MsgRedPackGiveContentDTO;
+import com.yeshi.fanli.entity.accept.AcceptData;
 import com.yeshi.fanli.entity.bus.msg.MsgMoneyDetail.MsgTypeMoneyTypeEnum;
 import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinGiveRecord;
 import com.yeshi.fanli.entity.bus.user.TokenRecord;
@@ -48,6 +49,7 @@
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TokenUtil;
+import com.yeshi.fanli.util.VersionUtil;
 import com.yeshi.fanli.vo.msg.TokenVO;
 
 @Service
@@ -117,7 +119,7 @@
 	}
 
 	@Override
-	public TokenVO discernToken(String token, Long uid) throws TokenRecordException {
+	public TokenVO discernToken(String token, Long uid, AcceptData acceptData) throws TokenRecordException {
 		// 瑙f瀽鍙d护
 		String parseToken = TokenUtil.parseToken(token);
 		if (StringUtil.isNullOrEmpty(parseToken)) 
@@ -218,6 +220,10 @@
 				throw new TokenRecordException(1, "鍙d护宸插け鏁�");
 			}
 		} else if (tokenType == TokenTypeEnum.redPack) {
+			if(!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion()))
+				throw new TokenRecordException(1, "璇峰崌绾у埌鏈�鏂扮増");
+			
+			
 			type = 13;
 			RedPackGiveRecord giveRecord = redPackGiveRecordService.selectByPrimaryKey(Long.parseLong(identify));
 			if (giveRecord == null)
@@ -288,7 +294,7 @@
 	
 
 	@Override
-	public String receiveToken(String token, Long uid) throws TokenRecordException {
+	public String receiveToken(String token, Long uid, AcceptData acceptData) throws TokenRecordException {
 		if (uid == null || uid <= 0)
 			throw new TokenRecordException(1, "鐢ㄦ埛鏈櫥褰�");
 
@@ -504,6 +510,9 @@
 				}
 			});
 		} else if (tokenType == TokenTypeEnum.redPack) {
+			if(!VersionUtil.greaterThan_2_1(acceptData.getPlatform(), acceptData.getVersion()))
+				throw new TokenRecordException(1, "璇峰崌绾у埌鏈�鏂扮増");
+			
 			try {
 				msg = "棰嗗彇绾㈠寘鎴愬姛锛岃鍒癧鎴戠殑-绾㈠寘]涓煡鐪�";
 				// 棰嗗彇绾㈠寘銆佹洿鏂拌褰�
@@ -542,7 +551,7 @@
 						if (user != null && !StringUtil.isNullOrEmpty(user.getNickName()))
 							userName = user.getNickName();
 						MsgRedPackGiveContentDTO givedto = new MsgRedPackGiveContentDTO();
-						givedto.setTitle("绾㈠寘棰嗗彇");
+						givedto.setTitle("绾㈠寘璧犻��");
 						givedto.setUserInfo("鏄电О锛�" + userName + " ID锛�" + uid);
 						givedto.setTime(sd.format(new Date()));
 						givedto.setMoney("楼" + giveRecord.getAmount().setScale(2));
@@ -617,9 +626,35 @@
 			return;
 		Date date = new Date();
 		for (TokenRecord tokenRecord: list) {
+			Integer state = tokenRecord.getState();
+			if (state != null && state == 0) 
+				continue;
+			
 			tokenRecord.setState(1);
 			tokenRecord.setUpdateTime(date);
 			tokenRecordMapper.updateByPrimaryKeySelective(tokenRecord);
 		}
 	}
+	
+	
+	@Override
+	public void invalidByRedPack(Long id) {
+		if (id == null)
+			return;
+		
+		List<String> list = new ArrayList<String>();
+		list.add(TokenTypeEnum.redPack.name());
+		tokenRecordMapper.invalidByTypeAndIdentify(list, id.toString());
+	}
+	
+	@Override
+	public void invalidByCoupon(Long id) {
+		if (id == null)
+			return;
+		
+		List<String> list = new ArrayList<String>();
+		list.add(TokenTypeEnum.freeCoupon.name());
+		list.add(TokenTypeEnum.rebatePercentCoupon.name());
+		tokenRecordMapper.invalidByTypeAndIdentify(list, id.toString());
+	}
 }

--
Gitblit v1.8.0