|
|
|
|
@@ -72,11 +72,11 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
@Resource
|
|
|
|
|
JoinIntentionMapper joinIntentionMapper;
|
|
|
|
|
@Resource
|
|
|
|
|
LineInterviewDAO lineInterviewDAO;
|
|
|
|
|
LineInterviewDAO lineInterviewDAO;
|
|
|
|
|
@Resource
|
|
|
|
|
LineAuditInfoDAO lineAuditInfoDAO;
|
|
|
|
|
LineAuditInfoDAO lineAuditInfoDAO;
|
|
|
|
|
@Resource
|
|
|
|
|
LinePayDAO linePayDAO;
|
|
|
|
|
LinePayDAO linePayDAO;
|
|
|
|
|
@Resource
|
|
|
|
|
TrainingExperienceService trainingExperienceService;
|
|
|
|
|
@Resource
|
|
|
|
|
@@ -90,13 +90,13 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
LineInfoVO result = new LineInfoVO();
|
|
|
|
|
// 查询线索信息
|
|
|
|
|
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId);
|
|
|
|
|
if (lineInfo==null){
|
|
|
|
|
if (lineInfo == null) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
|
|
|
|
}
|
|
|
|
|
if (StringUtil.isBlank(lineInfo.getInvestmentManager())){
|
|
|
|
|
if (StringUtil.isBlank(lineInfo.getInvestmentManager())) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
if (lineInfo.getLineSource()!=null){
|
|
|
|
|
if (lineInfo.getLineSource() != null) {
|
|
|
|
|
Map<Integer, String> channelMapByIds = hyPartnerUserChannelDAO.getChannelMapByIds(Arrays.asList(lineInfo.getLineSource()));
|
|
|
|
|
result.setLineSourceName(channelMapByIds.get(lineInfo.getLineSource()));
|
|
|
|
|
}
|
|
|
|
|
@@ -106,7 +106,7 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
userIds.add(lineInfo.getInvestmentManager());
|
|
|
|
|
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(new ArrayList<>(userIds));
|
|
|
|
|
StringBuilder investmentManagerName = new StringBuilder();
|
|
|
|
|
for (String userId : userNameMap.keySet()){
|
|
|
|
|
for (String userId : userNameMap.keySet()) {
|
|
|
|
|
investmentManagerName.append(userNameMap.get(userId)).append(",");
|
|
|
|
|
}
|
|
|
|
|
result.setInvestmentManagerName(investmentManagerName.toString().substring(0, investmentManagerName.length() - 1));
|
|
|
|
|
@@ -115,64 +115,64 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
// result.setInvestmentManagerName(user.getName());
|
|
|
|
|
// result.setInvestmentManagerMobile(user.getMobile());
|
|
|
|
|
// }
|
|
|
|
|
if(lineInfo.getRegionId() != null && lineInfo.getRegionId() != 0){
|
|
|
|
|
if (lineInfo.getRegionId() != null && lineInfo.getRegionId() != 0) {
|
|
|
|
|
Long bigRegionIdByAreaId = regionService.getBigRegionIdByAreaId(lineInfo.getWantShopAreaId());
|
|
|
|
|
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(Arrays.asList(bigRegionIdByAreaId, lineInfo.getRegionId()));
|
|
|
|
|
result.setRegionId(lineInfo.getRegionId());
|
|
|
|
|
result.setRegionName(regionNameMap.get(lineInfo.getRegionId()));
|
|
|
|
|
}
|
|
|
|
|
LineAuditInfoDO lineAuditInfoDO = lineAuditInfoDAO.getAuditInfoByLineId(lineInfo.getId());
|
|
|
|
|
if (lineAuditInfoDO!=null){
|
|
|
|
|
if (lineAuditInfoDO != null) {
|
|
|
|
|
result.setRejectPublicReason(lineAuditInfoDO.getRejectPublicReason());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QualificationsInfoDO qualificationsInfoDO = qualificationsInfoDAO.getByLineId(lineInfo.getId());
|
|
|
|
|
Map<Long, HyPartnerLabelDO> userPortraitMap = deskService.getUserPortraitMap(Arrays.asList(lineInfo));
|
|
|
|
|
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(Arrays.asList(lineInfo.getWantShopAreaId()));
|
|
|
|
|
if (lineInfo.getWantShopAreaId()!=null){
|
|
|
|
|
Map<Long, String> wantShopAreaMap = hyOpenAreaInfoDAO.selectNameMapByIds(Arrays.asList(lineInfo.getWantShopAreaId()));
|
|
|
|
|
if (lineInfo.getWantShopAreaId() != null) {
|
|
|
|
|
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(lineInfo.getWantShopAreaId());
|
|
|
|
|
result.setWantShopProvinceId(hyOpenAreaInfoDO.getParentId());
|
|
|
|
|
}
|
|
|
|
|
BaseInfoVO baseInfoVO = deskService.convertToBaseInfoVO(lineInfo, userPortraitMap, wantShopAreaMap);
|
|
|
|
|
result.setWantShopAreaName(baseInfoVO.getWantShopAreaName());
|
|
|
|
|
result.setUserPortraitList(baseInfoVO.getUserPortraitList());
|
|
|
|
|
if (qualificationsInfoDO != null){
|
|
|
|
|
if (qualificationsInfoDO != null) {
|
|
|
|
|
result.setJoinType(qualificationsInfoDO.getJoinType());
|
|
|
|
|
}
|
|
|
|
|
BeanUtil.copyProperties(lineInfo,result);
|
|
|
|
|
BeanUtil.copyProperties(lineInfo, result);
|
|
|
|
|
return result;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public PageInfo<LineListVO> getLineList(LineListRequest lineListRequest, LoginUserInfo loginUserInfo,Boolean teamFlag) {
|
|
|
|
|
public PageInfo<LineListVO> getLineList(LineListRequest lineListRequest, LoginUserInfo loginUserInfo, Boolean teamFlag) {
|
|
|
|
|
List<Long> regionId = new ArrayList<>();
|
|
|
|
|
String userId = null;
|
|
|
|
|
if(!teamFlag){
|
|
|
|
|
if (!teamFlag) {
|
|
|
|
|
userId = loginUserInfo.getUserId();
|
|
|
|
|
}
|
|
|
|
|
if (teamFlag && !sysRoleService.checkIsAdmin(loginUserInfo.getUserId())){
|
|
|
|
|
if (teamFlag && !sysRoleService.checkIsAdmin(loginUserInfo.getUserId())) {
|
|
|
|
|
List<String> list = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(loginUserInfo.getUserId());
|
|
|
|
|
if (CollectionUtils.isNotEmpty(list)){
|
|
|
|
|
for (String s : list){
|
|
|
|
|
regionId.add(Long.valueOf(s));
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
|
|
for (String s : list) {
|
|
|
|
|
regionId.add(Long.valueOf(s));
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
userId = loginUserInfo.getUserId();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String areaName = null;
|
|
|
|
|
if (lineListRequest.getWantShopAreaId() != null){
|
|
|
|
|
if (lineListRequest.getWantShopAreaId() != null) {
|
|
|
|
|
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(lineListRequest.getWantShopAreaId());
|
|
|
|
|
areaName = hyOpenAreaInfoDO.getAreaPath();
|
|
|
|
|
areaName = hyOpenAreaInfoDO.getAreaPath();
|
|
|
|
|
}
|
|
|
|
|
List<String> subRegionIdsByRegionIds = regionService.getSubRegionIdsByRegionIds(lineListRequest.getRegionIds());
|
|
|
|
|
lineListRequest.setRegionIds(subRegionIdsByRegionIds);
|
|
|
|
|
PageHelper.startPage(lineListRequest.getPageNum(), lineListRequest.getPageSize());
|
|
|
|
|
List<LineInfoDO> lineInfoDOS = lineInfoDAO.lineList(lineListRequest,areaName, userId, regionId);
|
|
|
|
|
List<LineInfoDO> lineInfoDOS = lineInfoDAO.lineList(lineListRequest, areaName, userId, regionId);
|
|
|
|
|
PageInfo page = new PageInfo(lineInfoDOS);
|
|
|
|
|
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);
|
|
|
|
|
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());
|
|
|
|
|
@@ -180,11 +180,11 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIds);
|
|
|
|
|
List<Long> regionIds = lineInfoDOS.stream().filter(x -> x.getRegionId() != null).map(LineInfoDO::getRegionId).collect(Collectors.toList());
|
|
|
|
|
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(regionIds);
|
|
|
|
|
List<LineListVO> result = new ArrayList<>();
|
|
|
|
|
lineInfoDOS.forEach(x->{
|
|
|
|
|
List<LineListVO> result = new ArrayList<>();
|
|
|
|
|
lineInfoDOS.forEach(x -> {
|
|
|
|
|
BaseInfoVO baseInfoVO = deskService.convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
|
|
|
|
|
LineListVO lineListVO = new LineListVO(baseInfoVO);
|
|
|
|
|
if (regionNameMap!=null){
|
|
|
|
|
if (regionNameMap != null) {
|
|
|
|
|
lineListVO.setRegionName(regionNameMap.get(x.getRegionId()));
|
|
|
|
|
}
|
|
|
|
|
lineListVO.setCreateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getCreateTime()));
|
|
|
|
|
@@ -202,19 +202,19 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
@Override
|
|
|
|
|
public PageInfo<PublicLineListVO> getPublicLineList(PublicLineListRequest publicLineListRequest, LoginUserInfo loginUserInfo, Boolean publicFlag) {
|
|
|
|
|
PageHelper.startPage(publicLineListRequest.getPageNum(), publicLineListRequest.getPageSize());
|
|
|
|
|
List<LineInfoDO> lineInfoDOS = lineInfoDAO.publicLineList(publicLineListRequest,publicFlag);
|
|
|
|
|
List<LineInfoDO> lineInfoDOS = lineInfoDAO.publicLineList(publicLineListRequest, publicFlag);
|
|
|
|
|
PageInfo page = new PageInfo(lineInfoDOS);
|
|
|
|
|
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);
|
|
|
|
|
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());
|
|
|
|
|
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getCreateUserId() != null).map(LineInfoDO::getCreateUserId).collect(Collectors.toList()));
|
|
|
|
|
userIds.addAll(lineInfoDOS.stream().filter(lineInfoDO -> lineInfoDO.getDevelopmentManager() != null).map(LineInfoDO::getDevelopmentManager).collect(Collectors.toList()));
|
|
|
|
|
Map<String, String> userNameMap = enterpriseUserDAO.getUserNameMap(userIds);
|
|
|
|
|
List<PublicLineListVO> result = new ArrayList<>();
|
|
|
|
|
lineInfoDOS.forEach(x->{
|
|
|
|
|
List<PublicLineListVO> result = new ArrayList<>();
|
|
|
|
|
lineInfoDOS.forEach(x -> {
|
|
|
|
|
BaseInfoVO baseInfoVO = deskService.convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
|
|
|
|
|
PublicLineListVO publicLineListVO = new PublicLineListVO(baseInfoVO);
|
|
|
|
|
publicLineListVO.setCreateTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, x.getCreateTime()));
|
|
|
|
|
@@ -235,36 +235,36 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
|
|
|
|
|
List<Long> regionId = new ArrayList<>();
|
|
|
|
|
String userId = null;
|
|
|
|
|
if(!teamFlag){
|
|
|
|
|
if (!teamFlag) {
|
|
|
|
|
userId = loginUserInfo.getUserId();
|
|
|
|
|
}
|
|
|
|
|
if (teamFlag && !sysRoleService.checkIsAdmin(loginUserInfo.getUserId())){
|
|
|
|
|
if (teamFlag && !sysRoleService.checkIsAdmin(loginUserInfo.getUserId())) {
|
|
|
|
|
List<String> list = userAuthMappingService.getAuthRegionIdAndSubRegionIdByUserId(loginUserInfo.getUserId());
|
|
|
|
|
if (CollectionUtils.isNotEmpty(list)){
|
|
|
|
|
for (String s : list){
|
|
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
|
|
for (String s : list) {
|
|
|
|
|
regionId.add(Long.valueOf(s));
|
|
|
|
|
}
|
|
|
|
|
}else {
|
|
|
|
|
} else {
|
|
|
|
|
userId = loginUserInfo.getUserId();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String areaName = null;
|
|
|
|
|
if (partnerRequest.getWantShopAreaId() != null){
|
|
|
|
|
if (partnerRequest.getWantShopAreaId() != null) {
|
|
|
|
|
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(partnerRequest.getWantShopAreaId());
|
|
|
|
|
areaName = hyOpenAreaInfoDO.getAreaPath();
|
|
|
|
|
areaName = hyOpenAreaInfoDO.getAreaPath();
|
|
|
|
|
}
|
|
|
|
|
List<String> subRegionIdsByRegionIds = regionService.getSubRegionIdsByRegionIds(partnerRequest.getRegionIds());
|
|
|
|
|
partnerRequest.setRegionIds(subRegionIdsByRegionIds);
|
|
|
|
|
PageHelper.startPage(partnerRequest.getPageNum(), partnerRequest.getPageSize());
|
|
|
|
|
List<LineInfoDO> lineInfoDOS = lineInfoDAO.partnerList(partnerRequest,areaName, userId, regionId);
|
|
|
|
|
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, 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);
|
|
|
|
|
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);
|
|
|
|
|
Set<String> userIds = new HashSet<>();
|
|
|
|
|
@@ -279,19 +279,19 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
|
|
|
|
|
List<Long> regionIds = lineInfoDOS.stream().filter(x -> x.getRegionId() != null).map(LineInfoDO::getRegionId).collect(Collectors.toList());
|
|
|
|
|
Map<Long, String> regionNameMap = regionDao.getRegionNameMap(regionIds);
|
|
|
|
|
List<PartnerListVO> result = new ArrayList<>();
|
|
|
|
|
lineInfoDOS.forEach(x->{
|
|
|
|
|
List<PartnerListVO> result = new ArrayList<>();
|
|
|
|
|
lineInfoDOS.forEach(x -> {
|
|
|
|
|
BaseInfoVO baseInfoVO = deskService.convertToBaseInfoVO(x, userPortraitMap, wantShopAreaMap);
|
|
|
|
|
PartnerListVO partnerListVO = new PartnerListVO(baseInfoVO);
|
|
|
|
|
Date date = dateMap.get(x.getId());
|
|
|
|
|
if (date != null){
|
|
|
|
|
if (date != null) {
|
|
|
|
|
partnerListVO.setJoinTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, date));
|
|
|
|
|
}
|
|
|
|
|
if (regionNameMap!=null){
|
|
|
|
|
if (regionNameMap != null) {
|
|
|
|
|
partnerListVO.setRegionName(regionNameMap.get(x.getRegionId()));
|
|
|
|
|
}
|
|
|
|
|
StringBuilder investmentManagerUserName = new StringBuilder();
|
|
|
|
|
Set<String> userIdSet = investmentManagerIdMapByLineId.getOrDefault(x.getId(),new HashSet<>());
|
|
|
|
|
Set<String> userIdSet = investmentManagerIdMapByLineId.getOrDefault(x.getId(), new HashSet<>());
|
|
|
|
|
userIdSet.add(x.getInvestmentManager());
|
|
|
|
|
for (String s : userIdSet) {
|
|
|
|
|
investmentManagerUserName.append(userNameMap.get(s)).append(",");
|
|
|
|
|
@@ -301,7 +301,7 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
partnerListVO.setJoinStatus(x.getJoinStatus());
|
|
|
|
|
partnerListVO.setJoinMode(x.getJoinMode());
|
|
|
|
|
partnerListVO.setPartnerNum(x.getPartnerNum());
|
|
|
|
|
partnerListVO.setInvestmentManagerUserName(investmentManagerUserName.toString().substring(0, investmentManagerUserName.length()-1));
|
|
|
|
|
partnerListVO.setInvestmentManagerUserName(investmentManagerUserName.toString().substring(0, investmentManagerUserName.length() - 1));
|
|
|
|
|
partnerListVO.setUpdateUserName(userNameMap.get(x.getUpdateUserId()));
|
|
|
|
|
partnerListVO.setDevelopmentManagerUserName(userNameMap.get(x.getDevelopmentManager()));
|
|
|
|
|
partnerListVO.setWantShopNum(x.getWantShopNum());
|
|
|
|
|
@@ -314,30 +314,30 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean addTags(LoginUserInfo user, AddTagsRequest addTagsRequest) {
|
|
|
|
|
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(addTagsRequest.getLineId());
|
|
|
|
|
if (lineInfo==null){
|
|
|
|
|
if (lineInfo == null) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
|
|
|
|
}
|
|
|
|
|
lineInfo.setUpdateUserId(user.getUserId());
|
|
|
|
|
lineInfo.setUpdateTime(new Date());
|
|
|
|
|
lineInfo.setUserPortrait(CollectionUtils.isNotEmpty(addTagsRequest.getTags())?
|
|
|
|
|
addTagsRequest.getTags().stream().map(Object::toString).collect(Collectors.joining(CommonConstants.COMMA, CommonConstants.COMMA, CommonConstants.COMMA)):"");
|
|
|
|
|
lineInfo.setUserPortrait(CollectionUtils.isNotEmpty(addTagsRequest.getTags()) ?
|
|
|
|
|
addTagsRequest.getTags().stream().map(Object::toString).collect(Collectors.joining(CommonConstants.COMMA, CommonConstants.COMMA, CommonConstants.COMMA)) : "");
|
|
|
|
|
lineInfoDAO.updateLineInfo(lineInfo);
|
|
|
|
|
return Boolean.TRUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean transferInvestmentManager(ChangeInvestmentRequest changeInvestmentRequest, LoginUserInfo userInfo,Boolean transferFlag) {
|
|
|
|
|
public Boolean transferInvestmentManager(ChangeInvestmentRequest changeInvestmentRequest, LoginUserInfo userInfo, Boolean transferFlag) {
|
|
|
|
|
//查询线索
|
|
|
|
|
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(changeInvestmentRequest.getLineId());
|
|
|
|
|
if (lineInfo==null){
|
|
|
|
|
if (lineInfo == null) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
|
|
|
|
}
|
|
|
|
|
//分配拦截 分配的时候在公海才能分配 转让不拦截
|
|
|
|
|
if (!lineInfo.getLineStatus().equals(LineStatusEnum.PUBLIC_SEAS.getCode())&&!transferFlag){
|
|
|
|
|
if (!lineInfo.getLineStatus().equals(LineStatusEnum.PUBLIC_SEAS.getCode()) && !transferFlag) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.NOT_IN_PUBLIC_SEA);
|
|
|
|
|
}
|
|
|
|
|
//转让的时候拦截 且不能转让给自己
|
|
|
|
|
if (lineInfo.getInvestmentManager().equals(changeInvestmentRequest.getInvestmentManagerId())&&transferFlag){
|
|
|
|
|
if (lineInfo.getInvestmentManager().equals(changeInvestmentRequest.getInvestmentManagerId()) && transferFlag) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.NO_TRANSFER_REQUIRED);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -346,26 +346,26 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
lineInfo.setInvestmentManager(changeInvestmentRequest.getInvestmentManagerId());
|
|
|
|
|
lineInfo.setUpdateUserId(userInfo.getUserId());
|
|
|
|
|
lineInfoDAO.updateLineInfo(lineInfo);
|
|
|
|
|
if (transferFlag){
|
|
|
|
|
if (transferFlag) {
|
|
|
|
|
//添加日志
|
|
|
|
|
OperationLogTypeEnum operationLogTypeEnum = OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER;
|
|
|
|
|
if (lineInfo.getJoinStatus()!=0){
|
|
|
|
|
operationLogTypeEnum = OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER_3;
|
|
|
|
|
}
|
|
|
|
|
transferLogService.addLog(lineInfo.getId(),lineInfo.getPartnerId(),userInfo.getUserId(),changeInvestmentRequest.getInvestmentManagerId(),operationLogTypeEnum);
|
|
|
|
|
if (lineInfo.getJoinStatus() != 0) {
|
|
|
|
|
operationLogTypeEnum = OperationLogTypeEnum.TRANSFER_INVESTMENT_MANAGER_3;
|
|
|
|
|
}
|
|
|
|
|
transferLogService.addLog(lineInfo.getId(), lineInfo.getPartnerId(), userInfo.getUserId(), changeInvestmentRequest.getInvestmentManagerId(), operationLogTypeEnum);
|
|
|
|
|
}
|
|
|
|
|
return Boolean.TRUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean changeLineInfo(UpdateLineRequest updateLineRequest,LoginUserInfo userInfo) {
|
|
|
|
|
log.info("changeJoinMode request={}",JSONObject.toJSONString(updateLineRequest));
|
|
|
|
|
if (updateLineRequest.getLineId()==null||updateLineRequest.getJoinMode()==null){
|
|
|
|
|
public Boolean changeLineInfo(UpdateLineRequest updateLineRequest, LoginUserInfo userInfo) {
|
|
|
|
|
log.info("changeJoinMode request={}", JSONObject.toJSONString(updateLineRequest));
|
|
|
|
|
if (updateLineRequest.getLineId() == null || updateLineRequest.getJoinMode() == null) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
|
|
|
|
}
|
|
|
|
|
//查询线索
|
|
|
|
|
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(updateLineRequest.getLineId());
|
|
|
|
|
if (lineInfo==null){
|
|
|
|
|
if (lineInfo == null) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
|
|
|
|
}
|
|
|
|
|
lineInfo.setFranchiseBrand(updateLineRequest.getFranchiseBrand());
|
|
|
|
|
@@ -381,12 +381,12 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean distributionLine(DistributionInvestmentRequest request, LoginUserInfo userInfo) {
|
|
|
|
|
log.info("changeJoinMode request={}",JSONObject.toJSONString(request));
|
|
|
|
|
if (CollectionUtils.isEmpty(request.getLineIds())||request.getInvestmentManagerId()==null){
|
|
|
|
|
log.info("changeJoinMode request={}", JSONObject.toJSONString(request));
|
|
|
|
|
if (CollectionUtils.isEmpty(request.getLineIds()) || request.getInvestmentManagerId() == null) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
|
|
|
|
}
|
|
|
|
|
//批量更新线索
|
|
|
|
|
lineInfoDAO.batchUpdateInvestmentManager(request.getLineIds(),LineStatusEnum.PRIVATE_SEAS.getCode(), request.getInvestmentManagerId(),request.getRegionId());
|
|
|
|
|
lineInfoDAO.batchUpdateInvestmentManager(request.getLineIds(), LineStatusEnum.PRIVATE_SEAS.getCode(), request.getInvestmentManagerId(), request.getRegionId());
|
|
|
|
|
return Boolean.TRUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -394,49 +394,49 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
@Override
|
|
|
|
|
public IntendProcessTotalVO getIntendProcessTotal(Long lineId) {
|
|
|
|
|
QualificationsInfoDO qualificationsInfoDO = qualificationsInfoDAO.getByLineId(lineId);
|
|
|
|
|
if (qualificationsInfoDO==null){
|
|
|
|
|
if (qualificationsInfoDO == null) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
//总天数
|
|
|
|
|
Integer totalDays = 10;
|
|
|
|
|
IntendProcessTotalVO intendProcessTotalVO = new IntendProcessTotalVO();
|
|
|
|
|
intendProcessTotalVO.setTotalDays(totalDays);
|
|
|
|
|
intendProcessTotalVO.setCompletionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,DateUtils.addDays(qualificationsInfoDO.getCreateTime(),totalDays)));
|
|
|
|
|
intendProcessTotalVO.setCompletionTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(qualificationsInfoDO.getCreateTime(), totalDays)));
|
|
|
|
|
|
|
|
|
|
List<Long> auditIds = new ArrayList<>();
|
|
|
|
|
if (qualificationsInfoDO.getAuditId()!=null){
|
|
|
|
|
if (qualificationsInfoDO.getAuditId() != null) {
|
|
|
|
|
auditIds.add(qualificationsInfoDO.getAuditId());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<LineInterviewDO> interviewList = lineInterviewDAO.getInterviewByLineId(lineId);
|
|
|
|
|
auditIds.addAll(interviewList.stream().filter(x->x.getAuditId()!=null).map(LineInterviewDO::getAuditId).collect(Collectors.toList()));
|
|
|
|
|
Map<Integer, Long> interviewDOMap = interviewList.stream().filter(x->x.getAuditId()!=null).collect(Collectors.toMap(k -> k.getInterviewType(), v -> v.getAuditId()));
|
|
|
|
|
interviewDOMap.put(10,qualificationsInfoDO.getAuditId());
|
|
|
|
|
auditIds.addAll(interviewList.stream().filter(x -> x.getAuditId() != null).map(LineInterviewDO::getAuditId).collect(Collectors.toList()));
|
|
|
|
|
Map<Integer, Long> interviewDOMap = interviewList.stream().filter(x -> x.getAuditId() != null).collect(Collectors.toMap(k -> k.getInterviewType(), v -> v.getAuditId()));
|
|
|
|
|
interviewDOMap.put(10, qualificationsInfoDO.getAuditId());
|
|
|
|
|
List<LineAuditInfoDO> lineAuditInfoList = lineAuditInfoDAO.getLineAuditInfoList(auditIds);
|
|
|
|
|
Map<Long, Date> dateMap = lineAuditInfoList.stream().collect(Collectors.toMap(k -> k.getId(), v -> v.getCreateTime()));
|
|
|
|
|
|
|
|
|
|
LinePayDO linePay = linePayDAO.getByLineIdAndPayTypeAndShopId(lineId,PayBusinessTypeEnum.INTENT_MONEY.getCode(),null);
|
|
|
|
|
LinePayDO linePay = linePayDAO.getByLineIdAndPayTypeAndShopId(lineId, PayBusinessTypeEnum.INTENT_MONEY.getCode(), null);
|
|
|
|
|
SigningBaseInfoDO signingBaseInfoDO = intentAgreementMapper.selectByPartnerIdOrLineId(qualificationsInfoDO.getPartnerId(), lineId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
HashMap<Integer, Date> map = new HashMap<>();
|
|
|
|
|
interviewDOMap.forEach((k, v) ->{
|
|
|
|
|
if (k.equals(10)){
|
|
|
|
|
map.put(WorkflowSubStageEnum.INTEND.getCode(),dateMap.get(v));
|
|
|
|
|
interviewDOMap.forEach((k, v) -> {
|
|
|
|
|
if (k.equals(10)) {
|
|
|
|
|
map.put(WorkflowSubStageEnum.INTEND.getCode(), dateMap.get(v));
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
if (linePay != null){
|
|
|
|
|
map.put(WorkflowSubStageEnum.PAY_DEPOSIT.getCode(),linePay.getPayTime());
|
|
|
|
|
if (linePay != null) {
|
|
|
|
|
map.put(WorkflowSubStageEnum.PAY_DEPOSIT.getCode(), linePay.getPayTime());
|
|
|
|
|
}
|
|
|
|
|
if (signingBaseInfoDO != null){
|
|
|
|
|
map.put(WorkflowSubStageEnum.SIGN_INTENT_AGREEMENT.getCode(),signingBaseInfoDO.getCreateTime());
|
|
|
|
|
if (signingBaseInfoDO != null) {
|
|
|
|
|
map.put(WorkflowSubStageEnum.SIGN_INTENT_AGREEMENT.getCode(), signingBaseInfoDO.getCreateTime());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
List<IntendProcessVO> list = new ArrayList<>();
|
|
|
|
|
for (WorkflowSubStageEnum workflowSubStageEnum : WorkflowSubStageEnum.values()) {
|
|
|
|
|
IntendProcessVO intend = getIntend(qualificationsInfoDO.getCreateTime(), workflowSubStageEnum);
|
|
|
|
|
if (map.get(workflowSubStageEnum.getCode())!=null){
|
|
|
|
|
intend.setActualTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,map.get(workflowSubStageEnum.getCode())));
|
|
|
|
|
if (map.get(workflowSubStageEnum.getCode()) != null) {
|
|
|
|
|
intend.setActualTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, map.get(workflowSubStageEnum.getCode())));
|
|
|
|
|
}
|
|
|
|
|
list.add(intend);
|
|
|
|
|
}
|
|
|
|
|
@@ -446,16 +446,15 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean addLine(AddLineRequest addLineRequest,LoginUserInfo userInfo) {
|
|
|
|
|
public Boolean addLine(AddLineRequest addLineRequest, LoginUserInfo userInfo) {
|
|
|
|
|
//必填参数
|
|
|
|
|
log.info("addLine:{}", JSONObject.toJSONString(addLineRequest));
|
|
|
|
|
if (!StringUtil.isNoneBlank(addLineRequest.getMobile(),addLineRequest.getUserName())){
|
|
|
|
|
if (!StringUtil.isNoneBlank(addLineRequest.getMobile(), addLineRequest.getUserName())) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.PARAMS_REQUIRED);
|
|
|
|
|
}
|
|
|
|
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByMobile(addLineRequest.getMobile());
|
|
|
|
|
if (hyPartnerUserInfoDO!=null){
|
|
|
|
|
if (hyPartnerUserInfoDO != null) {
|
|
|
|
|
//校验
|
|
|
|
|
validateAndProcessLineInfo(addLineRequest.getMobile());
|
|
|
|
|
}
|
|
|
|
|
@@ -498,7 +497,7 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
String investmentManager = getInvestmentManagerName(lineInfo);
|
|
|
|
|
String listName = determineListName(lineInfo);
|
|
|
|
|
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.MOBILE_EXIST, listName, investmentManager,DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, lineInfo.getCreateTime()));
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.MOBILE_EXIST, listName, investmentManager, DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, lineInfo.getCreateTime()));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
@@ -536,33 +535,30 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取招商经理id
|
|
|
|
|
* @param addLineRequest
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private String getInvestmentManagerUserId(AddLineRequest addLineRequest,LoginUserInfo userInfo){
|
|
|
|
|
private String getInvestmentManagerUserId(AddLineRequest addLineRequest, LoginUserInfo userInfo) {
|
|
|
|
|
//如果选择了招商经理 直接使用该招商经理
|
|
|
|
|
if (StringUtils.isNotBlank(addLineRequest.getInvestmentManagerUserId())){
|
|
|
|
|
if (StringUtils.isNotBlank(addLineRequest.getInvestmentManagerUserId())) {
|
|
|
|
|
return addLineRequest.getInvestmentManagerUserId();
|
|
|
|
|
}
|
|
|
|
|
//如果是强加盟 使用新建线索人员跟进线索
|
|
|
|
|
if (CommonConstants.TWO==addLineRequest.getJoinMode()||CommonConstants.THREE==addLineRequest.getJoinMode()){
|
|
|
|
|
return userInfo.getUserId();
|
|
|
|
|
if (CommonConstants.TWO == addLineRequest.getJoinMode() || CommonConstants.THREE == addLineRequest.getJoinMode()) {
|
|
|
|
|
return userInfo.getUserId();
|
|
|
|
|
}
|
|
|
|
|
//zxjp改为直接用regionId
|
|
|
|
|
// EnterpriseUserDO user = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.SUPERVISION, addLineRequest.getRegionId());
|
|
|
|
|
// EnterpriseUserDO user = userAuthMappingService.getUserByRoleEnumAndWantShopAreaId(UserRoleEnum.SUPERVISION, addLineRequest.getRegionId());
|
|
|
|
|
return userInfo.getUserId();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getPayPicByLineId(Long lineId) {
|
|
|
|
|
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId);
|
|
|
|
|
if (lineInfo==null){
|
|
|
|
|
if (lineInfo == null) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
|
|
|
|
}
|
|
|
|
|
Long bigRegionId = regionService.getBigRegionIdByAreaId(lineInfo.getWantShopAreaId());
|
|
|
|
|
@@ -578,17 +574,28 @@ public class LineServiceImpl implements LineService {
|
|
|
|
|
return pageInfo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Integer updatePartnerName(String username, Long lineId) {
|
|
|
|
|
LineInfoDO lineInfo = lineInfoDAO.getLineInfo(lineId);
|
|
|
|
|
if (lineInfo == null) {
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
|
|
|
|
}
|
|
|
|
|
lineInfo.setUsername(username);
|
|
|
|
|
lineInfo.setUpdateTime(new Date());
|
|
|
|
|
return lineInfoDAO.updateLineInfo(lineInfo);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 计算预期时间
|
|
|
|
|
* @param startTime
|
|
|
|
|
* @param workflowSubStageEnum
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
public IntendProcessVO getIntend(Date startTime, WorkflowSubStageEnum workflowSubStageEnum){
|
|
|
|
|
public IntendProcessVO getIntend(Date startTime, WorkflowSubStageEnum workflowSubStageEnum) {
|
|
|
|
|
IntendProcessVO intendProcessVO = new IntendProcessVO();
|
|
|
|
|
intendProcessVO.setCode(workflowSubStageEnum.getCode());
|
|
|
|
|
intendProcessVO.setExpectedTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD,DateUtils.addDays(startTime,workflowSubStageEnum.getProgress())));
|
|
|
|
|
return intendProcessVO;
|
|
|
|
|
intendProcessVO.setExpectedTime(DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.addDays(startTime, workflowSubStageEnum.getProgress())));
|
|
|
|
|
return intendProcessVO;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|