From 9e2582e7af51d10983f3120dd43425ffa7c3b4cb Mon Sep 17 00:00:00 2001 From: Damonny <826010988@qq.com> Date: Sat, 11 Jan 2025 21:13:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BF=A1=E6=81=AF=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/orders/OrdersServiceImpl.java | 81 ++++++++++++++----- 1 file changed, 59 insertions(+), 22 deletions(-) diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java index 154746cd8b..a04ecc33bc 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersServiceImpl.java @@ -3,14 +3,14 @@ package cn.iocoder.yudao.module.haoka.service.orders; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.module.haoka.api.ApiFrom; import cn.iocoder.yudao.module.haoka.controller.admin.onsaleproduct.vo.OnSaleProductPreOrderRespVO; +import cn.iocoder.yudao.module.haoka.controller.admin.orderoperatelog.vo.OrderOperateLogSaveReqVO; import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.HaoKaProductRespVO; -import cn.iocoder.yudao.module.haoka.dal.dataobject.onsaleproduct.OnSaleProductDO; -import cn.iocoder.yudao.module.haoka.dal.dataobject.product.HaoKaProductDO; import cn.iocoder.yudao.module.haoka.service.api.models.ApiDealResp; import cn.iocoder.yudao.module.haoka.service.api.ApiDealStrategyService; import cn.iocoder.yudao.module.haoka.service.api.models.OrderApiCreateParam; import cn.iocoder.yudao.module.haoka.service.api.models.OrderApiCreateResp; import cn.iocoder.yudao.module.haoka.service.onsaleproduct.OnSaleProductService; +import cn.iocoder.yudao.module.haoka.service.orderoperatelog.OrderOperateLogService; import cn.iocoder.yudao.module.haoka.service.smstask.SmsTaskService; import cn.iocoder.yudao.module.haoka.utils.SnowflakeId; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -51,6 +51,8 @@ public class OrdersServiceImpl extends ServiceImpl imple @Resource private SmsTaskService smsTaskService; + @Resource + private OrderOperateLogService orderOperateLogService; /** * 重新提交订单 * @param orderId @@ -90,14 +92,7 @@ public class OrdersServiceImpl extends ServiceImpl imple } private OrdersDO handleOrderCreate(final OrdersDO ordersDO){ - OrderApiCreateParam param = new OrderApiCreateParam(); - BeanUtils.copyProperties(ordersDO,param); - ApiDealResp strategyServiceOrder = apiDealStrategyService.createOrder(param); - - // todo: 根据上游创建订单结果更新 ordersDO的信息 :状态,上游订单id等等..... - // - - return ordersDO; + return createOrder(ordersDO); } @@ -182,14 +177,29 @@ public class OrdersServiceImpl extends ServiceImpl imple Long productId = updateObj.getProductId(); OnSaleProductPreOrderRespVO onSaleProduct = onSaleProductService.getOnSaleProductPreOrder(productId); HaoKaProductRespVO haoKaProduct = onSaleProduct.getParentProduct(); - updateObj.setAutoType(haoKaProduct.getAutoType()); + Integer autoType = haoKaProduct.getAutoType(); + updateObj.setAutoType(autoType); ordersMapper.updateById(updateObj); Long status = updateObj.getStatus(); // 进入审核流程 if (ObjectUtil.equals(status, 450)) { // 450 审核通过 - createOrder(updateObj); + if("2".equals(autoType)){ + // 自动生产 + OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO(); + logSaveReqVO.setOrderId(updateObj.getId()); + logSaveReqVO.setMsg("已自动提交到上游"); + logSaveReqVO.setMsgType("0"); + logSaveReqVO.setMsgSource("1"); + orderOperateLogService.createOrderOperateLog(logSaveReqVO); + createOrder(updateObj); + }else { +// 手动生产 + updateObj.setStatus(450L); + ordersMapper.updateById(updateObj); + } + } } @@ -214,7 +224,7 @@ public class OrdersServiceImpl extends ServiceImpl imple * * @param ordersDO */ - private void createOrder(OrdersDO ordersDO) { + private OrdersDO createOrder(OrdersDO ordersDO) { // 向上游提交订单 OrderApiCreateParam param = new OrderApiCreateParam(); BeanUtils.copyProperties(ordersDO, param); @@ -227,21 +237,48 @@ public class OrdersServiceImpl extends ServiceImpl imple Boolean success = orderResponse.getSuccess(); // 响应信息 String msg = orderResponse.getMsg(); + + // 记录操作记录 + OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO(); + logSaveReqVO.setOrderId(ordersDO.getId()); if(success){ - // 订单创结果 + // 订单调用接口返回结果 + logSaveReqVO.setMsgSource("1"); + + // 订单创建结果 OrderApiCreateResp orderData = orderResponse.getData(); - // ordersDO 记录 create param 和 响应信息 - ordersDO.setOrderCreateResponse(orderData.getOrderCreateResponse()); - // 上游订单ID - String supplierOrderId = orderData.getSupplierOrderId(); - ordersDO.setUpstreamOrderId(supplierOrderId); - // 记录成功操作记录 todo + String orderStatusCode = orderData.getOrderStatusCode(); + // 上游订单状态 + ordersDO.setUpstreamOrderStatus(Integer.valueOf(orderStatusCode)); + // api记录成功操作记录 + if("0".equals(orderStatusCode)){ + // 提交异常 + logSaveReqVO.setMsgType("1"); + ordersDO.setStatus(-460L); + logSaveReqVO.setMsg(orderData.getSupplierOrderStatusDesc()); + } else { + // 成功 470 + // ordersDO 记录 create param 和 响应信息 + ordersDO.setOrderCreateResponse(orderData.getOrderCreateResponse()); + // 上游订单ID + String supplierOrderId = orderData.getSupplierOrderId(); + ordersDO.setUpstreamOrderId(supplierOrderId); + logSaveReqVO.setMsgType("0"); + ordersDO.setStatus(470L); + logSaveReqVO.setMsg("提单成功"); + } }else { - // 失败操作记录 todo + // 系统失败操作记录 + logSaveReqVO.setMsg(msg); + logSaveReqVO.setMsgSource("0"); + logSaveReqVO.setMsgType("1"); + // 产品定义存在问题 + ordersDO.setStatus(450L); } - ordersDO.setOrderCreateResponse(msg); + orderOperateLogService.createOrderOperateLog(logSaveReqVO); // 更新订单 ordersMapper.updateById(ordersDO); + return ordersDO; } @Override