From 30d8e227e8d823b6c38c3b9c90ac2df03b63befe Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 25 二月 2025 16:41:22 +0800 Subject: [PATCH] 淘宝转链接口更新 --- fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackDetailServiceImpl.java | 506 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 253 insertions(+), 253 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackDetailServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackDetailServiceImpl.java index 185226e..a6909c3 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackDetailServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackDetailServiceImpl.java @@ -1,253 +1,253 @@ -package com.yeshi.fanli.service.impl.redpack; - -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.redpack.RedPackDetailMapper; -import com.yeshi.fanli.entity.redpack.RedPackDetail; -import com.yeshi.fanli.service.inter.redpack.RedPackDetailService; -import com.yeshi.fanli.util.StringUtil; -import org.yeshi.utils.TimeUtil; -import com.yeshi.fanli.vo.redpack.RedPackDetailVO; -import com.yeshi.fanli.vo.redpack.RedPackMonthVO; - -@Service -public class RedPackDetailServiceImpl implements RedPackDetailService { - - @Resource - private RedPackDetailMapper redPackDetailMapper; - - @Override - public void insertSelective(RedPackDetail record) { - redPackDetailMapper.insertSelective(record); - } - - @Override - public void updateByPrimaryKeySelective(RedPackDetail record) { - redPackDetailMapper.updateByPrimaryKeySelective(record); - } - - @Override - public RedPackDetail getByIdentifyCode(String identifyCode) { - return redPackDetailMapper.getByIdentifyCode(identifyCode); - } - - @Override - public BigDecimal countAddMoneyByDate(long uid, int dateType) { - return redPackDetailMapper.countAddMoneyByDate(uid, dateType); - } - - @Override - public BigDecimal countUseMoneyByDate(long uid, int dateType) { - return redPackDetailMapper.countUseMoneyByDate(uid, dateType); - } - - @Override - public List<RedPackDetailVO> listUserMoneyDetailForClient(Long uid, Long detailId, Date maxTime) { - List<RedPackDetailVO> finalList = new ArrayList<>(); - List<RedPackDetail> list = null; - if (detailId == null) {// 棣栨璇锋眰 - if (maxTime == null)// 娌℃湁绛涢�夋椂闂� - { - list = redPackDetailMapper.selectByMaxCreateTime(uid, - new Date(System.currentTimeMillis() + 1000 * 60 * 60L), 20); - } else {// 绛涢�変簡鏃堕棿 - list = redPackDetailMapper.selectByMaxCreateTime(uid, maxTime, 20); - } - if (list != null && list.size() > 0) { - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(list.get(0).getCreateTime().getTime()); - RedPackDetailVO vo = new RedPackDetailVO(); - vo.setMonth(new RedPackMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); - finalList.add(vo); - } else { - if (maxTime != null) {// - Calendar calendar = Calendar.getInstance(); - calendar.setTimeInMillis(maxTime.getTime()); - RedPackDetailVO vo = new RedPackDetailVO(); - vo.setMonth(new RedPackMonthVO(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<RedPackDetail> tempList = redPackDetailMapper.selectByUidWithIndexId(uid, detailId, size); - Set<Date> dateSet = new HashSet<>();// 鐢ㄤ簬鍌ㄥ瓨鏄惁鍦ㄥ悓涓�鏃堕棿涓婇潰锛堢簿纭埌绉掞級 - if (tempList.size() > 0) { - for (RedPackDetail umd : tempList) { - dateSet.add(umd.getCreateTime()); - } - - List<RedPackDetail> tempList2 = new ArrayList<>(); - while (dateSet.size() == 1 && tempList2.size() != tempList.size() && size < 40) {// 鍙湁涓�涓椂闂寸偣鐨勬暟鎹� - tempList = tempList2; - size += 10; - tempList2 = redPackDetailMapper.selectByUidWithIndexId(uid, detailId, size); - dateSet.clear(); - for (RedPackDetail 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) { - RedPackDetail umd = redPackDetailMapper.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()); - RedPackDetailVO vo = new RedPackDetailVO(); - vo.setMonth(new RedPackMonthVO(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()); - RedPackDetailVO vo = new RedPackDetailVO(); - vo.setMonth(new RedPackMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); - finalList.add(vo); - } - RedPackDetailVO vo = new RedPackDetailVO(); - vo.setDetail(list.get(i)); - finalList.add(vo); - } - } - - // 缁熻鏈堣祫閲� - - Map<Integer, RedPackDetailVO> 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<RedPackMonthVO> voList = redPackDetailMapper.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(2).toString().replace("-", "")); - finalList.get(key).getMonth().setIncome(income.setScale(2).toString()); - p++; - } - } - return finalList; - } - - @Override - public long countUserMoneyDetailForClient(Long uid, Long detailId, Date maxTime) { - long monthCount = 0L; - long detailCount = 0L; - // 鏈�氳繃鏃堕棿绛涢�夛紝鏌ヨ鎵�鏈� - if (maxTime == null) { - detailCount = redPackDetailMapper.selectCountByUid(uid); - // 鐢ㄤ簬琛ㄧず褰撳墠鎵�鏈� - monthCount = redPackDetailMapper.selectMonthCountByUid(uid, - new Date(System.currentTimeMillis() + 1000 * 60 * 60L)); - } else {// 閫氳繃鏃堕棿绛涢�変簡鐨勶紝闇�瑕佹煡璇㈡墍鏈� - detailCount = redPackDetailMapper.selectCountByUidAndMaxCreateTime(uid, maxTime); - monthCount = redPackDetailMapper.selectMonthCountByUid(uid, maxTime); - } - - return monthCount + detailCount; - } - - @Override - public void changeDisplayByIdentifyCode(String code, boolean disPlay) { - if (StringUtil.isNullOrEmpty(code)) - return; - RedPackDetail oldDetail = getByIdentifyCode(code); - if (oldDetail != null) {// 澶栨樉绾㈠寘璇︽儏 - RedPackDetail update = new RedPackDetail(); - update.setId(oldDetail.getId()); - update.setDisplay(true); - redPackDetailMapper.updateByPrimaryKeySelective(update); - } - } - - - @Override - public BigDecimal countWinMoneyByDate(long uid, int dateType) { - return redPackDetailMapper.countWinMoneyByDate(uid, dateType); - } - - @Override - public BigDecimal countReduceMoneyByDate(long uid, int dateType) { - return redPackDetailMapper.countReduceMoneyByDate(uid, dateType); - } - - @Override - public List<RedPackDetail> query(Integer start, Integer count, String key, Long uid, Integer type){ - return redPackDetailMapper.query(start, count, key, uid, type); - } - - @Override - public long count(String key,Long uid, Integer type){ - return redPackDetailMapper.count(key, uid, type); - } - - @Override - public Long countNumByDay(String preDay) { - return redPackDetailMapper.countNumByDay(preDay); - } - - - @Override - public BigDecimal countMoneyByDay(String preDay) { - return redPackDetailMapper.countMoneyByDay(preDay); - } -} +package com.yeshi.fanli.service.impl.redpack; + +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.redpack.RedPackDetailMapper; +import com.yeshi.fanli.entity.redpack.RedPackDetail; +import com.yeshi.fanli.service.inter.redpack.RedPackDetailService; +import com.yeshi.fanli.util.StringUtil; +import org.yeshi.utils.TimeUtil; +import com.yeshi.fanli.vo.redpack.RedPackDetailVO; +import com.yeshi.fanli.vo.redpack.RedPackMonthVO; + +@Service +public class RedPackDetailServiceImpl implements RedPackDetailService { + + @Resource + private RedPackDetailMapper redPackDetailMapper; + + @Override + public void insertSelective(RedPackDetail record) { + redPackDetailMapper.insertSelective(record); + } + + @Override + public void updateByPrimaryKeySelective(RedPackDetail record) { + redPackDetailMapper.updateByPrimaryKeySelective(record); + } + + @Override + public RedPackDetail getByIdentifyCode(String identifyCode) { + return redPackDetailMapper.getByIdentifyCode(identifyCode); + } + + @Override + public BigDecimal countAddMoneyByDate(long uid, int dateType) { + return redPackDetailMapper.countAddMoneyByDate(uid, dateType); + } + + @Override + public BigDecimal countUseMoneyByDate(long uid, int dateType) { + return redPackDetailMapper.countUseMoneyByDate(uid, dateType); + } + + @Override + public List<RedPackDetailVO> listUserMoneyDetailForClient(Long uid, Long detailId, Date maxTime) { + List<RedPackDetailVO> finalList = new ArrayList<>(); + List<RedPackDetail> list = null; + if (detailId == null) {// 棣栨璇锋眰 + if (maxTime == null)// 娌℃湁绛涢�夋椂闂� + { + list = redPackDetailMapper.selectByMaxCreateTime(uid, + new Date(System.currentTimeMillis() + 1000 * 60 * 60L), 20); + } else {// 绛涢�変簡鏃堕棿 + list = redPackDetailMapper.selectByMaxCreateTime(uid, maxTime, 20); + } + if (list != null && list.size() > 0) { + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(list.get(0).getCreateTime().getTime()); + RedPackDetailVO vo = new RedPackDetailVO(); + vo.setMonth(new RedPackMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); + finalList.add(vo); + } else { + if (maxTime != null) {// + Calendar calendar = Calendar.getInstance(); + calendar.setTimeInMillis(maxTime.getTime()); + RedPackDetailVO vo = new RedPackDetailVO(); + vo.setMonth(new RedPackMonthVO(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<RedPackDetail> tempList = redPackDetailMapper.selectByUidWithIndexId(uid, detailId, size); + Set<Date> dateSet = new HashSet<>();// 鐢ㄤ簬鍌ㄥ瓨鏄惁鍦ㄥ悓涓�鏃堕棿涓婇潰锛堢簿纭埌绉掞級 + if (tempList.size() > 0) { + for (RedPackDetail umd : tempList) { + dateSet.add(umd.getCreateTime()); + } + + List<RedPackDetail> tempList2 = new ArrayList<>(); + while (dateSet.size() == 1 && tempList2.size() != tempList.size() && size < 40) {// 鍙湁涓�涓椂闂寸偣鐨勬暟鎹� + tempList = tempList2; + size += 10; + tempList2 = redPackDetailMapper.selectByUidWithIndexId(uid, detailId, size); + dateSet.clear(); + for (RedPackDetail 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) { + RedPackDetail umd = redPackDetailMapper.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()); + RedPackDetailVO vo = new RedPackDetailVO(); + vo.setMonth(new RedPackMonthVO(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()); + RedPackDetailVO vo = new RedPackDetailVO(); + vo.setMonth(new RedPackMonthVO(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH) + 1)); + finalList.add(vo); + } + RedPackDetailVO vo = new RedPackDetailVO(); + vo.setDetail(list.get(i)); + finalList.add(vo); + } + } + + // 缁熻鏈堣祫閲� + + Map<Integer, RedPackDetailVO> 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<RedPackMonthVO> voList = redPackDetailMapper.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(2).toString().replace("-", "")); + finalList.get(key).getMonth().setIncome(income.setScale(2).toString()); + p++; + } + } + return finalList; + } + + @Override + public long countUserMoneyDetailForClient(Long uid, Long detailId, Date maxTime) { + long monthCount = 0L; + long detailCount = 0L; + // 鏈�氳繃鏃堕棿绛涢�夛紝鏌ヨ鎵�鏈� + if (maxTime == null) { + detailCount = redPackDetailMapper.selectCountByUid(uid); + // 鐢ㄤ簬琛ㄧず褰撳墠鎵�鏈� + monthCount = redPackDetailMapper.selectMonthCountByUid(uid, + new Date(System.currentTimeMillis() + 1000 * 60 * 60L)); + } else {// 閫氳繃鏃堕棿绛涢�変簡鐨勶紝闇�瑕佹煡璇㈡墍鏈� + detailCount = redPackDetailMapper.selectCountByUidAndMaxCreateTime(uid, maxTime); + monthCount = redPackDetailMapper.selectMonthCountByUid(uid, maxTime); + } + + return monthCount + detailCount; + } + + @Override + public void changeDisplayByIdentifyCode(String code, boolean disPlay) { + if (StringUtil.isNullOrEmpty(code)) + return; + RedPackDetail oldDetail = getByIdentifyCode(code); + if (oldDetail != null) {// 澶栨樉绾㈠寘璇︽儏 + RedPackDetail update = new RedPackDetail(); + update.setId(oldDetail.getId()); + update.setDisplay(true); + redPackDetailMapper.updateByPrimaryKeySelective(update); + } + } + + + @Override + public BigDecimal countWinMoneyByDate(long uid, int dateType) { + return redPackDetailMapper.countWinMoneyByDate(uid, dateType); + } + + @Override + public BigDecimal countReduceMoneyByDate(long uid, int dateType) { + return redPackDetailMapper.countReduceMoneyByDate(uid, dateType); + } + + @Override + public List<RedPackDetail> query(Integer start, Integer count, String key, Long uid, Integer type){ + return redPackDetailMapper.query(start, count, key, uid, type); + } + + @Override + public long count(String key,Long uid, Integer type){ + return redPackDetailMapper.count(key, uid, type); + } + + @Override + public Long countNumByDay(String preDay) { + return redPackDetailMapper.countNumByDay(preDay); + } + + + @Override + public BigDecimal countMoneyByDay(String preDay) { + return redPackDetailMapper.countMoneyByDay(preDay); + } +} -- Gitblit v1.8.0