|
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.persagy.fm.common.constant.enums.BoolEnum;
|
|
import com.persagy.fm.common.constant.enums.BoolEnum;
|
|
import com.persagy.fm.common.constant.enums.ValidEnum;
|
|
import com.persagy.fm.common.constant.enums.ValidEnum;
|
|
import com.persagy.fm.common.model.vo.SimpleObjVO;
|
|
import com.persagy.fm.common.model.vo.SimpleObjVO;
|
|
|
|
+import com.persagy.fm.common.response.FmResponseContent;
|
|
import com.persagy.fm.department.model.Department;
|
|
import com.persagy.fm.department.model.Department;
|
|
import com.persagy.fm.department.model.vo.DepSimpleObjVO;
|
|
import com.persagy.fm.department.model.vo.DepSimpleObjVO;
|
|
import com.persagy.fm.department.service.IDepartmentService;
|
|
import com.persagy.fm.department.service.IDepartmentService;
|
|
@@ -15,12 +16,14 @@ import com.persagy.fm.person.dao.PersonMapper;
|
|
import com.persagy.fm.person.model.ConvertPersonTool;
|
|
import com.persagy.fm.person.model.ConvertPersonTool;
|
|
import com.persagy.fm.person.model.Person;
|
|
import com.persagy.fm.person.model.Person;
|
|
import com.persagy.fm.person.model.dto.*;
|
|
import com.persagy.fm.person.model.dto.*;
|
|
|
|
+import com.persagy.fm.person.model.vo.AccountInfoVO;
|
|
import com.persagy.fm.person.model.vo.LatestJobNumberVO;
|
|
import com.persagy.fm.person.model.vo.LatestJobNumberVO;
|
|
import com.persagy.fm.person.model.vo.ResponsePersonItemVO;
|
|
import com.persagy.fm.person.model.vo.ResponsePersonItemVO;
|
|
import com.persagy.fm.person.model.vo.ResponsePersonListItemVO;
|
|
import com.persagy.fm.person.model.vo.ResponsePersonListItemVO;
|
|
import com.persagy.fm.person.service.IPersonQueryService;
|
|
import com.persagy.fm.person.service.IPersonQueryService;
|
|
import com.persagy.fm.profession.service.IProfessionService;
|
|
import com.persagy.fm.profession.service.IProfessionService;
|
|
import com.persagy.fm.saas.account.constant.enums.ExpireTypeEnum;
|
|
import com.persagy.fm.saas.account.constant.enums.ExpireTypeEnum;
|
|
|
|
+import com.persagy.fm.saas.account.model.dto.PageQuerySaasAccountByRoleIdsDTO;
|
|
import com.persagy.fm.saas.account.model.vo.SaasAccountListItemVO;
|
|
import com.persagy.fm.saas.account.model.vo.SaasAccountListItemVO;
|
|
import com.persagy.fm.saas.account.service.ISaasAccountService;
|
|
import com.persagy.fm.saas.account.service.ISaasAccountService;
|
|
import com.persagy.fm.saas.accountproject.model.SaasAccountProject;
|
|
import com.persagy.fm.saas.accountproject.model.SaasAccountProject;
|
|
@@ -39,6 +42,7 @@ import org.springframework.stereotype.Service;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
|
|
+import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -552,22 +556,57 @@ public class PersonQueryServiceImpl extends ServiceImpl<PersonMapper, Person>
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public IPage<ResponsePersonListItemVO> pageQueryByRoleIds(PageQueryByRoleIdsDTO pageQueryByRoleIdsDTO) {
|
|
|
|
- IPage<ResponsePersonListItemVO> result = new Page<>();
|
|
|
|
|
|
+ public IPage<AccountInfoVO> pageQueryByRoleIds(PageQueryByRoleIdsDTO pageQueryByRoleIdsDTO) {
|
|
|
|
+ IPage<AccountInfoVO> result = new Page<>();
|
|
|
|
+ personServiceCommonTool.emptyPageResult(result);
|
|
|
|
|
|
// 角色id为空,返回空结果
|
|
// 角色id为空,返回空结果
|
|
List<String> roleIds = pageQueryByRoleIdsDTO.getRoleIds();
|
|
List<String> roleIds = pageQueryByRoleIdsDTO.getRoleIds();
|
|
if (CollectionUtils.isEmpty(roleIds)) {
|
|
if (CollectionUtils.isEmpty(roleIds)) {
|
|
- personServiceCommonTool.emptyPageResult(result);
|
|
|
|
return result;
|
|
return result;
|
|
}
|
|
}
|
|
|
|
|
|
// 根据角色id查询角色关联的账号
|
|
// 根据角色id查询角色关联的账号
|
|
- List<String> accountIds = saasAccountRoleService.queryAccountIdByRoleIdList(roleIds);
|
|
|
|
|
|
+ PageQuerySaasAccountByRoleIdsDTO pageQuerySaasAccountByRoleIdsDTO = ConvertPersonTool.INSTANCE.
|
|
|
|
+ convert2PageQuerySaasAccountByRoleIdsDTO(pageQueryByRoleIdsDTO);
|
|
|
|
+ pageQuerySaasAccountByRoleIdsDTO.setPageInfo();
|
|
|
|
+ FmResponseContent<List<SaasAccountListItemVO>> pageResult = saasAccountService.pageQueryAccountsByRoleIds(
|
|
|
|
+ pageQuerySaasAccountByRoleIdsDTO);
|
|
|
|
+ Integer total = pageResult.getCount();
|
|
|
|
+
|
|
|
|
+ if (total <= 0) {
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
|
|
- // 根据账号查询账号关联的人员
|
|
|
|
- // TODO: 2021/4/30
|
|
|
|
- return pageQueryByAccountIds(accountIds);
|
|
|
|
|
|
+ List<SaasAccountListItemVO> content = pageResult.getContent();
|
|
|
|
+ List<String> accountIds = Lists.newArrayList();
|
|
|
|
+ if (!CollectionUtils.isEmpty(content)) {
|
|
|
|
+ accountIds = content.stream().map(SaasAccountListItemVO::getId).collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 查询人员信息
|
|
|
|
+ QueryWrapper<Person> queryWrapper = personServiceCommonTool.getDefaultPersonQueryWrapper();
|
|
|
|
+ queryWrapper.in(Person.PROP_ACCOUNT_ID, accountIds);
|
|
|
|
+ List<Person> persons = list(queryWrapper);
|
|
|
|
+ Map<String, Person> accountIdPersonMap = new HashMap<>();
|
|
|
|
+ if (!CollectionUtils.isEmpty(persons)) {
|
|
|
|
+ accountIdPersonMap = persons.stream().collect(Collectors.toMap(
|
|
|
|
+ Person::getAccountId,
|
|
|
|
+ person -> person,
|
|
|
|
+ (k1, k2) -> k1
|
|
|
|
+ ));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<AccountInfoVO> accountInfoVOS = Lists.newArrayList();
|
|
|
|
+ for (SaasAccountListItemVO saasAccountListItemVO : content) {
|
|
|
|
+ Person person = accountIdPersonMap.get(saasAccountListItemVO.getId());
|
|
|
|
+ AccountInfoVO accountInfoVO = ConvertPersonTool.INSTANCE.convert2AccountInfoVO(saasAccountListItemVO, person);
|
|
|
|
+ accountInfoVOS.add(accountInfoVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ result.setRecords(accountInfoVOS);
|
|
|
|
+ result.setTotal(total);
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|