diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/orders/OrdersController.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/orders/OrdersController.java index 6929b9a533..318ff721c1 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/orders/OrdersController.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/controller/admin/orders/OrdersController.java @@ -54,6 +54,13 @@ public class OrdersController { ordersService.updateOrders(updateReqVO); return success(true); } + @PutMapping("/audit") + @Operation(summary = "审核订单") + @PreAuthorize("@ss.hasPermission('haoka:orders:audit')") + public CommonResult auditOrders(@Valid @RequestBody OrdersSaveReqVO updateReqVO) { + ordersService.auditOrders(updateReqVO); + return success(true); + } @DeleteMapping("/delete") @Operation(summary = "删除订单") diff --git a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersService.java b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersService.java index 26596e7366..5fdd20171b 100644 --- a/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersService.java +++ b/yudao-module-haoka/yudao-module-haoka-biz/src/main/java/cn/iocoder/yudao/module/haoka/service/orders/OrdersService.java @@ -52,4 +52,5 @@ public interface OrdersService { */ PageResult getOrdersPage(OrdersPageReqVO pageReqVO); + void auditOrders(OrdersSaveReqVO updateReqVO); } \ No newline at end of file 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 5ae6d873f3..49d4ef9b3d 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 @@ -1,5 +1,12 @@ 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.service.api.ApiDealResp; +import cn.iocoder.yudao.module.haoka.service.api.ApiDealStrategyService; +import cn.iocoder.yudao.module.haoka.service.api.OrderApiCreateResp; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; @@ -28,6 +35,9 @@ public class OrdersServiceImpl implements OrdersService { @Resource private OrdersMapper ordersMapper; + @Autowired + @Qualifier(ApiFrom.ApiDealStrategyImpl) + private ApiDealStrategyService apiDealStrategyService; @Override public Long createOrders(OrdersSaveReqVO createReqVO) { @@ -46,6 +56,28 @@ public class OrdersServiceImpl implements OrdersService { OrdersDO updateObj = BeanUtils.toBean(updateReqVO, OrdersDO.class); ordersMapper.updateById(updateObj); } + @Override + public void auditOrders(OrdersSaveReqVO updateReqVO) { + // 校验存在 + validateOrdersExists(updateReqVO.getId()); + // 更新 + OrdersDO updateObj = BeanUtils.toBean(updateReqVO, OrdersDO.class); + ordersMapper.updateById(updateObj); + createOrder(updateObj); + } + + /** + * + * + * @param ordersDO + */ + private void createOrder(OrdersDO ordersDO) { + Long status = ordersDO.getStatus(); + if(ObjectUtil.equals(status,450)){ + // 进入审核流程且下单 + ApiDealResp order = apiDealStrategyService.createOrder(null); + } + } @Override public void deleteOrders(Long id) { diff --git a/yudao-server/src/main/resources/db/migration/V5.0.11__order_prod_insert_api_menu.sql b/yudao-server/src/main/resources/db/migration/V5.0.11__order_prod_insert_api_menu.sql new file mode 100644 index 0000000000..059386ef7d --- /dev/null +++ b/yudao-server/src/main/resources/db/migration/V5.0.11__order_prod_insert_api_menu.sql @@ -0,0 +1,39 @@ +-- 菜单 SQL + +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status, component_name +) +VALUES ( + '生产发货', '', 2, 0, 3022, + 'orders', '', 'haoka/orderProd/index', 0, 'orderProd' +); + +SELECT @parentId1 := LAST_INSERT_ID(); +-- 按钮 SQL +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status +) +VALUES ( + '订单查询', 'haoka:orderProd:query', 3, 1, @parentId1, + '', '', '', 0 +); +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status +) +VALUES ( + '订单更新', 'haoka:orderProd:update', 3, 2, @parentId1, + '', '', '', 0 +); +INSERT INTO system_menu( + name, permission, type, sort, parent_id, + path, icon, component, status +) +VALUES ( + '订单导出', 'haoka:orderProd:export', 3, 3, @parentId1, + '', '', '', 0 +); +INSERT INTO system_menu ( name, permission, type, sort, parent_id, path, icon, component, component_name, status) +VALUES ( '订单详情', 'haoka:orders:query', 2, 6, 3016, 'orders-deal/detail', 'ep:comment', 'haoka/orders/components/OrderDetail.vue', 'OrdersDetail', 0);