From 88f1e8779e518fbb24c894e944dd18bb063bfc63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Wed, 13 May 2026 15:54:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(adminUser):=20=E6=94=AF=E6=8C=81=E7=9B=B4?= =?UTF-8?q?=E9=94=80=E4=BA=BA=E5=91=98=E5=8C=BA=E5=9F=9F=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=8F=8A=E6=8A=A5=E4=BB=B7=E7=BC=96=E7=A0=81=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 AccountAddRequest 中新增 List areaIds 字段以支持区域列表 - 在 AdminUser 实体添加 areaIds 字段,多个区域以逗号分隔保存 - AdminUserController 中设置区域信息,并根据 categoryId 生成唯一报价编码 - 在 AdminUserServiceImpl 中校验直销人员必须选择区域,否则抛出业务异常 - 新增代码逻辑实现区域信息持久化及报价编码生成流程 - 优化查询代码格式,保持一致的代码风格 --- .../admin/controller/AdminUserController.java | 13 +++++++++---- .../common/pojo/request/AccountAddRequest.java | 6 ++++++ .../repository/entity/AdminUser.java | 5 +++++ .../service/impl/AdminUserServiceImpl.java | 18 ++++++++++++++---- 4 files changed, 34 insertions(+), 8 deletions(-) diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java index e2224385..03e0da47 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java @@ -18,10 +18,7 @@ import com.nflg.mobilebroken.common.util.AdminUserUtil; import com.nflg.mobilebroken.common.util.VUtils; import com.nflg.mobilebroken.repository.entity.AdminUser; import com.nflg.mobilebroken.repository.entity.TBaseDepartment; -import com.nflg.mobilebroken.repository.service.IAdminUserService; -import com.nflg.mobilebroken.repository.service.IDictionaryItemTranslateService; -import com.nflg.mobilebroken.repository.service.ITBaseDepartmentService; -import com.nflg.mobilebroken.repository.service.ITBasePositionService; +import com.nflg.mobilebroken.repository.service.*; import com.nflg.mobilebroken.starter.annotation.MethodInfoMark; import com.nflg.mobilebroken.starter.service.EmailService; import lombok.extern.slf4j.Slf4j; @@ -82,6 +79,9 @@ public class AdminUserController extends ControllerBase { @Resource private StringRedisTemplate stringRedisTemplate; + @Resource + private IAdminBaseSerialNumberService serialNumberService; + /** * 获取部门列表 * @return 部门列表 @@ -161,11 +161,16 @@ public class AdminUserController extends ControllerBase { .setGongFuHandler(request.isGongFuHandler()) .setGongfu(StrUtil.contains(request.getProductLine(), Constant.MOBILE_BROKEN)) .setCategoryId(request.getCategoryId()) + .setAreaIds(StrUtil.join(",", request.getAreaIds())) .setUpdateBy(AdminUserUtil.getUserId()) .setUpdateTime(LocalDateTime.now()); if (!Objects.equals(user.getState(), UserState.ToBeActivated.getState()) && Objects.nonNull(request.getEnable())) { user.setState(request.getEnable() ? UserState.Activated.getState() : UserState.Disabled.getState()); } + if (Objects.nonNull(request.getCategoryId()) && StrUtil.isBlank(user.getQuotationCode())) { + String quotationCode = serialNumberService.generateSerialNumber(0, "NF", "", false, 6); + user.setQuotationCode(quotationCode); + } adminUserService.updateById(user); return ApiResult.success(); } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AccountAddRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AccountAddRequest.java index b18e8c1d..846d8dad 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AccountAddRequest.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/AccountAddRequest.java @@ -6,6 +6,7 @@ import lombok.Data; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import java.util.List; @Data public class AccountAddRequest { @@ -59,4 +60,9 @@ public class AccountAddRequest { * 直销类别(国内、国外),字典id */ private Long categoryId; + + /** + * 区域id列表 + */ + private List areaIds; } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUser.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUser.java index c1bb5bb5..98e40c93 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUser.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUser.java @@ -144,6 +144,11 @@ public class AdminUser implements Serializable { */ private String quotationCode; + /** + * 区域id,多个用逗号分隔 + */ + private String areaIds; + @Override public boolean equals(Object o) { diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java index 71c29760..5530c21a 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AdminUserServiceImpl.java @@ -97,6 +97,8 @@ public class AdminUserServiceImpl extends ServiceImpl categories = CollectionUtil.isEmpty(categoryIds) ? Collections.emptyList() : dictionaryItemService.lambdaQuery() - .in(DictionaryItem::getId, categoryIds) - .list(); + .in(DictionaryItem::getId, categoryIds) + .list(); pageData.setItems(page.getRecords().stream().map(u -> { AdminUser userCreate = users.stream() .filter(it -> Objects.equals(it.getId(), u.getCreateBy()))