From 964b11f179c5295134a881cb81c77097b58c2622 Mon Sep 17 00:00:00 2001 From: liuqingkun Date: Wed, 23 Aug 2023 18:51:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E8=AE=A2=E5=8D=95=E5=8F=B7?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=8A=A5=E5=90=8D=E5=8D=95=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/cache/AddressCache.java | 1 - .../controller/CustomMadeInfoController.java | 32 +++++++++++++++++-- .../desk/controller/OrderController.java | 19 +++++++---- .../modules/desk/entity/CustomMadeInfo.java | 10 +++--- .../desk/vo/CustomMadeInfoExcelVO.java | 12 +++++++ 5 files changed, 60 insertions(+), 14 deletions(-) diff --git a/src/main/java/org/springblade/common/cache/AddressCache.java b/src/main/java/org/springblade/common/cache/AddressCache.java index e705c0d..4f5e5ae 100644 --- a/src/main/java/org/springblade/common/cache/AddressCache.java +++ b/src/main/java/org/springblade/common/cache/AddressCache.java @@ -42,5 +42,4 @@ public class AddressCache { public static WeChatAddress getAddress(String phone) { return CacheUtil.get(DEFAULT_CACHE, WX_ADDRESS, phone, () -> wechatAddressService.getAddress(phone)); } - } diff --git a/src/main/java/org/springblade/modules/desk/controller/CustomMadeInfoController.java b/src/main/java/org/springblade/modules/desk/controller/CustomMadeInfoController.java index 0f6477e..bab3d16 100644 --- a/src/main/java/org/springblade/modules/desk/controller/CustomMadeInfoController.java +++ b/src/main/java/org/springblade/modules/desk/controller/CustomMadeInfoController.java @@ -92,14 +92,27 @@ public class CustomMadeInfoController extends BladeController { return R.data(info); } + /** + * 获取订单已填写的报名单列表 + */ + @GetMapping("/list-by-order-no") + public R> listByOrderNo(@RequestParam String orderNo) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(CustomMadeInfo::getOrderNo, orderNo); + List pages = iCustomMadeInfoService.list(wrapper); + return R.data(pages); + } /** * 分页 */ @GetMapping("/list") - public R> list(Query query, String username, String phone, String pillowMaterial, + public R> list(Query query, String orderNo, String username, String phone, String pillowMaterial, String pillowHardness, String ageRange, String startTime, String endTime) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + if (Func.isNotEmpty(orderNo)) { + wrapper.like(CustomMadeInfo::getOrderNo, orderNo); + } if (Func.isNotEmpty(username)) { wrapper.like(CustomMadeInfo::getUsername, username); } @@ -130,9 +143,12 @@ public class CustomMadeInfoController extends BladeController { * 导出 */ @GetMapping("/export") - public void export(HttpServletResponse response, String username, String phone, String pillowMaterial, + public void export(HttpServletResponse response, String orderNo, String username, String phone, String pillowMaterial, String pillowHardness, String ageRange, String startTime, String endTime) { LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + if (Func.isNotEmpty(orderNo)) { + wrapper.like(CustomMadeInfo::getOrderNo, orderNo); + } if (Func.isNotEmpty(username)) { wrapper.like(CustomMadeInfo::getUsername, username); } @@ -176,6 +192,12 @@ public class CustomMadeInfoController extends BladeController { */ @PostMapping("/save") public R save(@RequestBody CustomMadeInfo info) { + if (Func.isEmpty(info.getOrderNoSort())) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(CustomMadeInfo::getOrderNo, info.getOrderNo()); + int total = Func.toInt(iCustomMadeInfoService.count(wrapper)); + info.setOrderNoSort(total + 1); + } return R.status(iCustomMadeInfoService.save(info)); } @@ -192,6 +214,12 @@ public class CustomMadeInfoController extends BladeController { */ @PostMapping("/submit") public R submit(@RequestBody CustomMadeInfo info) { + if (Func.isEmpty(info.getOrderNoSort())) { + LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); + wrapper.eq(CustomMadeInfo::getOrderNo, info.getOrderNo()); + int total = Func.toInt(iCustomMadeInfoService.count(wrapper)); + info.setOrderNoSort(total + 1); + } return R.status(iCustomMadeInfoService.saveOrUpdate(info)); } 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 68d0d06..0105825 100644 --- a/src/main/java/org/springblade/modules/desk/controller/OrderController.java +++ b/src/main/java/org/springblade/modules/desk/controller/OrderController.java @@ -131,12 +131,19 @@ public class OrderController { info.setGoodsNum(goodsNum); info.setTotalPrice(Func.toDouble(info.getGoodsPrice() * goodsNum)); - // 设置默认地址 - WeChatAddress address = AddressCache.getAddress(info.getBuyerPhone()); - if (Func.isNotEmpty(address)) { - info.setAddress(address.getProvince().concat(address.getCity()).concat(address.getArea()).concat(address.getAddress())); - info.setConsignee(address.getConsignee()); - info.setConsigneePhone(address.getPhone()); + if (Func.isEmpty(info.getAddress())) { + // 设置默认地址 + 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); + info.setConsignee(address.getConsignee()); + info.setConsigneePhone(address.getPhone()); + } } if (orderService.save(info)) { diff --git a/src/main/java/org/springblade/modules/desk/entity/CustomMadeInfo.java b/src/main/java/org/springblade/modules/desk/entity/CustomMadeInfo.java index d53772d..b00fa7f 100644 --- a/src/main/java/org/springblade/modules/desk/entity/CustomMadeInfo.java +++ b/src/main/java/org/springblade/modules/desk/entity/CustomMadeInfo.java @@ -23,7 +23,6 @@ public class CustomMadeInfo extends BaseEntity { /** * 购买渠道 */ - @NotEmpty(message = "purchaseChannel should not be empty.") private String purchaseChannel; /** @@ -31,6 +30,11 @@ public class CustomMadeInfo extends BaseEntity { */ private String orderNo; + /** + * 报名单排序, 针对一个订单的报名单排序 + */ + private Integer orderNoSort; + /** * 备注 */ @@ -51,25 +55,21 @@ public class CustomMadeInfo extends BaseEntity { /** * 省 */ - @NotEmpty(message = "province should not be empty.") private String province; /** * 市 */ - @NotEmpty(message = "city should not be empty.") private String city; /** * 区 */ - @NotEmpty(message = "district should not be empty.") private String district; /** * 详细地址 */ - @NotEmpty(message = "detail should not be empty.") private String detail; /** diff --git a/src/main/java/org/springblade/modules/desk/vo/CustomMadeInfoExcelVO.java b/src/main/java/org/springblade/modules/desk/vo/CustomMadeInfoExcelVO.java index 540b0be..25a06e7 100644 --- a/src/main/java/org/springblade/modules/desk/vo/CustomMadeInfoExcelVO.java +++ b/src/main/java/org/springblade/modules/desk/vo/CustomMadeInfoExcelVO.java @@ -31,6 +31,18 @@ import java.util.Date; public class CustomMadeInfoExcelVO { private static final long serialVersionUID = 1L; + /** + * 购买渠道 + */ + @ExcelProperty("购买渠道") + private String purchaseChannel; + + /** + * 订单编号 + */ + @ExcelProperty("订单编号") + private String orderNo; + /** * 姓名 */