Merge branch 'hotfix/master-20250425' into feature/202504-1

This commit is contained in:
曹鹏飞 2025-04-27 10:49:47 +08:00
commit 461f2fd1d0
6 changed files with 32 additions and 18 deletions

View File

@ -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<List<String>> getAreasByCompany(@Valid @RequestParam @NotNull List<Integer> companyIds){
public ApiResult<Collection<String>> getAreasByCompany(@Valid @RequestParam @NotNull List<Integer> companyIds){
return ApiResult.success(customerService.getAreas(companyIds));
}
@ -207,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<Integer> 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<Integer> companyIds = appUserService.lambdaQuery()
.select(AppUser::getCompanyId)
.eq(AppUser::getIsPrimary, true)

View File

@ -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<SaTokenInfo> getToken(@RequestParam Integer userId){
@GetMapping("app/getToken")
public ApiResult<SaTokenInfo> 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());
}
}

View File

@ -157,7 +157,7 @@ public class UserController extends ControllerBase {
List<TitleVO> list = datas.stream().map(d -> {
List<PositionLanguageVO> 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);
}

View File

@ -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<TBaseCustomer> {
List<CompanySimpleVO> getSimpleCompanysFromAdmin(Integer userId);
List<String> getAreas(List<Integer> companyIds);
Collection<String> getAreas(List<Integer> companyIds);
}

View File

@ -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<AppUserApplyforMappe
}
vo.setApplyfor(applyforInfo);
appUser = appUserService.getById(applyfor.getCreateBy());
List<String> areas=customerService.getAreas(Arrays.stream(appUser.getCompanyId().split(",")).map(Integer::parseInt).collect(Collectors.toList()));
Collection<String> 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())

View File

@ -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<TBaseCustomerMapper, T
}
@Override
public List<String> getAreas(List<Integer> companyIds) {
public Collection<String> getAreas(List<Integer> companyIds) {
return lambdaQuery()
.eq(TBaseCustomer::getDelIs, 0)
.eq(TBaseCustomer::getEnableState, 1)
@ -114,6 +115,6 @@ public class TBaseCustomerServiceImpl extends ServiceImpl<TBaseCustomerMapper, T
.stream()
.map(TBaseCustomer::getAreaName)
.flatMap(name -> StrUtil.split(name, ",").stream())
.collect(Collectors.toList());
.collect(Collectors.toSet());
}
}