From 7758098974591bf116077d786f153e07c0ec4850 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Mon, 27 Jan 2025 22:34:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ntroller.java => AdminUserController.java} | 4 +- .../admin/controller/AppUserController.java | 157 ++++++++++++++ .../auth/controller/AppController.java | 3 +- .../src/test/java/UserTest.java | 8 + .../ApproveAppUserApplyforRequest.java | 12 ++ .../pojo/request/EnableAppUserRequest.java | 15 ++ .../pojo/request/MigrateAppUserRequest.java | 13 ++ .../request/PrimaryAppUserAddRequest.java | 46 ++++ .../request/PrimaryAppUserUpdateRequest.java | 11 + .../pojo/request/RenewalAppUserRequest.java | 9 + .../request/SearchAppUserForAdminRequest.java | 24 +++ .../common/pojo/vo/AppUserApplyforInfoVO.java | 41 ++++ .../common/pojo/vo/AppUserApplyforVO.java | 20 ++ .../common/pojo/vo/AppUserForAdminVO.java | 66 ++++++ .../common/pojo/vo/AppUserVO.java | 6 +- .../common/pojo/vo/AreaSimpleVO.java | 2 +- .../common/pojo/vo/CompanySimpleVO.java | 15 ++ .../repository/entity/AdminRoleButtonMap.java | 2 +- .../repository/entity/AdminUserRoleMap.java | 2 +- .../repository/entity/AppUser.java | 24 ++- .../repository/entity/AppUserApplyfor.java | 15 +- .../mapper/DictionaryItemMapper.java | 2 + .../service/IAppUserApplyforService.java | 6 + .../repository/service/IAppUserService.java | 19 +- .../service/IDictionaryItemService.java | 2 + .../repository/service/ITBaseAreaService.java | 5 +- .../service/ITBaseCustomerService.java | 7 +- .../impl/AppUserApplyforServiceImpl.java | 101 ++++++++- .../service/impl/AppUserServiceImpl.java | 200 +++++++++++++++++- .../impl/DictionaryItemServiceImpl.java | 6 + .../service/impl/TBaseAreaServiceImpl.java | 18 +- .../impl/TBaseCustomerServiceImpl.java | 10 +- .../main/resources/mapper/AppUserMapper.xml | 12 +- .../resources/mapper/DictionaryItemMapper.xml | 6 + .../main/resources/mapper/TicketMapper.xml | 16 +- 35 files changed, 862 insertions(+), 43 deletions(-) rename nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/{AccountController.java => AdminUserController.java} (97%) create mode 100644 nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AppUserController.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/ApproveAppUserApplyforRequest.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/EnableAppUserRequest.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/MigrateAppUserRequest.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserAddRequest.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserUpdateRequest.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RenewalAppUserRequest.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SearchAppUserForAdminRequest.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserApplyforInfoVO.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserApplyforVO.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserForAdminVO.java create mode 100644 nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/CompanySimpleVO.java diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AccountController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java similarity index 97% rename from nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AccountController.java rename to nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java index ccc86453..aacaa32d 100644 --- a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AccountController.java +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AdminUserController.java @@ -27,8 +27,8 @@ import java.util.List; * @author 曹鹏飞 */ @RestController -@RequestMapping("/account") -public class AccountController { +@RequestMapping("/adminuser") +public class AdminUserController { @Resource private IAdminUserService adminUserService; diff --git a/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AppUserController.java b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AppUserController.java new file mode 100644 index 00000000..c634e076 --- /dev/null +++ b/nflg-mobilebroken-admin/src/main/java/com/nflg/mobilebroken/admin/controller/AppUserController.java @@ -0,0 +1,157 @@ +package com.nflg.mobilebroken.admin.controller; + +import com.nflg.mobilebroken.common.pojo.ApiResult; +import com.nflg.mobilebroken.common.pojo.PageData; +import com.nflg.mobilebroken.common.pojo.request.*; +import com.nflg.mobilebroken.common.pojo.vo.AppUserApplyforVO; +import com.nflg.mobilebroken.common.pojo.vo.AppUserForAdminVO; +import com.nflg.mobilebroken.common.pojo.vo.AreaSimpleVO; +import com.nflg.mobilebroken.common.pojo.vo.CompanySimpleVO; +import com.nflg.mobilebroken.repository.service.IAppUserApplyforService; +import com.nflg.mobilebroken.repository.service.IAppUserService; +import com.nflg.mobilebroken.repository.service.ITBaseAreaService; +import com.nflg.mobilebroken.repository.service.ITBaseCustomerService; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; + +/** + * 代理商相关接口 + * + * @author 曹鹏飞 + */ +@RestController +@RequestMapping("/appuser") +public class AppUserController { + + @Resource + private IAppUserService appUserService; + + @Resource + private ITBaseCustomerService customerService; + + @Resource + private ITBaseAreaService areaService; + + @Resource + private IAppUserApplyforService appUserApplyforService; + + /** + * 获取公司列表 + * + * @return 部门列表 + */ + @PostMapping("getSimpleCompanys") + public ApiResult> getSimpleCompanys() { + return ApiResult.success(customerService.getSimpleCompanys()); + } + + /** + * 获取区域列表 + * + * @return 部门列表 + */ + @PostMapping("getSimpleAreas") + public ApiResult> getSimpleAreas() { + return ApiResult.success(areaService.getSimpleAreas()); + } + + /** + * 添加代理商主账号 + * + * @param request 请求参数 + */ + @PostMapping("addPrimaryAppUser") + private ApiResult addPrimaryAppUser(@Valid @RequestBody PrimaryAppUserAddRequest request) { + appUserService.addPrimaryAppUser(request); + return ApiResult.success(); + } + + /** + * 更新代理商主账号 + * + * @param request 请求参数 + */ + @PostMapping("updatePrimaryAppUser") + private ApiResult updatePrimaryAppUser(@Valid @RequestBody PrimaryAppUserUpdateRequest request) { + appUserService.updatePrimaryAppUser(request); + return ApiResult.success(); + } + + /** + * 代理商子账号审核 + * + * @param id 审批id + */ + @GetMapping("getAppUserApplyfor") + public ApiResult getAppUserApplyfor(@Valid @RequestParam Integer id) { + return ApiResult.success(appUserApplyforService.getAppUserApplyfor(id)); + } + + /** + * 代理商子账号审核 + * + * @param request 审批信息 + */ + @PostMapping("approveAppUserApplyfor") + public ApiResult approveAppUserApplyfor(@Valid @RequestBody ApproveAppUserApplyforRequest request) { + appUserApplyforService.approveAppUserApplyfor(request); + return ApiResult.success(); + } + + /** + * 代理商续期 + * + * @param request 请求参数 + */ + @PostMapping("renewalAppUser") + public ApiResult renewalAppUser(@Valid @RequestBody RenewalAppUserRequest request) { + //TODO 代理商续期 +// appUserService.renewal(request); + return ApiResult.success(); + } + + /** + * 代理商迁移 + * + * @param request 请求参数 + */ + @PostMapping("migrateAppUser") + public ApiResult migrateAppUser(@Valid @RequestBody MigrateAppUserRequest request) { + appUserService.migrate(request); + return ApiResult.success(); + } + + /** + * 搜索代理商主账号列表 + * + * @param request 请求参数 + */ + @PostMapping("searchAppUserForAdmin") + public ApiResult> searchAppUserForAdmin(@Valid @RequestBody SearchAppUserForAdminRequest request) { + return ApiResult.success(appUserService.searchAppUserForAdmin(request)); + } + + /** + * 搜索代理商子账号列表 + * + * @param id 主账号id + */ + @GetMapping("getChildrenOfAppUser") + public ApiResult> getChildrenOfAppUser(@Valid @RequestParam Integer id) { + return ApiResult.success(appUserService.getChildrenOfAppUser(id)); + } + + /** + * 启用/禁用代理商 + * + * @param request 请求参数 + */ + @PostMapping("enableAppUser") + public ApiResult enableAppUser(@Valid @RequestBody EnableAppUserRequest request) { + appUserService.enable(request); + return ApiResult.success(); + } +} \ No newline at end of file diff --git a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java index d9272dff..01e46a51 100644 --- a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java +++ b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/AppController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.time.LocalDateTime; +import java.time.chrono.ChronoLocalDate; import java.util.Arrays; import java.util.Objects; @@ -40,7 +41,7 @@ public class AppController { AppUser user=appUserService.getUser(userName,password); VUtils.trueThrow(Objects.isNull(user)).throwMessage(STATE.PassportErr,"用户名或密码错误"); VUtils.trueThrow(!user.getEnable()).throwMessage(STATE.PassportErr,"用户未启用,请联系管理员"); - VUtils.trueThrow(user.getExpireTime().isBefore(LocalDateTime.now())).throwMessage(STATE.PassportErr,"用户已过期,请联系管理员"); + VUtils.trueThrow(user.getExpireTime().isBefore(ChronoLocalDate.from(LocalDateTime.now()))).throwMessage(STATE.PassportErr, "用户已过期,请联系管理员"); SaTokenAppUtil.login(user.getId(), SaLoginConfig .setExtra("name", user.getName()) .setExtra("companys", Arrays.asList(1,2)) diff --git a/nflg-mobilebroken-cfs-app/src/test/java/UserTest.java b/nflg-mobilebroken-cfs-app/src/test/java/UserTest.java index 1f375e58..32771e79 100644 --- a/nflg-mobilebroken-cfs-app/src/test/java/UserTest.java +++ b/nflg-mobilebroken-cfs-app/src/test/java/UserTest.java @@ -6,6 +6,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase; import org.springframework.boot.test.context.SpringBootTest; +import java.time.LocalDateTime; + @SpringBootTest(classes = {CfsApplication.class}) @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) public class UserTest { @@ -18,4 +20,10 @@ public class UserTest { public void getUserCount(){ System.out.println("用户数量: "+userService.list().size()); } + + @Test + public void test1() { + LocalDateTime date = LocalDateTime.of(LocalDateTime.now().getYear(), 1, 1, 0, 0, 0).plusYears(1).minusDays(1); + System.out.println(date); + } } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/ApproveAppUserApplyforRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/ApproveAppUserApplyforRequest.java new file mode 100644 index 00000000..14c7e623 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/ApproveAppUserApplyforRequest.java @@ -0,0 +1,12 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; + +@Data +public class ApproveAppUserApplyforRequest { + + private Integer id; + + // 通过/不通过 + private Boolean pass; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/EnableAppUserRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/EnableAppUserRequest.java new file mode 100644 index 00000000..ada41e41 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/EnableAppUserRequest.java @@ -0,0 +1,15 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; + +import java.util.List; + +@Data +public class EnableAppUserRequest { + + // 是否启用 + private Boolean enable; + + // 用户id列表 + private List ids; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/MigrateAppUserRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/MigrateAppUserRequest.java new file mode 100644 index 00000000..07184d8a --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/MigrateAppUserRequest.java @@ -0,0 +1,13 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; + +@Data +public class MigrateAppUserRequest { + + // 旧公司id + private Integer oldCompanyId; + + // 新公司id + private Integer newCompanyId; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserAddRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserAddRequest.java new file mode 100644 index 00000000..a5d2f781 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserAddRequest.java @@ -0,0 +1,46 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.util.List; + +@Data +public class PrimaryAppUserAddRequest { + + //登录名 + @NotBlank + private String loginName; + + //用户名 + @NotBlank + private String userName; + + //公司id列表 + @NotEmpty + private List companyIds; + + //销售人员姓名 + @NotBlank + private String salesUserName; + + //邮箱 + @NotBlank + private String email; + + //手机 + private String phone; + + //区域id + @NotNull + private Integer areaId; + + //是否启用 + @NotNull + private Boolean enable; + + //头像 + private String avatar; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserUpdateRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserUpdateRequest.java new file mode 100644 index 00000000..4f8d0fc2 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/PrimaryAppUserUpdateRequest.java @@ -0,0 +1,11 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = false) +@Data +public class PrimaryAppUserUpdateRequest extends PrimaryAppUserAddRequest { + + private Integer id; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RenewalAppUserRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RenewalAppUserRequest.java new file mode 100644 index 00000000..f978a2e2 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/RenewalAppUserRequest.java @@ -0,0 +1,9 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; + +@Data +public class RenewalAppUserRequest { + + +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SearchAppUserForAdminRequest.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SearchAppUserForAdminRequest.java new file mode 100644 index 00000000..14a9ca82 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/request/SearchAppUserForAdminRequest.java @@ -0,0 +1,24 @@ +package com.nflg.mobilebroken.common.pojo.request; + +import lombok.Data; +import lombok.EqualsAndHashCode; + +@EqualsAndHashCode(callSuper = false) +@Data +public class SearchAppUserForAdminRequest extends PageRequest { + + // 登录名 + private String loginName; + + // 姓名 + private String name; + + //公司名称 + private String companyName; + + // 是否启用 + private Boolean enable; + + //状态,0:审核中,1:使用中,2:已过期 + private Integer state; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserApplyforInfoVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserApplyforInfoVO.java new file mode 100644 index 00000000..6b176fbf --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserApplyforInfoVO.java @@ -0,0 +1,41 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.time.LocalDateTime; + +@Data +@Accessors(chain = true) +public class AppUserApplyforInfoVO { + + // 头像 + private String avatar; + + //申请类型,0:新增账号;1:账号启用,2:账号延期 + private Integer type; + + //公司名称 + private String companyName; + + //区域名称 + private String areaName; + + //邮箱 + private String email; + + //用户名 + private String userName; + + //职位 + private String titleName; + + //手机 + private String phone; + + //申请原因 + private String reason; + + //申请时间 + private LocalDateTime createTime; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserApplyforVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserApplyforVO.java new file mode 100644 index 00000000..2944fad7 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserApplyforVO.java @@ -0,0 +1,20 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; + +import javax.validation.Valid; +import javax.validation.constraints.NotNull; + +@Data +public class AppUserApplyforVO { + + // 申请信息 + @Valid + @NotNull + private AppUserApplyforInfoVO applyfor; + + @Valid + @NotNull + // 申请人信息 + private AppUserVO user; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserForAdminVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserForAdminVO.java new file mode 100644 index 00000000..8b2f16a8 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserForAdminVO.java @@ -0,0 +1,66 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +import java.time.LocalDate; +import java.time.LocalDateTime; + +@Data +@Accessors(chain = true) +public class AppUserForAdminVO { + + //账号id + private Integer id; + + //头像 + private String avatar; + + //登录名 + private String loginName; + + //姓名 + private String userName; + + //公司名称 + private String companyName; + + //姓名 + private String name; + + //邮箱 + private String email; + + //销售人员姓名 + private String salesUserName; + + //区域名称 + private String areaName; + + //是否启用 + private boolean enable; + + //账号过期时间 + private LocalDate expireTime; + + //状态,0:审核中,1:使用中,2:已过期 + private Integer state; + + //创建人 + private String createBy; + + //创建时间 + private LocalDateTime createTime; + + //最后更新人 + private String updateBy; + + //最后更新时间 + private LocalDateTime updateTime; + + //最后登录时间 + private LocalDateTime lastLoginTime; + + //是否主账号 + private boolean isPrimary; +} diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserVO.java index 25b3fdb1..ac74929d 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AppUserVO.java @@ -3,6 +3,7 @@ package com.nflg.mobilebroken.common.pojo.vo; import lombok.Data; import lombok.experimental.Accessors; +import java.time.LocalDate; import java.time.LocalDateTime; @Data @@ -46,8 +47,11 @@ public class AppUserVO { private LocalDateTime lastLoginTime; //账号过期时间 - private LocalDateTime expireTime; + private LocalDate expireTime; //是否主账号 private boolean isPrimary; + + //销售人员姓名 + private String salesUserName; } diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AreaSimpleVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AreaSimpleVO.java index dd9c62fd..610a3a16 100644 --- a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AreaSimpleVO.java +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/AreaSimpleVO.java @@ -10,7 +10,7 @@ import java.util.List; public class AreaSimpleVO { //区域id - private int id; + private Long id; //区域名称 private String name; diff --git a/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/CompanySimpleVO.java b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/CompanySimpleVO.java new file mode 100644 index 00000000..28dad9d5 --- /dev/null +++ b/nflg-mobilebroken-common/src/main/java/com/nflg/mobilebroken/common/pojo/vo/CompanySimpleVO.java @@ -0,0 +1,15 @@ +package com.nflg.mobilebroken.common.pojo.vo; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class CompanySimpleVO { + + // 公司id + private Long id; + + // 公司名称 + private String name; +} diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminRoleButtonMap.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminRoleButtonMap.java index a38aa4ff..ba6c5eec 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminRoleButtonMap.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminRoleButtonMap.java @@ -11,7 +11,7 @@ import java.io.Serializable; /** *

- * + * *

* * @author 代码生成器生成 diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUserRoleMap.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUserRoleMap.java index daa3b5e7..79d9154a 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUserRoleMap.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AdminUserRoleMap.java @@ -11,7 +11,7 @@ import java.io.Serializable; /** *

- * + * *

* * @author 代码生成器生成 diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUser.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUser.java index 274fef03..44a9a9e2 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUser.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUser.java @@ -3,12 +3,14 @@ package com.nflg.mobilebroken.repository.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; +import java.io.Serializable; +import java.time.LocalDate; +import java.time.LocalDateTime; + /** *

* 用户端-用户 @@ -29,9 +31,9 @@ public class AppUser implements Serializable { private Integer id; /** - * 用户编号 + * 登录名 */ - private String code; + private String loginName; /** * 用户名称 @@ -71,13 +73,23 @@ public class AppUser implements Serializable { /** * 公司id */ - private Integer companyId; + private String companyId; /** * 是否是主账号,0:不是;1:是 */ private Boolean isPrimary; + /** + * 职位编码 + */ + private String titleCode; + + /** + * 所属销售代表 + */ + private String salesUserName; + /** * 创建人id */ @@ -106,5 +118,5 @@ public class AppUser implements Serializable { /** * 过期时间 */ - private LocalDateTime expireTime; + private LocalDate expireTime; } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUserApplyfor.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUserApplyfor.java index 6b34b716..41f968ff 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUserApplyfor.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/entity/AppUserApplyfor.java @@ -3,12 +3,13 @@ package com.nflg.mobilebroken.repository.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; +import java.io.Serializable; +import java.time.LocalDateTime; + /** *

* 用户端-用户申请 @@ -78,11 +79,21 @@ public class AppUserApplyfor implements Serializable { */ private Byte type; + /** + * 职位编码 + */ + private String titleCode; + /** * 处理状态,0:待审核,1:审核通过,2:审核不通过 */ private Byte state; + /** + * 所属销售代表 + */ + private String salesUserName; + /** * 创建人id */ diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/DictionaryItemMapper.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/DictionaryItemMapper.java index 4ace324d..ab4c8760 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/DictionaryItemMapper.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/mapper/DictionaryItemMapper.java @@ -17,4 +17,6 @@ public interface DictionaryItemMapper extends BaseMapper { @Select("SELECT di.id FROM dictionary_item di INNER JOIN dictionary d ON di.dictionary_id=d.id WHERE d.`name`=#{dictionaryName} AND di.`name`=#{dictionaryItemName}") Integer getId(@Param("dictionaryName") String dictionaryName, @Param("dictionaryItemName") String dictionaryItemName); + + String getName(String dictionaryCode, String itemCode); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserApplyforService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserApplyforService.java index 711b6174..555902ce 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserApplyforService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserApplyforService.java @@ -3,7 +3,9 @@ package com.nflg.mobilebroken.repository.service; import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.mobilebroken.common.pojo.request.AddUserRequest; import com.nflg.mobilebroken.common.pojo.request.ApplyForExtensionRequest; +import com.nflg.mobilebroken.common.pojo.request.ApproveAppUserApplyforRequest; import com.nflg.mobilebroken.common.pojo.request.EnableRequest; +import com.nflg.mobilebroken.common.pojo.vo.AppUserApplyforVO; import com.nflg.mobilebroken.repository.entity.AppUserApplyfor; /** @@ -21,4 +23,8 @@ public interface IAppUserApplyforService extends IService { void addEnable(EnableRequest request); void applyForExtension(ApplyForExtensionRequest request); + + AppUserApplyforVO getAppUserApplyfor(Integer id); + + void approveAppUserApplyfor(ApproveAppUserApplyforRequest request); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserService.java index 207063d4..0005d7ad 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IAppUserService.java @@ -2,11 +2,14 @@ package com.nflg.mobilebroken.repository.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; -import com.nflg.mobilebroken.common.pojo.request.UpdatePasswordRequest; -import com.nflg.mobilebroken.common.pojo.request.UserSearchRequest; +import com.nflg.mobilebroken.common.pojo.PageData; +import com.nflg.mobilebroken.common.pojo.request.*; +import com.nflg.mobilebroken.common.pojo.vo.AppUserForAdminVO; import com.nflg.mobilebroken.common.pojo.vo.AppUserVO; import com.nflg.mobilebroken.repository.entity.AppUser; +import java.util.List; + /** *

* 用户端-用户 服务类 @@ -28,4 +31,16 @@ public interface IAppUserService extends IService { void updatePassword(UpdatePasswordRequest request); AppUserVO getInfo(Integer userId); + + void addPrimaryAppUser(PrimaryAppUserAddRequest request); + + void updatePrimaryAppUser(PrimaryAppUserUpdateRequest request); + + void migrate(MigrateAppUserRequest request); + + PageData searchAppUserForAdmin(SearchAppUserForAdminRequest request); + + void enable(EnableAppUserRequest request); + + List getChildrenOfAppUser(Integer id); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IDictionaryItemService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IDictionaryItemService.java index 713d1be6..0245c991 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IDictionaryItemService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/IDictionaryItemService.java @@ -21,4 +21,6 @@ public interface IDictionaryItemService extends IService { void save(SaveDictionaryItemRequest request); Integer getId(String dictionaryName, String dictionaryItemName); + + String getTitleName(String titleCode); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITBaseAreaService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITBaseAreaService.java index 84dc2544..22ab24ed 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITBaseAreaService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITBaseAreaService.java @@ -1,10 +1,11 @@ package com.nflg.mobilebroken.repository.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery; +import com.nflg.mobilebroken.common.pojo.vo.AreaSimpleVO; import com.nflg.mobilebroken.common.pojo.vo.TBaseAreaVO; import com.nflg.mobilebroken.repository.entity.TBaseArea; -import com.baomidou.mybatisplus.extension.service.IService; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -24,4 +25,6 @@ public interface ITBaseAreaService extends IService { void delByIds(@Param("ids") List ids, String userNo, String userName); Integer getCount(); + + List getSimpleAreas(); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITBaseCustomerService.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITBaseCustomerService.java index 2a294738..0566bab1 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITBaseCustomerService.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/ITBaseCustomerService.java @@ -1,9 +1,10 @@ package com.nflg.mobilebroken.repository.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery; -import com.nflg.mobilebroken.repository.entity.TBaseCustomer; import com.baomidou.mybatisplus.extension.service.IService; +import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery; +import com.nflg.mobilebroken.common.pojo.vo.CompanySimpleVO; +import com.nflg.mobilebroken.repository.entity.TBaseCustomer; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -22,4 +23,6 @@ public interface ITBaseCustomerService extends IService { Page getList(@Param("page")Page page, @Param("query") PageBaseQuery query); void delByIds(@Param("ids") List ids ,@Param("userNo")String userNo , @Param("userName") String userName); + + List getSimpleCompanys(); } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppUserApplyforServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppUserApplyforServiceImpl.java index 099e28c8..ead698a9 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppUserApplyforServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/AppUserApplyforServiceImpl.java @@ -5,16 +5,27 @@ import com.nflg.mobilebroken.common.constant.AppUserApplyForState; import com.nflg.mobilebroken.common.constant.AppUserApplyforType; import com.nflg.mobilebroken.common.pojo.request.AddUserRequest; import com.nflg.mobilebroken.common.pojo.request.ApplyForExtensionRequest; +import com.nflg.mobilebroken.common.pojo.request.ApproveAppUserApplyforRequest; import com.nflg.mobilebroken.common.pojo.request.EnableRequest; +import com.nflg.mobilebroken.common.pojo.vo.AppUserApplyforInfoVO; +import com.nflg.mobilebroken.common.pojo.vo.AppUserApplyforVO; +import com.nflg.mobilebroken.common.pojo.vo.AppUserVO; import com.nflg.mobilebroken.common.util.TokenUtil; +import com.nflg.mobilebroken.common.util.VUtils; +import com.nflg.mobilebroken.repository.entity.AppArea; +import com.nflg.mobilebroken.repository.entity.AppUser; import com.nflg.mobilebroken.repository.entity.AppUserApplyfor; import com.nflg.mobilebroken.repository.mapper.AppUserApplyforMapper; +import com.nflg.mobilebroken.repository.service.IAppAreaService; import com.nflg.mobilebroken.repository.service.IAppUserApplyforService; -import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; -import org.springframework.security.crypto.password.PasswordEncoder; +import com.nflg.mobilebroken.repository.service.IAppUserService; +import com.nflg.mobilebroken.repository.service.IDictionaryItemService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.Objects; /** *

@@ -27,7 +38,14 @@ import java.time.LocalDateTime; @Service public class AppUserApplyforServiceImpl extends ServiceImpl implements IAppUserApplyforService { - private static final PasswordEncoder PASSWORDENCODER = new BCryptPasswordEncoder(); + @Resource + private IAppAreaService appAreaService; + + @Resource + private IDictionaryItemService dictionaryItemService; + + @Resource + private IAppUserService appUserService; @Override public void add(AddUserRequest request) { @@ -69,4 +87,81 @@ public class AppUserApplyforServiceImpl extends ServiceImpl @@ -31,11 +46,20 @@ public class AppUserServiceImpl extends ServiceImpl impl private static final PasswordEncoder PASSWORDENCODER = new BCryptPasswordEncoder(); + @Resource + private IAppAreaService appAreaService; + + @Resource + private IAppUserApplyforService appUserApplyforService; + + @Resource + private ITBaseCustomerService customerService; + @Override public AppUser getUser(String userName, String password) { String encodePassword=PASSWORDENCODER.encode(password); return lambdaQuery() - .eq(AppUser::getCode, userName) + .eq(AppUser::getLoginName, userName) .eq(AppUser::getPassword, encodePassword) .one(); } @@ -78,4 +102,172 @@ public class AppUserServiceImpl extends ServiceImpl impl public AppUserVO getInfo(Integer userId) { return baseMapper.getInfo(userId); } -} + + @Override + public void addPrimaryAppUser(PrimaryAppUserAddRequest request) { + VUtils.trueThrowBusinessError(lambdaQuery().eq(AppUser::getLoginName, request.getLoginName()).exists()) + .throwMessage("登录名已存在"); + AppUser user = new AppUser() + .setLoginName(request.getLoginName()) + .setName(request.getUserName()) + .setEmail(request.getEmail()) + .setPhone(request.getPhone()) + .setAreaId(request.getAreaId()) + .setCompanyId(StrUtil.join(",", request.getCompanyIds())) + .setIsPrimary(true) + .setSalesUserName(request.getSalesUserName()) + .setCreateBy(TokenUtil.getUserId()) + .setCreateTime(LocalDateTime.now()) + .setEnable(request.getEnable()) + .setExpireTime(LocalDateTime.of(LocalDateTime.now().getYear(), 12, 31, 0, 0, 0).toLocalDate()); + save(user); + } + + @Override + public void updatePrimaryAppUser(PrimaryAppUserUpdateRequest request) { + VUtils.trueThrowBusinessError(lambdaQuery() + .eq(AppUser::getLoginName, request.getLoginName()) + .ne(AppUser::getId, request.getId()) + .exists()) + .throwMessage("登录名已存在"); + AppUser user = new AppUser() + .setId(request.getId()) + .setLoginName(request.getLoginName()) + .setName(request.getUserName()) + .setEmail(request.getEmail()) + .setPhone(request.getPhone()) + .setAreaId(request.getAreaId()) + .setCompanyId(StrUtil.join(",", request.getCompanyIds())) + .setIsPrimary(true) + .setUpdateBy(TokenUtil.getUserId()) + .setUpdateTime(LocalDateTime.now()) + .setEnable(request.getEnable()); + updateById(user); + } + + @Override + public void migrate(MigrateAppUserRequest request) { + AppUser appUser = lambdaQuery() + .eq(AppUser::getCompanyId, "'" + request.getOldCompanyId() + "'") + .eq(AppUser::getIsPrimary, true) + .one(); + VUtils.trueThrowBusinessError(Objects.isNull(appUser)).throwMessage("代理商主账号不存在"); + lambdaUpdate() + .set(AppUser::getCompanyId, "'" + request.getNewCompanyId() + "'") + .set(AppUser::getExpireTime, appUser.getExpireTime()) + .set(AppUser::getUpdateBy, TokenUtil.getUserId()) + .set(AppUser::getUpdateTime, LocalDateTime.now()) + .eq(AppUser::getCompanyId, request.getOldCompanyId().toString()) + .eq(AppUser::getIsPrimary, false) + .update(); + } + + @Override + public PageData searchAppUserForAdmin(SearchAppUserForAdminRequest request) { + IPage page = lambdaQuery() + .eq(AppUser::getIsPrimary, true) + .like(StrUtil.isNotBlank(request.getLoginName()), AppUser::getLoginName, request.getLoginName()) + .like(StrUtil.isNotBlank(request.getName()), AppUser::getName, request.getName()) + .page(new Page<>(request.getPage(), request.getPageSize())); + return PageUtil.convert(page, d -> { + AppArea area = appAreaService.getById(d.getAreaId()); + AppUser appUser = getById(d.getCreateBy()); + String updateBy = null; + if (Objects.nonNull(d.getUpdateBy())) { + updateBy = getById(d.getUpdateBy()).getName(); + } + return new AppUserForAdminVO() + .setId(d.getId()) + .setAvatar(d.getAvatar()) + .setLoginName(d.getLoginName()) + .setUserName(d.getName()) + .setCompanyName(d.getCompanyId()) + .setName(d.getSalesUserName()) + .setEmail(d.getEmail()) + .setSalesUserName(d.getSalesUserName()) + .setAreaName(area.getName()) + .setEnable(d.getEnable()) + .setEnable(d.getEnable()) + .setExpireTime(d.getExpireTime()) + .setCreateBy(appUser.getName()) + .setCreateTime(d.getCreateTime()) + .setUpdateBy(updateBy) + .setPrimary(true) + .setState(d.getExpireTime().isAfter(ChronoLocalDate.from(LocalDateTime.now())) ? 1 : 2) + .setLastLoginTime(d.getLastLoginTime()); + }); + } + + @Override + public void enable(EnableAppUserRequest request) { + lambdaUpdate() + .set(AppUser::getEnable, request.getEnable()) + .set(AppUser::getUpdateBy, TokenUtil.getUserId()) + .set(AppUser::getUpdateTime, LocalDateTime.now()) + .in(AppUser::getId, request.getIds()) + .update(); + } + + @Override + public List getChildrenOfAppUser(Integer id) { + AppUser appUser = getById(id); + VUtils.trueThrowBusinessError(Objects.isNull(appUser)).throwMessage("主账号不存在"); + String[] companyIds = appUser.getCompanyId().split(","); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppUser::getIsPrimary, false); + queryWrapper.and(wrapper -> { + for (String companyId : companyIds) { + wrapper.or().eq(AppUser::getCompanyId, "'" + companyId + "'"); // 动态添加 OR 条件 + } + }); + List datas = baseMapper.selectList(queryWrapper); + List vos = datas.stream().map(d -> { + AppArea area = appAreaService.getById(d.getAreaId()); + AppUser createUser = getById(d.getCreateBy()); + String updateBy = null; + if (Objects.nonNull(d.getUpdateBy())) { + updateBy = getById(d.getUpdateBy()).getName(); + } + return new AppUserForAdminVO() + .setId(d.getId()) + .setAvatar(d.getAvatar()) + .setLoginName(d.getLoginName()) + .setUserName(d.getName()) + .setCompanyName(d.getCompanyId()) + .setName(d.getSalesUserName()) + .setEmail(d.getEmail()) + .setSalesUserName(d.getSalesUserName()) + .setAreaName(area.getName()) + .setEnable(d.getEnable()) + .setPrimary(false) + .setEnable(d.getEnable()) + .setExpireTime(d.getExpireTime()) + .setCreateBy(createUser.getName()) + .setCreateTime(d.getCreateTime()) + .setUpdateBy(updateBy) + .setState(d.getExpireTime().isAfter(ChronoLocalDate.from(LocalDateTime.now())) ? 1 : 2) + .setLastLoginTime(d.getLastLoginTime()); + }).collect(Collectors.toList()); + List applyforList = appUserApplyforService.lambdaQuery() + .eq(AppUserApplyfor::getState, AppUserApplyForState.PENDINGAPPROVAL.getState().byteValue()) + .list(); + vos.addAll(applyforList.stream().map(d -> { + AppArea area = appAreaService.getById(d.getAreaId()); + TBaseCustomer company = customerService.getById(d.getCompanyId()); + return new AppUserForAdminVO() + .setId(d.getId()) + .setAvatar(d.getUserAvatar()) + .setLoginName(d.getUserEmail()) + .setUserName(d.getUserName()) + .setCompanyName(company.getAgencyCompanyName()) + .setName(d.getSalesUserName()) + .setEmail(d.getUserEmail()) + .setSalesUserName(d.getSalesUserName()) + .setAreaName(area.getName()) + .setEnable(false) + .setPrimary(false) + .setState(0); + }).collect(Collectors.toList())); + return vos; + } +} \ No newline at end of file diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/DictionaryItemServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/DictionaryItemServiceImpl.java index 300d7c4c..2826e15c 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/DictionaryItemServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/DictionaryItemServiceImpl.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.nflg.mobilebroken.common.constant.Constant; import com.nflg.mobilebroken.common.pojo.request.DictionaryItemSearchRequest; import com.nflg.mobilebroken.common.pojo.request.SaveDictionaryItemRequest; import com.nflg.mobilebroken.common.pojo.request.TranslateMap; @@ -114,4 +115,9 @@ public class DictionaryItemServiceImpl extends ServiceImpl @@ -35,4 +37,18 @@ public class TBaseAreaServiceImpl extends ServiceImpl getSimpleAreas() { + List datas = lambdaQuery().eq(TBaseArea::getAreaState, 1).eq(TBaseArea::getParentAreaRowId, 0).list(); + List vos = datas.stream().map(d -> new AreaSimpleVO().setId(d.getId()).setName(d.getAreaName())).collect(Collectors.toList()); + vos.forEach(this::bindChildren); + return vos; + } + + private void bindChildren(AreaSimpleVO vo) { + List datas = lambdaQuery().eq(TBaseArea::getParentAreaRowId, vo.getId()).eq(TBaseArea::getAreaState, 1).list(); + List vos = datas.stream().map(d -> new AreaSimpleVO().setId(d.getId()).setName(d.getAreaName())).collect(Collectors.toList()); + vos.forEach(this::bindChildren); + } } diff --git a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TBaseCustomerServiceImpl.java b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TBaseCustomerServiceImpl.java index f43dd506..74cf59b1 100644 --- a/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TBaseCustomerServiceImpl.java +++ b/nflg-mobilebroken-repository/src/main/java/com/nflg/mobilebroken/repository/service/impl/TBaseCustomerServiceImpl.java @@ -1,15 +1,17 @@ package com.nflg.mobilebroken.repository.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nflg.mobilebroken.common.pojo.query.PageBaseQuery; +import com.nflg.mobilebroken.common.pojo.vo.CompanySimpleVO; import com.nflg.mobilebroken.repository.entity.TBaseCustomer; import com.nflg.mobilebroken.repository.mapper.TBaseCustomerMapper; import com.nflg.mobilebroken.repository.service.ITBaseCustomerService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -29,4 +31,10 @@ public class TBaseCustomerServiceImpl extends ServiceImpl ids ,@Param("userNo")String userNo , @Param("userName") String userName){ this.getBaseMapper().delByIds(ids,userNo,userName); } + + @Override + public List getSimpleCompanys() { + List datas = lambdaQuery().eq(TBaseCustomer::getEnableState, 1).eq(TBaseCustomer::getDelIs, 0).list(); + return datas.stream().map(d -> new CompanySimpleVO().setId(d.getId()).setName(d.getAgencyCompanyName())).collect(Collectors.toList()); + } } diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/AppUserMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/AppUserMapper.xml index 79440d50..cb7d7a60 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/AppUserMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/AppUserMapper.xml @@ -3,11 +3,11 @@ diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/DictionaryItemMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/DictionaryItemMapper.xml index a50b09e4..6ceca46f 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/DictionaryItemMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/DictionaryItemMapper.xml @@ -2,4 +2,10 @@ + diff --git a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml index 66745a58..05a71888 100644 --- a/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml +++ b/nflg-mobilebroken-repository/src/main/resources/mapper/TicketMapper.xml @@ -93,10 +93,10 @@ @@ -120,29 +120,29 @@