From ccdc8afaab8e8888e7f12276bf99a8d31a435214 Mon Sep 17 00:00:00 2001 From: Mrking <782276617@qq.com> Date: Mon, 3 Mar 2025 22:01:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=8D=E5=88=B6=E8=AE=A2?= =?UTF-8?q?=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/rule/dept/DeptDataPermissionRule.java | 1 + hangtag-module-oms/hangtag-module-oms-biz/pom.xml | 4 ++++ .../saleorder/front/SaleOrderFrontController.java | 10 +++++++--- .../oms/service/saleorder/SaleOrderService.java | 2 +- .../service/saleorder/SaleOrderServiceImpl.java | 14 ++++++++------ .../src/api/oms/saleorder/index.ts | 4 ++-- .../src/views/oms/order/createorder/index.vue | 2 +- 7 files changed, 24 insertions(+), 13 deletions(-) diff --git a/hangtag-framework/hangtag-spring-boot-starter-biz-data-permission/src/main/java/cn/hangtag/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java b/hangtag-framework/hangtag-spring-boot-starter-biz-data-permission/src/main/java/cn/hangtag/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java index 4b4567b..3e0831f 100644 --- a/hangtag-framework/hangtag-spring-boot-starter-biz-data-permission/src/main/java/cn/hangtag/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java +++ b/hangtag-framework/hangtag-spring-boot-starter-biz-data-permission/src/main/java/cn/hangtag/framework/datapermission/core/rule/dept/DeptDataPermissionRule.java @@ -123,6 +123,7 @@ public class DeptDataPermissionRule implements DataPermissionRule { return new EqualsTo(null, null); // WHERE null = null,可以保证返回的数据为空 } + if(true) return null; // 情况三,拼接 Dept 和 User 的条件,最后组合 Expression deptExpression = buildDeptExpression(tableName,tableAlias, deptDataPermission.getDeptIds()); Expression userExpression = buildUserExpression(tableName, tableAlias, deptDataPermission.getSelf(), loginUser.getId()); diff --git a/hangtag-module-oms/hangtag-module-oms-biz/pom.xml b/hangtag-module-oms/hangtag-module-oms-biz/pom.xml index 791e6b1..3685b9c 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/pom.xml +++ b/hangtag-module-oms/hangtag-module-oms-biz/pom.xml @@ -102,6 +102,10 @@ x-easypdf 3.1.1 + + cn.hangtag + hangtag-spring-boot-starter-protection + diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/front/SaleOrderFrontController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/front/SaleOrderFrontController.java index fed8526..5fc3547 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/front/SaleOrderFrontController.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/front/SaleOrderFrontController.java @@ -1,6 +1,7 @@ package cn.hangtag.module.oms.controller.admin.saleorder.front; import cn.hangtag.framework.common.pojo.CommonResult; +import cn.hangtag.framework.idempotent.core.annotation.Idempotent; import cn.hangtag.module.oms.controller.admin.saleorder.front.dto.CreateSaleOrderDTO; import cn.hangtag.module.oms.service.customer.CustomerService; import cn.hangtag.module.oms.service.saleorder.SaleOrderService; @@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.util.concurrent.TimeUnit; + import static cn.hangtag.framework.common.pojo.CommonResult.success; @Tag(name = "销售订单") @@ -31,6 +34,7 @@ public class SaleOrderFrontController { @PostMapping("/placeOrder") @Operation(summary = "下单") + @Idempotent(timeout = 10, timeUnit = TimeUnit.SECONDS, message = "正在创建订单中,请勿重复提交") public CommonResult placeOrder(@Valid @RequestBody CreateSaleOrderDTO dto) { return success(saleOrderService.placeOrder(dto)); } @@ -40,10 +44,10 @@ public class SaleOrderFrontController { return success(saleOrderService.editOrder(id,dto)); } - @GetMapping("/details/{id}") + @GetMapping("/details/{type}/{id}") @Operation(summary = "编辑订单") - public CommonResult placeOrder(@PathVariable Long id) { - CreateSaleOrderDTO dto = saleOrderService.queryEditOrder(id); + public CommonResult placeOrder(@PathVariable String type,@PathVariable Long id) { + CreateSaleOrderDTO dto = saleOrderService.queryEditOrder(id,type); return success(dto); } diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java index bf161d3..1688ac5 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java @@ -136,7 +136,7 @@ public interface SaleOrderService { * @param id ID * @return {@link CreateSaleOrderDTO } */ - CreateSaleOrderDTO queryEditOrder(Long id); + CreateSaleOrderDTO queryEditOrder(Long id,String type); /** * 查询上次订单品牌 diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java index b71fbb9..f0bae57 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -765,7 +765,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { CustomerDO customerDO = customerMapper.selectById(customerId); String orderFollowerUser = order.getOrderFollowerUser(); if (StringUtils.isNotBlank(orderFollowerUser) && customerDO!=null) { - AdminUserDO user = adminUserService.getUser(Long.valueOf("143")); + AdminUserDO user = adminUserService.getUser(Long.valueOf(orderFollowerUser)); String email = user.getEmail(); MailSendMessage message = new MailSendMessage(); message.setAccountId(1L); @@ -784,7 +784,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { @Transactional(rollbackFor = Exception.class) public Long editOrder(Long id, CreateSaleOrderDTO dto) { - SaleOrderDO saleOrderDO = checkEditOrder(id); + SaleOrderDO saleOrderDO = checkEditOrder(id,null); // 校验订单 SaleOrderDO order = new SaleOrderDO(dto); order.setId(saleOrderDO.getId()); @@ -1137,9 +1137,9 @@ public class SaleOrderServiceImpl implements SaleOrderService { } @Override - public CreateSaleOrderDTO queryEditOrder(Long id) { + public CreateSaleOrderDTO queryEditOrder(Long id,String type) { CreateSaleOrderDTO res = new CreateSaleOrderDTO(); - SaleOrderDO saleOrderDO = checkEditOrder(id); + SaleOrderDO saleOrderDO = checkEditOrder(id,type); BeanUtil.copyProperties(saleOrderDO, res); LambdaQueryWrapper entryQueryWrapper = new LambdaQueryWrapper<>(); entryQueryWrapper.eq(SaleOrderEntryDO::getParentId, saleOrderDO.getId()); @@ -1345,7 +1345,7 @@ public class SaleOrderServiceImpl implements SaleOrderService { } } - private SaleOrderDO checkEditOrder(Long id) { + private SaleOrderDO checkEditOrder(Long id,String type) { SaleOrderDO saleOrderDO = saleOrderMapper.selectById(id); AssertUtil.isEmpty(saleOrderDO, "订单不存在"); String billStatus = saleOrderDO.getBillStatus(); @@ -1353,7 +1353,9 @@ public class SaleOrderServiceImpl implements SaleOrderService { boolean order1 = BillStatusEnum.isCanEditOrder(billStatus); BillStatusEnum byValue = BillStatusEnum.getByValue(billStatus); AssertUtil.isEmpty(byValue, "订单状态异常"); - AssertUtil.isTrue(!order1, byValue.getName() + "状态不允许修改"); + if(!StringUtils.isNotBlank(type)){ + AssertUtil.isTrue(!order1, byValue.getName() + "状态不允许修改"); + } return saleOrderDO; } diff --git a/hangtag-ui/hangtag-ui-front/src/api/oms/saleorder/index.ts b/hangtag-ui/hangtag-ui-front/src/api/oms/saleorder/index.ts index bf472d8..6b7d455 100644 --- a/hangtag-ui/hangtag-ui-front/src/api/oms/saleorder/index.ts +++ b/hangtag-ui/hangtag-ui-front/src/api/oms/saleorder/index.ts @@ -120,8 +120,8 @@ export const SaleOrderApi = { return await request.post({ url: `/front/oms/sale-order/placeOrder`, data }) }, // 查询编辑订单 - queryEditById: async (id: string) => { - return await request.get({ url: `/front/oms/sale-order/details/${id}` }) + queryEditById: async (id: string,type: string) => { + return await request.get({ url: `/front/oms/sale-order/details/${type}/${id}` }) }, // 修改订单 editOrder: async (id: string,data: any) => { diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index.vue b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index.vue index 777b153..c01c060 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index.vue +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index.vue @@ -826,7 +826,7 @@ onMounted(async () => { } // 获取订单信息 if (queryParams.id) { - const res = await SaleOrderApi.queryEditById(queryParams.id); + const res = await SaleOrderApi.queryEditById(queryParams.id,queryParams.type); formData.value = res formData.value.bizdate = formatDate(new Date(res.bizdate), 'YYYY-MM-DD hh:mm:ss'); that.tmpFormData.planDate = formatDate(new Date(res.plansenddate), 'YYYY-MM-DD');