diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 00d307b..30ae40c 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,22 +5,15 @@ - - - - - - - - - - + + + + + - + - - @@ -460,33 +453,33 @@ - { + "keyToString": { + "Maven.wisdommining [clean].executor": "Run", + "Maven.wisdommining [package].executor": "Run", + "RequestMappingsPanelOrder0": "0", + "RequestMappingsPanelOrder1": "1", + "RequestMappingsPanelWidth0": "75", + "RequestMappingsPanelWidth1": "75", + "RunOnceActivity.ShowReadmeOnStart": "true", + "Spring Boot.WisdoMminingApplication.executor": "Debug", + "dart.analysis.tool.window.visible": "false", + "git-widget-placeholder": "master", + "kotlin-language-version-configured": "true", + "last_opened_file_path": "D:/Documents/IdeaProjects/wisdommining-serve/src/main/webapp/static/dist/order_logistics", + "node.js.detected.package.eslint": "true", + "node.js.detected.package.tslint": "true", + "node.js.selected.package.eslint": "(autodetect)", + "node.js.selected.package.tslint": "(autodetect)", + "nodejs_package_manager_path": "npm", + "project.structure.last.edited": "全局库", + "project.structure.proportion": "0.0", + "project.structure.side.proportion": "0.2", + "settings.editor.selected.configurable": "project.propVCSSupport.DirectoryMappings", + "show.migrate.to.gradle.popup": "false", + "vue.rearranger.settings.migration": "true" } -}]]> +} @@ -631,7 +624,8 @@ - + + 1623736948713 diff --git a/src/main/java/com/wisdo/mmining/api/dto/EditOrderAddressDto.java b/src/main/java/com/wisdo/mmining/api/dto/EditOrderAddressDto.java index 87e71ec..f96a43c 100644 --- a/src/main/java/com/wisdo/mmining/api/dto/EditOrderAddressDto.java +++ b/src/main/java/com/wisdo/mmining/api/dto/EditOrderAddressDto.java @@ -1,11 +1,14 @@ package com.wisdo.mmining.api.dto; +import com.wisdo.mmining.controller.dto.PackageDto; import lombok.Data; +import java.util.List; + @Data public class EditOrderAddressDto { private int orderId; private String orderAddress; private String logisticsName; - private String logisticsNum; + private List logistics; } diff --git a/src/main/java/com/wisdo/mmining/controller/OrderController.java b/src/main/java/com/wisdo/mmining/controller/OrderController.java index 0502e16..7d07c95 100644 --- a/src/main/java/com/wisdo/mmining/controller/OrderController.java +++ b/src/main/java/com/wisdo/mmining/controller/OrderController.java @@ -9,6 +9,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.wisdo.mmining.api.dto.EditOrderAddressDto; +import com.wisdo.mmining.controller.dto.ApprovalUpdateAddressDto; +import com.wisdo.mmining.controller.dto.LogisticsDto; import com.wisdo.mmining.entity.*; import com.wisdo.mmining.redis.RedisService; import com.wisdo.mmining.result.Result; @@ -206,6 +208,7 @@ public class OrderController { modelAndView.addObject("orderId", orderId); modelAndView.addObject("type", type); modelAndView.addObject("order", order); + modelAndView.addObject("logistics", order.getLogistics()); return modelAndView; } @@ -216,11 +219,17 @@ public class OrderController { return new ModelAndView("sys/error"); } WisdOeder order = orderService.getById(orderId); +// ObjectMapper objectMapper = new ObjectMapper(); +// String packagesJson = order.getLogistics(); + +// List packages = objectMapper.readValue(packagesJson, new TypeReference>() { +// }); //type 1 一级弹出层 2二级弹出层 ModelAndView modelAndView = new ModelAndView("pages/order/order_edit_address"); modelAndView.addObject("orderId", orderId); modelAndView.addObject("type", type); modelAndView.addObject("order", order); + modelAndView.addObject("logistics", order.getLogistics()); return modelAndView; } @@ -548,21 +557,24 @@ public class OrderController { } - @RequestMapping(value = "deliverGoods") + @PostMapping(value = "deliverGoods") @ResponseBody - public Result deliverGoods(Long orderId, String logisticsName, String logisticsNum) { - if (orderId == null || com.alibaba.druid.util.StringUtils.isEmpty(logisticsName) || StringUtils.isEmpty(logisticsNum)) { + public Result deliverGoods(@RequestBody LogisticsDto logisticsDto) throws JsonProcessingException { + if (logisticsDto.getOrderId() == null || com.alibaba.druid.util.StringUtils.isEmpty(logisticsDto.getLogisticsName()) || logisticsDto.getPackages().isEmpty()) { return new Result(ResultUtil.ERROR, "参数为空"); } - WisdOeder order = orderService.getById(orderId); + WisdOeder order = orderService.getById(logisticsDto.getOrderId()); if (order == null) { return new Result(ResultUtil.ERROR, ResultUtil.ERROR_MSG); } if (!order.getStatus().equals(2)) { return new Result(ResultUtil.ERROR, "该状态无法发货"); } - order.setLogisticsName(logisticsName); - order.setLogisticsNum(logisticsNum); + ObjectMapper mapper = new ObjectMapper(); + String deliverGoodsJson = mapper.writeValueAsString(logisticsDto.getPackages()); + order.setLogistics(deliverGoodsJson); + order.setLogisticsName(logisticsDto.getLogisticsName()); +// order.setLogisticsNum(logisticsNum); order.setStatus(3); order.setOrderDeliverTime(new Date()); Boolean flag = orderService.updateById(order); @@ -576,19 +588,21 @@ public class OrderController { // 处理修改地址申请 - @RequestMapping(value = "approvalUpdateAddress") + @PostMapping(value = "approvalUpdateAddress") @ResponseBody - public Result approvalUpdateAddress(Long orderId, Integer type, String logisticsNo /*1 同意, 0 拒绝*/) { - WisdOeder order = orderService.getById(orderId); - if (type.equals(1)) { + public Result approvalUpdateAddress(@RequestBody ApprovalUpdateAddressDto addressDto) throws JsonProcessingException { + WisdOeder order = orderService.getById(addressDto.getOrderId()); + if (addressDto.getType().equals(1)) { order.setOrderAddress(order.getPendingApprovalOrderAddress()); order.setAddressId(order.getPendingApprovalAddressId()); - order.setLogisticsNum(logisticsNo); + ObjectMapper mapper = new ObjectMapper(); + String deliverGoodsJson = mapper.writeValueAsString(addressDto.getLogistics()); + order.setLogistics(deliverGoodsJson); order.setPendingApprovalAddressId(null); order.setPendingApprovalOrderAddress(null); orderService.updateById(order); return ResultUtil.success("收货地址已更新"); - } else if (type.equals(0)) { + } else if (addressDto.getType().equals(0)) { order.setPendingApprovalAddressId(null); order.setPendingApprovalOrderAddress(null); return ResultUtil.success("已拒绝修改地址"); @@ -599,10 +613,12 @@ public class OrderController { @PostMapping(value = "editAddress") @ResponseBody - public Result editAddress(@RequestBody EditOrderAddressDto address) { + public Result editAddress(@RequestBody EditOrderAddressDto address) throws JsonProcessingException { WisdOeder order = orderService.getById(address.getOrderId()); + ObjectMapper mapper = new ObjectMapper(); + String deliverGoodsJson = mapper.writeValueAsString(address.getLogistics()); + order.setLogistics(deliverGoodsJson); order.setOrderAddress(address.getOrderAddress()); - order.setLogisticsNum(address.getLogisticsNum()); order.setLogisticsName(address.getLogisticsName()); orderService.updateById(order); return ResultUtil.success("地址修改成功"); diff --git a/src/main/java/com/wisdo/mmining/controller/dto/ApprovalUpdateAddressDto.java b/src/main/java/com/wisdo/mmining/controller/dto/ApprovalUpdateAddressDto.java new file mode 100644 index 0000000..e1a5f24 --- /dev/null +++ b/src/main/java/com/wisdo/mmining/controller/dto/ApprovalUpdateAddressDto.java @@ -0,0 +1,12 @@ +package com.wisdo.mmining.controller.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class ApprovalUpdateAddressDto { + private Long orderId; + private Integer type; + private List logistics; +} diff --git a/src/main/java/com/wisdo/mmining/controller/dto/GoodsDeDto.java b/src/main/java/com/wisdo/mmining/controller/dto/GoodsDeDto.java new file mode 100644 index 0000000..65070f7 --- /dev/null +++ b/src/main/java/com/wisdo/mmining/controller/dto/GoodsDeDto.java @@ -0,0 +1,10 @@ +package com.wisdo.mmining.controller.dto; + +import lombok.Data; + +@Data +public class GoodsDeDto { + private Long id; + private String name; + private Integer num; +} diff --git a/src/main/java/com/wisdo/mmining/controller/dto/LogisticsDto.java b/src/main/java/com/wisdo/mmining/controller/dto/LogisticsDto.java new file mode 100644 index 0000000..0d17360 --- /dev/null +++ b/src/main/java/com/wisdo/mmining/controller/dto/LogisticsDto.java @@ -0,0 +1,12 @@ +package com.wisdo.mmining.controller.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class LogisticsDto { + private Long orderId; + private String logisticsName; + private List packages; +} diff --git a/src/main/java/com/wisdo/mmining/controller/dto/PackageDto.java b/src/main/java/com/wisdo/mmining/controller/dto/PackageDto.java new file mode 100644 index 0000000..9650d48 --- /dev/null +++ b/src/main/java/com/wisdo/mmining/controller/dto/PackageDto.java @@ -0,0 +1,12 @@ +package com.wisdo.mmining.controller.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class PackageDto { + private Long id; + private List goods; + private String logisticsNumber; +} diff --git a/src/main/resources/application-db.yml b/src/main/resources/application-db.yml index b88032b..36712a6 100644 --- a/src/main/resources/application-db.yml +++ b/src/main/resources/application-db.yml @@ -1,7 +1,7 @@ #开发环境 spring: datasource: - url: jdbc:mysql://ayaya-arch.local:3306/wisdo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8 + url: jdbc:mysql://192.168.0.142:3306/wisdo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8 # url: jdbc:mysql://146.56.198.32:3306/wisdo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8 username: yshop # username: root diff --git a/src/main/webapp/WEB-INF/view/pages/order/order_edit_address.jsp b/src/main/webapp/WEB-INF/view/pages/order/order_edit_address.jsp index 5d023bd..0514f38 100644 --- a/src/main/webapp/WEB-INF/view/pages/order/order_edit_address.jsp +++ b/src/main/webapp/WEB-INF/view/pages/order/order_edit_address.jsp @@ -15,10 +15,144 @@ - + <%-- --%> + + -
+
+ +<%--
@@ -37,13 +171,19 @@ placeholder="请输入物流公司" autocomplete="off" class="layui-input">
-
- -
- + + +
+
+ +
+ +
+
-
+ +