订单信息处理

This commit is contained in:
Damonny 2025-01-11 21:13:08 +08:00
parent 76b19ef413
commit 9e2582e7af
1 changed files with 59 additions and 22 deletions

View File

@ -3,14 +3,14 @@ package cn.iocoder.yudao.module.haoka.service.orders;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.module.haoka.api.ApiFrom; 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.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.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.models.ApiDealResp;
import cn.iocoder.yudao.module.haoka.service.api.ApiDealStrategyService; 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.OrderApiCreateParam;
import cn.iocoder.yudao.module.haoka.service.api.models.OrderApiCreateResp; 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.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.service.smstask.SmsTaskService;
import cn.iocoder.yudao.module.haoka.utils.SnowflakeId; import cn.iocoder.yudao.module.haoka.utils.SnowflakeId;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@ -51,6 +51,8 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, OrdersDO> imple
@Resource @Resource
private SmsTaskService smsTaskService; private SmsTaskService smsTaskService;
@Resource
private OrderOperateLogService orderOperateLogService;
/** /**
* 重新提交订单 * 重新提交订单
* @param orderId * @param orderId
@ -90,14 +92,7 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, OrdersDO> imple
} }
private OrdersDO handleOrderCreate(final OrdersDO ordersDO){ private OrdersDO handleOrderCreate(final OrdersDO ordersDO){
OrderApiCreateParam param = new OrderApiCreateParam(); return createOrder(ordersDO);
BeanUtils.copyProperties(ordersDO,param);
ApiDealResp<OrderApiCreateResp> strategyServiceOrder = apiDealStrategyService.createOrder(param);
// todo: 根据上游创建订单结果更新 ordersDO的信息 状态上游订单id等等.....
//
return ordersDO;
} }
@ -182,14 +177,29 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, OrdersDO> imple
Long productId = updateObj.getProductId(); Long productId = updateObj.getProductId();
OnSaleProductPreOrderRespVO onSaleProduct = onSaleProductService.getOnSaleProductPreOrder(productId); OnSaleProductPreOrderRespVO onSaleProduct = onSaleProductService.getOnSaleProductPreOrder(productId);
HaoKaProductRespVO haoKaProduct = onSaleProduct.getParentProduct(); HaoKaProductRespVO haoKaProduct = onSaleProduct.getParentProduct();
updateObj.setAutoType(haoKaProduct.getAutoType()); Integer autoType = haoKaProduct.getAutoType();
updateObj.setAutoType(autoType);
ordersMapper.updateById(updateObj); ordersMapper.updateById(updateObj);
Long status = updateObj.getStatus(); Long status = updateObj.getStatus();
// 进入审核流程 // 进入审核流程
if (ObjectUtil.equals(status, 450)) { if (ObjectUtil.equals(status, 450)) {
// 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<OrdersMapper, OrdersDO> imple
* *
* @param ordersDO * @param ordersDO
*/ */
private void createOrder(OrdersDO ordersDO) { private OrdersDO createOrder(OrdersDO ordersDO) {
// 向上游提交订单 // 向上游提交订单
OrderApiCreateParam param = new OrderApiCreateParam(); OrderApiCreateParam param = new OrderApiCreateParam();
BeanUtils.copyProperties(ordersDO, param); BeanUtils.copyProperties(ordersDO, param);
@ -227,21 +237,48 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, OrdersDO> imple
Boolean success = orderResponse.getSuccess(); Boolean success = orderResponse.getSuccess();
// 响应信息 // 响应信息
String msg = orderResponse.getMsg(); String msg = orderResponse.getMsg();
// 记录操作记录
OrderOperateLogSaveReqVO logSaveReqVO = new OrderOperateLogSaveReqVO();
logSaveReqVO.setOrderId(ordersDO.getId());
if(success){ if(success){
// 订单创结果 // 订单调用接口返回结果
logSaveReqVO.setMsgSource("1");
// 订单创建结果
OrderApiCreateResp orderData = orderResponse.getData(); OrderApiCreateResp orderData = orderResponse.getData();
// ordersDO 记录 create param 响应信息 String orderStatusCode = orderData.getOrderStatusCode();
ordersDO.setOrderCreateResponse(orderData.getOrderCreateResponse()); // 上游订单状态
// 上游订单ID ordersDO.setUpstreamOrderStatus(Integer.valueOf(orderStatusCode));
String supplierOrderId = orderData.getSupplierOrderId(); // api记录成功操作记录
ordersDO.setUpstreamOrderId(supplierOrderId); if("0".equals(orderStatusCode)){
// 记录成功操作记录 todo // 提交异常
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 { }else {
// 失败操作记录 todo // 系统失败操作记录
logSaveReqVO.setMsg(msg);
logSaveReqVO.setMsgSource("0");
logSaveReqVO.setMsgType("1");
// 产品定义存在问题
ordersDO.setStatus(450L);
} }
ordersDO.setOrderCreateResponse(msg); orderOperateLogService.createOrderOperateLog(logSaveReqVO);
// 更新订单 // 更新订单
ordersMapper.updateById(ordersDO); ordersMapper.updateById(ordersDO);
return ordersDO;
} }
@Override @Override