Merge #40 into master from cc_20251208_visit

fix:新老加盟商判断逻辑修复;统计接口新增筛选条件

* cc_20251208_visit: (25 commits squashed)

  - feat:拜访记录

  - fix:拜访详情接口新增字段

  - fix:新增状态转义字段

  - fix:惩处单查询提供惩处待处理、惩处已处理状态筛选

  - fix

  - fix:管理员能查看所有加盟商

  - fix:去掉部分字段非空校验

  - fix:空校验

  - Merge branch 'master' into cc_20251208_visit
    
    # Conflicts:
    #	coolstore-partner-common/src/main/java/com/cool/store/enums/ErrorCodeEnum.java
    #	coolstore-partner-dao/src/main/java/com/cool/store/dao/store/StoreMasterSignerInfoDAO.java
    #	coolstore-partner-service/src/main/java/com/cool/store/service/impl/UserAuthMappingServiceImpl.java

  - fix

  - fix:拜访记录失效延时消息

  - fix:拜访记录统计

  - fix:拜访记录统计新增筛选条件

  - fix:字段转义

  - feat:拜访调整

  - feat:拜访调整_过滤我的

  - feat:拜访调整_过滤我的

  - feat:拜访字段调整

  - feat:拜访字段调整

  - Merge branch 'master' into cc_20251208_visit

  - fix:拜访我的加盟商取消管辖权限过滤

  - Merge branch 'master' into cc_20251208_visit

  - fix:新增已分配招商经理的线索查询接口;拜访记录列表接口新增字段

  - fix:新增字段

  - fix:新老加盟商判断逻辑修复;统计接口新增筛选条件

Signed-off-by: 王非凡 <accounts_67eba0c5fee9c49c80c8e2b4@mail.teambition.com>
Merged-by: 正新 <accounts_6964c7bcd2a2c377c5bbd01b@mail.teambition.com>

CR-link: https://codeup.aliyun.com/692ea314dec569489f6f167c/hangzhou/java/custom_zxjp/change/40
This commit is contained in:
王非凡
2026-02-04 09:59:43 +00:00
committed by 正新
parent d3a331798c
commit 2e5d661b85
12 changed files with 117 additions and 8 deletions

View File

