fix 展示全部招商专员

This commit is contained in:
shuo.wang
2025-02-07 18:00:04 +08:00
parent 279ab0e0d4
commit 8b7b15aea1
4 changed files with 50 additions and 10 deletions

View File

@@ -212,4 +212,11 @@ public class ShopInfoDAO {
}
return shopInfoMapper.batchUpdate(list);
}
public List<ShopInfoDO> selectInvestmentByLines(List<Long> lineIds) {
if (CollectionUtils.isEmpty(lineIds)) {
return new ArrayList<>();
}
return shopInfoMapper.selectInvestmentByList(lineIds);
}
}

View File

@@ -117,4 +117,6 @@ public interface ShopInfoMapper extends Mapper<ShopInfoDO> {
List<ShopInfoDO> selectAllDataOrByLineId(@Param("lineId") Long lineId);
Boolean batchUpdate(List<ShopInfoDO> list);
List<ShopInfoDO> selectInvestmentByList (@Param("list") List<Long> list);
}

View File

@@ -381,6 +381,15 @@
</if>
</where>
</select>
<select id="selectInvestmentByList" resultType="com.cool.store.entity.ShopInfoDO">
select line_id as LineId,
investment_manager as InvestmentManager
from xfsg_shop_info
where line_id in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</select>
<update id="batchUpdate" parameterType="list">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">

View File

@@ -41,6 +41,8 @@ import java.util.stream.Stream;
@Service
public class LineServiceImpl implements LineService {
@Resource
ShopInfoDAO shopInfoDAO;
@Resource
LineInfoDAO lineInfoDAO;
@Resource
@@ -98,11 +100,21 @@ public class LineServiceImpl implements LineService {
Map<Integer, String> channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(Arrays.asList(lineInfo.getLineSource()));
result.setLineSourceName(channelMapByIds.get(lineInfo.getLineSource()));
}
if (StringUtil.isNotEmpty(lineInfo.getInvestmentManager())){
EnterpriseUserDO user = enterpriseUserDAO.getUserInfoById(lineInfo.getInvestmentManager());
result.setInvestmentManagerName(user.getName());
result.setInvestmentManagerMobile(user.getMobile());
List<ShopInfoDO> shopInfoDOS = shopInfoDAO.selectInvestmentByLines(Collections.singletonList(lineInfo.getId()));
Set<String> userIds = shopInfoDOS.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toSet());
userIds.add(lineInfo.getInvestmentManager());
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIds));
StringBuilder investmentManagerName = new StringBuilder();
for (String userId : userNameMap.keySet()){
investmentManagerName.append(userNameMap.get(userId)).append(",");
}
result.setInvestmentManagerName(investmentManagerName.toString().substring(0, investmentManagerName.length() - 1));
// if (StringUtil.isNotEmpty(lineInfo.getInvestmentManager())){
// EnterpriseUserDO user = enterpriseUserDAO.getUserInfoById(lineInfo.getInvestmentManager());
// result.setInvestmentManagerName(user.getName());
// result.setInvestmentManagerMobile(user.getMobile());
// }
if(lineInfo.getRegionId() != null && lineInfo.getRegionId() != 0){
Long bigRegionIdByAreaId = regionService.getBigRegionIdByAreaId(lineInfo.getWantShopAreaId());
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(Arrays.asList(bigRegionIdByAreaId, lineInfo.getRegionId()));
@@ -246,19 +258,22 @@ public class LineServiceImpl implements LineService {
PageHelper.startPage(partnerRequest.getPageNum(), partnerRequest.getPageSize());
List<LineInfoDO> lineInfoDOS = lineInfoDAO.partnerList(partnerRequest,areaName, userId, regionId);
PageInfo page = new PageInfo(lineInfoDOS);
List<Long> lineIds = lineInfoDOS.stream().map(LineInfoDO::getId).collect(Collectors.toList());
List<ShopInfoDO> shopInfoDOS = shopInfoDAO.selectInvestmentByLines(lineIds);
Map<Long,Set<String>> investmentManagerIdMapByLineId = shopInfoDOS.stream().collect(Collectors.groupingBy(ShopInfoDO::getLineId, Collectors.mapping(ShopInfoDO::getInvestmentManager, Collectors.toSet())));
Set<String> investmentManagerIds =shopInfoDOS.stream().map(ShopInfoDO::getInvestmentManager).collect(Collectors.toSet());
Map<Long, HyPartnerLabelDO> userPortraitMap = deskService.getUserPortraitMap(lineInfoDOS);
List<Long> wantShopAreaIdList = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getWantShopAreaId() != null).map(LineInfoDO::getWantShopAreaId).collect(Collectors.toList());
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(wantShopAreaIdList);
List<Integer> lineSourceIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getLineSource() != null).map(LineInfoDO::getLineSource).collect(Collectors.toList());
Map<Integer, String> channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(lineSourceIds);
List<String> userIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getInvestmentManager() != null).map(LineInfoDO::getInvestmentManager).collect(Collectors.toList());
Set<String> userIds = new HashSet<>();
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getInvestmentManager() != null).map(LineInfoDO::getInvestmentManager).collect(Collectors.toList()));
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getDevelopmentManager() != null).map(LineInfoDO::getDevelopmentManager).collect(Collectors.toList()));
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getUpdateUserId() != null).map(LineInfoDO::getUpdateUserId).collect(Collectors.toList()));
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIds);
userIds.addAll(investmentManagerIds);
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIds));
List<Long> lineIds = lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getId() != null).map(LineInfoDO::getId).collect(Collectors.toList());
List<SigningBaseInfoDO> signingBaseInfoDOS = intentAgreementMapper.selectByLineIds(lineIds);
Map<Long, Date> dateMap = signingBaseInfoDOS.stream().collect(Collectors.toMap(SigningBaseInfoDO::getLineId, SigningBaseInfoDO::getCreateTime));
@@ -275,12 +290,19 @@ public class LineServiceImpl implements LineService {
if (regionNameMap!=null){
partnerListVO.setRegionName(regionNameMap.get(x.getRegionId()));
}
StringBuilder investmentManagerUserName = new StringBuilder();
investmentManagerUserName.append(userNameMap.get(x.getInvestmentManager()));
if (investmentManagerIdMapByLineId.get(x.getId()) != null){
for (String s : investmentManagerIdMapByLineId.get(x.getId())){
investmentManagerUserName.append(",").append(userNameMap.get(s));
}
}
partnerListVO.setUpdateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getUpdateTime()));
partnerListVO.setLineSourceName(channelMapByIds.get(x.getLineSource()));
partnerListVO.setJoinStatus(x.getJoinStatus());
partnerListVO.setJoinMode(x.getJoinMode());
partnerListVO.setPartnerNum(x.getPartnerNum());
partnerListVO.setInvestmentManagerUserName(userNameMap.get(x.getInvestmentManager()));
partnerListVO.setInvestmentManagerUserName(investmentManagerUserName.toString());
partnerListVO.setUpdateUserName(userNameMap.get(x.getUpdateUserId()));
partnerListVO.setDevelopmentManagerUserName(userNameMap.get(x.getDevelopmentManager()));
partnerListVO.setWantShopNum(x.getWantShopNum());