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');