Merge branch 'develop' of gitee.com:peng-ou/haoka-server into develop

This commit is contained in:
Owen 2025-01-11 18:09:00 +08:00
commit ce0f11691e
6 changed files with 116 additions and 19 deletions

View File

@ -68,6 +68,21 @@ public class OrdersController {
ordersService.auditOrders(updateReqVO);
return success(true);
}
@PutMapping("/submit")
@Operation(summary = "提交订单")
@PreAuthorize("@ss.hasPermission('haoka:orders:submit')")
public CommonResult<Boolean> submitOrders(@Valid @RequestBody OrdersSaveReqVO updateReqVO) {
ordersService.submitOrders(updateReqVO);
return success(true);
}
@PutMapping("/submitUpStreamStatus")
@Operation(summary = "强制修改订单提交状态")
@PreAuthorize("@ss.hasPermission('haoka:orders:submitUpStreamStatus')")
public CommonResult<Boolean> submitUpStreamStatus(@Valid @RequestBody OrdersSaveReqVO updateReqVO) {
ordersService.submitUpStreamStatus(updateReqVO);
return success(true);
}
@DeleteMapping("/delete")
@Operation(summary = "删除订单")

View File

@ -202,5 +202,25 @@ public class OrdersSaveReqVO {
private String face;
@Schema(description = "订单联系状态码")
private Long callStatus;
/**
* 请求参数
*/
@Schema(description = "请求参数")
private String orderCreateRequest;
/**
* 返回参数
*/
@Schema(description = "返回参数")
private String orderCreateResponse;
/**
* 是否加急 0或空 不加急 1 加急
*/
@Schema(description = "是否加急")
private Integer isUrgent;
/**
* 上游订单状态生产异常 -430 开卡失败-460 提交异常 0 开卡中470 待发货500 已发货550 已激活700
*/
@Schema(description = "上游订单状态")
private Integer upstreamOrderStatus;
}

View File

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.haoka.dal.dataobject.orders;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
@ -233,6 +234,10 @@ public class OrdersDO extends BaseDO {
* 上游订单号
*/
private String upstreamOrderId;
/**
* 上游订单状态-430 生产异常 -460 提交异常 0 开卡中470 待发货500 已发货550 已激活700
*/
private Integer upstreamOrderStatus;
/**
* 生产备注
*/

View File

@ -63,4 +63,16 @@ public interface OrdersService extends IService<OrdersDO> {
* @return orderId
*/
public Long reCreateOrder(Long orderId);
/**
* 提交订单
* @param updateReqVO
*/
void submitOrders(OrdersSaveReqVO updateReqVO);
/**
* 强制修改订单提交状态
* @param updateReqVO
*/
void submitUpStreamStatus(OrdersSaveReqVO updateReqVO);
}

View File

@ -175,40 +175,65 @@ public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, OrdersDO> imple
validateOrdersExists(updateReqVO.getId());
// 更新
OrdersDO updateObj = BeanUtils.toBean(updateReqVO, OrdersDO.class);
ordersMapper.updateById(updateObj);
// 判断自动发货还是手动发货
Long productId = updateObj.getProductId();
updateObj.setProducerId(1L);
ordersMapper.updateById(updateObj);
Long status = updateObj.getStatus();
// 进入审核流程
if (ObjectUtil.equals(status, 450)) {
// 450 审核通过
createOrder(updateObj);
}
}
/**
* 提交订单
* @param updateReqVO
*/
@Override
public void submitOrders(OrdersSaveReqVO updateReqVO) {
OrdersDO updateObj = BeanUtils.toBean(updateReqVO, OrdersDO.class);
createOrder(updateObj);
}
@Override
public void submitUpStreamStatus(OrdersSaveReqVO updateReqVO) {
}
/**
* 调用运营商产生订单
*
* @param ordersDO
*/
private void createOrder(OrdersDO ordersDO) {
Long status = ordersDO.getStatus();
if (ObjectUtil.equals(status, 450)) {
// 进入审核流程且下单
OrderApiCreateParam param = new OrderApiCreateParam();
BeanUtils.copyProperties(ordersDO, param);
ApiDealResp<OrderApiCreateResp> orderResponse = apiDealStrategyService.createOrder(param);
// 是否是是上游黑名单 如果是 存本地黑名单
Boolean isBlack = orderResponse.getIsBlack();
// 上游是否支持这个接口
// Boolean isSupport = orderResponse.getIsSupport(); 都支持创建订单的 查询不一定
// 成功
Boolean success = orderResponse.getSuccess();
// 响应信息
String msg = orderResponse.getMsg();
// 向上游提交订单
OrderApiCreateParam param = new OrderApiCreateParam();
BeanUtils.copyProperties(ordersDO, param);
ApiDealResp<OrderApiCreateResp> orderResponse = apiDealStrategyService.createOrder(param);
// 是否是是上游黑名单 如果是 存本地黑名单 todo
Boolean isBlack = orderResponse.getIsBlack();
// 上游是否支持这个接口
// Boolean isSupport = orderResponse.getIsSupport(); 都支持创建订单的 查询不一定
// 是否成功
Boolean success = orderResponse.getSuccess();
// 响应信息
String msg = orderResponse.getMsg();
if(success){
// 订单创结果
OrderApiCreateResp orderData = orderResponse.getData();
// 上游订单ID
orderData.getSupplierOrderId();
// ordersDO 记录 create param 响应信息
ordersDO.setOrderCreateResponse(orderData.getOrderCreateResponse());
// 上游订单ID
String supplierOrderId = orderData.getSupplierOrderId();
ordersDO.setUpstreamOrderId(supplierOrderId);
// 记录成功操作记录 todo
}else {
// 失败操作记录 todo
}
// 更新订单
ordersMapper.updateById(ordersDO);
}
@Override

View File

@ -0,0 +1,20 @@
-- 创建字典类型
INSERT INTO `system_dict_type` (`name`, `type`, `status`, `remark`, `creator`, `updater`, `deleted`)
VALUES ('上游订单状态', 'haoka_upstream_order_status', 0, '', '1', '1', b'0');
# 生产异常 -430 开卡失败-460 提交异常 0 开卡中 470 待发货 500 已发货 550 已激活 700
-- 插入字典数据
INSERT INTO `system_dict_data` (`sort`, `label`, `value`, `dict_type`, `status`, `color_type`, `css_class`, `remark`, `creator`, `updater`, `deleted`)
VALUES
(1, '生产异常', '-430', 'haoka_upstream_order_status', 0, '', '', NULL, '1', '1', b'0'),
(2, '开卡失败', '-460', 'haoka_upstream_order_status', 0, '', '', NULL, '1', '1', b'0'),
(3, '提交异常', '0', 'haoka_upstream_order_status', 0, '', '', NULL, '1', '1', b'0'),
(4, '开卡中', '470', 'haoka_upstream_order_status', 0, '', '', NULL, '1', '1', b'0'),
(5, '待发货', '500', 'haoka_upstream_order_status', 0, '', '', NULL, '1', '1', b'0'),
(6, '已发货', '550', 'haoka_upstream_order_status', 0, '', '', NULL, '1', '1', b'0'),
(7, '已激活', '700', 'haoka_upstream_order_status', 0, '', '', NULL, '1', '1', b'0');
ALTER TABLE `haoka_orders`
MODIFY COLUMN `refund_status` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '交易状态' AFTER `status_updated_at`,
ADD COLUMN `upstream_order_status` varchar(50) NULL COMMENT '上游订单状态' AFTER `upstream_order_id`;