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/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/controller/admin/saleorder/front/dto/CreateSaleOrderDTO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/front/dto/CreateSaleOrderDTO.java index bb59a01..00e96ec 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/front/dto/CreateSaleOrderDTO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/front/dto/CreateSaleOrderDTO.java @@ -109,6 +109,12 @@ public class CreateSaleOrderDTO implements Serializable { */ private String currency; + /** + * 订单方式 + */ + private String type; + + /** * 驳回原因 */ 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 8e7ed0f..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 @@ -759,6 +759,24 @@ public class SaleOrderServiceImpl implements SaleOrderService { skuOrderSkuMapper.insertBatch(skuList); updateCustomerInvoiceData(order); + + //发送下单邮件 + Long customerId = order.getCustomerId(); + CustomerDO customerDO = customerMapper.selectById(customerId); + String orderFollowerUser = order.getOrderFollowerUser(); + if (StringUtils.isNotBlank(orderFollowerUser) && customerDO!=null) { + AdminUserDO user = adminUserService.getUser(Long.valueOf(orderFollowerUser)); + String email = user.getEmail(); + MailSendMessage message = new MailSendMessage(); + message.setAccountId(1L); + message.setMail(email); + message.setTitle("OMS订单系统"); + StringBuffer content = new StringBuffer(); + content.append("您好,客户:"+customerDO.getName()+" 来新的订单啦,订单号:" + order.getBillno() + ",下单时间:"+DateUtil.date().toString()+" 请进行处理!"); + message.setContent(content.toString()); + mailSendService.doSendMail(message); + } + return order.getId(); } @@ -766,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()); @@ -1119,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()); @@ -1327,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(); @@ -1335,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-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserServiceImpl.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserServiceImpl.java index 632037f..1903b66 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserServiceImpl.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserServiceImpl.java @@ -133,10 +133,10 @@ public class AdminUserServiceImpl implements AdminUserService { public void updateUser(UserSaveReqVO updateReqVO) { updateReqVO.setPassword(null); // 特殊:此处不更新密码 updateReqVO.setUsername(updateReqVO.getEmail()); + validateUsernameUnique(updateReqVO.getId(),updateReqVO.getUsername()); // 1. 校验正确性 AdminUserDO oldUser = validateUserForCreateOrUpdate(updateReqVO.getId(), updateReqVO.getUsername(), updateReqVO.getMobile(), updateReqVO.getEmail(), updateReqVO.getDeptId(), updateReqVO.getPostIds()); - // 2.1 更新用户 AdminUserDO updateObj = BeanUtils.toBean(updateReqVO, AdminUserDO.class); userMapper.updateById(updateObj); @@ -292,10 +292,10 @@ public class AdminUserServiceImpl implements AdminUserService { @Override public AdminUserDO getUser(Long id) { AdminUserDO adminUserDO = ADMIN_USERS_CACHE.get(id); - if(FuncUtil.isEmpty(adminUserDO)){ + //if(FuncUtil.isEmpty(adminUserDO)){ adminUserDO = userMapper.selectById(id); - ADMIN_USERS_CACHE.put(id,adminUserDO); - } + // ADMIN_USERS_CACHE.put(id,adminUserDO); + //} return adminUserDO; } diff --git a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/DataForm.vue b/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/DataForm.vue deleted file mode 100644 index bb29bf1..0000000 --- a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/DataForm.vue +++ /dev/null @@ -1,71 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/config.data.ts b/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/config.data.ts deleted file mode 100644 index f0decc7..0000000 --- a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/config.data.ts +++ /dev/null @@ -1,33 +0,0 @@ -import type { CrudSchema } from '@/hooks/web/useCrudSchemas' - -// 表单校验 -export const rules = reactive({ - -}) - -// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ -const crudSchemas = reactive([ - - { - label: 'code', - field: 'code', - width: 200, - isSearch: true, - }, - { - label: 'name', - field: 'name', - isSearch: true, - }, - { - label: 'remark', - field: 'remark', - isTable: false, - }, - { - label: 'options', - field: 'action', - isForm: false - } -]) -export const { allSchemas } = useCrudSchemas(crudSchemas) diff --git a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/index.vue b/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/index.vue deleted file mode 100644 index 4780f18..0000000 --- a/hangtag-ui/hangtag-ui-admin/src/components/Dialog/src/CustomerGroupDataListDialog/index.vue +++ /dev/null @@ -1,319 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-admin/src/locales/zh-CN.ts b/hangtag-ui/hangtag-ui-admin/src/locales/zh-CN.ts index 0fd03d9..9de991f 100644 --- a/hangtag-ui/hangtag-ui-admin/src/locales/zh-CN.ts +++ b/hangtag-ui/hangtag-ui-admin/src/locales/zh-CN.ts @@ -224,7 +224,7 @@ export default { toDo: '待办', introduction: '一个正经的简介', shortcutOperation: '快捷入口', - operationData: '运营数据', + operationData: '待处理任务', operation: '操作', index: '指数', personal: '个人', diff --git a/hangtag-ui/hangtag-ui-admin/src/views/Home/Index.vue b/hangtag-ui/hangtag-ui-admin/src/views/Home/Index.vue index 649f7f1..7aec719 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/Home/Index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/Home/Index.vue @@ -56,7 +56,7 @@ - + diff --git a/hangtag-ui/hangtag-ui-admin/src/views/Home/components/OperationDataCard.vue b/hangtag-ui/hangtag-ui-admin/src/views/Home/components/OperationDataCard.vue index 10ebe0d..8977d9e 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/Home/components/OperationDataCard.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/Home/components/OperationDataCard.vue @@ -1,7 +1,7 @@