From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 101 insertions(+), 12 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java index a3c283e..2bfe4ce 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderMoneyDailyCountServiceImpl.java @@ -1,5 +1,6 @@ package com.yeshi.fanli.service.impl.order; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @@ -13,6 +14,7 @@ import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService; +import com.yeshi.fanli.vo.order.OrderRankingVO; @Service public class OrderMoneyDailyCountServiceImpl implements OrderMoneyDailyCountService { @@ -20,34 +22,121 @@ @Resource private OrderMoneyDailyCountDao orderMoneyDailyCountDao; - @Override @RequestSerializableByKeyService(key = "#record.uid") public void saveDailyCount(OrderMoneyDailyCount record) { - if (record.getUid() == null || record.getCountDay() == null || StringUtil.isNullOrEmpty(record.getSourceType())) { + if (record.getUid() == null || record.getCountDay() == null) { return; // 鍙傛暟涓嶅叏 } String gernalTime = TimeUtil.getGernalTime(record.getCountDay().getTime()); - String id = StringUtil.Md5(record.getUid() + record.getSourceType() + gernalTime); - - // id + String id = record.getUid() + "#"; + if (record.getSourceType() != null) + id += record.getSourceType().name() + "#"; + id += gernalTime; + id = StringUtil.Md5(id); + record.setId(id); // 缁熻鏃ユ湡-骞存湀鏃� record.setCountDay(new Date(TimeUtil.convertDateToTemp(gernalTime))); - - OrderMoneyDailyCount dailyCount = orderMoneyDailyCountDao.getById(id); - if (dailyCount == null) { - // 閫夋嫨鎬ф洿鏂� - orderMoneyDailyCountDao.save(record); - } else { - // 閫夋嫨鎬ф彃鍏� + + SimpleDateFormat formatMonth = new SimpleDateFormat("yyyy-MM"); + record.setYearMonth(formatMonth.format(record.getCountDay())); + + OrderMoneyDailyCount dailyCount = orderMoneyDailyCountDao.get(id); + if (dailyCount != null) { orderMoneyDailyCountDao.updateSelective(record); + } else { + initData(record); + record.setUpdateTime(new Date()); + orderMoneyDailyCountDao.save(record); } + } + + private void initData(OrderMoneyDailyCount record) { + if (record.getIncome() == null) + record.setIncome(0); + if (record.getIncomeTeam() == null) + record.setIncomeTeam(0); + if (record.getOrderNum() == null) + record.setOrderNum(0); + if (record.getOrderNumTeam() == null) + record.setOrderNumTeam(0); + if (record.getTeamReward() == null) + record.setTeamReward(0); + if (record.getTeamRewardNum() == null) + record.setTeamRewardNum(0); + if (record.getTeamSubsidy() == null) + record.setTeamSubsidy(0); + if (record.getTeamSubsidyNum() == null) + record.setTeamSubsidyNum(0); + + if (record.getDirectOrderNum() == null) + record.setDirectOrderNum(0); + if (record.getInDirectOrderNum() == null) + record.setInDirectOrderNum(0); + + if (record.getBeyondOrderNum() == null) + record.setBeyondOrderNum(0); + } + + @Override + public List<OrderMoneyDailyCount> getByUid(Long uid) { + return orderMoneyDailyCountDao.query(uid, null, null); } @Override public List<OrderMoneyDailyCount> query(Long uid, Date minDay, Date maxDay) { return orderMoneyDailyCountDao.query(uid, minDay, maxDay); } + + @Override + public List<OrderMoneyDailyCount> sumGroupBySourceType(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumGroupBySourceType(uid, minDay, maxDay); + } + + @Override + public List<OrderMoneyDailyCount> sumTeamGroupBySourceType(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumTeamGroupBySourceType(uid, minDay, maxDay); + } + + @Override + public List<OrderMoneyDailyCount> sumGroupByCountDay(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumGroupByCountDay(uid, minDay, maxDay); + } + + @Override + public List<OrderMoneyDailyCount> sumGroupByYearMonth(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumGroupByYearMonth(uid, minDay, maxDay); + } + + @Override + public List<OrderMoneyDailyCount> sumTeamGroupByCountDay(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumTeamGroupByCountDay(uid, minDay, maxDay); + } + + @Override + public List<OrderMoneyDailyCount> sumTeamGroupByYearMonth(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumTeamGroupByYearMonth(uid, minDay, maxDay); + } + @Override + public List<OrderMoneyDailyCount> sumTeamOrderNumGroupByCountDay(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumTeamOrderNumGroupByCountDay(uid, minDay, maxDay); + } + + @Override + public List<OrderMoneyDailyCount> sumTeamOrderNumGroupByYearMonth(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumTeamOrderNumGroupByYearMonth(uid, minDay, maxDay); + } + + + @Override + public List<OrderMoneyDailyCount> sumTeamOrderNumGroupByUid(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.sumTeamOrderNumGroupByUid(uid, minDay, maxDay); + } + + @Override + public List<OrderRankingVO> getRankingByOrderNum(Long uid, Date minDay, Date maxDay) { + return orderMoneyDailyCountDao.getRankingByOrderNum(uid, minDay, maxDay); + } } -- Gitblit v1.8.0