From 74ee9c42c1d87f3724a21e92871bc8c95c8364c6 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 03 九月 2019 17:04:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div
---
fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskClassServiceImpl.java | 133 ++++++++++++++++++++++---------------------
1 files changed, 68 insertions(+), 65 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskClassServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskClassServiceImpl.java
index 8e01a2f..ffc181f 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskClassServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/integral/IntegralTaskClassServiceImpl.java
@@ -20,6 +20,7 @@
import com.yeshi.fanli.entity.integral.IntegralTaskClass;
import com.yeshi.fanli.entity.integral.IntegralTaskClass.UniqueKeyEnum;
import com.yeshi.fanli.entity.integral.IntegralTaskRank;
+import com.yeshi.fanli.entity.integral.IntegralTaskRecord;
import com.yeshi.fanli.service.inter.integral.IntegralTaskClassService;
import com.yeshi.fanli.service.inter.integral.IntegralTaskRankService;
import com.yeshi.fanli.service.inter.integral.IntegralTaskRecordService;
@@ -50,6 +51,12 @@
@Resource
private UserInfoExtraService userInfoExtraService;
+
+ @Override
+ public IntegralTaskClass selectByPrimaryKey(Long id) {
+ return integralTaskClassMapper.selectByPrimaryKey(id);
+ }
+
@Override
public List<IntegralTaskClassVO> getIntegralTaskClassVO(Long uid, long start, int count) {
@@ -126,80 +133,76 @@
@Override
public DailySignVO getDailySignList(Long uid, Long rankId) throws ParseException{
+ SimpleDateFormat format = new SimpleDateFormat("MM.dd");
+ List<SignDateVO> listSign = new ArrayList<SignDateVO>();
IntegralTaskClass taskClass = integralTaskClassMapper.getByUniqueKey(UniqueKeyEnum.dailySign.name());
if (taskClass == null || taskClass.getState() == null || taskClass.getState() != 1)
return null;
- Long cid = taskClass.getId();
- List<IntegralTask> listTask = integralTaskService.listByCid(cid);
- if (listTask == null || listTask.size() == 0) {
- return null;
- }
-
- Date date = new Date();
- SimpleDateFormat format = new SimpleDateFormat("MM.dd");
- List<SignDateVO> listSign = new ArrayList<SignDateVO>();
-
- List<Date> listDays = integralTaskRecordService.getSignDays(uid, cid);
- for (int i = 0; i < listDays.size(); i ++) {
- if(i == listDays.size() -1) {
- SignDateVO signDate = new SignDateVO();
- signDate.setDate("浠婃棩");
- signDate.setLightUp(true);
- listSign.add(signDate);
- break;
- }
-
- String before = format.format(listDays.get(i));
- if (before.startsWith("0"))
- before = before.substring(1, before.length());
- SignDateVO signDateVO = new SignDateVO();
- signDateVO.setDate(before);
- listSign.add(signDateVO);
- }
-
- for (int i = 1; i <= 7- listDays.size(); i ++) {
- String after = format.format(DateUtil.plusDayDate(i, date));
- if (after.startsWith("0"))
- after = after.substring(1, after.length());
-
- SignDateVO signDateVO = new SignDateVO();
- signDateVO.setDate(after);
- listSign.add(signDateVO);
- }
-
DailySignVO dailySignVO = new DailySignVO();
- for (int i = 0; i < listTask.size(); i++) {
- if (listSign.size() <= i) {
- break;
- }
- SignDateVO signDateVO = listSign.get(i);
-
- IntegralTask task = listTask.get(i);
- Integer goldCoin = task.getGoldCoin();
- Integer baseDoubleNum = task.getDoubleNum();
- if (baseDoubleNum != null && baseDoubleNum > 0)
- goldCoin = goldCoin * baseDoubleNum;
-
- IntegralTaskRank traskRank = integralTaskRankService.getByTsakIdAndRankId(task.getId(), rankId);
- if (traskRank != null) {
- Integer addCoin = traskRank.getAddCoin();
- if (addCoin != null && addCoin > 0)
- goldCoin += addCoin;
-
- Integer doubleNum = traskRank.getDoubleNum();
- if (doubleNum != null && doubleNum > 0) {
- goldCoin = goldCoin * doubleNum;
+
+ Long cid = taskClass.getId();
+ List<IntegralTaskRecord> listRecord = integralTaskRecordService.getSignDaysRecord(uid, cid);
+ if (listRecord != null && listRecord.size() > 0) {
+ for (int i = listRecord.size() - 1; i >= 0; i--) {
+ IntegralTaskRecord taskRecord = listRecord.get(i);
+ SignDateVO signDateVO = new SignDateVO();
+ signDateVO.setLightUp(true);
+ signDateVO.setGoldCoin("+" + taskRecord.getGoldCoin());
+ if(i == 0) {
+ signDateVO.setDate("浠婃棩");
+ dailySignVO.setGoldCoin(taskRecord.getGoldCoin());
+ } else {
+ String before = format.format(taskRecord.getCreateTime());
+ if (before.startsWith("0"))
+ before = before.substring(1, before.length());
+ signDateVO.setDate(before);
}
+ listSign.add(signDateVO);
}
- signDateVO.setGoldCoin("+" + goldCoin);
-
- if("浠婃棩".equals(signDateVO.getDate()))
- dailySignVO.setGoldCoin(goldCoin);
-
}
- dailySignVO.setDays(listDays.size());
+
+ dailySignVO.setDays(listSign.size());
+
+ if (listSign.size() < 7) {
+ List<IntegralTask> listTask = integralTaskService.listByCid(cid);
+ if (listTask == null || listTask.size() == 0) {
+ return null;
+ }
+
+ Date date = new Date();
+ int j = 1;
+ for (int i = listSign.size(); i < listTask.size(); i ++) {
+ String after = format.format(DateUtil.plusDayDate(j, date));
+ if (after.startsWith("0"))
+ after = after.substring(1, after.length());
+
+ IntegralTask task = listTask.get(i);
+ Integer goldCoin = task.getGoldCoin();
+ Integer baseDoubleNum = task.getDoubleNum();
+ if (baseDoubleNum != null && baseDoubleNum > 0)
+ goldCoin = goldCoin * baseDoubleNum;
+
+ IntegralTaskRank traskRank = integralTaskRankService.getByTsakIdAndRankId(task.getId(), rankId);
+ if (traskRank != null) {
+ Integer addCoin = traskRank.getAddCoin();
+ if (addCoin != null && addCoin > 0)
+ goldCoin += addCoin;
+
+ Integer doubleNum = traskRank.getDoubleNum();
+ if (doubleNum != null && doubleNum > 0) {
+ goldCoin = goldCoin * doubleNum;
+ }
+ }
+
+ SignDateVO signDateVO = new SignDateVO();
+ signDateVO.setDate(after);
+ signDateVO.setGoldCoin("+" + goldCoin);
+ listSign.add(signDateVO);
+ j++;
+ }
+ }
dailySignVO.setListDate(listSign);
return dailySignVO;
}
--
Gitblit v1.8.0