From a9bf6204f191097a9076126cd5eb802a36f52492 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=97=AD?= <2795210596@qq.com> Date: Sun, 20 Apr 2025 19:58:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=B1=95=E7=A4=BA=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/CueOrderController.java | 5 +- .../manager/CreateOrderManager.java | 7 +- .../cuerecycle/mapper/CueOrderMapper.java | 3 +- .../cuerecycle/model/vo/AdminCueOrderVO.java | 133 ++++++++++++++++++ .../cloud/cuerecycle/model/vo/CueOrderVO.java | 4 +- .../cuerecycle/service/CueOrderService.java | 3 +- .../service/impl/CueOrderServiceImpl.java | 3 +- .../main/resources/mapper/CueOrderMapper.xml | 45 ++++-- 8 files changed, 184 insertions(+), 19 deletions(-) create mode 100644 tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/AdminCueOrderVO.java diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueOrderController.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueOrderController.java index 65eaf53..fdbd4b7 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueOrderController.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/controller/admin/CueOrderController.java @@ -8,6 +8,7 @@ import com.tmerclub.cloud.cuerecycle.mapper.CueOrderFlawMapper; import com.tmerclub.cloud.cuerecycle.model.dto.CueOrderDTO; import com.tmerclub.cloud.cuerecycle.model.dto.CueOrderFlawDTO; import com.tmerclub.cloud.cuerecycle.model.dto.CueRetractedDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.AdminCueOrderVO; import com.tmerclub.cloud.cuerecycle.model.vo.CueOrderFlawVO; import com.tmerclub.cloud.cuerecycle.model.vo.CueOrderVO; import com.tmerclub.cloud.cuerecycle.service.CueOrderService; @@ -45,8 +46,8 @@ public class CueOrderController { */ @GetMapping("/page") @Operation(summary = "查询回收订单分页列表", description = "查询回收订单分页列表") - public ServerResponseEntity> page(@Valid PageDTO pageDTO, CueOrderDTO cueOrderDTO) { - PageVO cueOrderPage = cueOrderService.page(pageDTO, cueOrderDTO); + public ServerResponseEntity> page(@Valid PageDTO pageDTO, CueOrderDTO cueOrderDTO) { + PageVO cueOrderPage = cueOrderService.page(pageDTO, cueOrderDTO); return ServerResponseEntity.success(cueOrderPage); } diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/manager/CreateOrderManager.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/manager/CreateOrderManager.java index 79cd41c..401b294 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/manager/CreateOrderManager.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/manager/CreateOrderManager.java @@ -1,6 +1,7 @@ package com.tmerclub.cloud.cuerecycle.manager; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.tmerclub.cloud.api.coupon.feign.CouponFeignClient; @@ -132,12 +133,14 @@ public class CreateOrderManager { if (!Objects.equals(cueOrderVO.getOrderStatus(), OrderStatus.CUE_EVALUATION_SUCCESS.value())) { throw new LuckException("状态已变更,请检查!"); } + DateTime date = DateUtil.date(); CueOrder cueOrder = new CueOrder(); cueOrder.setOrderId(cueAgreeOrderDTO.getOrderId()); cueOrder.setCueOrderType(cueAgreeOrderDTO.getCueOrderType()); cueOrder.setOrderStatus(OrderStatus.CUE_EVALUATION_SUCCESS_PAY.value()); - cueOrder.setUpdateTime(DateUtil.date()); - cueOrder.setFinallyTime(DateUtil.date()); + cueOrder.setUpdateTime(date); + cueOrder.setFinallyTime(date); + cueOrder.setPayTime(date); cueOrder.setIsPayed(1); // 根据回收类型进行不同操作 switch (cueAgreeOrderDTO.getCueOrderType()) { diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueOrderMapper.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueOrderMapper.java index fc77d3d..61811fb 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueOrderMapper.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/mapper/CueOrderMapper.java @@ -1,6 +1,7 @@ package com.tmerclub.cloud.cuerecycle.mapper; import com.tmerclub.cloud.cuerecycle.model.dto.CueOrderDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.AdminCueOrderVO; import com.tmerclub.cloud.cuerecycle.model.vo.AppCueOrderVO; import com.tmerclub.cloud.cuerecycle.model.vo.CueOrderVO; import com.tmerclub.cloud.cuerecycle.model.CueOrder; @@ -22,7 +23,7 @@ public interface CueOrderMapper{ * @param cueOrderDTO 查询参数 * @return 回收订单列表数据 */ - List list(@Param("dto") CueOrderDTO cueOrderDTO); + List list(@Param("dto") CueOrderDTO cueOrderDTO); /** * 获取回收订单详情 diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/AdminCueOrderVO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/AdminCueOrderVO.java new file mode 100644 index 0000000..bf94443 --- /dev/null +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/AdminCueOrderVO.java @@ -0,0 +1,133 @@ +package com.tmerclub.cloud.cuerecycle.model.vo; + +import com.tmerclub.cloud.common.vo.BaseVO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 回收订单视图对象 + * + * @author : frank + * @create : 2025-04-15 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class AdminCueOrderVO extends BaseVO implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @Schema(description = "主键ID") + private Long orderId; + /** + * 商品名称 + */ + @Schema(description = "商品名称") + private String productName; + /** + * 品牌名称 + */ + @Schema(description = "品牌名称") + private String brandName; + /** + * 系列名称 + */ + @Schema(description = "系列名称") + private String seriesName; + /** + * 类型名称 + */ + @Schema(description = "类型名称") + private String typeName; + /** + * 商品图片 + */ + @Schema(description = "商品图片") + private String productImages; + /** + * 用户姓名 + */ + @Schema(description = "用户姓名") + private String userName; + /** + * 用户联系方式 + */ + @Schema(description = "用户联系方式") + private String userPhone; + /** + * 类型:1-回收,2-置换,3-寄售 + */ + @Schema(description = "类型:1-回收,2-置换,3-寄售") + private Integer cueOrderType; + /** + * 订单状态 + */ + @Schema(description = "订单状态") + private Integer orderStatus; + /** + * 预计金额 + */ + @Schema(description = "预计金额") + private Long estimatedAmount; + /** + * 评估金额 + */ + @Schema(description = "评估金额") + private Long actualAmount; + /** + * 代金卷金额 + */ + @Schema(description = "代金卷金额") + private Long voucherAmount; + /** + * 寄售佣金 + */ + private Long brokerage; + /** + * 服务费 + */ + private Long serviceCharge; + /** + * 是否已支付,1.已支付0.未支付 + */ + @Schema(description = "是否已支付,1.已支付0.未支付") + private Integer isPayed; + /** + * 支付方式:1-余额,2-代金卷 + */ + @Schema(description = "支付方式:1-余额,2-代金卷") + private Integer payType; + /** + * 付款时间 + */ + @Schema(description = "付款时间") + private Date payTime; + /** + * 发货时间 + */ + @Schema(description = "发货时间") + private Date deliveryTime; + /** + * 完成时间 + */ + @Schema(description = "完成时间") + private Date finallyTime; + /** + * 寄出单号 + */ + @Schema(description = "收货物流单号") + private String sendNumber; + /** + * 退货物流单号 + */ + @Schema(description = "退货物流单号") + private String backTrackingNumber; +} \ No newline at end of file diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueOrderVO.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueOrderVO.java index 6c94b3b..3950d54 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueOrderVO.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/model/vo/CueOrderVO.java @@ -68,9 +68,9 @@ public class CueOrderVO extends BaseVO implements Serializable { @Schema(description = "类型:1-回收,2-置换,3-寄售") private Integer cueOrderType; /** - * 状态:0-待审核,1-审核通过(待发货),2-审核拒绝,3-待收货(已发货),4-已收货(评估中),5-评估失败(退回),6-评估成功(给出价格),7-价格不满意(退回),8-价格满意(结束),9-价格不满意(已退回) + * 订单状态 */ - @Schema(description = "0-待审核,1-审核通过(待发货),2-审核拒绝,3-待收货(已发货),4-已收货(评估中),5-评估失败(退回),6-评估成功(给出价格),7-价格不满意(退回),8-价格满意(结束),9-价格不满意(已退回)") + @Schema(description = "订单状态") private Integer orderStatus; /** * 瑕疵图片,逗号隔开 diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueOrderService.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueOrderService.java index dd5f2fb..fc366b0 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueOrderService.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/CueOrderService.java @@ -4,6 +4,7 @@ import com.tmerclub.cloud.common.database.dto.PageDTO; import com.tmerclub.cloud.common.database.vo.PageVO; import com.tmerclub.cloud.cuerecycle.model.dto.CueOrderDTO; import com.tmerclub.cloud.cuerecycle.model.dto.CueSaveMailingDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.AdminCueOrderVO; import com.tmerclub.cloud.cuerecycle.model.vo.AppCueOrderVO; import com.tmerclub.cloud.cuerecycle.model.vo.CueOrderVO; @@ -22,7 +23,7 @@ public interface CueOrderService { * @param cueOrderDTO 查询参数 * @return 分页数据 */ - PageVO page(PageDTO pageDTO, CueOrderDTO cueOrderDTO); + PageVO page(PageDTO pageDTO, CueOrderDTO cueOrderDTO); /** * 获取回收订单详情 diff --git a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueOrderServiceImpl.java b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueOrderServiceImpl.java index 008eaac..62bbdda 100644 --- a/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueOrderServiceImpl.java +++ b/tmerclub-local/src/main/java/com/tmerclub/cloud/cuerecycle/service/impl/CueOrderServiceImpl.java @@ -17,6 +17,7 @@ import com.tmerclub.cloud.cuerecycle.mapper.CueOrderMapper; import com.tmerclub.cloud.cuerecycle.model.CueOrder; import com.tmerclub.cloud.cuerecycle.model.dto.CueOrderDTO; import com.tmerclub.cloud.cuerecycle.model.dto.CueSaveMailingDTO; +import com.tmerclub.cloud.cuerecycle.model.vo.AdminCueOrderVO; import com.tmerclub.cloud.cuerecycle.model.vo.AppCueOrderVO; import com.tmerclub.cloud.cuerecycle.model.vo.CueOrderVO; import com.tmerclub.cloud.cuerecycle.service.CueOrderService; @@ -49,7 +50,7 @@ public class CueOrderServiceImpl implements CueOrderService { private RocketMQTemplate sendNotifyToUserTemplate; @Override - public PageVO page(PageDTO pageDTO, CueOrderDTO cueOrderDTO) { + public PageVO page(PageDTO pageDTO, CueOrderDTO cueOrderDTO) { return PageUtil.doPage(pageDTO, () -> cueOrderMapper.list(cueOrderDTO)); } diff --git a/tmerclub-local/src/main/resources/mapper/CueOrderMapper.xml b/tmerclub-local/src/main/resources/mapper/CueOrderMapper.xml index eafbd0b..fa21d91 100644 --- a/tmerclub-local/src/main/resources/mapper/CueOrderMapper.xml +++ b/tmerclub-local/src/main/resources/mapper/CueOrderMapper.xml @@ -41,34 +41,59 @@ create_time,update_time,is_payed,pay_type,pay_time,delivery_time,finally_time,mall_order_id,send_number,order_addr_id,warehouse_id,shop_id - SELECT - + co.order_id, + co.product_name, + co.product_images, + co.user_name, + co.user_phone, + co.cue_order_type, + co.order_status, + co.estimated_amount, + co.actual_amount, + co.voucher_amount, + co.brokerage, + co.service_charge, + co.is_payed, + co.pay_type, + co.pay_time, + co.delivery_time, + co.finally_time, + co.send_number, + co.back_tracking_number, + cb.brand_name, + cs.series_name, + ct.type_name FROM - cue_order + `cue_order` AS co + LEFT JOIN cue_product AS cp ON co.product_id = cp.product_id + LEFT JOIN cue_type AS ct ON cp.type_id = ct.type_id + LEFT JOIN cue_brand AS cb ON cp.brand_id = cb.brand_id + LEFT JOIN cue_series AS cs ON cp.series_id = cs.series_id deleted = 0 - AND user_name LIKE CONCAT('%', #{dto.userName}, '%') + AND co.user_name LIKE CONCAT('%', #{dto.userName}, '%') - AND user_phone LIKE CONCAT('%', #{dto.userPhone}, '%') + AND co.user_phone LIKE CONCAT('%', #{dto.userPhone}, '%') - AND cue_order_type = #{dto.cueOrderType} + AND co.cue_order_type = #{dto.cueOrderType} - AND order_status = #{dto.orderStatus} + AND co.order_status = #{dto.orderStatus} - AND is_payed = #{dto.isPayed} + AND co.is_payed = #{dto.isPayed} - AND pay_type = #{dto.payType} + AND co.pay_type = #{dto.payType} ORDER BY - order_id DESC + co.order_id DESC