分配规则1

This commit is contained in:
苏竹红
2023-06-20 11:10:04 +08:00
parent b5eb291768
commit 2986f3bf0a
12 changed files with 41 additions and 25 deletions

View File

@@ -29,8 +29,8 @@ public class HyOpenAreaInfoDAO {
return hyOpenAreaInfoMapper.queryKeyOpenArea(); return hyOpenAreaInfoMapper.queryKeyOpenArea();
} }
public List<HyOpenAreaInfoDO> queryByKeyword(String keyword,String areaStatus,Boolean filterData){ public List<HyOpenAreaInfoDO> queryByKeyword(String keyword,Boolean applyFlag,String areaStatus,Boolean filterData){
return hyOpenAreaInfoMapper.queryByKeyword(keyword,areaStatus,filterData); return hyOpenAreaInfoMapper.queryByKeyword(keyword,applyFlag,areaStatus,filterData);
} }
public List<HyOpenAreaInfoDO> queryFirstLevel(){ public List<HyOpenAreaInfoDO> queryFirstLevel(){

View File

@@ -131,9 +131,9 @@ public class HyPartnerLineInfoDAO {
} }
public List<PrivateSeaLineDTO> getPrivateSeaLineList(String keyword, String keywordType, String workflowStage, String workflowStatus, Date deadlineStart, Date deadlineEnd, public List<PrivateSeaLineDTO> getPrivateSeaLineList(String keyword, String keywordType, String workflowStage, String workflowStatus, Date deadlineStart, Date deadlineEnd,
String intentArea, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List<String> userIdList){ String intentArea, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List<String> userIdList,List<String> developmentManagerList){
return hyPartnerLineInfoMapper.getPrivateSeaLineList( keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd, return hyPartnerLineInfoMapper.getPrivateSeaLineList( keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd,
intentArea, acceptAdjustType, storeKeyword, storeKeywordType, userIdList); intentArea, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList);
} }

View File

@@ -41,6 +41,7 @@ public interface HyOpenAreaInfoMapper {
* @return * @return
*/ */
List<HyOpenAreaInfoDO> queryByKeyword(@Param("keyword") String keyword, List<HyOpenAreaInfoDO> queryByKeyword(@Param("keyword") String keyword,
@Param("applyFlag") Boolean applyFlag,
@Param("areaStatus") String areaStatus, @Param("areaStatus") String areaStatus,
@Param("filterData") Boolean filterData); @Param("filterData") Boolean filterData);

View File

@@ -173,7 +173,8 @@ public interface HyPartnerLineInfoMapper {
@Param("acceptAdjustType") Integer acceptAdjustType, @Param("acceptAdjustType") Integer acceptAdjustType,
@Param("storeKeyword") String storeKeyword, @Param("storeKeyword") String storeKeyword,
@Param("storeKeywordType") String storeKeywordType, @Param("storeKeywordType") String storeKeywordType,
@Param("userIdList") List<String> userIdList); @Param("userIdList") List<String> userIdList,
@Param("developmentManagerList") List<String> developmentManagerList);
/** /**

View File

@@ -359,9 +359,9 @@
a.close_user_id as closeUserId, a.close_user_id as closeUserId,
a.close_time as closeTime, a.close_time as closeTime,
a.join_black_reason as joinBlackReason a.join_black_reason as joinBlackReason
from hy_partner_line_info a inner join hy_partner_user_info b where a.partner_id = b.partner_id from hy_partner_line_info a inner join hy_partner_user_info b on a.partner_id = b.partner_id
where deleted = 0 where a.deleted = 0
and line_status = 3 and a.line_status = 3
<if test="userNameKeyword!=null and userNameKeyword !=''"> <if test="userNameKeyword!=null and userNameKeyword !=''">
and b.username like concat('%', #{userNameKeyword}, '%') and b.username like concat('%', #{userNameKeyword}, '%')
</if> </if>
@@ -494,6 +494,11 @@
#{userId} #{userId}
</foreach> </foreach>
</if> </if>
<if test="developmentManagerList!=null and developmentManagerList.size>0">
<foreach collection="developmentManagerList" item="developmentManager" open="and a.development_manager in (" close=")" separator=",">
#{developmentManager}
</foreach>
</if>
</select> </select>

View File

@@ -30,7 +30,7 @@ public interface OpenAreaService {
* @param flag * @param flag
* @return * @return
*/ */
List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean flag); List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag,Boolean flag);
/** /**

View File

@@ -125,11 +125,11 @@ public class EnterpriseUserServiceImpl implements EnterpriseUserService {
result.setInvestmentUserIds(userList); result.setInvestmentUserIds(userList);
} }
//开发区域 //开发区域
List<String> developementList = zoneInfoList.stream().filter(o -> "developement".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList()); List<String> developmentList = zoneInfoList.stream().filter(o -> "developement".equals(o.getType())).flatMap(o->JSONObject.parseArray(o.getAssociatedRegionId(), String.class).stream()).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(developementList)){ if(CollectionUtils.isNotEmpty(developmentList)){
//获取负责的区域 //获取负责的区域
developementList.retainAll(subRegionIds); developmentList.retainAll(subRegionIds);
List<String> userList = userRegionMappingDAO.getUserListByRegionIds(developementList); List<String> userList = userRegionMappingDAO.getUserListByRegionIds(developmentList);
userList.add(userId); userList.add(userId);
result.setDevelopmentUserIds(userList); result.setDevelopmentUserIds(userList);
} }

View File

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import com.cool.store.constants.CommonConstants; import com.cool.store.constants.CommonConstants;
import com.cool.store.constants.RedisConstant; import com.cool.store.constants.RedisConstant;
import com.cool.store.dao.*; import com.cool.store.dao.*;
import com.cool.store.dto.buser.UserPositionAndUserScopeDTO;
import com.cool.store.dto.partner.*; import com.cool.store.dto.partner.*;
import com.cool.store.entity.EnterpriseUserDO; import com.cool.store.entity.EnterpriseUserDO;
import com.cool.store.entity.HyOpenAreaInfoDO; import com.cool.store.entity.HyOpenAreaInfoDO;
@@ -16,6 +17,7 @@ import com.cool.store.exception.ServiceException;
import com.cool.store.request.CloseFollowRequest; import com.cool.store.request.CloseFollowRequest;
import com.cool.store.request.LineRequest; import com.cool.store.request.LineRequest;
import com.cool.store.request.PrivateSeaLineListRequest; import com.cool.store.request.PrivateSeaLineListRequest;
import com.cool.store.service.EnterpriseUserService;
import com.cool.store.service.HyPartnerLineInfoService; import com.cool.store.service.HyPartnerLineInfoService;
import com.cool.store.utils.CoolDateUtils; import com.cool.store.utils.CoolDateUtils;
import com.cool.store.utils.RedisUtilPool; import com.cool.store.utils.RedisUtilPool;
@@ -54,6 +56,8 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
private RedisUtilPool redisUtilPool; private RedisUtilPool redisUtilPool;
@Resource @Resource
HyOpenAreaInfoDAO hyOpenAreaInfoDAO; HyOpenAreaInfoDAO hyOpenAreaInfoDAO;
@Resource
EnterpriseUserService enterpriseUserService;
@Override @Override
public StageCountVO selectStagePendingCount(String userId) { public StageCountVO selectStagePendingCount(String userId) {
@@ -301,13 +305,16 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
return publicSeaLineList; return publicSeaLineList;
} }
@Override @Override
public PageInfo<PrivateSeaLineListVo> privateSeaLineList(String userId, PrivateSeaLineListRequest request) { public PageInfo<PrivateSeaLineListVo> privateSeaLineList(String userId, PrivateSeaLineListRequest request) {
// TODO: 2023/6/19 su userlist计算 UserPositionAndUserScopeDTO userIdsByScope = enterpriseUserService.getUserIdsByScope(userId);
PageHelper.startPage(request.getPageNum(),request.getPageSize()); PageHelper.startPage(request.getPageNum(),request.getPageSize());
PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(), PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(),
request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(), request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(),
request.getIntentArea(), request.getAcceptAdjustType(), request.getStoreKeyword(), request.getStoreKeywordType(), null)); request.getIntentArea(), request.getAcceptAdjustType(), request.getStoreKeyword(),
request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(),userIdsByScope.getDevelopmentUserIds()));
List<PrivateSeaLineDTO> list = privateLineList.getList(); List<PrivateSeaLineDTO> list = privateLineList.getList();
if (CollectionUtils.isEmpty(list)){ if (CollectionUtils.isEmpty(list)){
return new PageInfo<>(); return new PageInfo<>();
@@ -389,10 +396,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService {
} }
HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId()); HyPartnerUserInfoDO hyPartnerUserInfoDO = hyPartnerUserInfoDAO.selectByPartnerId(hyPartnerLineInfoDO.getPartnerId());
HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea())); HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea()));
if (AreaStatusEnum.OPEN.equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.equals(hyOpenAreaInfoDO.getAreaStatus())){
if (AreaStatusEnum.OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.KEY_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
return Boolean.TRUE; return Boolean.TRUE;
} }
if (AreaStatusEnum.NOT_OPEN.equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.equals(hyOpenAreaInfoDO.getAreaStatus())){ if (AreaStatusEnum.NOT_OPEN.getCode().equals(hyOpenAreaInfoDO.getAreaStatus()) || AreaStatusEnum.SATURATED.getCode().equals(hyOpenAreaInfoDO.getAreaStatus())){
if (AcceptAdjustTypeEnum.NOT_ACCEPT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){ if (AcceptAdjustTypeEnum.NOT_ACCEPT.getCode().equals(hyPartnerUserInfoDO.getAcceptAdjustType())){
return Boolean.FALSE; return Boolean.FALSE;
} }

View File

@@ -38,7 +38,7 @@ public class OpenAreaServiceImpl implements OpenAreaService {
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x)); Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据 //查询关键字下所有的数据 原始的数据
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,areaStatus,flag); List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,null,areaStatus,flag);
Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet()); Set<Long> longSet = hyOpenAreaInfoDOS.stream().map(HyOpenAreaInfoDO::getId).collect(Collectors.toSet());
List<HyOpenAreaInfoDO> result = new ArrayList<>(); List<HyOpenAreaInfoDO> result = new ArrayList<>();
@@ -60,13 +60,13 @@ public class OpenAreaServiceImpl implements OpenAreaService {
} }
@Override @Override
public List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword, Boolean flag) { public List<OpenAreaTreeVO> queryAllOpenAreaByKeyword(String keyword,Boolean applyFlag, Boolean flag) {
//先查出所有的一级菜单 //先查出所有的一级菜单
List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel(); List<HyOpenAreaInfoDO> openArea = hyOpenAreaInfoDAO.queryFirstLevel();
Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x)); Map<Long, HyOpenAreaInfoDO> longHyOpenAreaInfoDOMap = openArea.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));
//查询关键字下所有的数据 原始的数据 //查询关键字下所有的数据 原始的数据
List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,null,flag); List<HyOpenAreaInfoDO> hyOpenAreaInfoDOS = hyOpenAreaInfoDAO.queryByKeyword(keyword,applyFlag,null,flag);
Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x)); Map<Long, HyOpenAreaInfoDO> hyMap = hyOpenAreaInfoDOS.stream().collect(Collectors.toMap(HyOpenAreaInfoDO::getId, x -> x));

View File

@@ -213,8 +213,7 @@ public class DeskController {
@PostMapping(path = "/queryPrivateSeaLineList") @PostMapping(path = "/queryPrivateSeaLineList")
@ApiOperation("私海列表") @ApiOperation("私海列表")
public ResponseResult<PageInfo<PrivateSeaLineListVo>> queryPrivateSeqLineList(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){ public ResponseResult<PageInfo<PrivateSeaLineListVo>> queryPrivateSeqLineList(@RequestBody PrivateSeaLineListRequest privateSeaLineListRequest){
return ResponseResult.success(hyPartnerLineInfoService.privateSeaLineList(CurrentUserHolder.getUserId(),privateSeaLineListRequest));
return ResponseResult.success();
} }
@PostMapping(path = "/queryBlackList") @PostMapping(path = "/queryBlackList")

View File

@@ -43,7 +43,7 @@ public class OpenAreaController {
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false) @ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false)
}) })
public ResponseResult<List<OpenAreaTreeVO>> getAllOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){ public ResponseResult<List<OpenAreaTreeVO>> getAllOpenAreaTree(@RequestParam(value = "keyword",required = false)String keyword){
return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE)); return ResponseResult.success(openAreaService.queryAllOpenAreaByKeyword(keyword,null,Boolean.FALSE));
} }

View File

@@ -49,9 +49,11 @@ public class OpenAreaController {
@ApiOperation("区域申请搜索 树形结构") @ApiOperation("区域申请搜索 树形结构")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false), @ApiImplicitParam(name = "keyword", value = "搜索关键字", required = false),
@ApiImplicitParam(name = "applyFlag", value = "可申请标识", required = false)
}) })
public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword){ public ResponseResult<List<OpenAreaTreeVO>> getOpenAreaList(@RequestParam(value = "keyword",required = false)String keyword,
List<OpenAreaTreeVO> openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,Boolean.FALSE); @RequestParam(value = "applyFlag",required = false)Boolean applyFlag){
List<OpenAreaTreeVO> openAreaTreeVOS = openAreaService.queryAllOpenAreaByKeyword(keyword,applyFlag,Boolean.FALSE);
return ResponseResult.success(openAreaTreeVOS); return ResponseResult.success(openAreaTreeVOS);
} }