From bbb7d71fd40b1d0646b97f1f570fbe097c6dfff6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 27 Apr 2025 09:10:58 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E3=80=90bug-94=E3=80=91=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=AB=AF=EF=BC=8C=E4=BB=A3=E7=90=86=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=AD=90=E8=B4=A6=E5=8F=B7=E6=97=B6=EF=BC=8C=E5=85=B6=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E8=AF=AD=E7=A7=8D=EF=BC=8C=E8=81=8C=E4=BD=8D=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=AF=B9=E5=BA=94=E7=BF=BB=E8=AF=91=EF=BC=9B=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E7=AE=A1=E7=90=86=E7=AB=AF=E8=81=8C=E4=BD=8D=E3=80=81?= =?UTF-8?q?=E8=AF=AD=E7=A7=8D=E6=98=AF=E6=9C=89=E9=85=8D=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E8=AF=AD=E8=A8=80=E7=9A=84=E7=BF=BB=E8=AF=91=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当对应的语言没有配置时,取职位名称为语言值 --- .../com/nflg/mobilebroken/cfs/controller/UserController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/UserController.java b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/UserController.java index e0e14338..2f839ca2 100644 --- a/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/UserController.java +++ b/nflg-mobilebroken-cfs-app/src/main/java/com/nflg/mobilebroken/cfs/controller/UserController.java @@ -157,7 +157,7 @@ public class UserController extends ControllerBase { List list = datas.stream().map(d -> { List lvos = JSONUtil.toList(d.getPositionLanguage(), PositionLanguageVO.class); PositionLanguageVO lvo = lvos.stream().filter(l -> StrUtil.equals(l.getCode(), language)).findFirst().orElse(null); - return new TitleVO().setId(d.getId()).setName(d.getName()).setValue(Objects.isNull(lvo) ? d.getName() : lvo.getLanguageValue()); + return new TitleVO().setId(d.getId()).setName(d.getName()).setValue(Objects.isNull(lvo) || StrUtil.isBlank(lvo.getLanguageValue()) ? d.getName() : lvo.getLanguageValue()); }).collect(Collectors.toList()); return ApiResult.success(list); } From eb03112af460e77f2b159f38fd4fef0aa83010b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 27 Apr 2025 10:27:19 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix:=20=E3=80=90bug-96=E3=80=91=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=AB=AF=EF=BC=8C=E8=B4=A6=E5=8F=B7=E5=AE=A1=E6=A0=B8?= =?UTF-8?q?=E8=BF=99=E9=87=8C=EF=BC=8C=E6=89=80=E5=B1=9E=E5=8C=BA=E5=9F=9F?= =?UTF-8?q?=E8=B7=9F=E4=B8=8B=E4=B8=80=E8=A1=8C=E7=9A=84=E9=94=80=E5=94=AE?= =?UTF-8?q?=E4=BB=A3=E8=A1=A8=E5=86=85=E5=AE=B9=E9=87=8D=E5=8F=A0=E4=BA=86?= =?UTF-8?q?=EF=BC=8C=E5=A6=82=E6=9E=9C=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?= =?UTF-8?q?=EF=BC=8C=E5=A4=9A=E4=BD=99=E7=9A=84=E5=B1=95=E7=A4=BA=E7=9C=81?= =?UTF-8?q?=E7=95=A5=E5=8F=B7=EF=BC=8C=E9=BC=A0=E6=A0=87=E6=94=BE=E4=B8=8A?= =?UTF-8?q?=E5=8E=BB=E6=98=BE=E7=A4=BA=E5=AE=8C=E6=95=B4=E7=9A=84=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 区域名称排重 --- .../mobilebroken/admin/controller/AppUserController.java | 7 ++----- .../repository/service/ITBaseCustomerService.java | 3 ++- .../service/impl/AppUserApplyforServiceImpl.java | 3 ++- .../repository/service/impl/TBaseCustomerServiceImpl.java | 5 +++-- 4 files changed, 9 insertions(+), 9 deletions(-) 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 index 90f1bdaf..cf946be3 100644 --- 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 @@ -35,10 +35,7 @@ import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.time.Duration; import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.Base64; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; /** @@ -121,7 +118,7 @@ public class AppUserController extends ControllerBase { */ @GetMapping("getAreasByCompany") @ApiMark(moduleName = "代理商管理", apiName = "根据公司id获取区域列表",isPublic = true) - public ApiResult> getAreasByCompany(@Valid @RequestParam @NotNull List companyIds){ + public ApiResult> getAreasByCompany(@Valid @RequestParam @NotNull List companyIds){ return ApiResult.success(customerService.getAreas(companyIds)); } 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 7ba0fcd1..93c1a831 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 @@ -7,6 +7,7 @@ import com.nflg.mobilebroken.common.pojo.vo.CompanySimpleVO; import com.nflg.mobilebroken.repository.entity.TBaseCustomer; import org.apache.ibatis.annotations.Param; +import java.util.Collection; import java.util.List; /** @@ -30,5 +31,5 @@ public interface ITBaseCustomerService extends IService { List getSimpleCompanysFromAdmin(Integer userId); - List getAreas(List companyIds); + Collection getAreas(List companyIds); } 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 aae54b29..41bfdbc5 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 @@ -26,6 +26,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.Arrays; +import java.util.Collection; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -172,7 +173,7 @@ public class AppUserApplyforServiceImpl extends ServiceImpl areas=customerService.getAreas(Arrays.stream(appUser.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())); + Collection areas=customerService.getAreas(Arrays.stream(appUser.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList())); vo.setUser(new AppUserVO() .setAreaName(StrUtil.join(",",areas)) .setSalesUserName(appUser.getSalesUserName()) 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 cf16fea2..bf2a8bd0 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 @@ -15,6 +15,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Collection; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -105,7 +106,7 @@ public class TBaseCustomerServiceImpl extends ServiceImpl getAreas(List companyIds) { + public Collection getAreas(List companyIds) { return lambdaQuery() .eq(TBaseCustomer::getDelIs, 0) .eq(TBaseCustomer::getEnableState, 1) @@ -114,6 +115,6 @@ public class TBaseCustomerServiceImpl extends ServiceImpl StrUtil.split(name, ",").stream()) - .collect(Collectors.toList()); + .collect(Collectors.toSet()); } } From d4dfb8746027990e51e7cb0e52afec92079d6610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 27 Apr 2025 10:28:16 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AB=AF=E7=94=A8=E6=88=B7id=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E7=94=A8=E6=88=B7token=E7=9A=84=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=EF=BC=8C=E7=94=A8=E4=BA=8E=E6=A8=A1=E6=8B=9F?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E7=9A=84=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/controller/TestController.java | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/TestController.java b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/TestController.java index b4e6b789..68aa2517 100644 --- a/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/TestController.java +++ b/nflg-mobilebroken-auth/src/main/java/com/nflg/mobilebroken/auth/controller/TestController.java @@ -2,6 +2,7 @@ package com.nflg.mobilebroken.auth.controller; import cn.dev33.satoken.stp.SaLoginConfig; import cn.dev33.satoken.stp.SaTokenInfo; +import cn.hutool.core.util.StrUtil; import com.nflg.mobilebroken.common.pojo.ApiResult; import com.nflg.mobilebroken.common.util.SaTokenAppUtil; import com.nflg.mobilebroken.common.util.VUtils; @@ -13,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; -import java.util.Arrays; import java.util.Objects; +import java.util.stream.Collectors; /** * 测试相关 @@ -27,18 +28,20 @@ public class TestController extends ControllerBase { private IAppUserService appUserService; /** - * 获取token + * 获取用户端token * @param userId 用户端用户id * @return token */ - @GetMapping("getToken") - public ApiResult getToken(@RequestParam Integer userId){ + @GetMapping("app/getToken") + public ApiResult getAppToken(@RequestParam Integer userId){ AppUser user=appUserService.getById(userId); VUtils.trueThrowBusinessError(Objects.isNull(user)).throwMessage("没有找到用户"); - SaTokenAppUtil.login(userId, SaLoginConfig + SaTokenAppUtil.login(user.getId(), SaLoginConfig + .setExtra("from", "app") .setExtra("name", user.getName()) - .setExtra("companys", Arrays.asList(1,2)) - .setExtra("isPrimary",user.getIsPrimary())); + .setExtra("email", user.getEmail()) + .setExtra("companyIds", StrUtil.split(user.getCompanyId(), ",").stream().map(Integer::valueOf).collect(Collectors.toList())) + .setExtra("isPrimary", user.getIsPrimary())); return ApiResult.success(SaTokenAppUtil.getTokenInfo()); } } From 64ed31119151ad0a7ad6da6c27cef3ca2a1c82e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E9=B9=8F=E9=A3=9E?= Date: Sun, 27 Apr 2025 10:48:57 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E3=80=90bug-101=E3=80=91=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=AB=AF=EF=BC=8C=E6=9B=B4=E6=94=B9=E4=B8=BB=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E5=85=B3=E8=81=94=E7=9A=84=E4=BB=A3=E7=90=86=E5=95=86?= =?UTF-8?q?=E5=85=AC=E5=8F=B8=EF=BC=8C=E5=8E=BB=E6=8E=89=E4=B8=80=E4=B8=AA?= =?UTF-8?q?=E9=87=8D=E5=A4=8D=E7=9A=84=E5=B0=8F=E5=86=99=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=90=86=E5=95=86=E5=85=AC=E5=8F=B8=EF=BC=8C=E5=B9=B6=E5=85=B3?= =?UTF-8?q?=E8=81=94=E4=BA=86=E4=B8=80=E4=B8=AA=E6=96=B0=E5=A2=9E=E7=9A=84?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E5=95=86=E5=85=AC=E5=8F=B8=EF=BC=8C=E4=BF=9D?= =?UTF-8?q?=E5=AD=98=E6=97=B6=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 如果移除了公司,则检查被移除的公司是否绑定了子账号,如果绑定了,则不允许移除 --- .../admin/controller/AppUserController.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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 index cf946be3..d09a0285 100644 --- 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 @@ -204,7 +204,18 @@ public class AppUserController extends ControllerBase { appUserService.updateById(user); } - public void updatePrimaryAppUser(AppUser user,AppUserUpdateRequest request) throws MessagingException { + public void updatePrimaryAppUser(AppUser user,AppUserUpdateRequest request) { + Collection currentCompanyIds=StrUtil.split(user.getCompanyId(),",").stream().map(Integer::parseInt).collect(Collectors.toSet()); + currentCompanyIds.removeAll(request.getCompanyIds()); + if (CollectionUtil.isNotEmpty(currentCompanyIds)){ + //删除了一些公司,需要判断被删除的公司是否被其他代理商子账号关联,如果被删除的公司下有子账号,则不允许删除 + VUtils.trueThrowBusinessError(appUserService.lambdaQuery() + .eq(AppUser::getIsDel,false) + .eq(AppUser::getIsPrimary,false) + .in(AppUser::getCompanyId, currentCompanyIds) + .exists()) + .throwMessage("被移除的公司存在子账号,移除失败"); + } List companyIds = appUserService.lambdaQuery() .select(AppUser::getCompanyId) .eq(AppUser::getIsPrimary, true)