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