提交 a8307fa4 作者: zhenjie

单位列表筛选限制、用户列表返回单位名称字段

上级 6084611b
...@@ -4,6 +4,7 @@ import com.mmc.iuav.user.entity.CompanyBackUserDO; ...@@ -4,6 +4,7 @@ import com.mmc.iuav.user.entity.CompanyBackUserDO;
import com.mmc.iuav.user.entity.CompanyInfoDO; import com.mmc.iuav.user.entity.CompanyInfoDO;
import com.mmc.iuav.user.model.qo.CompanyInfoQO; import com.mmc.iuav.user.model.qo.CompanyInfoQO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
...@@ -77,4 +78,11 @@ public interface CompanyDao { ...@@ -77,4 +78,11 @@ public interface CompanyDao {
* @return * @return
*/ */
int countCompanyBackUser(Integer id); int countCompanyBackUser(Integer id);
/**
* 通过用户id获取单位信息
* @param backUserIds
* @return
*/
List<CompanyInfoDO> listCompanyInfoByUID(@Param("backUserIds") List<Integer> backUserIds);
} }
...@@ -26,6 +26,7 @@ public class CompanyInfoDO implements Serializable { ...@@ -26,6 +26,7 @@ public class CompanyInfoDO implements Serializable {
private String companyUserName; private String companyUserName;
private String phoneNum; private String phoneNum;
private String remark; private String remark;
private Integer backUserAccountId;
public CompanyInfoVO buildCompanyInfoVO() { public CompanyInfoVO buildCompanyInfoVO() {
return CompanyInfoVO.builder().id(id).companyType(companyType).companyName(companyName).fullName(fullName).province(province) return CompanyInfoVO.builder().id(id).companyType(companyType).companyName(companyName).fullName(fullName).province(province)
......
...@@ -2,6 +2,7 @@ package com.mmc.iuav.user.service; ...@@ -2,6 +2,7 @@ package com.mmc.iuav.user.service;
import com.mmc.iuav.response.ResultBody; import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.entity.CompanyBackUserDO; import com.mmc.iuav.user.entity.CompanyBackUserDO;
import com.mmc.iuav.user.entity.CompanyInfoDO;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO; import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.CompanyInfoQO; import com.mmc.iuav.user.model.qo.CompanyInfoQO;
import com.mmc.iuav.user.model.vo.CompanyInfoVO; import com.mmc.iuav.user.model.vo.CompanyInfoVO;
...@@ -70,4 +71,11 @@ public interface CompanyService { ...@@ -70,4 +71,11 @@ public interface CompanyService {
void updateCompanyBackUser(CompanyBackUserDO companyBackUserDO); void updateCompanyBackUser(CompanyBackUserDO companyBackUserDO);
List<CompanyInfoVO> listCompanyPageBack(CompanyInfoQO companyInfoQO); List<CompanyInfoVO> listCompanyPageBack(CompanyInfoQO companyInfoQO);
/**
* 通过用户id获取单位信息
* @param backUserIds
* @return
*/
List<CompanyInfoDO> listCompanyInfoByUID(List<Integer> backUserIds);
} }
...@@ -8,6 +8,7 @@ import com.mmc.iuav.user.auth.PwdUtil; ...@@ -8,6 +8,7 @@ import com.mmc.iuav.user.auth.PwdUtil;
import com.mmc.iuav.user.dao.BackUserAccountDao; import com.mmc.iuav.user.dao.BackUserAccountDao;
import com.mmc.iuav.user.entity.BackUserAccountDO; import com.mmc.iuav.user.entity.BackUserAccountDO;
import com.mmc.iuav.user.entity.CompanyBackUserDO; import com.mmc.iuav.user.entity.CompanyBackUserDO;
import com.mmc.iuav.user.entity.CompanyInfoDO;
import com.mmc.iuav.user.model.qo.BUserAccountQO; import com.mmc.iuav.user.model.qo.BUserAccountQO;
import com.mmc.iuav.user.model.vo.BUserAccountVO; import com.mmc.iuav.user.model.vo.BUserAccountVO;
import com.mmc.iuav.user.model.vo.BackUserAccountVO; import com.mmc.iuav.user.model.vo.BackUserAccountVO;
...@@ -19,6 +20,7 @@ import org.springframework.stereotype.Service; ...@@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -98,7 +100,13 @@ public class BackUserAccountServiceImpl implements BackUserAccountService { ...@@ -98,7 +100,13 @@ public class BackUserAccountServiceImpl implements BackUserAccountService {
Integer pageNo = param.getPageNo(); Integer pageNo = param.getPageNo();
param.buildCurrentPage(); param.buildCurrentPage();
List<BackUserAccountDO> users = backUserAccountDao.listBackUserAccount(param); List<BackUserAccountDO> users = backUserAccountDao.listBackUserAccount(param);
List<Integer> backUserIds = users.stream().map(BackUserAccountDO::getId).collect(Collectors.toList());
List<BackUserAccountVO> collect = users.stream().map(BackUserAccountDO::buildBackUserAccountVO).collect(Collectors.toList()); List<BackUserAccountVO> collect = users.stream().map(BackUserAccountDO::buildBackUserAccountVO).collect(Collectors.toList());
List<CompanyInfoDO> companyInfoDOList = companyService.listCompanyInfoByUID(backUserIds);
if (!companyInfoDOList.isEmpty()){
Map<Integer, String> userCompanyNameMap = companyInfoDOList.stream().collect(Collectors.toMap(CompanyInfoDO::getBackUserAccountId, CompanyInfoDO::getCompanyName, (k1, k2) -> k2));
collect.forEach(d -> d.setCompanyName(userCompanyNameMap.get(d.getId())));
}
return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, collect)); return ResultBody.success(PageResult.buildPage(pageNo, param.getPageSize(), count, collect));
} }
......
...@@ -71,8 +71,9 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -71,8 +71,9 @@ public class CompanyServiceImpl implements CompanyService {
@Override @Override
public ResultBody<CompanyInfoVO> listCompanyPage(CompanyInfoQO param, LoginSuccessDTO loginSuccessDTO) { public ResultBody<CompanyInfoVO> listCompanyPage(CompanyInfoQO param, LoginSuccessDTO loginSuccessDTO) {
if (loginSuccessDTO.getCompanyInfoVO() != null && !loginSuccessDTO.getCompanyInfoVO().getCompanyType().equals(0)){ CompanyInfoDO companyInfoDO = companyDao.getCompanyInfoByBackUserAccountId(loginSuccessDTO.getUserAccountId());
param.setCompanyInfoId(loginSuccessDTO.getCompanyInfoVO().getId()); if (companyInfoDO != null && !companyInfoDO.getCompanyType().equals(0)){
param.setCompanyInfoId(companyInfoDO.getId());
} }
int count = companyDao.countListCompanyPage(param); int count = companyDao.countListCompanyPage(param);
if (count == 0){ if (count == 0){
...@@ -111,4 +112,10 @@ public class CompanyServiceImpl implements CompanyService { ...@@ -111,4 +112,10 @@ public class CompanyServiceImpl implements CompanyService {
List<CompanyInfoVO> companyInfoVOList = companyInfoDOS.stream().map(CompanyInfoDO::buildCompanyInfoVO).collect(Collectors.toList()); List<CompanyInfoVO> companyInfoVOList = companyInfoDOS.stream().map(CompanyInfoDO::buildCompanyInfoVO).collect(Collectors.toList());
return companyInfoVOList; return companyInfoVOList;
} }
@Override
public List<CompanyInfoDO> listCompanyInfoByUID(List<Integer> backUserIds) {
List<CompanyInfoDO> companyInfoDOList = companyDao.listCompanyInfoByUID(backUserIds);
return companyInfoDOList;
}
} }
...@@ -72,7 +72,7 @@ ...@@ -72,7 +72,7 @@
and company_name like CONCAT("%",#{companyName},"%") and company_name like CONCAT("%",#{companyName},"%")
</if> </if>
<if test="companyInfoId != null"> <if test="companyInfoId != null">
and companyInfoId = #{companyInfoId} and id = #{companyInfoId}
</if> </if>
</select> </select>
...@@ -84,7 +84,7 @@ ...@@ -84,7 +84,7 @@
and company_name like CONCAT("%",#{companyName},"%") and company_name like CONCAT("%",#{companyName},"%")
</if> </if>
<if test="companyInfoId != null"> <if test="companyInfoId != null">
and companyInfoId = #{companyInfoId} and id = #{companyInfoId}
</if> </if>
order by create_time desc order by create_time desc
limit #{pageNo}, #{pageSize} limit #{pageNo}, #{pageSize}
...@@ -101,4 +101,16 @@ ...@@ -101,4 +101,16 @@
select count(*) from company_info ci INNER JOIN company_back_user cbu ON ci.id = cbu.company_info_id select count(*) from company_info ci INNER JOIN company_back_user cbu ON ci.id = cbu.company_info_id
where ci.id = #{id} and ci.is_deleted = 0 where ci.id = #{id} and ci.is_deleted = 0
</select> </select>
<select id="listCompanyInfoByUID" resultType="com.mmc.iuav.user.entity.CompanyInfoDO">
SELECT ci.id, ci.company_type, ci.company_name, ci.full_name, ci.province, ci.city, ci.district, ci.address, ci.company_user_name,
ci.phone_num, ci.remark, ci.create_time, cbu.back_user_account_id
FROM company_info ci INNER JOIN company_back_user cbu ON ci.id = cbu.company_info_id
WHERE ci.is_deleted = 0
<if test="backUserIds != null">
<foreach collection="backUserIds" item="backUserAccountId" open="and cbu.back_user_account_id in (" close=")" separator=",">
#{backUserAccountId}
</foreach>
</if>
</select>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论