|
|
|
|
@@ -8,10 +8,7 @@ import com.cool.store.constants.RedisConstant;
|
|
|
|
|
import com.cool.store.dao.*;
|
|
|
|
|
import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
|
|
|
|
|
import com.cool.store.dto.partner.*;
|
|
|
|
|
import com.cool.store.entity.EnterpriseUserDO;
|
|
|
|
|
import com.cool.store.entity.HyOpenAreaInfoDO;
|
|
|
|
|
import com.cool.store.entity.HyPartnerLineInfoDO;
|
|
|
|
|
import com.cool.store.entity.HyPartnerUserInfoDO;
|
|
|
|
|
import com.cool.store.entity.*;
|
|
|
|
|
import com.cool.store.enums.*;
|
|
|
|
|
import com.cool.store.exception.ServiceException;
|
|
|
|
|
import com.cool.store.request.CloseFollowRequest;
|
|
|
|
|
@@ -108,10 +105,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|
|
|
|
PageInfo hyPartnerLineInfoDOPageInfo = new PageInfo(hyPartnerLineInfoDAO.lastMonthCloseLine(userId, lastMonthTodayDate));
|
|
|
|
|
|
|
|
|
|
List<HyPartnerLineInfoDO> list = hyPartnerLineInfoDOPageInfo.getList();
|
|
|
|
|
List<String> partnerIdList = list.stream().map(HyPartnerLineInfoDO::getPartnerId).collect(Collectors.toList());
|
|
|
|
|
List<HyPartnerUserInfoDO> hyPartnerUserInfoDOS = hyPartnerUserInfoDAO.selectByPartnerIds(partnerIdList);
|
|
|
|
|
Map<String, HyPartnerUserInfoDO> stringMap = hyPartnerUserInfoDOS.stream().collect(Collectors.toMap(HyPartnerUserInfoDO::getPartnerId, data->data));
|
|
|
|
|
List<PartnerLineInfoVO> result = new ArrayList<>();
|
|
|
|
|
list.stream().forEach(x->{
|
|
|
|
|
PartnerLineInfoVO partnerLineInfoVO = new PartnerLineInfoVO();
|
|
|
|
|
BeanUtils.copyProperties(x,partnerLineInfoVO);
|
|
|
|
|
partnerLineInfoVO.setPartnerId(x.getPartnerId());
|
|
|
|
|
partnerLineInfoVO.setPartnerUserName(stringMap.getOrDefault(x.getPartnerId(),new HyPartnerUserInfoDO()).getUsername());
|
|
|
|
|
partnerLineInfoVO.setPartnerUserPhone(stringMap.getOrDefault(x.getPartnerId(),new HyPartnerUserInfoDO()).getMobile());
|
|
|
|
|
partnerLineInfoVO.setLineId(x.getId());
|
|
|
|
|
result.add(partnerLineInfoVO);
|
|
|
|
|
});
|
|
|
|
|
@@ -381,18 +384,15 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Boolean assignFollowUser(Long lineId) {
|
|
|
|
|
HyPartnerLineInfoDO hyPartnerLineInfoDO = hyPartnerLineInfoDAO.selectByPrimaryKeySelective(lineId);
|
|
|
|
|
if (hyPartnerLineInfoDO==null){
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.LINE_ID_IS_NOT_EXIST);
|
|
|
|
|
}
|
|
|
|
|
List<HyPartnerLineInfoDO> lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(hyPartnerLineInfoDO.getPartnerId());
|
|
|
|
|
public Boolean assignFollowUser(String partnerId) {
|
|
|
|
|
List<HyPartnerLineInfoDO> lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(partnerId);
|
|
|
|
|
//当前加盟商线索
|
|
|
|
|
HyPartnerLineInfoDO HyPartnerLineInfo = hyPartnerLineInfoDAO.getByPartnerId(partnerId);
|
|
|
|
|
//如果是私海线索 不需要重新分配招商经理 或者跟进次数大于1
|
|
|
|
|
if (hyPartnerLineInfoDO.getLineStatus()==1||CollectionUtils.isEmpty(lineFollowHistoryList)){
|
|
|
|
|
if (HyPartnerLineInfo.getLineStatus()==1||CollectionUtils.isEmpty(lineFollowHistoryList)){
|
|
|
|
|
return Boolean.FALSE;
|
|
|
|
|
}
|
|
|
|
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
|
|
|
|
|
|
|
|
|
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId);
|
|
|
|
|
Boolean lineStatus = getLineStatus(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()), hyPartnerUserInfoDO.getAcceptAdjustType());
|
|
|
|
|
return lineStatus;
|
|
|
|
|
}
|
|
|
|
|
@@ -434,6 +434,51 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
|
|
|
|
|
return Boolean.FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
HyIntendDevMappingDAO hyIntendDevMappingDAO;
|
|
|
|
|
@Resource
|
|
|
|
|
HyIntendDevZoneInfoDAO hyIntendDevZoneInfoDAO;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getAssignFollowUser(String partnerId,String type) {
|
|
|
|
|
//查询意向区域
|
|
|
|
|
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(partnerId);
|
|
|
|
|
//意向区域
|
|
|
|
|
String wantShopArea = hyPartnerUserInfoDO.getWantShopArea();
|
|
|
|
|
EnterpriseUserDO enterpriseUserDO = new EnterpriseUserDO();
|
|
|
|
|
// TODO: 2023/6/21 如果意向区域没有绑定战区 分配给谁
|
|
|
|
|
//查询意向区域绑定的组织架构
|
|
|
|
|
HyIntendDevelopementMappingDO hyIntendDevelopementMappingDO = hyIntendDevMappingDAO.selectByOpenAreaMappingId(Long.valueOf(wantShopArea),type);
|
|
|
|
|
if (hyIntendDevelopementMappingDO==null){
|
|
|
|
|
throw new ServiceException(ErrorCodeEnum.INTENT_AREA_NOT_BING_ZONE);
|
|
|
|
|
}
|
|
|
|
|
List<String> result = new ArrayList<>();
|
|
|
|
|
if (hyIntendDevelopementMappingDO!=null){
|
|
|
|
|
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(Long.valueOf(hyIntendDevelopementMappingDO.getMappingId()));
|
|
|
|
|
if (hyIntendDevZoneInfoDO!=null && StringUtil.isNotEmpty(hyIntendDevZoneInfoDO.getAssociatedRegionId())) {
|
|
|
|
|
List<String> list = JSONObject.parseArray(hyIntendDevZoneInfoDO.getAssociatedRegionId(), String.class);
|
|
|
|
|
result.addAll(list);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
String userId = "";
|
|
|
|
|
List<EnterpriseUserDO> userListByRegionIds = enterpriseUserDAO.getUserListByRegionIds(result);
|
|
|
|
|
String zoneId = hyIntendDevelopementMappingDO.getMappingId();
|
|
|
|
|
HyIntendDevZoneInfoDO hyIntendDevZoneInfoDO = hyIntendDevZoneInfoDAO.selectById(Long.valueOf(zoneId));
|
|
|
|
|
if (CollectionUtils.isNotEmpty(userListByRegionIds)){
|
|
|
|
|
List<String> userIdList = userListByRegionIds.stream().map(EnterpriseUserDO::getUserId).collect(Collectors.toList());
|
|
|
|
|
int i = userIdList.indexOf(hyIntendDevZoneInfoDO.getLastAllotUserId());
|
|
|
|
|
if (i==(userListByRegionIds.size()-1)){
|
|
|
|
|
i = -1;
|
|
|
|
|
}
|
|
|
|
|
userId = userIdList.get(++i);
|
|
|
|
|
}
|
|
|
|
|
return userId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* convertPartnerBlackListDTOToVo
|
|
|
|
|
* @param partnerBlackListDTO
|
|
|
|
|
|