diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java index 742a76838..867756f08 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderStatusEnum.java @@ -9,6 +9,7 @@ import java.util.List; /** * 订单状态 + * 外卖状态 100(待接单(外卖))->110(配送中(外卖))-> 200(已核销(已完成)) */ @AllArgsConstructor @Getter @@ -18,8 +19,12 @@ public enum HardOrderStatusEnum { PAY("5", "已经支付"), OFFLINE_PAY("6", "没有网络本地支付"), REFUND("10", "退款"), - CANCEL("20", "已核销"), + CANCEL("20", "已核销(已完成)"), UNFOLLOW("30", "已取消(智能柜)"), + + TAKE_OUT_AWAIT("100", "待接单(外卖)"), + TAKE_OUT_ING("110", "配送中(外卖)"), + ; private final String type; private final String description; diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/remote/HardUpdateTakeOutStatusDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/remote/HardUpdateTakeOutStatusDto.java new file mode 100644 index 000000000..49abe0e2d --- /dev/null +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/order/remote/HardUpdateTakeOutStatusDto.java @@ -0,0 +1,24 @@ +package com.bsd.pjcloud.hard.api.dto.order.remote; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class HardUpdateTakeOutStatusDto { + + @NotNull(message = "订单id不能为空") + private Long orderId; + + @NotNull(message = "订单id不能为空") + private HardUpdateTakeOutStatusDto.TakeOutStatus status; + + public enum TakeOutStatus { + // 配送中 + TAKE_OUT_ING, + // 已完成 + DONE, + // 退款 + REFUND, CANCEL, + } + +} diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardOrderService.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardOrderService.java index b69f95feb..6f1ff8282 100644 --- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardOrderService.java +++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/feign/RemoteHardOrderService.java @@ -5,6 +5,7 @@ import com.bsd.pjcloud.common.core.constant.ServiceNameConstants; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.feign.annotation.NoToken; import com.bsd.pjcloud.hard.api.dto.order.HardOrderPreferencesDto; +import com.bsd.pjcloud.hard.api.dto.order.remote.HardUpdateTakeOutStatusDto; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; @@ -27,4 +28,8 @@ public interface RemoteHardOrderService { @NoToken @GetMapping("/hard-order/mch-count-by-id") R getMchCountById(@RequestParam Long id); + + @NoToken + @PostMapping("/hard-order/update-take-out-status") + R updateTakeOutStatus(@RequestBody HardUpdateTakeOutStatusDto dto); } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java index b2549385f..8cafc4016 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/order/HardOrderController.java @@ -37,6 +37,7 @@ import com.bsd.pjcloud.hard.api.dto.order.act.HardCreateActOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateFarmerOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateTakeOutOrderDto; +import com.bsd.pjcloud.hard.api.dto.order.remote.HardUpdateTakeOutStatusDto; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; import com.bsd.pjcloud.hard.api.vo.order.HardOrderVo; import com.bsd.pjcloud.hard.api.vo.order.excel.HardOrderExcelVo; @@ -92,7 +93,7 @@ public class HardOrderController { /* ************************************* start 远程调用 start ************************************* */ @Inner - @Operation(summary = "app查询订单列表", description = "app查询订单列表") + @Operation(summary = "查询订单列表", description = "查询订单列表") @GetMapping("/get-by-ids") public R> getByIds(@RequestParam List ids) { HardOrderDto dto = new HardOrderDto(); @@ -101,7 +102,7 @@ public class HardOrderController { } @Inner - @Operation(summary = "app查询订单列表", description = "app查询订单列表") + @Operation(summary = "查询订单", description = "查询订单") @GetMapping("/mch-count-by-id") public R getMchCountById(@RequestParam Long id) { LambdaQueryWrapper query = new LambdaQueryWrapper().eq(HardOrderEntity::getMerchantId, id); @@ -109,6 +110,13 @@ public class HardOrderController { if (ObjectUtil.isEmpty(count)) count = 0L; return R.ok(count); } + + @Inner + @Operation(summary = "更改外卖订单状态", description = "更改外卖订单状态") + @PostMapping("/update-take-out-status") + public R updateTakeOutStatus(@RequestBody HardUpdateTakeOutStatusDto dto) { + return R.ok(hardwareOrderService.updateTakeOutStatus(dto)); + } /* ************************************* end 远程调用 ************************************* */ /* ************************************* start app start ************************************* */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java index e6e3ffe15..40dfa628b 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java @@ -18,6 +18,7 @@ import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; import com.bsd.pjcloud.hard.api.dto.order.act.HardCreateActOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateFarmerOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateOrderDto; +import com.bsd.pjcloud.hard.api.dto.order.remote.HardUpdateTakeOutStatusDto; import com.bsd.pjcloud.hard.api.dto.order.xfj.HardXfjFastCreateOrderDto; import com.bsd.pjcloud.hard.api.entity.order.HardCarEntity; import com.bsd.pjcloud.hard.api.entity.order.HardOrderEntity; @@ -74,6 +75,11 @@ public interface HardOrderService extends IService { */ Long appCreateTakeOutOrder(HardAppCreateOrderDto createOrderDto); + /** + * 更改外卖订单状态 + */ + Boolean updateTakeOutStatus(HardUpdateTakeOutStatusDto dto); + /** * app创建线上超市预定订单 */ diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java index f14e7a0c8..9741225d0 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/order/HardOrderServiceImpl.java @@ -48,6 +48,7 @@ import com.bsd.pjcloud.hard.api.dto.order.HardOrderDto; import com.bsd.pjcloud.hard.api.dto.order.act.HardCreateActOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateFarmerOrderDto; import com.bsd.pjcloud.hard.api.dto.order.app.HardAppCreateOrderDto; +import com.bsd.pjcloud.hard.api.dto.order.remote.HardUpdateTakeOutStatusDto; import com.bsd.pjcloud.hard.api.dto.order.xfj.HardXfjFastCreateOrderDto; import com.bsd.pjcloud.hard.api.dto.spu.DeductionSpuStockDto; import com.bsd.pjcloud.hard.api.dto.wechat.WechantReverseDto; @@ -638,7 +639,7 @@ public class HardOrderServiceImpl extends ServiceImpl