Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -6,6 +6,7 @@ import com.czg.order.dto.OrderInfoQueryDTO;
|
||||
import com.czg.order.dto.OrderInfoRefundDTO;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.order.service.OrderInfoService;
|
||||
import com.czg.order.vo.HistoryOrderPrintVo;
|
||||
import com.czg.order.vo.HistoryOrderVo;
|
||||
import com.czg.order.vo.OrderInfoVo;
|
||||
import com.czg.resp.CzgResult;
|
||||
@@ -49,6 +50,11 @@ public class AdminOrderController {
|
||||
return orderInfoService.getOrderDetails(orderId);
|
||||
}
|
||||
|
||||
@GetMapping("/getOrderByIdPrint")
|
||||
public CzgResult<HistoryOrderPrintVo> getOrderByIdPrint(Long orderId) {
|
||||
return orderInfoService.getOrderByIdPrint(orderId);
|
||||
}
|
||||
|
||||
@GetMapping("/historyOrder")
|
||||
public CzgResult<HistoryOrderVo> historyOrder(
|
||||
@RequestParam(required = false) Long orderId,
|
||||
@@ -65,6 +71,16 @@ public class AdminOrderController {
|
||||
return CzgResult.success(orderInfoService.createOrder(addDto));
|
||||
}
|
||||
|
||||
// /**
|
||||
// * 合单
|
||||
// * @param refundDTO
|
||||
// * @return
|
||||
// */
|
||||
// @PostMapping("/mergeOrder")
|
||||
// public CzgResult<Object> mergeOrder(@Validated @RequestBody OrderInfoRefundDTO refundDTO) {
|
||||
//
|
||||
// }
|
||||
|
||||
/**
|
||||
* 订单全额退款 只传订单id
|
||||
* 部分退款 传参refundDetail
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
package com.czg.controller.admin;
|
||||
|
||||
import com.czg.log.annotation.OperationLog;
|
||||
import com.czg.order.param.DataSummaryProductSaleParam;
|
||||
import com.czg.order.param.DataSummaryTradeParam;
|
||||
import com.czg.order.service.DataSummaryService;
|
||||
import com.czg.order.vo.DataSummaryDateAmountVo;
|
||||
import com.czg.order.vo.DataSummaryPayTypeVo;
|
||||
import com.czg.order.vo.DataSummaryProductSaleVo;
|
||||
import com.czg.order.vo.DataSummaryTradeVo;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.sa.StpKit;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* 数据统计
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:25
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/admin/data/summary")
|
||||
public class DataSummaryController {
|
||||
private final DataSummaryService dataSummaryService;
|
||||
|
||||
/**
|
||||
* 营业板块-上半部分
|
||||
*/
|
||||
@GetMapping("trade")
|
||||
@OperationLog("营业板块-上半部分")
|
||||
//@SaAdminCheckPermission("dataSummary:trade")
|
||||
public CzgResult<DataSummaryTradeVo> getTradeData(DataSummaryTradeParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
param.setShopId(shopId);
|
||||
DataSummaryTradeVo data = dataSummaryService.getTradeData(param);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 商品销售 右下
|
||||
*/
|
||||
@GetMapping("productSaleDate")
|
||||
@OperationLog("商品销售-右下")
|
||||
//@SaAdminCheckPermission("dataSummary:productSaleData")
|
||||
private CzgResult<DataSummaryProductSaleVo> getProductSaleData(DataSummaryProductSaleParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
param.setShopId(shopId);
|
||||
DataSummaryProductSaleVo data = dataSummaryService.getProductSaleData(param);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 销售趋势柱状图 左下
|
||||
*
|
||||
* @param day 天数
|
||||
*/
|
||||
@GetMapping("dateAmount")
|
||||
@OperationLog("销售趋势柱状图 左下")
|
||||
//@SaAdminCheckPermission("dataSummary:dateAmount")
|
||||
private CzgResult<DataSummaryDateAmountVo> getDateAmount(@RequestParam Integer day) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
DataSummaryDateAmountVo data = dataSummaryService.getSummaryAmountData(shopId, day);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 支付占比饼图 左下
|
||||
*
|
||||
* @param day 天数
|
||||
*/
|
||||
@GetMapping("datePayType")
|
||||
//@SaAdminCheckPermission("dataSummary:datePayType")
|
||||
private Object shopSummaryPayType(@RequestParam Integer day) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
DataSummaryPayTypeVo data = dataSummaryService.getSummaryPayTypeData(shopId, day);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.czg.controller.admin;
|
||||
|
||||
import com.czg.log.annotation.OperationLog;
|
||||
import com.czg.order.param.SaleSummaryCountParam;
|
||||
import com.czg.order.service.SaleSummaryService;
|
||||
import com.czg.order.vo.SaleSummaryCountVo;
|
||||
import com.czg.order.vo.SaleSummaryInfoVo;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.pig4cloud.plugin.excel.annotation.ResponseExcel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 销量统计
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:25
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/admin/sale/summary")
|
||||
public class SaleSummaryController {
|
||||
private final SaleSummaryService saleSummaryService;
|
||||
|
||||
/**
|
||||
* 统计
|
||||
*/
|
||||
@GetMapping("count")
|
||||
@OperationLog("统计")
|
||||
//@SaAdminCheckPermission("saleSummary:count")
|
||||
public CzgResult<SaleSummaryCountVo> summaryCount(SaleSummaryCountParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
param.setShopId(shopId);
|
||||
SaleSummaryCountVo data = saleSummaryService.summaryCount(param);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页
|
||||
*/
|
||||
@GetMapping("page")
|
||||
@OperationLog("分页")
|
||||
//@SaAdminCheckPermission("saleSummary:page")
|
||||
public CzgResult<Page<SaleSummaryInfoVo>> summaryPage(SaleSummaryCountParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
param.setShopId(shopId);
|
||||
Page<SaleSummaryInfoVo> page = saleSummaryService.summaryPage(param);
|
||||
return CzgResult.success(page);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*/
|
||||
@ResponseExcel(name = "销售统计明细")
|
||||
@GetMapping("/export")
|
||||
@OperationLog("导出")
|
||||
//@SaAdminCheckPermission("saleSummary:export")
|
||||
public List<SaleSummaryInfoVo> summaryExport(SaleSummaryCountParam param) {
|
||||
return saleSummaryService.summaryList(param);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package com.czg.controller.admin;
|
||||
|
||||
import com.czg.log.annotation.OperationLog;
|
||||
import com.czg.order.param.TableSummaryParam;
|
||||
import com.czg.order.service.TableSummaryService;
|
||||
import com.czg.order.vo.TableSummaryExportVo;
|
||||
import com.czg.order.vo.TableSummaryInfoVo;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.sa.StpKit;
|
||||
import com.pig4cloud.plugin.excel.annotation.ResponseExcel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 台桌统计
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:25
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/admin/table/summary")
|
||||
public class TableSummaryController {
|
||||
private final TableSummaryService tableSummaryService;
|
||||
|
||||
/**
|
||||
* 统计
|
||||
*/
|
||||
@GetMapping("list")
|
||||
@OperationLog("统计")
|
||||
//@SaAdminCheckPermission("tableSummary:list")
|
||||
public CzgResult<List<TableSummaryInfoVo>> summaryList(TableSummaryParam param) {
|
||||
Long shopId = StpKit.USER.getShopId(0L);
|
||||
param.setShopId(shopId);
|
||||
List<TableSummaryInfoVo> data = tableSummaryService.summaryList(param);
|
||||
return CzgResult.success(data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出
|
||||
*/
|
||||
@ResponseExcel(name = "台桌统计")
|
||||
@GetMapping("export")
|
||||
@OperationLog("导出")
|
||||
//@SaAdminCheckPermission("tableSummary:export")
|
||||
public List<TableSummaryExportVo> summaryExport(TableSummaryParam param) {
|
||||
return tableSummaryService.summaryExport(param);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.czg.order.param;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 数据统计-营业-产品销量
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:35
|
||||
*/
|
||||
@Data
|
||||
public class DataSummaryProductSaleParam implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 天数
|
||||
*/
|
||||
private Integer day;
|
||||
/**
|
||||
* 店铺id
|
||||
*/
|
||||
@JSONField(serialize = false)
|
||||
private Long shopId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.czg.order.param;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 数据统计-营业-上半部分
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:35
|
||||
*/
|
||||
@Data
|
||||
public class DataSummaryTradeParam implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 开始时间 格式:yyyy-MM-dd
|
||||
*/
|
||||
private String beginTime;
|
||||
/**
|
||||
* 结束时间 格式:yyyy-MM-dd
|
||||
*/
|
||||
private String endTime;
|
||||
/**
|
||||
* 店铺id
|
||||
*/
|
||||
@JSONField(serialize = false)
|
||||
private Long shopId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.czg.order.param;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 销售统计Count入参
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 16:23
|
||||
*/
|
||||
@Data
|
||||
public class SaleSummaryCountParam implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* shopId
|
||||
*/
|
||||
private Long shopId;
|
||||
/**
|
||||
* 分类id
|
||||
*/
|
||||
private Long cateId;
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String proName;
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.czg.order.param;
|
||||
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 台桌统计
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:35
|
||||
*/
|
||||
@Data
|
||||
public class TableSummaryParam implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 开始时间 格式:yyyy-MM-dd
|
||||
*/
|
||||
private String beginTime;
|
||||
/**
|
||||
* 结束时间 格式:yyyy-MM-dd
|
||||
*/
|
||||
private String endTime;
|
||||
/**
|
||||
* 店铺id
|
||||
*/
|
||||
@JSONField(serialize = false)
|
||||
private Long shopId;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.czg.order.service;
|
||||
|
||||
import com.czg.order.param.DataSummaryProductSaleParam;
|
||||
import com.czg.order.param.DataSummaryTradeParam;
|
||||
import com.czg.order.vo.DataSummaryDateAmountVo;
|
||||
import com.czg.order.vo.DataSummaryPayTypeVo;
|
||||
import com.czg.order.vo.DataSummaryProductSaleVo;
|
||||
import com.czg.order.vo.DataSummaryTradeVo;
|
||||
|
||||
/**
|
||||
* 数据统计Service接口
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:31
|
||||
*/
|
||||
public interface DataSummaryService {
|
||||
|
||||
DataSummaryTradeVo getTradeData(DataSummaryTradeParam param);
|
||||
|
||||
DataSummaryProductSaleVo getProductSaleData(DataSummaryProductSaleParam param);
|
||||
|
||||
DataSummaryDateAmountVo getSummaryAmountData(Long shopId,Integer day);
|
||||
|
||||
DataSummaryPayTypeVo getSummaryPayTypeData(Long shopId, Integer day);
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.czg.order.service;
|
||||
|
||||
import com.czg.order.vo.OrderDetailPrintVo;
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.order.entity.OrderDetail;
|
||||
|
||||
@@ -14,5 +15,5 @@ import java.util.List;
|
||||
public interface OrderDetailService extends IService<OrderDetail> {
|
||||
|
||||
void createOrderDetails(Long orderId, List<OrderDetail> orderDetails);
|
||||
|
||||
List<OrderDetailPrintVo> getOrderDetailPrint(Long orderId);
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.czg.order.dto.*;
|
||||
import com.czg.order.entity.OrderDetail;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.order.enums.PayEnums;
|
||||
import com.czg.order.vo.HistoryOrderPrintVo;
|
||||
import com.czg.order.vo.HistoryOrderVo;
|
||||
import com.czg.order.vo.OrderInfoVo;
|
||||
import com.czg.resp.CzgResult;
|
||||
@@ -29,6 +30,7 @@ public interface OrderInfoService extends IService<OrderInfo> {
|
||||
Page<OrderInfoVo> getOrderByPage(OrderInfoQueryDTO param);
|
||||
|
||||
CzgResult<HistoryOrderVo> getOrderDetails(Long orderId);
|
||||
CzgResult<HistoryOrderPrintVo> getOrderByIdPrint(Long orderId);
|
||||
|
||||
HistoryOrderVo historyOrder(Long orderId, String tableCode);
|
||||
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.czg.order.service;
|
||||
|
||||
import com.czg.order.param.SaleSummaryCountParam;
|
||||
import com.czg.order.vo.SaleSummaryCountVo;
|
||||
import com.czg.order.vo.SaleSummaryInfoVo;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 销量统计Service接口
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:31
|
||||
*/
|
||||
public interface SaleSummaryService {
|
||||
|
||||
SaleSummaryCountVo summaryCount(SaleSummaryCountParam param);
|
||||
Page<SaleSummaryInfoVo> summaryPage(SaleSummaryCountParam param);
|
||||
List<SaleSummaryInfoVo> summaryList(SaleSummaryCountParam param);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.czg.order.service;
|
||||
|
||||
import com.czg.order.param.TableSummaryParam;
|
||||
import com.czg.order.vo.TableSummaryExportVo;
|
||||
import com.czg.order.vo.TableSummaryInfoVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 台桌统计Service接口
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:31
|
||||
*/
|
||||
public interface TableSummaryService {
|
||||
|
||||
List<TableSummaryInfoVo> summaryList(TableSummaryParam param);
|
||||
List<TableSummaryExportVo> summaryExport(TableSummaryParam param);
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 销售趋势柱状图 左下
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 16:08
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class DataSummaryDateAmountVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* total
|
||||
*/
|
||||
private List<TotalVo> total;
|
||||
|
||||
/**
|
||||
* TotalVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class TotalVo {
|
||||
/**
|
||||
* 实收金额
|
||||
*/
|
||||
private Integer actualAmount;
|
||||
/**
|
||||
* 优惠金额
|
||||
*/
|
||||
private Integer discountAmount;
|
||||
/**
|
||||
* 订单金额
|
||||
*/
|
||||
private Integer orderAmount;
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
private String tradeDay;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 支付占比饼图 左下
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 16:08
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class DataSummaryPayTypeVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* countPayType
|
||||
*/
|
||||
private List<CountPayTypeVo> countPayType;
|
||||
|
||||
/**
|
||||
* CountPayTypeVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class CountPayTypeVo {
|
||||
/**
|
||||
* 笔数
|
||||
*/
|
||||
private Integer count;
|
||||
/**
|
||||
* 支付方式
|
||||
*/
|
||||
private String payType;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据汇总-商品销售
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:50
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class DataSummaryProductSaleVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* productSum
|
||||
*/
|
||||
private ProductSumVo productSum;
|
||||
/**
|
||||
* countList
|
||||
*/
|
||||
private List<CountListVo> countList;
|
||||
/**
|
||||
* productCount
|
||||
*/
|
||||
private ProductCountVo productCount;
|
||||
/**
|
||||
* productList
|
||||
*/
|
||||
private Page<ContentVo> productList;
|
||||
|
||||
/**
|
||||
* ProductSumVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class ProductSumVo {
|
||||
/**
|
||||
* icon
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* isAmount
|
||||
*/
|
||||
private String isAmount;
|
||||
/**
|
||||
* payAmount
|
||||
*/
|
||||
private BigDecimal payAmount;
|
||||
/**
|
||||
* payType
|
||||
*/
|
||||
private String payType;
|
||||
/**
|
||||
* saveAmount
|
||||
*/
|
||||
private Object saveAmount;
|
||||
}
|
||||
|
||||
/**
|
||||
* ProductCountVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class ProductCountVo {
|
||||
/**
|
||||
* icon
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* isAmount
|
||||
*/
|
||||
private String isAmount;
|
||||
/**
|
||||
* payAmount
|
||||
*/
|
||||
private BigDecimal payAmount;
|
||||
/**
|
||||
* payType
|
||||
*/
|
||||
private String payType;
|
||||
/**
|
||||
* saveAmount
|
||||
*/
|
||||
private Object saveAmount;
|
||||
}
|
||||
/**
|
||||
* ContentVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class ContentVo {
|
||||
/**
|
||||
* cateName
|
||||
*/
|
||||
private String cateName;
|
||||
/**
|
||||
* num
|
||||
*/
|
||||
private BigDecimal num;
|
||||
/**
|
||||
* price
|
||||
*/
|
||||
private BigDecimal price;
|
||||
/**
|
||||
* productId
|
||||
*/
|
||||
private Object productId;
|
||||
/**
|
||||
* productName
|
||||
*/
|
||||
private String productName;
|
||||
/**
|
||||
* productSkuId
|
||||
*/
|
||||
private Object productSkuId;
|
||||
/**
|
||||
* productSkuName
|
||||
*/
|
||||
private Object productSkuName;
|
||||
/**
|
||||
* refAmount
|
||||
*/
|
||||
private BigDecimal refAmount;
|
||||
/**
|
||||
* refNum
|
||||
*/
|
||||
private BigDecimal refNum;
|
||||
/**
|
||||
* salesAmount
|
||||
*/
|
||||
private BigDecimal salesAmount;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 销售数量
|
||||
*/
|
||||
private BigDecimal salesNum;
|
||||
/**
|
||||
* 单位名称
|
||||
*/
|
||||
private String unitName;
|
||||
}
|
||||
|
||||
/**
|
||||
* CountListVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class CountListVo {
|
||||
/**
|
||||
* 销售额
|
||||
*/
|
||||
private BigDecimal saleAmount;
|
||||
/**
|
||||
* 销售量
|
||||
*/
|
||||
private BigDecimal saleNum;
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
private String tradeDay;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,147 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 数据统计-营业-上半部分
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:35
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class DataSummaryTradeVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* sale
|
||||
*/
|
||||
private SaleVo sale;
|
||||
/**
|
||||
* count
|
||||
*/
|
||||
private CountVo count;
|
||||
/**
|
||||
* vip
|
||||
*/
|
||||
private VipVo vip;
|
||||
|
||||
/**
|
||||
* SaleVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class SaleVo {
|
||||
/**
|
||||
* 会员退款金额
|
||||
*/
|
||||
private BigDecimal outAmount;
|
||||
/**
|
||||
* 总金额
|
||||
*/
|
||||
private BigDecimal totalSaleAmount;
|
||||
/**
|
||||
* 会员总金额
|
||||
*/
|
||||
private BigDecimal totalVipAmount;
|
||||
/**
|
||||
* 会员充值金额
|
||||
*/
|
||||
private BigDecimal inAmount;
|
||||
/**
|
||||
* 总实收
|
||||
*/
|
||||
private BigDecimal incomeAmountAll;
|
||||
/**
|
||||
* 销售收款金额
|
||||
*/
|
||||
private BigDecimal incomeAmount;
|
||||
/**
|
||||
* payCount
|
||||
*/
|
||||
private List<PayCountVo> payCount;
|
||||
/**
|
||||
* 销售退款金额
|
||||
*/
|
||||
private BigDecimal refundAmount;
|
||||
|
||||
/**
|
||||
* PayCountVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class PayCountVo {
|
||||
/**
|
||||
* 图标
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* isAmount
|
||||
*/
|
||||
private String isAmount;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
private Integer payAmount;
|
||||
/**
|
||||
* 描述
|
||||
*/
|
||||
private String payType;
|
||||
/**
|
||||
* saveAmount
|
||||
*/
|
||||
private Object saveAmount;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* CountVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class CountVo {
|
||||
/**
|
||||
* 客单价
|
||||
*/
|
||||
private Integer unitPrice;
|
||||
/**
|
||||
* 翻台率
|
||||
*/
|
||||
private String turnoverRate;
|
||||
/**
|
||||
* 优惠单数
|
||||
*/
|
||||
private Integer saveNum;
|
||||
/**
|
||||
* 优惠金额
|
||||
*/
|
||||
private BigDecimal saveAmount;
|
||||
}
|
||||
|
||||
/**
|
||||
* VipVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class VipVo {
|
||||
/**
|
||||
* 会员消费笔数
|
||||
*/
|
||||
private Integer useNum;
|
||||
/**
|
||||
* 新增会员数
|
||||
*/
|
||||
private Integer newFlow;
|
||||
/**
|
||||
* 会员消费金额
|
||||
*/
|
||||
private BigDecimal useAmount;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author ww
|
||||
* @description
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
public class HistoryOrderPrintVo extends OrderInfo {
|
||||
private Map<String, List<OrderDetailPrintVo>> detailMap;
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import com.czg.order.entity.OrderDetail;
|
||||
import lombok.*;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 订单详情 实体类。
|
||||
*
|
||||
* @author ww
|
||||
* @since 2025-02-14
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class OrderDetailPrintVo extends OrderDetail implements Serializable{
|
||||
|
||||
|
||||
private Long categoryId;
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 销量统计汇总
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 16:22
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class SaleSummaryCountVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* icon
|
||||
*/
|
||||
private String icon;
|
||||
/**
|
||||
* isAmount
|
||||
*/
|
||||
private String isAmount;
|
||||
/**
|
||||
* payAmount
|
||||
*/
|
||||
private Double payAmount;
|
||||
/**
|
||||
* payType
|
||||
*/
|
||||
private String payType;
|
||||
/**
|
||||
* saveAmount
|
||||
*/
|
||||
private Object saveAmount;
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import cn.idev.excel.annotation.ExcelIgnore;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.pig4cloud.plugin.excel.annotation.ExcelLine;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 销量统计导出
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 16:22
|
||||
*/
|
||||
@Data
|
||||
public class SaleSummaryExportVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
* 导入时候回显行号
|
||||
*/
|
||||
@ExcelLine
|
||||
@ExcelIgnore
|
||||
@JSONField(serialize = false)
|
||||
private Long lineNum;
|
||||
/**
|
||||
* 商品分类
|
||||
*/
|
||||
@ExcelProperty("商品分类")
|
||||
private String categoryName;
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
@ExcelProperty("商品名称")
|
||||
private String productName;
|
||||
/**
|
||||
* 商品规格
|
||||
*/
|
||||
@ExcelProperty("商品规格")
|
||||
private String specName;
|
||||
/**
|
||||
* 销售额
|
||||
*/
|
||||
@ExcelProperty("销售额")
|
||||
private BigDecimal salesAmount;
|
||||
/**
|
||||
* 退单额
|
||||
*/
|
||||
@ExcelProperty("退单额")
|
||||
private BigDecimal refundAmount;
|
||||
/**
|
||||
* 实际销量
|
||||
*/
|
||||
@ExcelProperty("实际销量")
|
||||
private BigDecimal salesNum;
|
||||
/**
|
||||
* 退单量
|
||||
*/
|
||||
@ExcelProperty("退单量")
|
||||
private BigDecimal refundNum;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 销量统计明细
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 16:22
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class SaleSummaryInfoVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
|
||||
/**
|
||||
* cateName
|
||||
*/
|
||||
private String cateName;
|
||||
/**
|
||||
* name
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* productId
|
||||
*/
|
||||
private Integer productId;
|
||||
/**
|
||||
* refAmount
|
||||
*/
|
||||
private Integer refAmount;
|
||||
/**
|
||||
* refNum
|
||||
*/
|
||||
private Integer refNum;
|
||||
/**
|
||||
* salesAmount
|
||||
*/
|
||||
private Integer salesAmount;
|
||||
/**
|
||||
* salesNum
|
||||
*/
|
||||
private Integer salesNum;
|
||||
/**
|
||||
* skus
|
||||
*/
|
||||
private List<SkusVo> skus;
|
||||
/**
|
||||
* typeEnum
|
||||
*/
|
||||
private String typeEnum;
|
||||
|
||||
/**
|
||||
* SkusVo
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public static class SkusVo {
|
||||
/**
|
||||
* cateName
|
||||
*/
|
||||
private String cateName;
|
||||
/**
|
||||
* name
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* productId
|
||||
*/
|
||||
private Integer productId;
|
||||
/**
|
||||
* refAmount
|
||||
*/
|
||||
private Integer refAmount;
|
||||
/**
|
||||
* refNum
|
||||
*/
|
||||
private Integer refNum;
|
||||
/**
|
||||
* salesAmount
|
||||
*/
|
||||
private Integer salesAmount;
|
||||
/**
|
||||
* salesNum
|
||||
*/
|
||||
private Integer salesNum;
|
||||
/**
|
||||
* skus
|
||||
*/
|
||||
private List<?> skus;
|
||||
/**
|
||||
* typeEnum
|
||||
*/
|
||||
private String typeEnum;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import cn.idev.excel.annotation.ExcelIgnore;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.fastjson2.annotation.JSONField;
|
||||
import com.pig4cloud.plugin.excel.annotation.ExcelLine;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 台桌统计明细
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 16:22
|
||||
*/
|
||||
@Data
|
||||
public class TableSummaryExportVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 导入时候回显行号
|
||||
*/
|
||||
@ExcelLine
|
||||
@ExcelIgnore
|
||||
@JSONField(serialize = false)
|
||||
private Long lineNum;
|
||||
/**
|
||||
* 台桌
|
||||
*/
|
||||
@ExcelProperty("台桌")
|
||||
private String tableName;
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@ExcelProperty("日期")
|
||||
private String date;
|
||||
/**
|
||||
* 商品分类
|
||||
*/
|
||||
@ExcelProperty("商品分类")
|
||||
private String categoryName;
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
@ExcelProperty("商品名称")
|
||||
private String productName;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@ExcelProperty("单位")
|
||||
private String unitName;
|
||||
/**
|
||||
* 商品规格
|
||||
*/
|
||||
@ExcelProperty("商品规格")
|
||||
private String specName;
|
||||
/**
|
||||
* 销量
|
||||
*/
|
||||
@ExcelProperty("销量")
|
||||
private BigDecimal salesNum;
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
@ExcelProperty("单价")
|
||||
private BigDecimal price;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@ExcelProperty("金额")
|
||||
private BigDecimal amount;
|
||||
/**
|
||||
* 销售额
|
||||
*/
|
||||
@ExcelProperty("销售额")
|
||||
private BigDecimal salesAmount;
|
||||
/**
|
||||
* 总销售额
|
||||
*/
|
||||
@ExcelProperty("总销售额")
|
||||
private BigDecimal totalSalesAmount;
|
||||
/**
|
||||
* 退单量
|
||||
*/
|
||||
@ExcelProperty("退单量")
|
||||
private Integer refundNum;
|
||||
/**
|
||||
* 退单额
|
||||
*/
|
||||
@ExcelProperty("退单额")
|
||||
private BigDecimal refundAmount;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package com.czg.order.vo;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 台桌统计明细
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 16:22
|
||||
*/
|
||||
@NoArgsConstructor
|
||||
@Data
|
||||
public class TableSummaryInfoVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
// 台桌 日期 商品分类 商品名称 单位 商品规格 销量 单价 金额 销售额 总销售额 退单量 退单额
|
||||
|
||||
|
||||
/**
|
||||
* 台桌
|
||||
*/
|
||||
private String tableName;
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
private String date;
|
||||
/**
|
||||
* 商品分类
|
||||
*/
|
||||
private String categoryName;
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String productName;
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
private String unitName;
|
||||
/**
|
||||
* 商品规格
|
||||
*/
|
||||
private String specName;
|
||||
/**
|
||||
* 销量
|
||||
*/
|
||||
private BigDecimal salesNum;
|
||||
/**
|
||||
* 单价
|
||||
*/
|
||||
private BigDecimal price;
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
private BigDecimal amount;
|
||||
/**
|
||||
* 销售额
|
||||
*/
|
||||
private BigDecimal salesAmount;
|
||||
/**
|
||||
* 总销售额
|
||||
*/
|
||||
private BigDecimal totalSalesAmount;
|
||||
/**
|
||||
* 退单量
|
||||
*/
|
||||
private Integer refundNum;
|
||||
/**
|
||||
* 退单额
|
||||
*/
|
||||
private BigDecimal refundAmount;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.czg.service.order.mapper;
|
||||
|
||||
import com.czg.order.vo.OrderDetailPrintVo;
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.czg.order.entity.OrderDetail;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -14,4 +15,7 @@ import java.util.List;
|
||||
*/
|
||||
public interface OrderDetailMapper extends BaseMapper<OrderDetail> {
|
||||
void createOrderDetails(@Param("orderId") Long orderId,@Param("orderDetails") List<OrderDetail> orderDetails);
|
||||
|
||||
|
||||
List<OrderDetailPrintVo> getOrderDetailPrint(Long orderId);
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.czg.service.order.mapper;
|
||||
import com.czg.account.vo.HandoverCategoryListVo;
|
||||
import com.czg.account.vo.HandoverProductListVo;
|
||||
import com.czg.order.entity.OrderInfo;
|
||||
import com.czg.order.vo.OrderDetailPrintVo;
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.czg.service.order.service.impl;
|
||||
|
||||
import com.czg.order.param.DataSummaryProductSaleParam;
|
||||
import com.czg.order.param.DataSummaryTradeParam;
|
||||
import com.czg.order.service.DataSummaryService;
|
||||
import com.czg.order.vo.DataSummaryDateAmountVo;
|
||||
import com.czg.order.vo.DataSummaryPayTypeVo;
|
||||
import com.czg.order.vo.DataSummaryProductSaleVo;
|
||||
import com.czg.order.vo.DataSummaryTradeVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 数据统计Service实现类
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:32
|
||||
*/
|
||||
@Service
|
||||
public class DataSummaryServiceImpl implements DataSummaryService {
|
||||
@Override
|
||||
public DataSummaryTradeVo getTradeData(DataSummaryTradeParam param) {
|
||||
return new DataSummaryTradeVo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSummaryProductSaleVo getProductSaleData(DataSummaryProductSaleParam param) {
|
||||
return new DataSummaryProductSaleVo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSummaryDateAmountVo getSummaryAmountData(Long shopId, Integer day) {
|
||||
return new DataSummaryDateAmountVo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataSummaryPayTypeVo getSummaryPayTypeData(Long shopId, Integer day) {
|
||||
return new DataSummaryPayTypeVo();
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.czg.service.order.service.impl;
|
||||
|
||||
import com.czg.order.entity.OrderDetail;
|
||||
import com.czg.order.service.OrderDetailService;
|
||||
import com.czg.order.vo.OrderDetailPrintVo;
|
||||
import com.czg.service.order.mapper.OrderDetailMapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import org.apache.dubbo.config.annotation.DubboService;
|
||||
@@ -15,10 +16,15 @@ import java.util.List;
|
||||
* @since 2025-02-13
|
||||
*/
|
||||
@DubboService
|
||||
public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetail> implements OrderDetailService{
|
||||
public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetail> implements OrderDetailService {
|
||||
|
||||
@Override
|
||||
public void createOrderDetails(Long orderId, List<OrderDetail> orderDetails) {
|
||||
getMapper().createOrderDetails(orderId, orderDetails);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderDetailPrintVo> getOrderDetailPrint(Long orderId) {
|
||||
return getMapper().getOrderDetailPrint(orderId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,9 +26,7 @@ import com.czg.order.service.CashierCartService;
|
||||
import com.czg.order.service.OrderDetailService;
|
||||
import com.czg.order.service.OrderInfoService;
|
||||
import com.czg.order.service.OrderPaymentService;
|
||||
import com.czg.order.vo.HistoryOrderVo;
|
||||
import com.czg.order.vo.OrderDetailSmallVO;
|
||||
import com.czg.order.vo.OrderInfoVo;
|
||||
import com.czg.order.vo.*;
|
||||
import com.czg.resp.CzgResult;
|
||||
import com.czg.service.RedisService;
|
||||
import com.czg.service.order.enums.OrderStatusEnums;
|
||||
@@ -36,6 +34,7 @@ import com.czg.service.order.mapper.OrderInfoMapper;
|
||||
import com.czg.utils.AssertUtil;
|
||||
import com.czg.utils.CzgStrUtils;
|
||||
import com.czg.utils.PageUtil;
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.core.update.UpdateChain;
|
||||
@@ -134,6 +133,24 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
|
||||
return CzgResult.success(historyOrder(orderId, null));
|
||||
}
|
||||
|
||||
@Override
|
||||
public CzgResult<HistoryOrderPrintVo> getOrderByIdPrint(Long orderId) {
|
||||
HistoryOrderPrintVo historyOrderVo = getOneAs(new QueryWrapper()
|
||||
.eq(OrderInfo::getId, orderId), HistoryOrderPrintVo.class);
|
||||
List<OrderDetailPrintVo> orderDetails = orderDetailService.getOrderDetailPrint(orderId);
|
||||
Map<String, List<OrderDetailPrintVo>> resultMap = new HashMap<>();
|
||||
// 遍历订单详情列表
|
||||
for (OrderDetailPrintVo orderDetail : orderDetails) {
|
||||
orderDetail.initGift();
|
||||
// 获取当前订单详情的 placeNum
|
||||
Integer placeNum = orderDetail.getPlaceNum();
|
||||
// 检查 Map 中是否已经存在该 placeNum 对应的列表
|
||||
resultMap.computeIfAbsent(placeNum.toString(), k -> new ArrayList<>()).add(orderDetail);
|
||||
}
|
||||
historyOrderVo.setDetailMap(resultMap);
|
||||
return CzgResult.success(historyOrderVo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HistoryOrderVo historyOrder(Long orderId, String tableCode) {
|
||||
if (orderId == null && StrUtil.isBlank(tableCode)) {
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.czg.service.order.service.impl;
|
||||
|
||||
import com.czg.order.param.SaleSummaryCountParam;
|
||||
import com.czg.order.service.SaleSummaryService;
|
||||
import com.czg.order.vo.SaleSummaryCountVo;
|
||||
import com.czg.order.vo.SaleSummaryInfoVo;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 销量统计Service实现类
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:32
|
||||
*/
|
||||
@Service
|
||||
public class SaleSummaryServiceImpl implements SaleSummaryService {
|
||||
|
||||
@Override
|
||||
public SaleSummaryCountVo summaryCount(SaleSummaryCountParam param) {
|
||||
return new SaleSummaryCountVo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<SaleSummaryInfoVo> summaryPage(SaleSummaryCountParam param) {
|
||||
Page<SaleSummaryInfoVo> page = new Page<>();
|
||||
page.setRecords(new ArrayList<SaleSummaryInfoVo>());
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SaleSummaryInfoVo> summaryList(SaleSummaryCountParam param) {
|
||||
return List.of();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.czg.service.order.service.impl;
|
||||
|
||||
import com.czg.order.param.TableSummaryParam;
|
||||
import com.czg.order.service.TableSummaryService;
|
||||
import com.czg.order.vo.TableSummaryExportVo;
|
||||
import com.czg.order.vo.TableSummaryInfoVo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 台桌统计Service实现类
|
||||
*
|
||||
* @author tankaikai
|
||||
* @since 2025-03-07 15:32
|
||||
*/
|
||||
@Service
|
||||
public class TableSummaryServiceImpl implements TableSummaryService {
|
||||
|
||||
|
||||
@Override
|
||||
public List<TableSummaryInfoVo> summaryList(TableSummaryParam param) {
|
||||
return List.of();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TableSummaryExportVo> summaryExport(TableSummaryParam param) {
|
||||
return List.of();
|
||||
}
|
||||
}
|
||||
@@ -22,4 +22,10 @@
|
||||
now(), now())
|
||||
</foreach>
|
||||
</insert>
|
||||
<select id="getOrderDetailPrint" resultType="com.czg.order.vo.OrderDetailPrintVo">
|
||||
select detail.*, product.category_id as categoryId
|
||||
from tb_order_detail detail
|
||||
left join tb_product product on product.id = detail.product_id
|
||||
where order_id = #{orderId}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
Reference in New Issue
Block a user