@@ -101,6 +101,11 @@ public interface LineService {
//增加查询资质审核的意向加盟商或正式加盟商搜索范围为全部
PageInfo<LineVO> getLines(LinesRequest request);
/**
* 查询已分配招商经理的所有线索
*/
PageInfo<LineVO> getLinesAssignInvestManager(LinesRequest request);
/**
* @Auther: wangshuo

View File

@@ -647,6 +647,13 @@ public class LineServiceImpl implements LineService {
return pageInfo;
}
@Override
public PageInfo<LineVO> getLinesAssignInvestManager(LinesRequest request) {
PageHelper.startPage(request.getPageNum(), request.getPageSize());
List<LineVO> lines = lineInfoDAO.getLinesAssignInvestManager(request.getKeyword());
return new PageInfo<>(lines);
}
@Override
public Integer updatePartnerName(String username, Long lineId) {
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId);

View File

@@ -10,6 +10,7 @@ import com.cool.store.dao.visit.VisitRecordDAO;
import com.cool.store.dto.region.BigRegionDTO;
import com.cool.store.entity.LineInfoDO;
import com.cool.store.entity.QualificationsInfoDO;
import com.cool.store.entity.RegionDO;
import com.cool.store.entity.StoreDO;
import com.cool.store.entity.store.StoreMasterSignerInfoDO;
import com.cool.store.entity.visit.VisitRecordDO;
@@ -59,6 +60,7 @@ public class VisitRecordServiceImpl implements VisitRecordService {
private final SimpleMessageService simpleMessageService;
private final AdDistrictDAO adDistrictDAO;
private final EnterpriseUserDAO enterpriseUserDAO;
private final RegionDao regionDao;
@Override
public String signIn(VisitSignInRequest request) {
@@ -129,6 +131,11 @@ public class VisitRecordServiceImpl implements VisitRecordService {
List<LineInfoDO> lineList = lineInfoDAO.getByLineIds(lineIds);
Map<Long, LineInfoDO> lineMap = CollStreamUtil.toMap(lineList, LineInfoDO::getId, v -> v);
Map<Long, Integer> storeNumMap = getStoreNumMap(lineIds);
Set<String> investmentManagerIds = CollStreamUtil.toSet(lineList, LineInfoDO::getInvestmentManager);
Set<Long> investRegionIds = CollStreamUtil.toSet(lineList, LineInfoDO::getInvestRegionId);
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(investmentManagerIds));
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(new ArrayList<>(investRegionIds));
list.forEach(v -> {
v.setOpenNum(storeNumMap.getOrDefault(v.getLineId(), 0));
v.setIsVeteran(v.getOpenNum() > 0 ? 1 : 0);
@@ -136,6 +143,8 @@ public class VisitRecordServiceImpl implements VisitRecordService {
if (Objects.nonNull(lineInfoDO)) {
v.setName(lineInfoDO.getUsername());
v.setMobile(lineInfoDO.getMobile());
v.setInvestmentManagerName(userNameMap.get(lineInfoDO.getInvestmentManager()));
v.setInvestRegionName(regionNameMap.get(lineInfoDO.getInvestRegionId()));
}
});
return result;
@@ -157,6 +166,7 @@ public class VisitRecordServiceImpl implements VisitRecordService {
storeNumMap.compute(signerInfoDO.getSigner2IdCardNo(), (k, v) -> Objects.isNull(v) ? 1 : v + 1);
}
}
storeNumMap.remove(null);
return CollStreamUtil.toMap(lineIds, v -> v, v -> storeNumMap.getOrDefault(idCardMap.get(v), 0));
}
@@ -198,6 +208,11 @@ public class VisitRecordServiceImpl implements VisitRecordService {
if (Objects.nonNull(lineInfo)) {
vo.setName(lineInfo.getUsername());
vo.setMobile(lineInfo.getMobile());
vo.setInvestmentManagerName(enterpriseUserDAO.getUserName(lineInfo.getInvestmentManager()));
RegionDO investRegion = regionDao.getRegionById(lineInfo.getInvestRegionId());
if (Objects.nonNull(investRegion)) {
vo.setInvestRegionName(investRegion.getName());
}
}
if (StringUtils.isNotBlank(record.getUserId())){
String userName = enterpriseUserDAO.getUserName(record.getUserId());
@@ -230,24 +245,27 @@ public class VisitRecordServiceImpl implements VisitRecordService {
List<VisitRecordListVO> list = visitRecordDAO.getVisitRecordList(request);
PageInfo<VisitRecordListVO> page = new PageInfo<>(list);
Set<Long> lineIds = CollStreamUtil.toSet(list, VisitRecordListVO::getLineId);
Set<String> userIdList = CollStreamUtil.toSet(list, VisitRecordListVO::getVisitUserId);
Map<String, String> userNameMap = new HashMap<>();
if (CollectionUtils.isNotEmpty(userIdList)){
userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIdList));
}
Set<String> userIdList = list.stream()
.flatMap(v -> Stream.of(v.getVisitUserId(), v.getInvestmentManager()))
.collect(Collectors.toSet());
Set<Long> regionIds = CollStreamUtil.toSet(list, VisitRecordListVO::getInvestRegionId);
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIdList));
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(new ArrayList<>(regionIds));
List<String> adCodes = list.stream()
.flatMap(v -> Stream.of(v.getDesireCity(), v.getDesireDistrict()))
.distinct()
.collect(Collectors.toList());
Map<String, String> adNameMap = adDistrictDAO.getNameByCodes(adCodes);
Map<Long, Integer> storeNumMap = getStoreNumMap(new ArrayList<>(lineIds));
Map<String, String> finalUserNameMap = userNameMap;
list.forEach(v -> {
v.setIsVeteran(storeNumMap.getOrDefault(v.getLineId(), 0) > 0 ? 1 : 0);
v.setDesireCityName(adNameMap.get(v.getDesireCity()));
v.setDesireDistrictName(adNameMap.get(v.getDesireDistrict()));
v.setVisitUserName(finalUserNameMap.get(v.getVisitUserId()));
v.setVisitUserName(userNameMap.get(v.getVisitUserId()));
v.setInvestRegionName(regionNameMap.get(v.getInvestRegionId()));
v.setInvestmentManagerName(userNameMap.get(v.getInvestmentManager()));
});
dictService.fillDictField(list);
return page;
}