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); ordersService.auditOrders(updateReqVO);
return success(true); 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") @DeleteMapping("/delete")
@Operation(summary = "删除订单") @Operation(summary = "删除订单")

View File

@ -202,5 +202,25 @@ public class OrdersSaveReqVO {
private String face; private String face;
@Schema(description = "订单联系状态码") @Schema(description = "订单联系状态码")
private Long callStatus; 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; package cn.iocoder.yudao.module.haoka.dal.dataobject.orders;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -233,6 +234,10 @@ public class OrdersDO extends BaseDO {
* 上游订单号 * 上游订单号
*/ */
private String upstreamOrderId; 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 * @return orderId
*/ */
public Long reCreateOrder(Long 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()); validateOrdersExists(updateReqVO.getId());
// 更新 // 更新
OrdersDO updateObj = BeanUtils.toBean(updateReqVO, OrdersDO.class); OrdersDO updateObj = BeanUtils.toBean(updateReqVO, OrdersDO.class);
ordersMapper.updateById(updateObj);
// 判断自动发货还是手动发货 // 判断自动发货还是手动发货
Long productId = updateObj.getProductId();
updateObj.setProducerId(1L); 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); createOrder(updateObj);
} }
@Override
public void submitUpStreamStatus(OrdersSaveReqVO updateReqVO) {
}
/** /**
* 调用运营商产生订单 * 调用运营商产生订单
* *
* @param ordersDO * @param ordersDO
*/ */
private void createOrder(OrdersDO ordersDO) { private void createOrder(OrdersDO ordersDO) {
Long status = ordersDO.getStatus(); // 向上游提交订单
if (ObjectUtil.equals(status, 450)) { OrderApiCreateParam param = new OrderApiCreateParam();
// 进入审核流程且下单 BeanUtils.copyProperties(ordersDO, param);
OrderApiCreateParam param = new OrderApiCreateParam(); ApiDealResp<OrderApiCreateResp> orderResponse = apiDealStrategyService.createOrder(param);
BeanUtils.copyProperties(ordersDO, param); // 是否是是上游黑名单 如果是 存本地黑名单 todo
ApiDealResp<OrderApiCreateResp> orderResponse = apiDealStrategyService.createOrder(param); Boolean isBlack = orderResponse.getIsBlack();
// 是否是是上游黑名单 如果是 存本地黑名单 // 上游是否支持这个接口
Boolean isBlack = orderResponse.getIsBlack(); // Boolean isSupport = orderResponse.getIsSupport(); 都支持创建订单的 查询不一定
// 上游是否支持这个接口 // 是否成功
// Boolean isSupport = orderResponse.getIsSupport(); 都支持创建订单的 查询不一定 Boolean success = orderResponse.getSuccess();
// 成功 // 响应信息
Boolean success = orderResponse.getSuccess(); String msg = orderResponse.getMsg();
// 响应信息 if(success){
String msg = orderResponse.getMsg();
// 订单创结果 // 订单创结果
OrderApiCreateResp orderData = orderResponse.getData(); OrderApiCreateResp orderData = orderResponse.getData();
// 上游订单ID
orderData.getSupplierOrderId();
// ordersDO 记录 create param 响应信息 // ordersDO 记录 create param 响应信息
ordersDO.setOrderCreateResponse(orderData.getOrderCreateResponse());
// 上游订单ID
String supplierOrderId = orderData.getSupplierOrderId();
ordersDO.setUpstreamOrderId(supplierOrderId);
// 记录成功操作记录 todo
}else {
// 失败操作记录 todo
} }
// 更新订单
ordersMapper.updateById(ordersDO);
} }
@Override @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`;