diff --git a/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusStoreDayHistoryInfoController.java b/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusStoreDayHistoryInfoController.java new file mode 100644 index 0000000..ef1432a --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/business/controller/BusStoreDayHistoryInfoController.java @@ -0,0 +1,121 @@ +package com.ruoyi.business.controller; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.business.domain.BusStoreDayHistoryInfo; +import com.ruoyi.business.domain.BusStoreExcelInfo; +import com.ruoyi.business.domain.BusStoreInfo; +import com.ruoyi.business.service.IBusReturnVisitInfoService; +import com.ruoyi.business.service.IBusStoreInfoService; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.business.service.IBusStoreDayHistoryInfoService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 店铺单日历史信息Controller + * + * @author ruoyi + * @date 2024-07-18 + */ +@RestController +@RequestMapping("/excel/info") +public class BusStoreDayHistoryInfoController extends BaseController +{ + @Autowired + private IBusStoreDayHistoryInfoService busStoreDayHistoryInfoService; + @Autowired + private IBusStoreInfoService busStoreInfoService; + @Autowired + private IBusReturnVisitInfoService iBusReturnVisitInfoService; + + /** + * 查询店铺单日历史信息列表 + */ +// @PreAuthorize("@ss.hasPermi('system:info:list')") + @GetMapping("/list") + public TableDataInfo list(BusStoreExcelInfo excelInfo) + { + startPage(); + List list = busStoreDayHistoryInfoService.selectBusStoreDayHistoryInfoList(excelInfo); + return getDataTable(list); + } + + @PostMapping("/export") + public void export(Long storeId,String expStartTime,String expEndTime,HttpServletResponse response) throws Exception { + String startTime = expStartTime; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + BusStoreInfo storeInfo = busStoreInfoService.selectBusStoreInfoById(storeId); + List list = new ArrayList<>(); + if (storeInfo != null) { + int totalComments = 0; + BigDecimal totamMoney = new BigDecimal("0"); + while (dateFormat.parse(startTime).getTime() <= dateFormat.parse(expEndTime).getTime()){ + BusStoreExcelInfo excelInfo = new BusStoreExcelInfo(); + excelInfo.setOrderDate(startTime); + excelInfo.setCommentsDate(startTime); + + String sT = startTime+" 00:00:00"; + String eT = startTime+" 23:59:59"; + + int visitCount = iBusReturnVisitInfoService.getByDate(storeInfo.getStoreCode(),sT,eT); + excelInfo.setVisitNumber(visitCount); + + BusStoreDayHistoryInfo data = busStoreDayHistoryInfoService.getByDate(storeId,sT,eT); + if (data != null && data.getLastPositiveReviewsNum() != null){ + excelInfo.setCommentsNumber(data.getLastPositiveReviewsNum()); + totalComments += data.getLastPositiveReviewsNum(); + }else{ + excelInfo.setCommentsNumber(0); + } + excelInfo.setPrice(storeInfo.getPrice().toString()); + BigDecimal money = new BigDecimal(storeInfo.getPrice().toString()).multiply(new BigDecimal(visitCount)); + excelInfo.setMoney(money.toString()); + totamMoney = totamMoney.add(money); + + list.add(excelInfo); + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(dateFormat.parse(startTime)); + calendar.add(Calendar.DAY_OF_YEAR, 1); + Date newDate = calendar.getTime(); + startTime = dateFormat.format(newDate); + } + + BusStoreExcelInfo info1 = new BusStoreExcelInfo(); + info1.setOrderDate("合计好评量"); + info1.setCommentsDate(String.valueOf(totalComments)); + info1.setVisitNumber(null); + info1.setCommentsNumber(null); + BusStoreExcelInfo info2 = new BusStoreExcelInfo(); + info2.setOrderDate("合计金额"); + info2.setCommentsDate(totamMoney.toString()); + info2.setVisitNumber(null); + info2.setCommentsNumber(null); + list.add(info1); + list.add(info2); + } + ExcelUtil util = new ExcelUtil<>(BusStoreExcelInfo.class); + util.exportExcel(response, list, "店铺信息数据"); + } + +} 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 aecbc3f..802befc 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 @@ -274,61 +274,7 @@ public class BusStoreInfoController extends BaseController { @Log(title = "店铺信息", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(Long id,String expStartTime,String expEndTime,HttpServletResponse response) throws Exception { - String startTime = expStartTime; - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); - BusStoreInfo storeInfo = busStoreInfoService.selectBusStoreInfoById(id); - List list = new ArrayList<>(); - if (storeInfo != null) { - int totalComments = 0; - BigDecimal totamMoney = new BigDecimal("0"); - while (dateFormat.parse(startTime).getTime() <= dateFormat.parse(expEndTime).getTime()){ - BusStoreExcelInfo excelInfo = new BusStoreExcelInfo(); - excelInfo.setOrderDate(startTime); - excelInfo.setCommentsDate(startTime); - String sT = startTime+" 00:00:00"; - String eT = startTime+" 23:59:59"; - - int visitCount = iBusReturnVisitInfoService.getByDate(storeInfo.getStoreCode(),sT,eT); - excelInfo.setVisitNumber(visitCount); - - BusStoreDayHistoryInfo data = busStoreDayHistoryInfoService.getByDate(id,sT,eT); - if (data != null && data.getLastPositiveReviewsNum() != null){ - excelInfo.setCommentsNumber(data.getLastPositiveReviewsNum()); - totalComments += data.getLastPositiveReviewsNum(); - }else{ - excelInfo.setCommentsNumber(0); - } -// excelInfo.setPrice(storeInfo.getPrice()); - excelInfo.setPrice("3"); - BigDecimal money = new BigDecimal("3").multiply(new BigDecimal(visitCount)); - excelInfo.setMoney(money.toString()); - totamMoney = totamMoney.add(money); - - list.add(excelInfo); - - Calendar calendar = Calendar.getInstance(); - calendar.setTime(dateFormat.parse(startTime)); - calendar.add(Calendar.DAY_OF_YEAR, 1); - Date newDate = calendar.getTime(); - startTime = dateFormat.format(newDate); - } - - BusStoreExcelInfo info1 = new BusStoreExcelInfo(); - info1.setOrderDate("合计好评量"); - info1.setCommentsDate(String.valueOf(totalComments)); - info1.setVisitNumber(null); - info1.setCommentsNumber(null); - BusStoreExcelInfo info2 = new BusStoreExcelInfo(); - info2.setOrderDate("合计金额"); - info2.setCommentsDate(totamMoney.toString()); - info2.setVisitNumber(null); - info2.setCommentsNumber(null); - list.add(info1); - list.add(info2); - } - ExcelUtil util = new ExcelUtil<>(BusStoreExcelInfo.class); - util.exportExcel(response, list, "店铺信息数据"); } /** diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusStoreExcelInfo.java b/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusStoreExcelInfo.java index da264b5..0f8340b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusStoreExcelInfo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/domain/BusStoreExcelInfo.java @@ -6,7 +6,9 @@ import com.ruoyi.common.core.domain.BaseEntity; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import java.util.ArrayList; import java.util.Date; +import java.util.List; /** * 店铺信息对象 bus_store_info @@ -17,6 +19,33 @@ import java.util.Date; public class BusStoreExcelInfo extends BaseEntity { private static final long serialVersionUID = 1L; + private Integer storeId; + private String storeName; + + public Integer getStoreId() { + return storeId; + } + + public void setStoreId(Integer storeId) { + this.storeId = storeId; + } + List storeList; + + public List getStoreList() { + return storeList; + } + + public void setStoreList(List storeList) { + this.storeList = storeList; + } + + public String getStoreName() { + return storeName; + } + + public void setStoreName(String storeName) { + this.storeName = storeName; + } @Excel(name = "订单日期") private String orderDate; @@ -57,7 +86,7 @@ public class BusStoreExcelInfo extends BaseEntity this.commentsDate = commentsDate; } - public int getVisitNumber() { + public Integer getVisitNumber() { return visitNumber; } @@ -65,7 +94,7 @@ public class BusStoreExcelInfo extends BaseEntity this.visitNumber = visitNumber; } - public int getCommentsNumber() { + public Integer getCommentsNumber() { return commentsNumber; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreDayHistoryInfoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreDayHistoryInfoMapper.java index 9709f7d..0293e83 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreDayHistoryInfoMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/mapper/BusStoreDayHistoryInfoMapper.java @@ -2,6 +2,7 @@ package com.ruoyi.business.mapper; import com.ruoyi.business.domain.BusStoreDayHistoryInfo; import com.ruoyi.business.domain.BusStoreDayInfo; +import com.ruoyi.business.domain.BusStoreExcelInfo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -25,10 +26,10 @@ public interface BusStoreDayHistoryInfoMapper /** * 查询店铺单日信息列表 * - * @param busStoreDayHistoryInfo 店铺单日信息 + * @param busStoreExcelInfo 店铺单日信息 * @return 店铺单日信息集合 */ - public List selectBusStoreDayHistoryInfoList(BusStoreDayHistoryInfo busStoreDayHistoryInfo); + public List selectBusStoreDayHistoryInfoList(BusStoreExcelInfo busStoreExcelInfo); /** * 新增店铺单日信息 diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/IBusStoreDayHistoryInfoService.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/IBusStoreDayHistoryInfoService.java index e321a45..48ad2fb 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/IBusStoreDayHistoryInfoService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/IBusStoreDayHistoryInfoService.java @@ -1,6 +1,7 @@ package com.ruoyi.business.service; import com.ruoyi.business.domain.BusStoreDayHistoryInfo; +import com.ruoyi.business.domain.BusStoreExcelInfo; import java.util.List; @@ -23,10 +24,10 @@ public interface IBusStoreDayHistoryInfoService /** * 查询店铺单日信息列表 * - * @param busStoreDayHistoryInfo 店铺单日信息 + * @param busStoreExcelInfo 店铺单日信息 * @return 店铺单日信息集合 */ - public List selectBusStoreDayHistoryInfoList(BusStoreDayHistoryInfo busStoreDayHistoryInfo); + public List selectBusStoreDayHistoryInfoList(BusStoreExcelInfo busStoreExcelInfo); /** * 新增店铺单日信息 diff --git a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreDayHistoryInfoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreDayHistoryInfoServiceImpl.java index b30c48b..cb328f8 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreDayHistoryInfoServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/business/service/impl/BusStoreDayHistoryInfoServiceImpl.java @@ -2,14 +2,19 @@ package com.ruoyi.business.service.impl; import com.ruoyi.business.domain.BusStoreDayHistoryInfo; import com.ruoyi.business.domain.BusStoreDayInfo; +import com.ruoyi.business.domain.BusStoreExcelInfo; +import com.ruoyi.business.domain.BusStoreInfo; import com.ruoyi.business.mapper.BusStoreDayHistoryInfoMapper; import com.ruoyi.business.mapper.BusStoreDayInfoMapper; +import com.ruoyi.business.mapper.BusStoreInfoMapper; import com.ruoyi.business.service.IBusStoreDayHistoryInfoService; import com.ruoyi.business.service.IBusStoreDayInfoService; import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.ArrayList; import java.util.List; /** @@ -23,6 +28,8 @@ public class BusStoreDayHistoryInfoServiceImpl implements IBusStoreDayHistoryInf { @Autowired private BusStoreDayHistoryInfoMapper busStoreDayHistoryInfoMapper; + @Autowired + private BusStoreInfoMapper storeInfoMapper; /** * 查询店铺单日信息 @@ -39,13 +46,23 @@ public class BusStoreDayHistoryInfoServiceImpl implements IBusStoreDayHistoryInf /** * 查询店铺单日信息列表 * - * @param busStoreDayHistoryInfo 店铺单日信息 + * @param busStoreExcelInfo 店铺单日信息 * @return 店铺单日信息 */ @Override - public List selectBusStoreDayHistoryInfoList(BusStoreDayHistoryInfo busStoreDayHistoryInfo) + public List selectBusStoreDayHistoryInfoList(BusStoreExcelInfo busStoreExcelInfo) { - return busStoreDayHistoryInfoMapper.selectBusStoreDayHistoryInfoList(busStoreDayHistoryInfo); + BusStoreInfo info = new BusStoreInfo(); + info.setBindId(SecurityUtils.getLoginUser().getUserId()); + List list = storeInfoMapper.selectBusStoreInfoList(info); + if (list.size() != 0) { + List sl = new ArrayList<>(); + for (BusStoreInfo storeInfo : list) { + sl.add(storeInfo.getId().intValue()); + } + busStoreExcelInfo.setStoreList(sl); + } + return busStoreDayHistoryInfoMapper.selectBusStoreDayHistoryInfoList(busStoreExcelInfo); } /** diff --git a/ruoyi-system/src/main/resources/mapper/business/BusStoreDayHistoryInfoMapper.xml b/ruoyi-system/src/main/resources/mapper/business/BusStoreDayHistoryInfoMapper.xml index 58d26b6..2ad4b0c 100644 --- a/ruoyi-system/src/main/resources/mapper/business/BusStoreDayHistoryInfoMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/business/BusStoreDayHistoryInfoMapper.xml @@ -21,17 +21,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, store_id, last_order_num, last_positive_reviews_num, last_five_star_reviews_num, last_return_visit_num, last_return_visit_rate, today_return_visit_num, score, create_time from bus_store_day_history_info - + - and store_id = #{storeId} - - - - - - - + DATE_FORMAT(a.create_time,'%Y-%m-%d') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 DAY),'%Y-%m-%d') + and b.self_delivery_status != '3' + + and a.store_id in + + #{item} + + + and b.store_name = #{storeName} diff --git a/ruoyi-ui/src/api/statistics/excel.js b/ruoyi-ui/src/api/statistics/excel.js new file mode 100644 index 0000000..96c664f --- /dev/null +++ b/ruoyi-ui/src/api/statistics/excel.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询店铺单日历史信息列表 +export function listInfo(query) { + return request({ + url: '/excel/info/list', + method: 'get', + params: query + }) +} + +// 查询店铺单日历史信息详细 +export function getInfo(id) { + return request({ + url: '/excel/info/' + id, + method: 'get' + }) +} + +// 新增店铺单日历史信息 +export function addInfo(data) { + return request({ + url: '/excel/info', + method: 'post', + data: data + }) +} + +// 修改店铺单日历史信息 +export function updateInfo(data) { + return request({ + url: '/excel/info', + method: 'put', + data: data + }) +} + +// 删除店铺单日历史信息 +export function delInfo(id) { + return request({ + url: '/excel/info/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/statistics/excellence/index.vue b/ruoyi-ui/src/views/statistics/excellence/index.vue index bbb4127..99a470b 100644 --- a/ruoyi-ui/src/views/statistics/excellence/index.vue +++ b/ruoyi-ui/src/views/statistics/excellence/index.vue @@ -1,87 +1,53 @@