From 75b9f225c0fb0bbd429d542d4e20337f3c0e13f1 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 21 八月 2019 18:39:41 +0800
Subject: [PATCH] 金币获取服务修改

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeServiceImpl.java |   53 +++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 41 insertions(+), 12 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeServiceImpl.java
index 03f2e7d..38b279d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralExchangeServiceImpl.java
@@ -21,6 +21,7 @@
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
 import com.yeshi.fanli.exception.integral.IntegralExchangeException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.hongbao.HongBaoV2Service;
 import com.yeshi.fanli.service.inter.integral.CodePublishRecordService;
 import com.yeshi.fanli.service.inter.integral.IntegralExchangeRecordService;
@@ -45,6 +46,9 @@
 	
 	@Resource
 	private IntegralExchangeMapper integralExchangeMapper;
+	
+	@Resource
+	private ConfigService configService;
 	
 	@Resource
 	private UserInfoExtraService userInfoExtraService;
@@ -111,15 +115,22 @@
 		exchangeTip.setId(id);
 		ExchangeTypeEnum type = exchange.getType();
 		if (ExchangeTypeEnum.inviteCodeActivate == type) {
-			//exchangeTip.setTip("娉細鍏戞崲鎴愬姛鍚庤鍒扳�滄秷鎭�-绯荤粺娑堟伅鈥濇煡鐪�");
-			//exchangeTip.setGoldCoin(goldCoin + "閲戝竵");
 			exchangeTip.setType(type.name());
 			return exchangeTip;
 		}
 		
+		long exchangeCount = 0;
+		if (ExchangeTypeEnum.freeCouponBuy == type) {
+			exchangeCount = integralExchangeRecordService.countRecordByUid(id, uid, null);
+			if (exchangeCount >= 1) {
+				throw new IntegralExchangeException(1, "鑷喘鍏嶅崟鍒革紝浠呰兘鍏戞崲涓�娆�");
+			}
+		}
+		
 		Integer upperLimit = exchange.getUpperLimit();
 		if (upperLimit != null) { // 鏄惁鏈夐檺鍒舵瘡鏃ユ鏁�
-			long exchangeCount = integralExchangeRecordService.countRecordByUid(id, uid);
+			Integer today = 1;
+			exchangeCount = integralExchangeRecordService.countRecordByUid(id, uid, today);
 			if (exchangeCount >= upperLimit) {
 				throw new IntegralExchangeException(1, "浠婃棩鍏戞崲宸茶揪涓婇檺");
 			}
@@ -145,10 +156,10 @@
 			exchangeTip.setInviteCode(extraVO.getInviteCode());
 			exchangeTip.setTip("鍏戞崲鎴愬姛鍚庯紝灏嗗彂甯冧簬鈥滄縺娲婚個璇风爜鍏戞崲鍔熻兘涓�濓紝闇�婵�娲婚個璇风殑鐢ㄦ埛鍙敤閲戝竵鍏戞崲锛屾湰娆″睍绀烘湁鏁堟湡涓�3澶┿��");
 		} else if (ExchangeTypeEnum.taoLiJin == type) {
-			exchangeTip.setName(exchange.getAmount() + "鍏冩帹骞跨孩鍖�");
+			exchangeTip.setName(exchange.getAmount().setScale(0) + "鍏冩帹骞跨孩鍖�");
 			exchangeTip.setTip("娉�:鍏戞崲鎴愬姛鍚庤鍒扳�滄垜鐨�-鎺ㄥ箍绾㈠寘鈥濅腑鏌ョ湅");
 		} else if (ExchangeTypeEnum.cash == type) {	
-			exchangeTip.setName(exchange.getAmount() + "鍏冪幇閲戠孩鍖�");
+			exchangeTip.setName(exchange.getAmount().setScale(0) + "鍏冪幇閲戠孩鍖�");
 			exchangeTip.setTip("娉細鍏戞崲鎴愬姛鍚庤鍒扳�滄垜鐨�-璐︽埛浣欓鈥濅腑鏌ョ湅");
 		} else {
 			throw new IntegralExchangeException(1, "鍏戞崲鏂瑰紡涓嶅瓨鍦�");
@@ -175,12 +186,22 @@
 		if (exchange == null)
 			throw new IntegralExchangeException(1, "鍏戞崲鏂瑰紡涓嶅瓨鍦�");
 
+		ExchangeTypeEnum type = exchange.getType();
+		
 		long exchangeCount = 0;
+		if (ExchangeTypeEnum.freeCouponBuy == type) {
+			exchangeCount = integralExchangeRecordService.countRecordByUid(id, uid, null);
+			if (exchangeCount >= 1) {
+				throw new IntegralExchangeException(1, "鑷喘鍏嶅崟鍒革紝浠呰兘鍏戞崲涓�娆�");
+			}
+		}
+		
 		Integer upperLimit = exchange.getUpperLimit();
 		if (upperLimit != null) {  // 鏄惁鏈夐檺鍒舵瘡鏃ユ鏁�
-			exchangeCount = integralExchangeRecordService.countRecordByUid(id, uid);
+			Integer today = 1;
+			exchangeCount = integralExchangeRecordService.countRecordByUid(id, uid, today);
 			if (exchangeCount >= upperLimit) {
-				throw new IntegralExchangeException(1, "浠婃棩鍏戞崲宸茶揪涓婇檺");
+				throw new IntegralExchangeException(1, "鍏戞崲宸茶揪涓婇檺");
 			}
 		}
 		
@@ -191,19 +212,24 @@
 		}
 		
 		String thing = "";
