Commit 5e65512a9272984c1666bdc6c097e52caaf3444e

Authored by owen
1 parent b89ae001

交易:订单核销

yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/TradeOrderController.java
... ... @@ -56,7 +56,7 @@ public class TradeOrderController {
56 56 }
57 57  
58 58 // 查询用户信息
59   - Map<Long, MemberUserRespDTO> userMap = memberUserApi.getUserMap(convertSet(pageResult.getList(), TradeOrderDO::getUserId));;
  59 + Map<Long, MemberUserRespDTO> userMap = memberUserApi.getUserMap(convertSet(pageResult.getList(), TradeOrderDO::getUserId));
60 60 // 查询订单项
61 61 List<TradeOrderItemDO> orderItems = tradeOrderQueryService.getOrderItemListByOrderId(
62 62 convertSet(pageResult.getList(), TradeOrderDO::getId));
... ... @@ -126,18 +126,31 @@ public class TradeOrderController {
126 126 return success(true);
127 127 }
128 128  
129   - // TODO @疯狂:1、在【订单列表】界面,增加一个【核销按钮】。点击后,弹窗出一个核销码输入的窗口。
130   - //
131   - //2、输入核销码后,点击确认,基于 code 查询对应的订单,之后弹窗展示。
132   - //
133   - //3、新的弹窗,下面有个【确认核销】按钮。确认后,进行订单核销逻辑。注意,只有门店自提的订单,才可以核销。
134   - // TODO 这里的 id 应该是 pickUpVerifyCode 参数哈;
135   - @PutMapping("/pick-up")
  129 + @PutMapping("/pick-up-by-id")
136 130 @Operation(summary = "订单核销")
  131 + @Parameter(name = "id", description = "交易订单编号")
137 132 @PreAuthorize("@ss.hasPermission('trade:order:pick-up')")
138   - public CommonResult<Boolean> pickUpOrder(@RequestParam("id") Long id) {
  133 + public CommonResult<Boolean> pickUpOrderById(@RequestParam("id") Long id) {
139 134 tradeOrderUpdateService.pickUpOrderByMember(id);
140 135 return success(true);
141 136 }
142 137  
  138 + @PutMapping("/pick-up-by-verify-code")
  139 + @Operation(summary = "订单核销")
  140 + @Parameter(name = "pickUpVerifyCode", description = "自提核销码")
  141 + @PreAuthorize("@ss.hasPermission('trade:order:pick-up')")
  142 + public CommonResult<Boolean> pickUpOrderByVerifyCode(@RequestParam("pickUpVerifyCode") String pickUpVerifyCode) {
  143 + tradeOrderUpdateService.pickUpOrderByAdmin(pickUpVerifyCode);
  144 + return success(true);
  145 + }
  146 +
  147 + @GetMapping("/get-by-pick-up-verify-code")
  148 + @Operation(summary = "查询核销码对应的订单")
  149 + @Parameter(name = "pickUpVerifyCode", description = "自提核销码")
  150 + @PreAuthorize("@ss.hasPermission('trade:order:query')")
  151 + public CommonResult<TradeOrderDetailRespVO> getByPickUpVerifyCode(@RequestParam("pickUpVerifyCode") String pickUpVerifyCode) {
  152 + TradeOrderDO tradeOrder = tradeOrderUpdateService.getByPickUpVerifyCode(pickUpVerifyCode);
  153 + return success(TradeOrderConvert.INSTANCE.convert2(tradeOrder, null));
  154 + }
  155 +
143 156 }
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/admin/order/vo/TradeOrderBaseVO.java
... ... @@ -93,6 +93,9 @@ public class TradeOrderBaseVO {
93 93 @Schema(description = "自提门店", example = "10")
94 94 private Long pickUpStoreId;
95 95  
  96 + @Schema(description = "自提核销码", example = "10")
  97 + private Long pickUpVerifyCode;
  98 +
96 99 @Schema(description = "配送模板编号", example = "1024")
97 100 private Long deliveryTemplateId;
98 101  
... ... @@ -102,9 +105,6 @@ public class TradeOrderBaseVO {
102 105 @Schema(description = "发货物流单号", example = "1024")
103 106 private String logisticsNo;
104 107  
105   - @Schema(description = "发货状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
106   - private Integer deliveryStatus;
107   -
108 108 @Schema(description = "发货时间")
109 109 private LocalDateTime deliveryTime;
110 110  
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateService.java
... ... @@ -131,6 +131,13 @@ public interface TradeOrderUpdateService {
131 131 */
132 132 void pickUpOrderByAdmin(String pickUpVerifyCode);
133 133  
  134 + /**
  135 + * 【管理员】根据自提核销码,查询订单
  136 + *
  137 + * @param pickUpVerifyCode 自提核销码
  138 + */
  139 + TradeOrderDO getByPickUpVerifyCode(String pickUpVerifyCode);
  140 +
134 141 // =================== Order Item ===================
135 142  
136 143 /**
... ...
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/service/order/TradeOrderUpdateServiceImpl.java
... ... @@ -680,6 +680,11 @@ public class TradeOrderUpdateServiceImpl implements TradeOrderUpdateService {
680 680 getSelf().pickUpOrder(tradeOrderMapper.selectOneByPickUpVerifyCode(pickUpVerifyCode));
681 681 }
682 682  
  683 + @Override
  684 + public TradeOrderDO getByPickUpVerifyCode(String pickUpVerifyCode) {
  685 + return tradeOrderMapper.selectOneByPickUpVerifyCode(pickUpVerifyCode);
  686 + }
  687 +
683 688 @Transactional(rollbackFor = Exception.class)
684 689 public void pickUpOrder(TradeOrderDO order) {
685 690 if (order == null) {
... ...