diff --git a/framework/src/main/java/cn/lili/modules/statistics/service/IndexStatisticsService.java b/framework/src/main/java/cn/lili/modules/statistics/service/IndexStatisticsService.java index 5ddbfa12..b22148c8 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/service/IndexStatisticsService.java +++ b/framework/src/main/java/cn/lili/modules/statistics/service/IndexStatisticsService.java @@ -1,5 +1,7 @@ package cn.lili.modules.statistics.service; +import cn.lili.modules.statistics.model.dto.GoodsStatisticsQueryParam; +import cn.lili.modules.statistics.model.dto.StatisticsQueryParam; import cn.lili.modules.statistics.model.vo.*; import java.util.List; @@ -38,14 +40,14 @@ public interface IndexStatisticsService { * * @return 热卖商品TOP10 */ - List goodsStatisticsOfMonth(); + List goodsStatistics(GoodsStatisticsQueryParam statisticsQueryParam); /** * 查询热卖店铺TOP10 * * @return 当月的热卖店铺TOP10 */ - List storeStatisticsOfMonth(); + List storeStatistics(StatisticsQueryParam statisticsQueryParam); } diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsDataServiceImpl.java index d8d65ddb..d892dca2 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/GoodsStatisticsDataServiceImpl.java @@ -14,7 +14,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -45,8 +44,9 @@ public class GoodsStatisticsDataServiceImpl extends ServiceImpl(1, num); + return goodsStatisticsDataMapper.getGoodsStatisticsData(page, queryWrapper); } @@ -68,10 +68,10 @@ public class GoodsStatisticsDataServiceImpl extends ServiceImpl map = orderStatisticsDataService.getOrderStatisticsPrice(); //今日下单数 - indexStatisticsVO.setTodayOrderNum(map.get("num") == null ? 0L : (Long)map.get("num")); + indexStatisticsVO.setTodayOrderNum(map.get("num") == null ? 0L : (Long) map.get("num")); //今日下单金额 indexStatisticsVO.setTodayOrderPrice(map.get("price") == null ? 0D : (Double) map.get("price")); @@ -234,20 +235,19 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { } @Override - public List goodsStatisticsOfMonth() { - //获取查询参数 - GoodsStatisticsQueryParam goodsStatisticsQueryParam = getGoodsStatisticsQueryParam(); + public List goodsStatistics(GoodsStatisticsQueryParam statisticsQueryParam) { //查询商品 - return goodsStatisticsDataService.getGoodsStatisticsData(goodsStatisticsQueryParam, 10); + return goodsStatisticsDataService.getGoodsStatisticsData(statisticsQueryParam, 10); } @Override - public List storeStatisticsOfMonth() { + public List storeStatistics(StatisticsQueryParam statisticsQueryParam) { QueryWrapper queryWrapper = Wrappers.query(); - queryWrapper.between("create_time", cn.hutool.core.date.DateUtil.beginOfYear(new DateTime()), - cn.hutool.core.date.DateUtil.endOfYear(new DateTime())); + Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); + Date startTime = dates[0], endTime = dates[1]; + queryWrapper.between("create_time", startTime, endTime); queryWrapper.orderByDesc("price"); @@ -288,7 +288,6 @@ public class IndexStatisticsServiceImpl implements IndexStatisticsService { if (UserContext.getCurrentUser().getRole().equals(UserEnums.STORE)) { goodsStatisticsQueryParam.setStoreId(UserContext.getCurrentUser().getStoreId()); } - goodsStatisticsQueryParam.setType(StatisticsQuery.PRICE.name()); DateTime dateTime = new DateTime(); goodsStatisticsQueryParam.setYear(dateTime.year()); goodsStatisticsQueryParam.setMonth(dateTime.monthBaseOne()); diff --git a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsDataServiceImpl.java b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsDataServiceImpl.java index 78c0b8e1..470a3ac1 100644 --- a/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsDataServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/statistics/serviceimpl/MemberStatisticsDataServiceImpl.java @@ -4,14 +4,15 @@ import cn.hutool.core.date.DateUtil; import cn.lili.modules.statistics.mapper.MemberStatisticsDataMapper; import cn.lili.modules.statistics.model.dos.MemberStatisticsData; import cn.lili.modules.statistics.model.dto.StatisticsQueryParam; +import cn.lili.modules.statistics.model.enums.SearchTypeEnum; import cn.lili.modules.statistics.service.MemberStatisticsDataService; import cn.lili.modules.statistics.util.StatisticsDateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -24,31 +25,26 @@ import java.util.List; @Service public class MemberStatisticsDataServiceImpl extends ServiceImpl implements MemberStatisticsDataService { - /** - * 会员统计 - */ - @Autowired - private MemberStatisticsDataMapper memberStatisticsDataMapper; @Override public Integer getMemberCount() { QueryWrapper queryWrapper = new QueryWrapper(); queryWrapper.eq("disabled", true); - return memberStatisticsDataMapper.customSqlQuery(queryWrapper); + return this.baseMapper.customSqlQuery(queryWrapper); } @Override public Integer todayMemberNum() { QueryWrapper queryWrapper = Wrappers.query(); queryWrapper.gt("create_time", DateUtil.beginOfDay(new Date())); - return memberStatisticsDataMapper.customSqlQuery(queryWrapper); + return this.baseMapper.customSqlQuery(queryWrapper); } @Override public Integer memberCount(Date endTime) { QueryWrapper queryWrapper = Wrappers.query(); queryWrapper.lt("create_time", endTime); - return memberStatisticsDataMapper.customSqlQuery(queryWrapper); + return this.baseMapper.customSqlQuery(queryWrapper); } @Override @@ -56,20 +52,35 @@ public class MemberStatisticsDataServiceImpl extends ServiceImpl statistics(StatisticsQueryParam statisticsQueryParam) { + Date[] dates = StatisticsDateUtil.getDateArray(statisticsQueryParam); Date startTime = dates[0], endTime = dates[1]; + + //如果统计今天,则自行构造数据 + if(statisticsQueryParam.getSearchType().equals(SearchTypeEnum.TODAY.name())){ + //构建数据,然后返回集合,提供给前端展示 + MemberStatisticsData memberStatisticsData = new MemberStatisticsData(); + memberStatisticsData.setMemberCount(this.memberCount(endTime)); + memberStatisticsData.setCreateDate(startTime); + memberStatisticsData.setActiveQuantity(this.activeQuantity(startTime)); + memberStatisticsData.setNewlyAdded(this.newlyAdded(startTime, endTime)); + List result = new ArrayList(); + result.add(memberStatisticsData); + return result; + } + QueryWrapper queryWrapper = Wrappers.query(); queryWrapper.between("create_date", startTime, endTime); diff --git a/manager-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsManagerController.java b/manager-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsManagerController.java index 97f8ff7c..1477776b 100644 --- a/manager-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/statistics/IndexStatisticsManagerController.java @@ -2,6 +2,9 @@ package cn.lili.controller.statistics; import cn.lili.common.enums.ResultUtil; import cn.lili.common.vo.ResultMessage; +import cn.lili.modules.statistics.model.dto.GoodsStatisticsQueryParam; +import cn.lili.modules.statistics.model.dto.StatisticsQueryParam; +import cn.lili.modules.statistics.model.enums.StatisticsQuery; import cn.lili.modules.statistics.model.vo.GoodsStatisticsDataVO; import cn.lili.modules.statistics.model.vo.IndexNoticeVO; import cn.lili.modules.statistics.model.vo.IndexStatisticsVO; @@ -46,14 +49,17 @@ public class IndexStatisticsManagerController { @ApiOperation(value = "获取首页查询热卖商品TOP10") @GetMapping("/goodsStatistics") - public ResultMessage> goodsStatistics() { - return ResultUtil.data(indexStatisticsService.goodsStatisticsOfMonth()); + public ResultMessage> goodsStatistics(GoodsStatisticsQueryParam goodsStatisticsQueryParam) { + + //按照金额查询 + goodsStatisticsQueryParam.setType(StatisticsQuery.PRICE.name()); + return ResultUtil.data(indexStatisticsService.goodsStatistics(goodsStatisticsQueryParam)); } @ApiOperation(value = "获取首页查询热卖店铺TOP10") @GetMapping("/storeStatistics") - public ResultMessage> storeStatistics() { - return ResultUtil.data(indexStatisticsService.storeStatisticsOfMonth()); + public ResultMessage> storeStatistics(StatisticsQueryParam statisticsQueryParam) { + return ResultUtil.data(indexStatisticsService.storeStatistics(statisticsQueryParam)); } @ApiOperation(value = "通知提示信息")