From ad405e2c73803c27099fe27cabf3589f68a17aaa Mon Sep 17 00:00:00 2001 From: wangshuai Date: Fri, 2 Aug 2024 18:09:35 +0800 Subject: [PATCH] =?UTF-8?q?3;=20=E5=BA=97=E9=93=BA=E5=8E=86=E5=8F=B2?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=20-=20=E5=B7=AE=E5=AF=BC=E5=87=BA=204;=20?= =?UTF-8?q?=E8=90=A5=E9=94=80=E8=AE=B0=E5=BD=95=20-=20=E5=B7=AE=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BusStoreInfoController.java | 87 +-------- .../ruoyi/business/req/ReqBusStoreInfo.java | 3 + .../domain/resp/RespBusStoreHistoryInfo.java | 91 +++++++++ .../business/mapper/BusStoreInfoMapper.java | 6 + .../service/IBusStoreInfoService.java | 3 + .../service/impl/BusStoreInfoServiceImpl.java | 7 + .../mapper/business/BusStoreInfoMapper.xml | 71 ++++++- ruoyi-ui/src/api/business/store.js | 9 +- ruoyi-ui/src/views/statistics/shop/index.vue | 178 +++--------------- 9 files changed, 222 insertions(+), 233 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/business/domain/resp/RespBusStoreHistoryInfo.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusStoreInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusStoreInfoController.java index 5258c90..a094417 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusStoreInfoController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusStoreInfoController.java @@ -1,6 +1,7 @@ package com.ruoyi.business.controller; import com.ruoyi.business.domain.*; +import com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo; import com.ruoyi.business.req.ReqBusStoreConfigInfo; import com.ruoyi.business.req.ReqBusStoreInfo; import com.ruoyi.business.domain.resp.RespBusStoreInfo; @@ -14,6 +15,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.mapper.SysDictDataMapper; import io.swagger.annotations.Api; @@ -125,45 +127,7 @@ public class BusStoreInfoController extends BaseController { busStoreInfo.setEndTime(busStoreInfo.getParams().get("endTime").toString()+" 23:59:59"); } List listNew = busStoreInfoService.storeStatistics(busStoreInfo); - TableDataInfo rspData = getDataTable(listNew); -// List list = busStoreInfoService.selectBusStoreInfoList(busStoreInfo); -// TableDataInfo rspData = getDataTable(list); -// List tableList = list.stream() -// .map(busStoreInfo1 -> { -// RespBusStoreInfo info = new RespBusStoreInfo(busStoreInfo1); -// BusStoreDayInfo busStoreDayInfo = new BusStoreDayInfo(); -// busStoreDayInfo.setStoreId(info.getId()); -// List ll = busStoreDayInfoService.selectBusStoreDayInfoList(busStoreDayInfo); -// int a = ll.get(0).getLastPositiveReviewsNum();//todo 好评-五星 -// int b = ll.get(0).getLastReturnVisitNum(); -// info.setLastOrderNum(ll.get(0).getLastOrderNum()); -// info.setLastReturnVisitNum(b); -// info.setLastPositiveReviewsNum(a); -// info.setLastFiveStarReviewsNum(ll.get(0).getLastFiveStarReviewsNum()); -//// String date = LocalDateTime.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); -//// List llll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),date); -//// info.setLastReturnVisitNum(llll.size()); -// info.setScore(ll.get(0).getScore()); -// if (a != 0 && b != 0) { -// info.setLastReturnVisitRate(getRate(a,b)); -// } else { -// info.setLastReturnVisitRate("0"); -// } -// String today = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); -// List lll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),today); -// info.setTodayReturnVisitNum(lll.size()); -// BusStoreConfigInfo busStoreConfigInfo = new BusStoreConfigInfo(); -// busStoreConfigInfo.setStoreCode(busStoreInfo1.getStoreCode()); -// List list1 = iBusStoreConfigInfoService.selectBusStoreConfigInfoList(busStoreConfigInfo); -// if(list1.size() == 1){ -// info.setReturnVisitUserRange(list1.get(0).getMinOrderNum()+"~"+list1.get(0).getMaxOrderNum()); -// } -// return info; -// }) -// .collect(Collectors.toList()); -//// tableList.forEach(System.out::println); -// rspData.setRows(tableList); - return rspData; + return getDataTable(listNew); } @ApiOperation("查询店铺信息列表") @@ -176,44 +140,13 @@ public class BusStoreInfoController extends BaseController { if (!"admin".equals(user.getUsername())) { busStoreInfo.setBindUser(user.getUsername()); } - List list = busStoreInfoService.selectBusStoreInfoList(busStoreInfo); - TableDataInfo rspData = getDataTable(list); - List tableList = list.stream() - .map(busStoreInfo1 -> { - RespBusStoreInfo info = new RespBusStoreInfo(busStoreInfo1); - BusStoreDayInfo busStoreDayInfo = new BusStoreDayInfo(); - busStoreDayInfo.setStoreId(info.getId()); - List ll = busStoreDayInfoService.selectBusStoreDayInfoList(busStoreDayInfo); - int a = ll.get(0).getLastPositiveReviewsNum();//todo 好评-五星 - int b = ll.get(0).getLastReturnVisitNum(); - info.setLastOrderNum(ll.get(0).getLastOrderNum()); - info.setLastReturnVisitNum(b); - info.setLastPositiveReviewsNum(a); - info.setLastFiveStarReviewsNum(ll.get(0).getLastFiveStarReviewsNum()); -// String date = LocalDateTime.now().minusDays(1).format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); -// List llll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),date); -// info.setLastReturnVisitNum(llll.size()); - info.setScore(ll.get(0).getScore()); - if (a != 0 && b != 0) { - info.setLastReturnVisitRate(getRate(a,b)); - } else { - info.setLastReturnVisitRate("0"); - } - String today = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); - List lll = iBusReturnVisitInfoService.selectBusReturnVisitInfoListByDate(busStoreInfo1.getStoreCode(),today); - info.setTodayReturnVisitNum(lll.size()); - BusStoreConfigInfo busStoreConfigInfo = new BusStoreConfigInfo(); - busStoreConfigInfo.setStoreCode(busStoreInfo1.getStoreCode()); - List list1 = iBusStoreConfigInfoService.selectBusStoreConfigInfoList(busStoreConfigInfo); - if(list1.size() == 1){ - info.setReturnVisitUserRange(list1.get(0).getMinOrderNum()+"~"+list1.get(0).getMaxOrderNum()); - } - return info; - }) - .collect(Collectors.toList()); -// tableList.forEach(System.out::println); - rspData.setRows(tableList); - return rspData; + if(StringUtils.isEmpty(busStoreInfo.getStoreBelong())){ + DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + LocalDateTime localDateTime = LocalDateTime.now().minusDays(1); + busStoreInfo.setStoreBelong(localDateTime.format(dateTimeFormatter)); + } + List list = busStoreInfoService.storeHistoryStatistics(busStoreInfo); + return getDataTable(list); } @ApiOperation("查询店铺信息列表") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/business/req/ReqBusStoreInfo.java b/ruoyi-admin/src/main/java/com/ruoyi/business/req/ReqBusStoreInfo.java index 3b3cc17..13bd275 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/business/req/ReqBusStoreInfo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/business/req/ReqBusStoreInfo.java @@ -52,4 +52,7 @@ public class ReqBusStoreInfo extends BaseEntity { /** 回访渠道 */ @ApiModelProperty(name = "回访渠道") private String marketingChannels; + + @ApiModelProperty(name = "统计时间") + private String storeBelong; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/domain/resp/RespBusStoreHistoryInfo.java b/ruoyi-system/src/main/java/com/ruoyi/business/domain/resp/RespBusStoreHistoryInfo.java new file mode 100644 index 0000000..4428256 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/business/domain/resp/RespBusStoreHistoryInfo.java @@ -0,0 +1,91 @@ +package com.ruoyi.business.domain.resp; + +import com.alibaba.fastjson2.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.business.domain.BusStoreInfo; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +@Data +public class RespBusStoreHistoryInfo { + + /** + * $column.columnComment + */ + private Long id; + + /** + * 平台类型 + */ + @Excel(name = "平台类型") + @JSONField(ordinal = 1) + private String platformType; + + /** + * 店铺编码 + */ + @Excel(name = "编号") + @JSONField(ordinal = 2) + private String storeCode; + + /** + * 店铺名称 + */ + @Excel(name = "名称") + @JSONField(ordinal = 3) + private String storeName; + + /** + * 店铺归属 + */ +// @ApiModelProperty(name = "归属") + private String storeBelong; + + @Excel(name = "昨日单量") + @JSONField(ordinal = 4) + private int lastOrderNum; + + /** 昨日好评量 */ + @Excel(name = "昨日好评量") + @JSONField(ordinal = 5) + private int lastPositiveReviewsNum; + + /** 昨日五星量 */ + @Excel(name = "昨日五星量") + @JSONField(ordinal = 6) + private int lastFiveStarReviewsNum; + + /** 昨日回访量 */ + @Excel(name = "昨日回访量") + @JSONField(ordinal = 7) + private int lastReturnVisitNum; + + /** 昨日回访比50% */ + @Excel(name = "昨日回访比") + @JSONField(ordinal = 8) + private String lastReturnVisitRate; + + /** 金额 */ + @Excel(name = "金额") + @JSONField(ordinal = 9) + private int price; + + /** + * 绑定时间(创建) + */ + @Excel(name = "金额") + @JSONField(ordinal = 10) + @JsonFormat(pattern = "yyyy-MM-dd") + private Date bindTime; + + + + /** 评分 */ + @Excel(name = "评分") + @JSONField(ordinal = 11) + private String score; + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreInfoMapper.java index 4eaf16e..0dfb53b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreInfoMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.business.mapper; import java.util.List; import com.ruoyi.business.domain.BusStoreInfo; +import com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo; import com.ruoyi.business.domain.resp.RespBusStoreInfo; import org.apache.ibatis.annotations.Param; @@ -72,4 +73,9 @@ public interface BusStoreInfoMapper List storeStatistics(BusStoreInfo busStoreInfo); List storeStatisticsExport(BusStoreInfo busStoreInfo); + + List storeHistoryStatistics(BusStoreInfo busStoreInfo); + + List storeHistoryStatisticsExport(BusStoreInfo busStoreInfo); + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/IBusStoreInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/IBusStoreInfoService.java index 1f961dc..e2c0bb4 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/IBusStoreInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/IBusStoreInfoService.java @@ -4,6 +4,7 @@ import java.util.List; import com.ruoyi.business.domain.BusStoreConfigInfo; import com.ruoyi.business.domain.BusStoreInfo; +import com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo; import com.ruoyi.business.domain.resp.RespBusStoreInfo; /** @@ -87,5 +88,7 @@ public interface IBusStoreInfoService List storeStatisticsExport(BusStoreInfo busStoreInfo); + List storeHistoryStatistics(BusStoreInfo busStoreInfo); + int changeStoreStatus(BusStoreInfo busStoreInfo); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreInfoServiceImpl.java index a32a2a1..9dc5a30 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreInfoServiceImpl.java @@ -6,6 +6,7 @@ import java.util.List; import com.ruoyi.business.domain.BusMarketOperationInfo; import com.ruoyi.business.domain.BusSaleInfo; import com.ruoyi.business.domain.BusStoreConfigInfo; +import com.ruoyi.business.domain.resp.RespBusStoreHistoryInfo; import com.ruoyi.business.domain.resp.RespBusStoreInfo; import com.ruoyi.business.mapper.BusMarketOperationInfoMapper; import com.ruoyi.business.mapper.BusSaleInfoMapper; @@ -172,6 +173,12 @@ public class BusStoreInfoServiceImpl implements IBusStoreInfoService public List storeStatisticsExport(BusStoreInfo busStoreInfo) { return busStoreInfoMapper.storeStatisticsExport(busStoreInfo); } + + @Override + public List storeHistoryStatistics(BusStoreInfo busStoreInfo) { + return busStoreInfoMapper.storeHistoryStatistics(busStoreInfo); + } + /** * 批量删除店铺信息 * diff --git a/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml index 7a6fed9..6469f23 100644 --- a/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/business/BusStoreInfoMapper.xml @@ -159,6 +159,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and s.bind_id = #{bindId} ORDER BY s.bind_time desc + + + insert into bus_store_info diff --git a/ruoyi-ui/src/api/business/store.js b/ruoyi-ui/src/api/business/store.js index 64a96b7..be8a5d3 100644 --- a/ruoyi-ui/src/api/business/store.js +++ b/ruoyi-ui/src/api/business/store.js @@ -8,7 +8,14 @@ export function listStore(query) { params: query }) } - +// 查询店铺列表 +export function listHistory(query) { + return request({ + url: '/business/store/listHistory', + method: 'get', + params: query + }) +} // 查询归属销售列表 export function getMtUrl(query) { return request({ diff --git a/ruoyi-ui/src/views/statistics/shop/index.vue b/ruoyi-ui/src/views/statistics/shop/index.vue index 3e42268..6c6de89 100644 --- a/ruoyi-ui/src/views/statistics/shop/index.vue +++ b/ruoyi-ui/src/views/statistics/shop/index.vue @@ -113,17 +113,26 @@ - - - + + + + + + 搜索 重置 @@ -175,32 +184,28 @@ {{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }} + + - - - + + + + + + + + + + +