From e75b0d79535a6bcd147cca4a54632b70b42afdb9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 29 五月 2021 18:10:18 +0800
Subject: [PATCH] 特价完善
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralDetailServiceImpl.java | 470 +++++++++++++++++++++++++++++-----------------------------
1 files changed, 235 insertions(+), 235 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralDetailServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralDetailServiceImpl.java
index 316d316..73a09dd 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralDetailServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/integral/IntegralDetailServiceImpl.java
@@ -1,235 +1,235 @@
-package com.yeshi.fanli.service.impl.user.integral;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeMap;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-import com.yeshi.fanli.dao.mybatis.integral.IntegralDetailMapper;
-import com.yeshi.fanli.entity.integral.IntegralDetail;
-import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
-import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService;
-import com.yeshi.fanli.util.TimeUtil;
-import com.yeshi.fanli.vo.integral.IntegralDetailVO;
-import com.yeshi.fanli.vo.integral.IntegralMonthVO;
-
-@Service
-public class IntegralDetailServiceImpl implements IntegralDetailService {
-
- @Resource
- private IntegralDetailMapper integralDetailMapper;
-
- @Resource
- private UserInfoExtraService userInfoExtraService;
-
- @Override
- public void insertSelective(IntegralDetail record) {
- integralDetailMapper.insertSelective(record);
- }
-
-
- @Override
- public IntegralDetail getDetailByUniqueKey(String uniqueKey) {
- return integralDetailMapper.getDetailByUniqueKey(uniqueKey);
- }
-
-
- @Override
- public List<IntegralDetailVO> listDetailForClient(Long uid, Long detailId, Date maxTime, Integer type) {
- List<IntegralDetailVO> finalList = new ArrayList<>();
- List<IntegralDetail> list = null;
- if (detailId == null) {// 棣栨璇锋眰
- if (maxTime == null)// 娌℃湁绛涢�夋椂闂�
- {
- list = integralDetailMapper.selectByMaxCreateTime(uid,
- new Date(System.currentTimeMillis() + 1000 * 60 * 60L), 20, type);
- } else {// 绛涢�変簡鏃堕棿
- list = integralDetailMapper.selectByMaxCreateTime(uid, maxTime, 20, type);
- }
- if (list != null && list.size() > 0) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTimeInMillis(list.get(0).getCreateTime().getTime());
- IntegralDetailVO vo = new IntegralDetailVO();
- vo.setMonth(new IntegralMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1));
- finalList.add(vo);
- } else {
- if (maxTime != null) {//
- Calendar calendar = Calendar.getInstance();
- calendar.setTimeInMillis(maxTime.getTime());
- IntegralDetailVO vo = new IntegralDetailVO();
- vo.setMonth(new IntegralMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1));
- vo.getMonth().setExpend("0");
- vo.getMonth().setIncome("0");
- finalList.add(vo);
- }
- }
-
- } else {// 浜屾璇锋眰
-
- int size = 21;
- List<IntegralDetail> tempList = integralDetailMapper.selectByUidWithIndexId(uid, detailId, size, type);
- Set<Date> dateSet = new HashSet<>();// 鐢ㄤ簬鍌ㄥ瓨鏄惁鍦ㄥ悓涓�鏃堕棿涓婇潰锛堢簿纭埌绉掞級
- if (tempList.size() > 0) {
- for (IntegralDetail umd : tempList) {
- dateSet.add(umd.getCreateTime());
- }
-
- List<IntegralDetail> tempList2 = new ArrayList<>();
- while (dateSet.size() == 1 && tempList2.size() != tempList.size() && size < 40) {// 鍙湁涓�涓椂闂寸偣鐨勬暟鎹�
- tempList = tempList2;
- size += 10;
- tempList2 = integralDetailMapper.selectByUidWithIndexId(uid, detailId, size, type);
- dateSet.clear();
- for (IntegralDetail umd : tempList2) {
- dateSet.add(umd.getCreateTime());
- }
- }
- if (tempList2.size() > 0)
- tempList = tempList2;
- }
-
- for (int i = 0; i < tempList.size(); i++) {
- if (tempList.get(i).getId().longValue() == detailId) {
- tempList.remove(i);
- break;
- } else {
- tempList.remove(i);
- i--;
- }
- }
- list = tempList;
- }
-
- if (list != null) {
- if (detailId != null && list.size() > 0) {
- IntegralDetail umd = integralDetailMapper.selectByPrimaryKey(detailId);
- if (!TimeUtil.getGernalTime(umd.getCreateTime().getTime(), "yyyy-MM")
- .equalsIgnoreCase(TimeUtil.getGernalTime(list.get(0).getCreateTime().getTime(), "yyyy-MM"))) {
- Calendar calendar = Calendar.getInstance();
- calendar.setTimeInMillis(list.get(0).getCreateTime().getTime());
- IntegralDetailVO vo = new IntegralDetailVO();
- vo.setMonth(new IntegralMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1));
- finalList.add(vo);
- }
-
- }
- for (int i = 0; i < list.size(); i++) {
- if (i > 0 && !TimeUtil.getGernalTime(list.get(i - 1).getCreateTime().getTime(), "yyyy-MM")
- .equalsIgnoreCase(TimeUtil.getGernalTime(list.get(i).getCreateTime().getTime(), "yyyy-MM"))) {// 鏈潯鏁版嵁涓庝笂鏉℃暟鎹笉鏄悓涓�鏈堝垯鎻掑叆鏈堜唤
- Calendar calendar = Calendar.getInstance();
- calendar.setTimeInMillis(list.get(i).getCreateTime().getTime());
- IntegralDetailVO vo = new IntegralDetailVO();
- vo.setMonth(new IntegralMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1));
- finalList.add(vo);
- }
- IntegralDetailVO vo = new IntegralDetailVO();
- vo.setDetail(list.get(i));
- finalList.add(vo);
- }
- }
-
- // 缁熻鏈堣祫閲�
-
- Map<Integer, IntegralDetailVO> monthMap = new TreeMap<>();
- if (finalList.size() > 1)
- for (int i = 0; i < finalList.size(); i++) {
- if (finalList.get(i).getMonth() != null)
- monthMap.put(i, finalList.get(i));
- }
-
- if (!monthMap.isEmpty()) {
- List<String> dateFormat = new ArrayList<>();
- Iterator<Integer> keys = monthMap.keySet().iterator();
- while (keys.hasNext()) {
- Integer key = keys.next();
- String date = "";
- date += monthMap.get(key).getMonth().getYear();
- date += "-";
- date += (monthMap.get(key).getMonth().getMonth() + "").length() < 2
- ? "0" + monthMap.get(key).getMonth().getMonth() : monthMap.get(key).getMonth().getMonth();
- dateFormat.add(date);
- }
- List<IntegralMonthVO> voList = integralDetailMapper.selectMonthMoneyByUid(uid, dateFormat);
-
- int p = 0;
- keys = monthMap.keySet().iterator();
- while (keys.hasNext()) {
- Integer key = keys.next();
-
- BigDecimal expend = new BigDecimal(voList.get(p).getExpend());
- BigDecimal income = new BigDecimal(voList.get(p).getIncome());
-
- // 鍘婚櫎鏀嚭璐熷彿
- finalList.get(key).getMonth().setExpend(expend.setScale(0).toString().replace("-", ""));
- finalList.get(key).getMonth().setIncome(income.setScale(0).toString());
- p++;
- }
- }
- return finalList;
- }
-
-
- @Override
- public long countDetailForClient(Long uid, Long detailId, Date maxTime, Integer type) {
- long monthCount = 0L;
- long detailCount = 0L;
- // 鏈�氳繃鏃堕棿绛涢�夛紝鏌ヨ鎵�鏈�
- if (maxTime == null) {
- detailCount = integralDetailMapper.selectCountByUid(uid, type);
- // 鐢ㄤ簬琛ㄧず褰撳墠鎵�鏈�
- monthCount = integralDetailMapper.selectMonthCountByUid(uid, new Date(System.currentTimeMillis() + 1000 * 60 * 60L), type);
- } else {// 閫氳繃鏃堕棿绛涢�変簡鐨勶紝闇�瑕佹煡璇㈡墍鏈�
- detailCount = integralDetailMapper.selectCountByUidAndMaxCreateTime(uid, maxTime, type);
- monthCount = integralDetailMapper.selectMonthCountByUid(uid, maxTime, type);
- }
-
- return monthCount + detailCount;
- }
-
- @Override
- public BigDecimal getCumulativeMoney(Long uid) {
- return integralDetailMapper.getCumulativeMoney(uid);
- }
-
-
- @Override
- public Long countNewAddByDate(String preDay) {
- return integralDetailMapper.countNewAddByDate(preDay);
- }
-
- @Override
- public List<IntegralDetail> listQuery(long start, int count, String key) {
- return integralDetailMapper.listQuery(start, count, key);
- }
-
- @Override
- public long countQuery(String key) {
- Long count = integralDetailMapper.countQuery(key);
- if (count == null) {
- count = 0L;
- }
- return count;
- }
-
-
- @Override
- public long sumUseGoldCoin(Long uid) {
- Long count = integralDetailMapper.sumUseGoldCoin(uid);
- if (count == null) {
- count = 0L;
- }
- return count;
- }
-
-}
-
+package com.yeshi.fanli.service.impl.user.integral;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TreeMap;
+
+import javax.annotation.Resource;
+
+import org.springframework.stereotype.Service;
+
+import com.yeshi.fanli.dao.mybatis.integral.IntegralDetailMapper;
+import com.yeshi.fanli.entity.integral.IntegralDetail;
+import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
+import com.yeshi.fanli.service.inter.user.integral.IntegralDetailService;
+import org.yeshi.utils.TimeUtil;
+import com.yeshi.fanli.vo.integral.IntegralDetailVO;
+import com.yeshi.fanli.vo.integral.IntegralMonthVO;
+
+@Service
+public class IntegralDetailServiceImpl implements IntegralDetailService {
+
+ @Resource
+ private IntegralDetailMapper integralDetailMapper;
+
+ @Resource
+ private UserInfoExtraService userInfoExtraService;
+
+ @Override
+ public void insertSelective(IntegralDetail record) {
+ integralDetailMapper.insertSelective(record);
+ }
+
+
+ @Override
+ public IntegralDetail getDetailByUniqueKey(String uniqueKey) {
+ return integralDetailMapper.getDetailByUniqueKey(uniqueKey);
+ }
+
+
+ @Override
+ public List<IntegralDetailVO> listDetailForClient(Long uid, Long detailId, Date maxTime, Integer type) {
+ List<IntegralDetailVO> finalList = new ArrayList<>();
+ List<IntegralDetail> list = null;
+ if (detailId == null) {// 棣栨璇锋眰
+ if (maxTime == null)// 娌℃湁绛涢�夋椂闂�
+ {
+ list = integralDetailMapper.selectByMaxCreateTime(uid,
+ new Date(System.currentTimeMillis() + 1000 * 60 * 60L), 20, type);
+ } else {// 绛涢�変簡鏃堕棿
+ list = integralDetailMapper.selectByMaxCreateTime(uid, maxTime, 20, type);
+ }
+ if (list != null && list.size() > 0) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTimeInMillis(list.get(0).getCreateTime().getTime());
+ IntegralDetailVO vo = new IntegralDetailVO();
+ vo.setMonth(new IntegralMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1));
+ finalList.add(vo);
+ } else {
+ if (maxTime != null) {//
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTimeInMillis(maxTime.getTime());
+ IntegralDetailVO vo = new IntegralDetailVO();
+ vo.setMonth(new IntegralMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1));
+ vo.getMonth().setExpend("0");
+ vo.getMonth().setIncome("0");
+ finalList.add(vo);
+ }
+ }
+
+ } else {// 浜屾璇锋眰
+
+ int size = 21;
+ List<IntegralDetail> tempList = integralDetailMapper.selectByUidWithIndexId(uid, detailId, size, type);
+ Set<Date> dateSet = new HashSet<>();// 鐢ㄤ簬鍌ㄥ瓨鏄惁鍦ㄥ悓涓�鏃堕棿涓婇潰锛堢簿纭埌绉掞級
+ if (tempList.size() > 0) {
+ for (IntegralDetail umd : tempList) {
+ dateSet.add(umd.getCreateTime());
+ }
+
+ List<IntegralDetail> tempList2 = new ArrayList<>();
+ while (dateSet.size() == 1 && tempList2.size() != tempList.size() && size < 40) {// 鍙湁涓�涓椂闂寸偣鐨勬暟鎹�
+ tempList = tempList2;
+ size += 10;
+ tempList2 = integralDetailMapper.selectByUidWithIndexId(uid, detailId, size, type);
+ dateSet.clear();
+ for (IntegralDetail umd : tempList2) {
+ dateSet.add(umd.getCreateTime());
+ }
+ }
+ if (tempList2.size() > 0)
+ tempList = tempList2;
+ }
+
+ for (int i = 0; i < tempList.size(); i++) {
+ if (tempList.get(i).getId().longValue() == detailId) {
+ tempList.remove(i);
+ break;
+ } else {
+ tempList.remove(i);
+ i--;
+ }
+ }
+ list = tempList;
+ }
+
+ if (list != null) {
+ if (detailId != null && list.size() > 0) {
+ IntegralDetail umd = integralDetailMapper.selectByPrimaryKey(detailId);
+ if (!TimeUtil.getGernalTime(umd.getCreateTime().getTime(), "yyyy-MM")
+ .equalsIgnoreCase(TimeUtil.getGernalTime(list.get(0).getCreateTime().getTime(), "yyyy-MM"))) {
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTimeInMillis(list.get(0).getCreateTime().getTime());
+ IntegralDetailVO vo = new IntegralDetailVO();
+ vo.setMonth(new IntegralMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1));
+ finalList.add(vo);
+ }
+
+ }
+ for (int i = 0; i < list.size(); i++) {
+ if (i > 0 && !TimeUtil.getGernalTime(list.get(i - 1).getCreateTime().getTime(), "yyyy-MM")
+ .equalsIgnoreCase(TimeUtil.getGernalTime(list.get(i).getCreateTime().getTime(), "yyyy-MM"))) {// 鏈潯鏁版嵁涓庝笂鏉℃暟鎹笉鏄悓涓�鏈堝垯鎻掑叆鏈堜唤
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTimeInMillis(list.get(i).getCreateTime().getTime());
+ IntegralDetailVO vo = new IntegralDetailVO();
+ vo.setMonth(new IntegralMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1));
+ finalList.add(vo);
+ }
+ IntegralDetailVO vo = new IntegralDetailVO();
+ vo.setDetail(list.get(i));
+ finalList.add(vo);
+ }
+ }
+
+ // 缁熻鏈堣祫閲�
+
+ Map<Integer, IntegralDetailVO> monthMap = new TreeMap<>();
+ if (finalList.size() > 1)
+ for (int i = 0; i < finalList.size(); i++) {
+ if (finalList.get(i).getMonth() != null)
+ monthMap.put(i, finalList.get(i));
+ }
+
+ if (!monthMap.isEmpty()) {
+ List<String> dateFormat = new ArrayList<>();
+ Iterator<Integer> keys = monthMap.keySet().iterator();
+ while (keys.hasNext()) {
+ Integer key = keys.next();
+ String date = "";
+ date += monthMap.get(key).getMonth().getYear();
+ date += "-";
+ date += (monthMap.get(key).getMonth().getMonth() + "").length() < 2
+ ? "0" + monthMap.get(key).getMonth().getMonth() : monthMap.get(key).getMonth().getMonth();
+ dateFormat.add(date);
+ }
+ List<IntegralMonthVO> voList = integralDetailMapper.selectMonthMoneyByUid(uid, dateFormat);
+
+ int p = 0;
+ keys = monthMap.keySet().iterator();
+ while (keys.hasNext()) {
+ Integer key = keys.next();
+
+ BigDecimal expend = new BigDecimal(voList.get(p).getExpend());
+ BigDecimal income = new BigDecimal(voList.get(p).getIncome());
+
+ // 鍘婚櫎鏀嚭璐熷彿
+ finalList.get(key).getMonth().setExpend(expend.setScale(0).toString().replace("-", ""));
+ finalList.get(key).getMonth().setIncome(income.setScale(0).toString());
+ p++;
+ }
+ }
+ return finalList;
+ }
+
+
+ @Override
+ public long countDetailForClient(Long uid, Long detailId, Date maxTime, Integer type) {
+ long monthCount = 0L;
+ long detailCount = 0L;
+ // 鏈�氳繃鏃堕棿绛涢�夛紝鏌ヨ鎵�鏈�
+ if (maxTime == null) {
+ detailCount = integralDetailMapper.selectCountByUid(uid, type);
+ // 鐢ㄤ簬琛ㄧず褰撳墠鎵�鏈�
+ monthCount = integralDetailMapper.selectMonthCountByUid(uid, new Date(System.currentTimeMillis() + 1000 * 60 * 60L), type);
+ } else {// 閫氳繃鏃堕棿绛涢�変簡鐨勶紝闇�瑕佹煡璇㈡墍鏈�
+ detailCount = integralDetailMapper.selectCountByUidAndMaxCreateTime(uid, maxTime, type);
+ monthCount = integralDetailMapper.selectMonthCountByUid(uid, maxTime, type);
+ }
+
+ return monthCount + detailCount;
+ }
+
+ @Override
+ public BigDecimal getCumulativeMoney(Long uid) {
+ return integralDetailMapper.getCumulativeMoney(uid);
+ }
+
+
+ @Override
+ public Long countNewAddByDate(String preDay) {
+ return integralDetailMapper.countNewAddByDate(preDay);
+ }
+
+ @Override
+ public List<IntegralDetail> listQuery(long start, int count, String key) {
+ return integralDetailMapper.listQuery(start, count, key);
+ }
+
+ @Override
+ public long countQuery(String key) {
+ Long count = integralDetailMapper.countQuery(key);
+ if (count == null) {
+ count = 0L;
+ }
+ return count;
+ }
+
+
+ @Override
+ public long sumUseGoldCoin(Long uid) {
+ Long count = integralDetailMapper.sumUseGoldCoin(uid);
+ if (count == null) {
+ count = 0L;
+ }
+ return count;
+ }
+
+}
+
--
Gitblit v1.8.0