+		int couponNews = 0;
 		try {
-			ExchangeTypeEnum type = exchange.getType();
 			if (ExchangeTypeEnum.freeCouponBuy == type) {
 				thing = "鑷喘鍏嶅崟鍒�";
 				userSystemCouponService.exchangeCoupon(uid, type.name(), UserSystemCoupon.SOURCE_EXCHANGE, null);
+				
+				couponNews = 1;
 			} else if (ExchangeTypeEnum.freeCouponGive == type) {
 				thing = "璧犻�佸厤鍗曞埜";
 				userSystemCouponService.exchangeCoupon(uid, type.name(), UserSystemCoupon.SOURCE_EXCHANGE, null);
+				couponNews = 1;
 			} else if (ExchangeTypeEnum.rebatePercentCoupon == type) {
 				thing = "濂栧姳鍏嶅崟鍒�";
-				userSystemCouponService.exchangeCoupon(uid, type.name(), UserSystemCoupon.SOURCE_EXCHANGE, new BigDecimal(10));
+				String percent = configService.get("exchange_rebate_percent");
+				userSystemCouponService.exchangeCoupon(uid, type.name(), UserSystemCoupon.SOURCE_EXCHANGE, new BigDecimal(percent));
+				couponNews = 1;
 			} else if (ExchangeTypeEnum.inviteCodePublish == type) {
-				thing = "閭�璇风爜婵�娲诲崱";
+				thing = "閭�璇风爜鍙戝竷鍗�";
 				if(codePublishRecordService.countValidRecord(uid) > 0)
 					throw new IntegralExchangeException(1, "涓夊ぉ涔嬪唴涓嶅彲閲嶅鍏戞崲");
 				codePublishRecordService.publishInviteCode(uid);
@@ -244,10 +270,14 @@
 			int surplus = goldCoinHas.intValue() - goldCoin.intValue();
 			exchange.setUserGoldCoin(surplus + "鏋�");
 			
-			// 鏇存柊閲戝竵
+			// 鏇存柊閲戝竵 + 绂忓埄涓績娑堟伅鏁�
+			if (extraVO.getCouponNews() != null && extraVO.getCouponNews() > 0) 
+				couponNews = couponNews + extraVO.getCouponNews();
+			
 			UserInfoExtraVO extraUpdate = new UserInfoExtraVO();
 			extraUpdate.setId(extraVO.getId());
 			extraUpdate.setGoldCoin(surplus);
+			extraUpdate.setCouponNews(couponNews);
 			userInfoExtraService.saveUserInfoExtra(extraUpdate);
 			
 			// 娣诲姞鍏戞崲璁板綍
@@ -273,7 +303,6 @@
 			throw new IntegralExchangeException(1, "鍏戞崲寮傚父");
 		}
 	}
-	
 	
 	
 	@Override

--
Gitblit v1.8.0