From baf33cec58087ec80635b5ff901cb4a9581f9beb Mon Sep 17 00:00:00 2001 From: lzq <2495532633@qq.com> Date: Mon, 9 Feb 2026 18:42:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/jackson/serializer/DictModule.java | 15 + .../mvc/config/MvcAutoConfiguration.java | 3 +- .../cst/order/controller/OrderController.java | 5 +- .../dispose/cst/order/mapper/OrderMapper.java | 5 + .../mapper/OrderPaymentRecordMapper.java | 6 + .../order/pojo/param/SearchOrderParam.java | 62 +++ .../SearchOrderPaymentRecordResult.java | 123 ++++ .../order/pojo/result/SearchOrderResult.java | 526 ++++++++++++++++++ .../service/OrderPaymentRecordService.java | 6 + .../cst/order/service/OrderService.java | 111 +++- .../njzscloud/dispose/goods/contant/Unit.java | 26 - .../goods/pojo/entity/GoodsEntity.java | 8 +- .../goods/pojo/param/AddGoodsParam.java | 36 +- .../goods/pojo/param/ModifyGoodsParam.java | 23 - .../pojo/param/SearchGoodsCategoryParam.java | 1 + .../goods/pojo/param/SearchGoodsParam.java | 3 + .../goods/service/GoodsCategoryService.java | 32 +- .../dispose/goods/service/GoodsService.java | 27 +- .../mapper/cst/order/OrderMapper.xml | 40 ++ .../cst/order/OrderPaymentRecordMapper.xml | 41 ++ 20 files changed, 975 insertions(+), 124 deletions(-) create mode 100644 njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictModule.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/SearchOrderParam.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/SearchOrderPaymentRecordResult.java create mode 100644 njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/SearchOrderResult.java delete mode 100644 njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/contant/Unit.java create mode 100644 njzscloud-svr/src/main/resources/mapper/cst/order/OrderMapper.xml create mode 100644 njzscloud-svr/src/main/resources/mapper/cst/order/OrderPaymentRecordMapper.xml diff --git a/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictModule.java b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictModule.java new file mode 100644 index 0000000..13132f5 --- /dev/null +++ b/njzscloud-common/njzscloud-common-core/src/main/java/com/njzscloud/common/core/jackson/serializer/DictModule.java @@ -0,0 +1,15 @@ +package com.njzscloud.common.core.jackson.serializer; + +import com.fasterxml.jackson.databind.module.SimpleModule; +import com.njzscloud.common.core.ienum.Dict; + + +/** + * Long 序列化 + */ +public class DictModule extends SimpleModule { + { + this.addSerializer(Dict.class, new DictSerializer()) + .addDeserializer(Dict.class, new DictDeserializer()); + } +} diff --git a/njzscloud-common/njzscloud-common-mvc/src/main/java/com/njzscloud/common/mvc/config/MvcAutoConfiguration.java b/njzscloud-common/njzscloud-common-mvc/src/main/java/com/njzscloud/common/mvc/config/MvcAutoConfiguration.java index 2e9ab0d..95767e1 100644 --- a/njzscloud-common/njzscloud-common-mvc/src/main/java/com/njzscloud/common/mvc/config/MvcAutoConfiguration.java +++ b/njzscloud-common/njzscloud-common-mvc/src/main/java/com/njzscloud/common/mvc/config/MvcAutoConfiguration.java @@ -1,6 +1,7 @@ package com.njzscloud.common.mvc.config; import com.njzscloud.common.core.jackson.serializer.BigDecimalModule; +import com.njzscloud.common.core.jackson.serializer.DictModule; import com.njzscloud.common.core.jackson.serializer.LongModule; import com.njzscloud.common.core.jackson.serializer.TimeModule; import com.njzscloud.common.mvc.support.DictHandlerMethodArgumentResolver; @@ -22,7 +23,7 @@ public class MvcAutoConfiguration { @Bean public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { return build -> build - .modules(new TimeModule(), new LongModule(), new BigDecimalModule()); + .modules(new TimeModule(), new LongModule(), new BigDecimalModule(), new DictModule()); } @Bean diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java index 857e211..38f2c29 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/controller/OrderController.java @@ -5,6 +5,7 @@ import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.dispose.cst.order.pojo.entity.OrderEntity; import com.njzscloud.dispose.cst.order.pojo.param.*; +import com.njzscloud.dispose.cst.order.pojo.result.SearchOrderResult; import com.njzscloud.dispose.cst.order.service.OrderService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -64,8 +65,8 @@ public class OrderController { * 分页查询 */ @GetMapping("/paging") - public R> paging(PageParam pageParam, OrderEntity orderEntity) { - return R.success(orderService.paging(pageParam, orderEntity)); + public R> paging(PageParam pageParam, SearchOrderParam searchOrderParam) { + return R.success(orderService.paging(pageParam, searchOrderParam)); } /** diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderMapper.java index 056d11a..1a63912 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderMapper.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderMapper.java @@ -1,8 +1,12 @@ package com.njzscloud.dispose.cst.order.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.njzscloud.dispose.cst.order.pojo.entity.OrderEntity; +import com.njzscloud.dispose.cst.order.pojo.result.SearchOrderResult; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * 收/销订单 @@ -10,6 +14,7 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface OrderMapper extends BaseMapper { + IPage paging(IPage page, @Param("ew") QueryWrapper ew); } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderPaymentRecordMapper.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderPaymentRecordMapper.java index edfd865..0e5bf33 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderPaymentRecordMapper.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/mapper/OrderPaymentRecordMapper.java @@ -1,8 +1,13 @@ package com.njzscloud.dispose.cst.order.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njzscloud.dispose.cst.order.pojo.entity.OrderPaymentRecordEntity; +import com.njzscloud.dispose.cst.order.pojo.result.SearchOrderPaymentRecordResult; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 付费记录 @@ -11,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface OrderPaymentRecordMapper extends BaseMapper { + List listPaymentRecord(@Param("ew") QueryWrapper ew); } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/SearchOrderParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/SearchOrderParam.java new file mode 100644 index 0000000..c65374f --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/param/SearchOrderParam.java @@ -0,0 +1,62 @@ +package com.njzscloud.dispose.cst.order.pojo.param; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +/** + * 收/销订单 + * + * @author ljw + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class SearchOrderParam { + /** + * 订单类型;YuYue、ShiShi、LiShi、QuXiao + */ + private String orderType; + /** + * 业务类型; XiaoShou、HuiShou、DuanBo + */ + private String bizType; + /** + * 订单编号 + */ + private String sn; + /** + * 站点名称;cst_station.station.name + */ + private String stationName; + /** + * 下单人姓名 + */ + private String contacts; + + /** + * 下单人联系方式 + */ + private String phone; + private String transOrgName; + private String projectName; + + /** + * 下单时间 + */ + private LocalDateTime orderTimeStart; + private LocalDateTime orderTimeEnd; + + /** + * 产品名称 + */ + private String goodsName; + private String keywords; + +} + + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/SearchOrderPaymentRecordResult.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/SearchOrderPaymentRecordResult.java new file mode 100644 index 0000000..32aed07 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/SearchOrderPaymentRecordResult.java @@ -0,0 +1,123 @@ +package com.njzscloud.dispose.cst.order.pojo.result; + +import com.njzscloud.dispose.cst.customer.constant.SettlementWay; +import com.njzscloud.dispose.cst.order.constant.PaymentStatus; +import com.njzscloud.dispose.finance.constant.ExpenseItemCategory; +import com.njzscloud.dispose.finance.constant.ExpenseStrategy; +import com.njzscloud.dispose.finance.constant.Payer; +import com.njzscloud.dispose.finance.constant.Unit; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * 付费记录 + * + * @author ljw + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class SearchOrderPaymentRecordResult { + + /** + * 主键 + */ + private Long id; + + /** + * 订单 Id + */ + private Long orderId; + + /** + * 订单收费项 Id,QiTa-->其他、ChanPin-->产品、YunFei-->运费 + */ + private Long expenseItemId; + + /** + * 运输记录 Id + */ + private Long transId; + + /** + * 付费方;字典代码:payer,PingTai-->平台、ChanFei-->产废方、YunShu-->运输方、XiaoNa-->消纳方、CaiGou-->采购方 + */ + private Payer payer; + + /** + * 量 + */ + private BigDecimal quantity; + + /** + * 支付状态,MianFei-->免费、WeiZhiFu-->未支付、YiZhiFu-->已支付、YiTuiKuan-->已退款 + */ + private PaymentStatus paymentStatus; + + /** + * 支付时间 + */ + private LocalDateTime payTime; + + /** + * 退款时间 + */ + private LocalDateTime refundTime; + + /** + * 总金额;单位:元 + */ + private BigDecimal totalMoney; + + /** + * 优惠金额;单位:元,有正负 + */ + private BigDecimal discountMoney; + + /** + * 手动修正金额;单位:元,有正负 + */ + private BigDecimal reviseMoney; + + /** + * 结算金额;单位:元 + */ + private BigDecimal settleMoney; + + /** + * 结算方式,YueJie-->月结、YuE-->余额、XianFu-->现付 + */ + private SettlementWay settlementWay; + + /** + * 付款人 Id;sys_user.id + */ + private Long payerUserId; + + /** + * 付款人客户 Id;cst_customer.id + */ + private Long payerCustomerId; + + /** + * 付款方资金账户 Id + */ + private Long payerMoneyAccountId; + + private ExpenseItemCategory expenseItemCategory; + private String goodsId; + private String expenseItemName; + private ExpenseStrategy expenseStrategy; + private Unit unit; + private BigDecimal taxRate; + private BigDecimal unitPrice; + private BigDecimal initialPrice; + private Integer initialQuantity; + private Integer everyQuantity; +} diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/SearchOrderResult.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/SearchOrderResult.java new file mode 100644 index 0000000..b805318 --- /dev/null +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/pojo/result/SearchOrderResult.java @@ -0,0 +1,526 @@ +package com.njzscloud.dispose.cst.order.pojo.result; + +import com.njzscloud.dispose.cst.customer.constant.SettlementWay; +import com.njzscloud.dispose.cst.order.constant.*; +import com.njzscloud.dispose.finance.constant.ExpenseItemCategory; +import com.njzscloud.dispose.finance.constant.ExpenseStrategy; +import com.njzscloud.dispose.finance.constant.Unit; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 收/销订单 + * + * @author ljw + */ +@Getter +@Setter +@ToString +@Accessors(chain = true) +public class SearchOrderResult { + + /** + * 主键 + */ + private Long id; + + /** + * 订单编号 + */ + private String sn; + + /** + * 项目 Id + */ + private Long projectId; + + /** + * 下单人 Id;sys_user.id + */ + private Long userId; + + /** + * 下单人客户 Id;cst_customer.id + */ + private Long customerId; + + /** + * 下单人姓名 + */ + private String contacts; + + /** + * 下单人联系方式 + */ + private String phone; + + /** + * 下单时间 + */ + private LocalDateTime orderTime; + + /** + * 订单类型;字典代码:order_category,HuiShouYuYue-->回收预约单、XiaoShouYuYue-->销售预约单、DuanBoRu-->短驳入、DuanBoChu-->短驳出 + */ + private OrderCategory orderCategory; + + /** + * 订单状态;字典代码:order_status,YiYuYue-->已预约、JinXingZhong-->进行中、YiWanCheng-->已完成、YiQuXiao-->已取消 + */ + private OrderStatus orderStatus; + + /** + * 完结时间 + */ + private LocalDateTime finishTime; + + /** + * 运输组织 Id;cst_org.id + */ + private Long transOrgId; + + /** + * 运输方客户 Id + */ + private Long transCustomerId; + + /** + * 指派清运公司时间 + */ + private LocalDateTime assignmentTransTime; + + /** + * 站点 Id;cst_station.id + */ + private Long stationId; + + /** + * 站点名称;cst_station.station.name + */ + private String stationName; + + /** + * 运距;单位:米 + */ + private Integer transDistance; + + /** + * 预估量 + */ + private Integer estimatedQuantity; + + /** + * 预估车数 + */ + private Integer estimatedTrainNum; + + /** + * 产品 Id + */ + private Long goodsId; + + /** + * 产品名称 + */ + private String goodsName; + + /** + * 计量单位;字典代码:unit + */ + private Unit unit; + + /** + * 客户备注 + */ + private String customerMemo; + /** + * 创建时间 + */ + private LocalDateTime createTime; + + private List transRecodes; + private CargoPlace cargoPlace; + private ProjectInfo projectInfo; + + @Getter + @Setter + @ToString + @Accessors(chain = true) + public static class PaymentRecord { + private Long id; + private Long orderId; + private Long expenseItemId; + private Long transId; + private BigDecimal quantity; + private PaymentStatus paymentStatus; + private LocalDateTime payTime; + private LocalDateTime refundTime; + private BigDecimal totalMoney; + private BigDecimal discountMoney; + private BigDecimal reviseMoney; + private BigDecimal settleMoney; + private SettlementWay settlementWay; + private Long payerUserId; + private Long payerCustomerId; + private Long payerMoneyAccountId; + private ExpenseItemCategory expenseItemCategory; + private String goodsId; + private String expenseItemName; + private ExpenseStrategy expenseStrategy; + private Unit unit; + private BigDecimal taxRate; + private BigDecimal unitPrice; + private BigDecimal initialPrice; + private Integer initialQuantity; + private Integer everyQuantity; + } + + @Getter + @Setter + @ToString + @Accessors(chain = true) + public static class TransRecode { + private Long id; + + /** + * 车次 + */ + private Integer trainNum; + + /** + * 订单 Id + */ + private Long orderId; + + /** + * 运输状态;字典代码:trans_status,DaiPaiDan-->待派单、DaiJieDan-->待接单、YiJieDan-->已接单、YunShuZhong-->运输中、YiJinChang-->已进场、YiChuChang-->已出场、YiWanCheng-->已完成、YiQuXiao-->已取消 + */ + private TransStatus transStatus; + + /** + * 车道名称 + */ + private String lane; + + /** + * 指派司机时间 + */ + private LocalDateTime assignmentDriverTime; + + /** + * 司机确认接单时间 + */ + private LocalDateTime driverConfirmTime; + + /** + * 开始运输时间 + */ + private LocalDateTime transTime; + + /** + * 完结时间 + */ + private LocalDateTime finishTime; + + /** + * 看料员 Id;sys_user.id + */ + private Long checkerId; + + /** + * 勘料状态;字典代码:check_status,Wu-->无需勘料、YiKanLiao-->已勘料、WeiKanLiao-->未勘料 + */ + private CheckStatus checkStatus; + + /** + * 勘料时间 + */ + private LocalDateTime checkTime; + + /** + * 勘料照片 + */ + private List checkPhoto; + + /** + * 勘料员备注 + */ + private String checkerMemo; + + /** + * 司机 Id + */ + private Long driverId; + + /** + * 司机所属客户 Id;cst_customer.id + */ + private Long driverCustomerId; + + /** + * 司机所属用户 Id + */ + private Long driverUserId; + + /** + * 归属客户 Id;cst_customer.id + */ + private Long truckCustomerId; + + /** + * 归属组织 + */ + private Long truckOrgId; + + /** + * 车辆 Id + */ + private Long truckId; + + /** + * 车牌号 + */ + private String truckLicensePlate; + + /** + * 历史皮重 + */ + private Integer historyTareWeight; + + /** + * 毛重;单位:千克 + */ + private Integer roughWeight; + + /** + * 皮重;单位:千克 + */ + private Integer tareWeight; + + /** + * 净重;单位:千克 + */ + private Integer settleWeight; + + /** + * 运距;单位:米 + */ + private Integer transDistance; + + /** + * 进场车头照片 + */ + private String inFrontPhoto; + + /** + * 进场车斗照片 + */ + private String inBodyPhoto; + + /** + * 出场车头照片 + */ + private String outFrontPhoto; + + /** + * 出场车斗照片 + */ + private String outBodyPhoto; + + /** + * 进场时间 + */ + private LocalDateTime inTime; + + /** + * 出场时间 + */ + private LocalDateTime outTime; + private List paymentRecord; + } + + @Getter + @Setter + @ToString + @Accessors(chain = true) + public static class CargoPlace { + private Long id; + + /** + * 订单 Id + */ + private Long orderId; + + /** + * 装/卸货,ZhuangHuo-->装货地址、XieHuo-->卸货地址 + */ + private String zx; + + /** + * 省;代码 + */ + private String province; + + /** + * 市;代码 + */ + private String city; + + /** + * 区县;代码 + */ + private String area; + + /** + * 乡镇街道;代码 + */ + private String town; + + /** + * 省;名称 + */ + private String provinceName; + + /** + * 市;名称 + */ + private String cityName; + + /** + * 区县;名称 + */ + private String areaName; + + /** + * 乡镇街道;名称 + */ + private String townName; + + /** + * 详细地址 + */ + private String address; + + /** + * 经度 + */ + private Double lng; + + /** + * 纬度 + */ + private Double lat; + } + + @Getter + @Setter + @ToString + @Accessors(chain = true) + public static class ProjectInfo { + private Long id; + + /** + * 项目名称 + */ + private String projectName; + + /** + * 合同图片 + */ + private String contractPicture; + + /** + * 运输方客户 Id + */ + private Long transCustomerId; + + /** + * 运输方组织 Id + */ + private Long transOrgId; + + /** + * 产废方/购买方客户 Id + */ + private Long fringeCustomerId; + + /** + * 产废方/购买方组织 Id + */ + private Long fringeOrgId; + + /** + * 省;代码 + */ + private String province; + + /** + * 市;代码 + */ + private String city; + + /** + * 区县;代码 + */ + private String area; + + /** + * 乡镇街道;代码 + */ + private String town; + + /** + * 省;名称 + */ + private String provinceName; + + /** + * 市;名称 + */ + private String cityName; + + /** + * 区县;名称 + */ + private String areaName; + + /** + * 乡镇街道;名称 + */ + private String townName; + + /** + * 详细地址 + */ + private String address; + + /** + * 经度 + */ + private Double lng; + + /** + * 纬度 + */ + private Double lat; + + /** + * 合同有效期 + */ + private LocalDate contractStartDate; + + /** + * 合同有效期 + */ + private LocalDate contractEndDate; + } +} + + diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderPaymentRecordService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderPaymentRecordService.java index be5cefe..62f2c6b 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderPaymentRecordService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderPaymentRecordService.java @@ -1,5 +1,6 @@ package com.njzscloud.dispose.cst.order.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njzscloud.common.mp.support.PageParam; @@ -7,6 +8,7 @@ import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.dispose.cst.order.mapper.OrderPaymentRecordMapper; import com.njzscloud.dispose.cst.order.pojo.entity.OrderPaymentRecordEntity; import com.njzscloud.dispose.cst.order.pojo.param.SearchOrderPaymentRecordParam; +import com.njzscloud.dispose.cst.order.pojo.result.SearchOrderPaymentRecordResult; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -66,4 +68,8 @@ public class OrderPaymentRecordService extends ServiceImpl listPaymentRecord(QueryWrapper ew) { + return baseMapper.listPaymentRecord(ew); + } } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java index 95daa12..183b813 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/cst/order/service/OrderService.java @@ -2,13 +2,21 @@ package com.njzscloud.dispose.cst.order.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.lang.Assert; +import cn.hutool.core.map.MapUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njzscloud.common.core.ex.Exceptions; +import com.njzscloud.common.core.utils.GroupUtil; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; import com.njzscloud.common.security.util.SecurityUtil; import com.njzscloud.common.sn.support.SnUtil; +import com.njzscloud.dispose.common.pojo.entity.BaseEntity; import com.njzscloud.dispose.cst.customer.constant.IdentityCategory; import com.njzscloud.dispose.cst.customer.constant.SettlementWay; import com.njzscloud.dispose.cst.customer.mapper.CustomerMapper; @@ -22,6 +30,9 @@ import com.njzscloud.dispose.cst.order.mapper.OrderTransMapper; import com.njzscloud.dispose.cst.order.pojo.entity.*; import com.njzscloud.dispose.cst.order.pojo.param.*; import com.njzscloud.dispose.cst.order.pojo.result.OrderTransResult; +import com.njzscloud.dispose.cst.order.pojo.result.SearchOrderResult; +import com.njzscloud.dispose.cst.project.pojo.entity.ProjectEntity; +import com.njzscloud.dispose.cst.project.service.ProjectService; import com.njzscloud.dispose.cst.station.mapper.StationMapper; import com.njzscloud.dispose.cst.station.pojo.entity.StationEntity; import com.njzscloud.dispose.cst.truck.mapper.TruckMapper; @@ -42,6 +53,7 @@ import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; +import java.util.Map; import java.util.Objects; import static com.njzscloud.dispose.event.SysMittEvent.PURCHASE_ORDER; @@ -68,6 +80,7 @@ public class OrderService extends ServiceImpl { private final MoneyAccountMapper moneyAccountMapper; private final StationMapper stationMapper; private final PaymentRecordHelper paymentRecordHelper; + private final ProjectService projectService; @Transactional(rollbackFor = Exception.class) public void add(CreateOrderParam param) { @@ -128,8 +141,102 @@ public class OrderService extends ServiceImpl { return this.getById(id); } - public PageResult paging(PageParam pageParam, OrderEntity orderEntity) { - return PageResult.of(this.page(pageParam.toPage(), Wrappers.query(orderEntity))); + public PageResult paging(PageParam pageParam, SearchOrderParam searchOrderParam) { + String orderType = searchOrderParam.getOrderType(); + String bizType = searchOrderParam.getBizType(); + String sn = searchOrderParam.getSn(); + String stationName = searchOrderParam.getStationName(); + String contacts = searchOrderParam.getContacts(); + String phone = searchOrderParam.getPhone(); + String transOrgName = searchOrderParam.getTransOrgName(); + String projectName = searchOrderParam.getProjectName(); + String goodsName = searchOrderParam.getGoodsName(); + String keywords = searchOrderParam.getKeywords(); + LocalDateTime orderTimeStart = searchOrderParam.getOrderTimeStart(); + LocalDateTime orderTimeEnd = searchOrderParam.getOrderTimeEnd(); + + QueryWrapper ew = Wrappers.query() + .exists("YuYue".equals(orderType), "SELECT 1 FROM cst_order_trans b WHERE b.order_id = a.id AND b.trans_status = 'DaiPaiDan'") + .exists("ShiShi".equals(orderType), "SELECT 1 FROM cst_order_trans b WHERE b.order_id = a.id AND b.trans_status IN ('YiJieDan','YunShuZhong','YiJinChang','YiChuChang')") + .exists("LiShi".equals(orderType), "SELECT 1 FROM cst_order_trans b WHERE b.order_id = a.id AND b.trans_status = 'YiWanCheng'") + .exists("QuXiao".equals(orderType), "SELECT 1 FROM cst_order_trans b WHERE b.order_id = a.id AND b.trans_status = 'YiQuXiao'") + .in("DuanBo".equals(bizType), "a.order_category", OrderCategory.DuanBoChu, OrderCategory.DuanBoRu) + .eq("HuiShou".equals(bizType), "a.order_category", OrderCategory.HuiShouYuYue) + .eq("XiaoShou".equals(bizType), "a.order_category", OrderCategory.XiaoShouYuYue) + .like(StrUtil.isNotBlank(sn), "a.sn", sn) + .like(StrUtil.isNotBlank(stationName), "a.station_name", stationName) + .like(StrUtil.isNotBlank(contacts), "a.contacts", contacts) + .like(StrUtil.isNotBlank(phone), "a.phone", phone) + .like(StrUtil.isNotBlank(transOrgName), "j.org_name", transOrgName) + .like(StrUtil.isNotBlank(projectName), "f.project_name", projectName) + .like(StrUtil.isNotBlank(goodsName), "a.goods_name", goodsName) + .ge(orderTimeStart != null, "a.order_time", orderTimeStart) + .le(orderTimeEnd != null, "a.order_time", orderTimeEnd) + .and(StrUtil.isNotBlank(keywords), it -> it + .like("a.goods_name", keywords) + .or().like("a.sn", keywords) + .or().like("a.contacts", keywords) + .or().like("a.phone", keywords) + .or().like("j.org_name", keywords) + .or().like("f.project_name", keywords) + ); + Page page = pageParam.toPage(); + page.addOrder(OrderItem.desc("a.create_time")); + IPage resultPage = baseMapper.paging(page, ew); + List results = resultPage.getRecords(); + if (results.isEmpty()) return PageResult.of(resultPage); + List orderIdList = results.stream().map(SearchOrderResult::getId).toList(); + List projectIdList = results.stream().map(SearchOrderResult::getProjectId).toList(); + List transRecodes = orderTransMapper.selectList(Wrappers.lambdaQuery(OrderTransEntity.class) + .in(OrderTransEntity::getOrderId, orderIdList) + .eq("YuYue".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.DaiPaiDan) + .in("ShiShi".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.YiJieDan, TransStatus.YunShuZhong, TransStatus.YiJinChang, TransStatus.YiChuChang) + .eq("LiShi".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.YiWanCheng) + .eq("QuXiao".equals(orderType), OrderTransEntity::getTransStatus, TransStatus.YiQuXiao) + ) + .stream() + .map(it -> BeanUtil.copyProperties(it, SearchOrderResult.TransRecode.class)) + .toList(); + Map> orderId_transRecode_map = GroupUtil.k_a(transRecodes, SearchOrderResult.TransRecode::getOrderId); + + List cargoPlaceList = orderCargoPlaceService.list(Wrappers.lambdaQuery(OrderCargoPlaceEntity.class).in(OrderCargoPlaceEntity::getOrderId, orderIdList)) + .stream() + .map(it -> BeanUtil.copyProperties(it, SearchOrderResult.CargoPlace.class)) + .toList(); + Map orderId_cargoPlace_map = GroupUtil.k_o(cargoPlaceList, SearchOrderResult.CargoPlace::getOrderId); + + Map projectId_project_map; + if (!projectIdList.isEmpty()) { + List projectInfoList = projectService.list(Wrappers.lambdaQuery(ProjectEntity.class).in(BaseEntity::getId, projectIdList)) + .stream() + .map(it -> BeanUtil.copyProperties(it, SearchOrderResult.ProjectInfo.class)) + .toList(); + projectId_project_map = GroupUtil.k_o(projectInfoList, SearchOrderResult.ProjectInfo::getId); + } else { + projectId_project_map = MapUtil.empty(); + } + + List paymentRecordResultList = orderPaymentRecordService.listPaymentRecord(Wrappers.query().in("a.order_id", orderIdList)) + .stream() + .map(it -> BeanUtil.copyProperties(it, SearchOrderResult.PaymentRecord.class)) + .toList(); + Map> transId_paymentRecord_map = GroupUtil.k_a(paymentRecordResultList, SearchOrderResult.PaymentRecord::getTransId); + + + for (SearchOrderResult result : results) { + Long orderId = result.getId(); + Long projectId = result.getProjectId(); + List transRecodeList = orderId_transRecode_map.get(orderId); + for (SearchOrderResult.TransRecode transRecode : transRecodeList) { + Long transRecodeId = transRecode.getId(); + transRecode.setPaymentRecord(transId_paymentRecord_map.get(transRecodeId)); + } + result.setTransRecodes(transRecodeList); + result.setCargoPlace(orderId_cargoPlace_map.get(orderId)); + result.setProjectInfo(projectId_project_map.get(projectId)); + } + + return PageResult.of(resultPage); } @Transactional(rollbackFor = Exception.class) diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/contant/Unit.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/contant/Unit.java deleted file mode 100644 index 1f7ce98..0000000 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/contant/Unit.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.njzscloud.dispose.goods.contant; - -import com.njzscloud.common.core.ienum.DictStr; -import lombok.Getter; -import lombok.RequiredArgsConstructor; - -/** - * 字典代码:unit - * 字典名称:吨 - * - * @author ljw - */ -@Getter -@RequiredArgsConstructor -public enum Unit implements DictStr { - - CHE("che", "车"), - - DUN("dun", "吨"); - - private final String val; - - private final String txt; -} - - diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/entity/GoodsEntity.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/entity/GoodsEntity.java index 2963206..ce6cbb5 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/entity/GoodsEntity.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/entity/GoodsEntity.java @@ -1,9 +1,7 @@ package com.njzscloud.dispose.goods.pojo.entity; import com.baomidou.mybatisplus.annotation.*; -import com.njzscloud.common.core.ienum.DictItem; -import com.njzscloud.common.core.ienum.DictKey; -import com.njzscloud.common.mp.support.handler.j.DictItemTypeHandler; +import com.njzscloud.dispose.finance.constant.Unit; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -57,9 +55,7 @@ public class GoodsEntity { /** * 计量单位;字典代码:unit */ - @DictKey("unit") - @TableField(typeHandler = DictItemTypeHandler.class) - private DictItem unit; + private Unit unit; /** * 排序 diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/AddGoodsParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/AddGoodsParam.java index 197d7d5..8319d20 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/AddGoodsParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/AddGoodsParam.java @@ -1,12 +1,8 @@ package com.njzscloud.dispose.goods.pojo.param; -import com.njzscloud.common.core.ienum.DictItem; -import com.njzscloud.common.core.ienum.DictKey; import com.njzscloud.dispose.finance.constant.ExpenseItemCategory; import com.njzscloud.dispose.finance.constant.ExpenseStrategy; -import com.njzscloud.dispose.finance.constant.Payer; import com.njzscloud.dispose.finance.constant.Unit; -import com.njzscloud.dispose.finance.pojo.entity.ScopeStrategyConfig; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -30,11 +26,6 @@ public class AddGoodsParam { */ private Long goodsCategoryId; - /** - * 商品编码 - */ - private String sn; - /** * 产品名称 */ @@ -53,8 +44,7 @@ public class AddGoodsParam { /** * 计量单位;字典代码:unit */ - @DictKey("unit") - private DictItem unit; + private Unit unit; /** * 排序 @@ -102,11 +92,6 @@ public class AddGoodsParam { */ private BigDecimal taxRate; - /** - * 付费方;字典代码:payer - */ - private Payer payer; - /** * 单价;单位:元,弹性模式-->每档价格 */ @@ -127,29 +112,10 @@ public class AddGoodsParam { */ private Integer everyQuantity; - /** - * 适用用户;结构类型:{strategy: Wu | ZhiDing | SuoYou,ids:long[]} - */ - private ScopeStrategyConfig userScope; - - /** - * 适用站点;结构类型:{strategy: Wu | ZhiDing | SuoYou,ids:long[]} - */ - private ScopeStrategyConfig stationScope; - - /** - * 适用产品;结构类型:{strategy: Wu | ZhiDing | SuoYou,ids:long[]} - */ - private ScopeStrategyConfig goodsScope; - /** * 备注 */ private String memo; - /** - * 产品 Id - */ - private Long goodsId; } } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/ModifyGoodsParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/ModifyGoodsParam.java index 3f15dfe..1755770 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/ModifyGoodsParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/ModifyGoodsParam.java @@ -2,9 +2,7 @@ package com.njzscloud.dispose.goods.pojo.param; import com.njzscloud.dispose.finance.constant.ExpenseItemCategory; import com.njzscloud.dispose.finance.constant.ExpenseStrategy; -import com.njzscloud.dispose.finance.constant.Payer; import com.njzscloud.dispose.finance.constant.Unit; -import com.njzscloud.dispose.finance.pojo.entity.ScopeStrategyConfig; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -108,11 +106,6 @@ public class ModifyGoodsParam { */ private BigDecimal taxRate; - /** - * 付费方;字典代码:payer - */ - private Payer payer; - /** * 单价;单位:元,弹性模式-->每档价格 */ @@ -132,22 +125,6 @@ public class ModifyGoodsParam { * 每档的量 */ private Integer everyQuantity; - - /** - * 适用用户;结构类型:{strategy: Wu | ZhiDing | SuoYou,ids:long[]} - */ - private ScopeStrategyConfig userScope; - - /** - * 适用站点;结构类型:{strategy: Wu | ZhiDing | SuoYou,ids:long[]} - */ - private ScopeStrategyConfig stationScope; - - /** - * 适用产品;结构类型:{strategy: Wu | ZhiDing | SuoYou,ids:long[]} - */ - private ScopeStrategyConfig goodsScope; - /** * 备注 */ diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/SearchGoodsCategoryParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/SearchGoodsCategoryParam.java index ce7fb3e..3db0b3a 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/SearchGoodsCategoryParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/SearchGoodsCategoryParam.java @@ -23,6 +23,7 @@ public class SearchGoodsCategoryParam { * 业务类型;字典代码:biz_type */ private BizType bizType; + private String keywords; /** * 分类名称 diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/SearchGoodsParam.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/SearchGoodsParam.java index d250b05..39a5a39 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/SearchGoodsParam.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/pojo/param/SearchGoodsParam.java @@ -1,5 +1,6 @@ package com.njzscloud.dispose.goods.pojo.param; +import com.njzscloud.dispose.goods.contant.BizType; import lombok.Getter; import lombok.Setter; import lombok.ToString; @@ -20,6 +21,7 @@ public class SearchGoodsParam { * 产品类型 Id */ private Long goodsCategoryId; + private BizType bizType; /** * 商品编码 @@ -30,6 +32,7 @@ public class SearchGoodsParam { * 产品名称 */ private String goodsName; + private String keywords; /** * 规格 diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/service/GoodsCategoryService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/service/GoodsCategoryService.java index 4f144d1..9896444 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/service/GoodsCategoryService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/service/GoodsCategoryService.java @@ -1,10 +1,10 @@ package com.njzscloud.dispose.goods.service; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.google.common.base.Strings; import com.njzscloud.common.core.ex.Exceptions; import com.njzscloud.common.mp.support.PageParam; import com.njzscloud.common.mp.support.PageResult; @@ -35,13 +35,13 @@ public class GoodsCategoryService extends ServiceImpl Exceptions.clierr("业务类型不能为空")); + if (bizType == BizType.HuiShouPin) { + String sn = goodsCategoryEntity.getSn(); + Assert.notBlank(sn, () -> Exceptions.clierr("国标码不能为空")); } else { - goodsCategoryEntity.setSn(this.generateSn()); + goodsCategoryEntity.setSn(SnUtil.next("GC-SN")); } this.save(goodsCategoryEntity); } @@ -76,29 +76,19 @@ public class GoodsCategoryService extends ServiceImpl page = this.page(pageParam.toPage(), Wrappers.lambdaQuery(GoodsCategoryEntity.class) .like(StrUtil.isNotBlank(categoryName), GoodsCategoryEntity::getCategoryName, categoryName) .eq(bizType != null, GoodsCategoryEntity::getBizType, bizType) .ge(createTimeStart != null, GoodsCategoryEntity::getCreateTime, createTimeStart) .le(createTimeEnd != null, GoodsCategoryEntity::getCreateTime, createTimeEnd) + .and(StrUtil.isNotBlank(keywords), it -> it.like(GoodsCategoryEntity::getCategoryName, keywords) + .or().like(GoodsCategoryEntity::getSn, keywords) + ) ); return PageResult.of(page); } - - /** - * 生成分类码 - * - * @return sn 分类码 - */ - public String generateSn() { - String sn = SnUtil.next("GC-SN"); - if (this.exists(Wrappers.lambdaQuery().eq(GoodsCategoryEntity::getSn, sn) - .eq(GoodsCategoryEntity::getDeleted, Boolean.FALSE))) { - this.generateSn(); - } - return sn; - } } diff --git a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/service/GoodsService.java b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/service/GoodsService.java index ad6c2d0..2bdb7b5 100644 --- a/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/service/GoodsService.java +++ b/njzscloud-svr/src/main/java/com/njzscloud/dispose/goods/service/GoodsService.java @@ -12,6 +12,7 @@ import com.njzscloud.dispose.finance.pojo.entity.ExpenseItemEntity; import com.njzscloud.dispose.finance.pojo.param.AddExpenseItemParam; import com.njzscloud.dispose.finance.pojo.param.ModifyExpenseItemParam; import com.njzscloud.dispose.finance.service.ExpenseItemService; +import com.njzscloud.dispose.goods.contant.BizType; import com.njzscloud.dispose.goods.mapper.GoodsMapper; import com.njzscloud.dispose.goods.pojo.entity.GoodsEntity; import com.njzscloud.dispose.goods.pojo.param.AddGoodsParam; @@ -42,9 +43,8 @@ public class GoodsService extends ServiceImpl { */ @Transactional(rollbackFor = Exception.class) public void add(AddGoodsParam addGoodsParam) { - String sn = SnUtil.next("Goods-SN"); - addGoodsParam.setSn(sn); - GoodsEntity goodsEntity = BeanUtil.copyProperties(addGoodsParam, GoodsEntity.class); + GoodsEntity goodsEntity = BeanUtil.copyProperties(addGoodsParam, GoodsEntity.class) + .setSn(SnUtil.next("Goods-SN")); this.save(goodsEntity); // 付费项 AddGoodsParam.ExpenseItem expenseItem = addGoodsParam.getExpenseItem(); @@ -100,13 +100,24 @@ public class GoodsService extends ServiceImpl { * 分页查询 */ public PageResult paging(PageParam pageParam, SearchGoodsParam goodsParam) { + String keywords = goodsParam.getKeywords(); + BizType bizType = goodsParam.getBizType(); + Long goodsCategoryId = goodsParam.getGoodsCategoryId(); + String sn = goodsParam.getSn(); + String goodsName = goodsParam.getGoodsName(); + String specParams = goodsParam.getSpecParams(); + Boolean canuse = goodsParam.getCanuse(); return PageResult.of(baseMapper.paging(pageParam.toPage(), Wrappers.query() .eq("a.deleted", Boolean.FALSE) - .eq(goodsParam.getGoodsCategoryId() != null, "a.goods_category_id", goodsParam.getGoodsCategoryId()) - .like(StrUtil.isNotBlank(goodsParam.getSn()), "a.sn", goodsParam.getSn()) - .like(StrUtil.isNotBlank(goodsParam.getGoodsName()), "a.goods_name", goodsParam.getGoodsName()) - .like(StrUtil.isNotBlank(goodsParam.getSpecParams()), "a.spec_params", goodsParam.getSpecParams()) - .eq(goodsParam.getCanuse() != null, "a.canuse", goodsParam.getCanuse()) + .eq(bizType != null, "b.biz_type", bizType) + .eq(goodsCategoryId != null, "a.goods_category_id", goodsCategoryId) + .like(StrUtil.isNotBlank(sn), "a.sn", sn) + .like(StrUtil.isNotBlank(goodsName), "a.goods_name", goodsName) + .like(StrUtil.isNotBlank(specParams), "a.spec_params", specParams) + .eq(canuse != null, "a.canuse", canuse) + .and(StrUtil.isNotBlank(keywords), it -> it.like("a.sn", keywords) + .or().like("a.goods_name", keywords) + ) )); } diff --git a/njzscloud-svr/src/main/resources/mapper/cst/order/OrderMapper.xml b/njzscloud-svr/src/main/resources/mapper/cst/order/OrderMapper.xml new file mode 100644 index 0000000..afde887 --- /dev/null +++ b/njzscloud-svr/src/main/resources/mapper/cst/order/OrderMapper.xml @@ -0,0 +1,40 @@ + + + + + + + + diff --git a/njzscloud-svr/src/main/resources/mapper/cst/order/OrderPaymentRecordMapper.xml b/njzscloud-svr/src/main/resources/mapper/cst/order/OrderPaymentRecordMapper.xml new file mode 100644 index 0000000..e5a49b7 --- /dev/null +++ b/njzscloud-svr/src/main/resources/mapper/cst/order/OrderPaymentRecordMapper.xml @@ -0,0 +1,41 @@ + + + + + + + +