diff --git a/src/main/java/org/springblade/common/enums/ErrorMsgEnum.java b/src/main/java/org/springblade/common/enums/ErrorMsgEnum.java index 6b4d6ea..3d41a16 100644 --- a/src/main/java/org/springblade/common/enums/ErrorMsgEnum.java +++ b/src/main/java/org/springblade/common/enums/ErrorMsgEnum.java @@ -14,6 +14,7 @@ public enum ErrorMsgEnum { ERROR_MSG_ORDER_SAVE_FAILED(1000, "新建订单失败."), ERROR_MSG_ORDER_HAS_UNPAID(1001, "您当前有未付款的清单, 请支付."), ERROR_MSG_ORDER_ADDRESS_CANNOT_EDIT(1002, "只允许未付款和未发货状态的订单进行地址修改."), + ERROR_MSG_ORDER_NOT_EXIST(1003, "订单不存在."), ; final Integer code; diff --git a/src/main/java/org/springblade/modules/desk/controller/OrderController.java b/src/main/java/org/springblade/modules/desk/controller/OrderController.java index 0105825..cc5dc74 100644 --- a/src/main/java/org/springblade/modules/desk/controller/OrderController.java +++ b/src/main/java/org/springblade/modules/desk/controller/OrderController.java @@ -135,12 +135,18 @@ public class OrderController { // 设置默认地址 WeChatAddress address = AddressCache.getAddress(info.getBuyerPhone()); if (Func.isNotEmpty(address)) { - String addr = ""; - addr += Func.isNotEmpty(address.getProvince()) ? address.getProvince() : ""; - addr += Func.isNotEmpty(address.getCity()) ? address.getCity() : ""; - addr += Func.isNotEmpty(address.getArea()) ? address.getArea() : ""; - addr += Func.isNotEmpty(address.getAddress()) ? address.getAddress() : ""; - info.setAddress(addr); + if (Func.isNotEmpty(address.getProvince())) { + info.setProvince(address.getProvince()); + } + if (Func.isNotEmpty(address.getCity())) { + info.setCity(address.getCity()); + } + if (Func.isNotEmpty(address.getArea())) { + info.setDistrict(address.getArea()); + } + if (Func.isNotEmpty(address.getAddress())) { + info.setAddress(address.getAddress()); + } info.setConsignee(address.getConsignee()); info.setConsigneePhone(address.getPhone()); } @@ -161,16 +167,31 @@ public class OrderController { * @param address 收货地址 */ @PostMapping("/updateAddress") - public R updateAddress(@RequestParam String id, @RequestParam String consignee, @RequestParam String consigneePhone, @RequestParam String address) { + public R updateAddress(@RequestParam String id, + @RequestParam String consignee, + @RequestParam String consigneePhone, + @RequestParam int isDefaultAddress, + @RequestParam String province, + @RequestParam String city, + @RequestParam String district, + @RequestParam String address) { // 只允许修改待发货之前的状态 Order orderCheck = orderService.getById(id); + if (Func.isEmpty(orderCheck)) { + return R.fail(ErrorMsgEnum.ERROR_MSG_ORDER_NOT_EXIST.getCode(), ErrorMsgEnum.ERROR_MSG_ORDER_NOT_EXIST.getName()); + } + if (orderCheck.getStatus() == OrderStatusEnum.ORDER_STATUS_UNPAID.getCode() || orderCheck.getStatus() == OrderStatusEnum.ORDER_STATUS_UNSEND.getCode()) { LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); lambdaUpdateWrapper .eq(Order::getId, id) .set(Order::getConsignee, consignee) .set(Order::getConsigneePhone, consigneePhone) + .set(Order::getProvince, province) + .set(Order::getCity, city) + .set(Order::getDistrict, district) .set(Order::getAddress, address) + .set(Order::getIsDefaultAddress, isDefaultAddress) ; return R.status(orderService.update(null, lambdaUpdateWrapper)); diff --git a/src/main/java/org/springblade/modules/desk/entity/Order.java b/src/main/java/org/springblade/modules/desk/entity/Order.java index 4f4fa5d..f74004f 100644 --- a/src/main/java/org/springblade/modules/desk/entity/Order.java +++ b/src/main/java/org/springblade/modules/desk/entity/Order.java @@ -63,6 +63,26 @@ public class Order extends BaseEntity { */ private String buyerPhone; + /** + * 是否为默认收货地址 + */ + private int isDefaultAddress; + + /** + * 省 + */ + private String province; + + /** + * 市 + */ + private String city; + + /** + * 区 + */ + private String district; + /** * 收获详细地址 */