From df115aec77ff63d19e74193478b46bcc6bbc4f09 Mon Sep 17 00:00:00 2001 From: zhang <zc857179121@qq.com> Date: 星期五, 12 九月 2025 17:05:24 +0800 Subject: [PATCH] 1 --- src/main/resources/mapper/OrderMapper.xml | 16 ++++++++ src/main/java/com/zy/asrs/entity/param/ReturnOrderConfirmParam.java | 18 +++++++++ src/main/java/com/zy/asrs/controller/OpenController.java | 2 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 23 +++++++++++ src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 30 +++++++------- src/main/java/com/zy/asrs/service/OpenService.java | 2 6 files changed, 74 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java index 3114ac3..f3a5d9b 100644 --- a/src/main/java/com/zy/asrs/controller/OpenController.java +++ b/src/main/java/com/zy/asrs/controller/OpenController.java @@ -495,7 +495,7 @@ @PostMapping("/returnOrder/auth/v1") @AppAuth(memo = "閫�搴撳崟鍗曟嵁涓嬪彂") public synchronized R returnOrder(@RequestHeader(required = false) String appkey, - @RequestBody GroupOrderConfirmParam param, + @RequestBody ReturnOrderConfirmParam param, HttpServletRequest request) { auth(appkey, param, request); openService.returnOrder(param); diff --git a/src/main/java/com/zy/asrs/entity/param/ReturnOrderConfirmParam.java b/src/main/java/com/zy/asrs/entity/param/ReturnOrderConfirmParam.java new file mode 100644 index 0000000..7f8650c --- /dev/null +++ b/src/main/java/com/zy/asrs/entity/param/ReturnOrderConfirmParam.java @@ -0,0 +1,18 @@ +package com.zy.asrs.entity.param; + +import lombok.Data; + +import java.util.List; + +@Data +public class ReturnOrderConfirmParam { + private String orderNumber; //缁勮揣鍗曞彿 + private String packageGroupNo; // 澶氫釜鍖呰缁勫彿 + private List<VolumeNumber> volumeNumbers; // 澶氫釜鍖呰缁勫彿 + + + @Data + public static class VolumeNumber { + private String volumeNumber; + } +} diff --git a/src/main/java/com/zy/asrs/service/OpenService.java b/src/main/java/com/zy/asrs/service/OpenService.java index d49a933..da9ddc7 100644 --- a/src/main/java/com/zy/asrs/service/OpenService.java +++ b/src/main/java/com/zy/asrs/service/OpenService.java @@ -156,7 +156,7 @@ R groupOrderConfirm(GroupOrderConfirmParam param); - R returnOrder(GroupOrderConfirmParam param); + R returnOrder(ReturnOrderConfirmParam param); } diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java index a2ac7e5..8879063 100644 --- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java @@ -2344,16 +2344,19 @@ @Override @Transactional - public R returnOrder(GroupOrderConfirmParam param) { + public R returnOrder(ReturnOrderConfirmParam param) { + if (Cools.isEmpty(param.getOrderNumber())) { + param.setOrderNumber("THCK" + snowflakeIdWorker.nextId() + ""); + } // 1. 鏌ヨ鍗曟嵁鏄惁瀛樺湪 - Order order = orderMapper.selectOrderByOrderNo(param.getGroupOrderNumber()); + Order order = orderMapper.selectOrderByOrderNo(param.getOrderNumber()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (order == null) { // 1.1 涓嶅瓨鍦紝鏂板缓鍗曟嵁 order = new Order(); - order.setOrderNo(param.getGroupOrderNumber()); - order.setStatus(Integer.valueOf(param.getGroupStatus())); + order.setOrderNo(param.getOrderNumber()); + order.setStatus(1); order.setOrderTime(sdf.format(new Date())); order.setCreateTime(new Date()); order.setSettle(1L); @@ -2361,34 +2364,31 @@ orderMapper.insert(order); } else { // 1.2 瀛樺湪锛屾洿鏂板崟鎹姸鎬� - order.setStatus(Integer.valueOf(param.getGroupStatus())); + order.setStatus(1); orderMapper.updateById(order); } orderDetlMapper.delete( - new EntityWrapper<OrderDetl>().eq("order_no", param.getGroupOrderNumber()) + new EntityWrapper<OrderDetl>().eq("order_no", param.getOrderNumber()) ); // 2. 涓�涓�瀵瑰簲閬嶅巻 - List<GroupOrderConfirmParam.PackageGroupNo> pkgList = param.getPackageGroupNos(); - List<GroupOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers(); + List<ReturnOrderConfirmParam.VolumeNumber> volList = param.getVolumeNumbers(); - int size = Math.min(pkgList.size(), volList.size()); // 闃叉瓒婄晫 - for (int i = 0; i < size; i++) { - GroupOrderConfirmParam.PackageGroupNo pg = pkgList.get(i); - GroupOrderConfirmParam.VolumeNumber vn = volList.get(i); + for (int i = 0; i < volList.size(); i++) { + ReturnOrderConfirmParam.VolumeNumber vn = volList.get(i); // 鏌ヨ鏄惁宸插瓨鍦ㄨ detl OrderDetl detl = orderDetlMapper.selectByOrderNoAndPkgGroupNoAndVolumeNo( - param.getGroupOrderNumber(), pg.getPackageGroupNo(), vn.getVolumeNumber() + param.getOrderNumber(), param.getPackageGroupNo(), vn.getVolumeNumber() ); if (detl == null) { detl = new OrderDetl(); detl.setOrderId(order.getId()); - detl.setOrderNo(param.getGroupOrderNumber()); + detl.setOrderNo(param.getOrderNumber()); detl.setCreateTime(new Date()); detl.setAnfme(1.0); - detl.setBrand(pg.getPackageGroupNo()); // 鍖呰缁勫彿 + detl.setBrand(param.getPackageGroupNo()); // 鍖呰缁勫彿 detl.setModel(vn.getVolumeNumber()); // 鍗峰彿 orderDetlMapper.insert(detl); } diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java index 10d0ebb..8a59743 100644 --- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java +++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java @@ -74,6 +74,29 @@ } + @Scheduled(cron = "0/9 * * * * ? ") + @Async("orderThreadPool") + public void completeAndReport2() { + Config config = configMapper.selectConfigByCode("RETURN_REPORT"); + if (config == null || config.getStatus() == 0 || Cools.isEmpty(config.getValue())) { + return; + } + + List<Order> orders = orderService.selectComplete(); + for (Order order : orders) { + try { + ReturnT<String> result = orderSyncHandler.start(order); + if (!result.isSuccess()) { + log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo()); + } + } catch (Exception e) { + log.error("鍗曟嵁[orderNo={}]涓婃姤erp澶辫触", order.getOrderNo()); + log.error("璁㈠崟" + order + "澶勭悊澶辫触锛屽紓甯镐俊鎭細" + e); + } + } + + } + @Scheduled(cron = "0/30 * * * * ? ") public void complete() { diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml index 7377a19..2d0db2c 100644 --- a/src/main/resources/mapper/OrderMapper.xml +++ b/src/main/resources/mapper/OrderMapper.xml @@ -85,6 +85,22 @@ mo.create_time asc </select> + <select id="selectComplete2" resultMap="BaseResultMap"> + select + top 5 mo.* + from + man_order mo + inner join man_doc_type mt on + mo.doc_type = mt.doc_id + where + mt.pakout = 1 + and mo.settle = 5 + and mo.status = 1 + and mo.doc_type = 26 + order by + mo.create_time asc + </select> + <insert id="addToLogTable"> INSERT INTO man_order_log SELECT * FROM man_order WHERE id = #{id} </insert> -- Gitblit v1.9.1