From 54b0dd1b6f8230799b0b4490f8b39afdd53a4e4c Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期三, 21 八月 2019 09:30:57 +0800
Subject: [PATCH] 积分明细

---
 fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java |   77 ++++++++++++++++++++++++++++++++------
 1 files changed, 65 insertions(+), 12 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java
index a6ad85a..d5b294f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java
+++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v2/IntegralControllerV2.java
@@ -33,7 +33,6 @@
 import com.yeshi.fanli.entity.bus.user.UserRank;
 import com.yeshi.fanli.entity.integral.CodePublishRecord;
 import com.yeshi.fanli.entity.integral.IntegralExchange;
-import com.yeshi.fanli.entity.integral.IntegralTaskClass;
 import com.yeshi.fanli.entity.integral.IntegralTaskClass.UniqueKeyEnum;
 import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
 import com.yeshi.fanli.exception.integral.IntegralExchangeException;
@@ -120,8 +119,18 @@
 				list = new ArrayList<IntegralTaskClassVO>();
 			}
 			long count = integralTaskClassService.countTaskClass();
-
+			
+			// 鐢ㄦ埛绛惧埌
+			Integer signState = 0;
 			if (page == 1) {
+				
+				// 绛惧埌
+				try { 
+					signState = integralTaskClassService.finishedDailySign(uid);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+				
 				UserInfoExtraVO extraVO = userInfoExtraService.getInfoExtraVOByUid(uid);
 				if (extraVO == null) {
 					out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鐩稿叧淇℃伅涓嶅瓨鍦�"));
@@ -139,21 +148,65 @@
 					out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛绛夌骇涓嶅瓨鍦�"));
 					return;
 				}
-
-				boolean signState = false;
-				IntegralTaskClass taskClass = integralTaskClassService.getByUniqueKey(UniqueKeyEnum.dailySign.name());
-				if (taskClass != null)
-					signState = integralTaskRecordService.isToDaySign(uid, taskClass.getId());
-
-				// 绛惧埌鏃ユ湡
+				
+				// 绛惧埌鏃ユ湡淇℃伅
 				DailySignVO dailySignVO = integralTaskClassService.getDailySignList(uid, userRank.getId());
-				data.put("signState", signState);
+
+				boolean ejectSign = false;
+				if (signState == 1) 
+					ejectSign = true;
+
+				data.put("signState", ejectSign);
 				data.put("goldCoin", extraVO.getGoldCoin());
 				data.put("portrait", userInfo.getPortrait());
 				data.put("userRank", gson.toJson(userRank));
 				data.put("dailySign", dailySignVO);
 			}
 
+			
+			for (IntegralTaskClassVO taskClassVO : list) {
+				String progress = taskClassVO.getProgress();
+				if (StringUtil.isNullOrEmpty(progress))
+					continue;
+				
+				Integer taskNum = taskClassVO.getTaskNum();
+				if (taskNum == null)
+					continue;
+
+				UniqueKeyEnum uniqueKey = taskClassVO.getUniqueKey();
+				if (uniqueKey == UniqueKeyEnum.dailySign) {
+					if (signState == 0) {
+						taskClassVO.setLightUp(true); // 绛惧埌澶辫触
+					} else if (signState == 1) {
+						taskClassVO.setLightUp(false);
+					} else if (signState == 2) {
+						taskClassVO.setLightUp(false);
+					}
+				} else {
+					taskClassVO.setLightUp(true);
+				}
+				
+				Integer dateType = 1; // 鏌ヨ褰撴棩
+				if (uniqueKey == UniqueKeyEnum.orderReward)
+					dateType = null; // 鏌ヨ鍘嗗彶
+
+				Long id = taskClassVO.getId();
+				int countFinished = 0;
+				Integer totalGoldCoin = integralTaskRecordService.getTotalGoldCoin(uid, id, dateType);
+				if (totalGoldCoin != null && totalGoldCoin > 0) {
+					taskClassVO.setFinishedCoin("+" + totalGoldCoin);
+					if (uniqueKey != UniqueKeyEnum.dailySign)
+						countFinished = integralTaskRecordService.countFinished(uid, id, dateType);
+				}
+				progress = progress.replace("{宸插畬鎴恾", countFinished + "").replace("{鎬讳换鍔", taskNum + "");
+				
+				if (signState == 0 && uniqueKey == UniqueKeyEnum.dailySign) {
+					progress = "鏈鍒�";
+					taskClassVO.setBtnName("绛惧埌");
+				} 
+				taskClassVO.setProgress(progress);
+			}
+			
 			data.put("count", count);
 			data.put("list", gson.toJson(list));
 			out.print(JsonUtil.loadTrueResult(data));
@@ -564,9 +617,9 @@
 		}
 
 		// 鏌ヨ鍒楄〃
-		List<IntegralDetailVO> list = integralDetailService.listDetailForClient(uid, index, date);
+		List<IntegralDetailVO> list = integralDetailService.listDetailForClient(uid, index, date, type);
 		// 缁熻鎬绘潯鏁�
-		long count = integralDetailService.countDetailForClient(uid, index, date);
+		long count = integralDetailService.countDetailForClient(uid, index, date, type);
 
 		GsonBuilder gsonBuilder = new GsonBuilder().excludeFieldsWithoutExposeAnnotation();
 		gsonBuilder.registerTypeAdapter(TaoLiJinDetailTypeEnum.class, new TypeAdapter<TaoLiJinDetailTypeEnum>() {

--
Gitblit v1.8.0