diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java index 901067b90..082d15a82 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/HyPartnerLineInfoDAO.java @@ -114,8 +114,8 @@ public class HyPartnerLineInfoDAO { } - public List getBlackList( String userNameKeyword,String phoneKeyword, String intentArea , Integer acceptAdjustType){ - return hyPartnerLineInfoMapper.getBlackList(userNameKeyword,phoneKeyword,intentArea,acceptAdjustType); + public List getBlackList( String userNameKeyword,String phoneKeyword, String intentAreaName , Integer acceptAdjustType){ + return hyPartnerLineInfoMapper.getBlackList(userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType); } @@ -126,14 +126,14 @@ public class HyPartnerLineInfoDAO { return hyPartnerLineInfoMapper.joinAndRemoveBlack(lineId,status,joinReason,removeReason); } - public List getPublicSeaLineList( String userNameKeyword, String phoneKeyword, String intentArea, Integer acceptAdjustType, String updateStartTime, String updateEndTime, List userIdList){ - return hyPartnerLineInfoMapper.getPublicSeaLineList(userNameKeyword,phoneKeyword,intentArea,acceptAdjustType,updateStartTime,updateEndTime,userIdList); + public List getPublicSeaLineList( String userNameKeyword, String phoneKeyword, String intentAreaName, Integer acceptAdjustType, String updateStartTime, String updateEndTime, List userIdList){ + return hyPartnerLineInfoMapper.getPublicSeaLineList(userNameKeyword,phoneKeyword,intentAreaName,acceptAdjustType,updateStartTime,updateEndTime,userIdList); } public List getPrivateSeaLineList(String keyword, String keywordType, String workflowStage, String workflowStatus, Date deadlineStart, Date deadlineEnd, - String intentArea, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List userIdList,List developmentManagerList){ + String intentAreaName, Integer acceptAdjustType, String storeKeyword, String storeKeywordType, List userIdList,List developmentManagerList){ return hyPartnerLineInfoMapper.getPrivateSeaLineList( keyword, keywordType, workflowStage, workflowStatus, deadlineStart, deadlineEnd, - intentArea, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList); + intentAreaName, acceptAdjustType, storeKeyword, storeKeywordType, userIdList,developmentManagerList); } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleMenuDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleMenuDAO.java index 7ee061ccb..d9faeaeb4 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleMenuDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleMenuDAO.java @@ -1,7 +1,15 @@ package com.cool.store.dao; +import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; +import com.cool.store.entity.SysRoleMenuDO; +import com.cool.store.mapper.SysRoleMenuMapper; +import com.google.common.collect.Lists; import org.springframework.stereotype.Repository; +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; + /** * @author zhangchenbiao * @date 2023-05-19 03:01 @@ -9,4 +17,20 @@ import org.springframework.stereotype.Repository; @Repository public class SysRoleMenuDAO { + @Resource + private SysRoleMenuMapper sysRoleMenuMapper; + + /** + * 获取菜单 + * @param roleId + * @param platform + * @return + */ + public List getRoleMenuByRoleId(String roleId, String platform){ + if(Objects.isNull(roleId) || StringUtils.isBlank(platform)){ + return Lists.newArrayList(); + } + return sysRoleMenuMapper.getRoleMenuByRoleId(roleId, platform); + } + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java index fc8cd9f6f..11fd97982 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/UserRegionMappingDAO.java @@ -39,6 +39,14 @@ public class UserRegionMappingDAO { return userRegionMappingMapper.deleteUserRegion(regionId, dataSourceEnum.getCode(), excludeUserIds); } + + public Integer deleteUserRegionByUserId(String userId, DataSourceEnum dataSourceEnum, List excludeRegionIds){ + if(StringUtils.isBlank(userId) || Objects.isNull(dataSourceEnum)){ + return null; + } + return userRegionMappingMapper.deleteUserRegionByExcludeRegionIds(userId, dataSourceEnum.getCode(), excludeRegionIds); + } + public Integer deleteRegionUserByExcludeRegionIds(List excludeRegionIds){ if(CollectionUtils.isEmpty(excludeRegionIds)){ return null; diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java index 7d5cfe016..b143b1ee8 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyPartnerLineInfoMapper.java @@ -118,7 +118,7 @@ public interface HyPartnerLineInfoMapper { */ List getBlackList(@Param("userNameKeyword") String userNameKeyword, @Param("phoneKeyword") String phoneKeyword, - @Param("intentArea") String intentArea , + @Param("intentAreaName") String intentAreaName , @Param("acceptAdjustType") Integer acceptAdjustType); @@ -152,7 +152,7 @@ public interface HyPartnerLineInfoMapper { */ List getPublicSeaLineList(@Param("userNameKeyword") String userNameKeyword, @Param("phoneKeyword") String phoneKeyword, - @Param("intentArea") String intentArea, + @Param("intentAreaName") String intentAreaName, @Param("acceptAdjustType") Integer acceptAdjustType, @Param("updateStartTime") String updateStartTime, @Param("updateEndTime") String updateEndTime, @@ -169,7 +169,7 @@ public interface HyPartnerLineInfoMapper { @Param("workflowStatus") String workflowStatus, @Param("deadlineStart") Date deadlineStart, @Param("deadlineEnd") Date deadlineEnd, - @Param("intentArea") String intentArea, + @Param("intentAreaName") String intentAreaName, @Param("acceptAdjustType") Integer acceptAdjustType, @Param("storeKeyword") String storeKeyword, @Param("storeKeywordType") String storeKeywordType, diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMenuMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMenuMapper.java index 1dd78abc0..fb186ad9c 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMenuMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMenuMapper.java @@ -3,6 +3,8 @@ package com.cool.store.mapper; import com.cool.store.entity.SysRoleMenuDO; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @author zhangchenbiao * @date 2023-05-19 03:01 @@ -22,4 +24,12 @@ public interface SysRoleMenuMapper { * dateTime:2023-05-19 03:01 */ int updateByPrimaryKeySelective(@Param("record") SysRoleMenuDO record); + + /** + * 根据角色获取菜单 + * @param roleId + * @param platform + * @return + */ + List getRoleMenuByRoleId(@Param("roleId")String roleId, @Param("platform")String platform); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java index acdcc490b..d12db9cac 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/UserRegionMappingMapper.java @@ -34,6 +34,15 @@ public interface UserRegionMappingMapper { */ int deleteUserRegion(@Param("regionId") String regionId, @Param("type")Integer type, @Param("excludeUserIds") List excludeUserIds); + /** + * 删除用户不存在的部门 + * @param userId + * @param type + * @param excludeRegionIds + * @return + */ + int deleteUserRegionByExcludeRegionIds(@Param("userId") String userId, @Param("type")Integer type, @Param("excludeRegionIds") List excludeRegionIds); + /** * 删除没有的部门映射关系 * @param excludeRegionIds diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml index 059f5fb93..f776eadab 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerInterviewPlanMapper.xml @@ -368,10 +368,10 @@ and hpip.room_status = #{record.roomStatus} - + and hpip.start_time >= #{record.startTime} - + and hpip.end_time <= #{record.endTime} diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index 02657293f..73cb03733 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -388,8 +388,8 @@ and b.mobile like concat('%', #{phoneKeyword}, '%') - - and b.want_shop_area = #{intentArea} + + and b.want_shop_area like concat('%/',#{intentAreaName},'/%') and b.accept_adjust_type =#{acceptAdjustType} @@ -437,8 +437,8 @@ and b.mobile like concat('%',#{phoneKeyword},'%') - - and b.want_shop_area = #{intentArea} + + and b.want_shop_area like concat('%/',#{intentAreaName},'/%') and b.accept_adjust_type = #{acceptAdjustType} @@ -473,6 +473,7 @@ hpuinfo.shop_name as storeName, hpuinfo.recommend_partner_name as recommendPartnerName, eu.name as investmentManagerName, + eu.mobile as investmentManagerMobile, hpip.id as interviewPlanId, hpip.start_time as startTime FROM @@ -497,8 +498,8 @@ AND hpli.deadline BETWEEN #{deadlineStart} and #{deadlineStart} - - AND hpuinfo.want_shop_area = #{intentArea} + + and b.want_shop_area like concat('%/',#{intentAreaName},'/%') AND hpuinfo.accept_adjust_type = #{acceptAdjustType} diff --git a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMenuMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMenuMapper.xml index 7f2e4bb07..89160a87b 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMenuMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMenuMapper.xml @@ -4,7 +4,7 @@ - + @@ -50,4 +50,13 @@ where id = #{record.id} + + \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml index 73df66fb5..b1b3a0835 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/UserRegionMappingMapper.xml @@ -111,6 +111,13 @@ + + update user_region_mapping set deleted = 1 where user_id = #{userId} and type = #{type} + + and region_id not in #{regionId} + + + update user_region_mapping set deleted = 1 where region_id not in #{regionId} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PrivateSeaLineDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PrivateSeaLineDTO.java index 896feb12d..9dbedfd70 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PrivateSeaLineDTO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/partner/PrivateSeaLineDTO.java @@ -73,4 +73,6 @@ public class PrivateSeaLineDTO { private Date startTime; + private String investmentManagerMobile; + } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/TencentVod.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/TencentVod.java index a297bc102..9191bfa47 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/TencentVod.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/trtc/callback/TencentVod.java @@ -1,6 +1,5 @@ package com.cool.store.dto.trtc.callback; -import com.alibaba.fastjson.annotation.JSONField; import com.fasterxml.jackson.annotation.JsonProperty; /** @@ -24,7 +23,7 @@ public class TencentVod { @JsonProperty("StartTimeStamp") private long startTimeStamp; @JsonProperty("EndTimeStamp") - private int endTimeStamp; + private long endTimeStamp; public String getUserId() { return userId; @@ -82,11 +81,11 @@ public class TencentVod { this.startTimeStamp = startTimeStamp; } - public int getEndTimeStamp() { + public long getEndTimeStamp() { return endTimeStamp; } - public void setEndTimeStamp(int endTimeStamp) { + public void setEndTimeStamp(long endTimeStamp) { this.endTimeStamp = endTimeStamp; } } diff --git a/coolstore-partner-model/src/main/java/com/cool/store/entity/SysRoleMenuDO.java b/coolstore-partner-model/src/main/java/com/cool/store/entity/SysRoleMenuDO.java index 3062621dd..7c85002d5 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/entity/SysRoleMenuDO.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/entity/SysRoleMenuDO.java @@ -25,7 +25,7 @@ public class SysRoleMenuDO implements Serializable { private Long menuId; @ApiModelProperty("角色id") - private Long roleId; + private String roleId; @ApiModelProperty("菜单类型") private String platform; diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java index 706513b4b..8e8e29007 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/PrivateSeaLineListVo.java @@ -87,6 +87,8 @@ public class PrivateSeaLineListVo { private Date startTime; + private String investmentManagerMobile; + public static List convertList(List list, Map finalDevManagerMap, Map wantShopAreaNameMap){ List resultList = new ArrayList<>(); @@ -105,11 +107,11 @@ public class PrivateSeaLineListVo { privateSeaLineListVo.setDevelopmentManager(x.getDevelopmentManager()); privateSeaLineListVo.setInvestmentManagerName(x.getInvestmentManagerName()); privateSeaLineListVo.setStoreCode(x.getStoreCode()); + privateSeaLineListVo.setInvestmentManagerMobile(x.getInvestmentManagerMobile()); privateSeaLineListVo.setStoreName(x.getStoreName()); String updateTime = DateUtil.format(x.getUpdateTime(), CoolDateUtils.DATE_FORMAT_SEC_2); privateSeaLineListVo.setUpdateTime(updateTime); privateSeaLineListVo.setRecommendPartnerId(x.getRecommendPartnerId()); - privateSeaLineListVo.setAcceptAdjustType(x.getAcceptAdjustType()); privateSeaLineListVo.setWantShopArea(x.getWantShopArea()); privateSeaLineListVo.setWantShopAreaName(wantShopAreaNameMap.get(x.getWantShopArea())); privateSeaLineListVo.setInvestmentManager(x.getInvestmentManager()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java index b90cc309a..a5c7912e8 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/EnterpriseSyncServiceImpl.java @@ -187,6 +187,7 @@ public class EnterpriseSyncServiceImpl implements EnterpriseSyncService { regionPathMap = regionList.stream().collect(Collectors.toMap(k->k.getRegionId(), v->v.getRegionPath())); userRegionMappingDAO.batchInsertOrUpdateUserRegion(UserRegionMappingDO.convertSyncDO(departmentLists, userDetail.getUserId())); } + userRegionMappingDAO.deleteUserRegionByUserId(userDetail.getUserId(), DataSourceEnum.SYNC, departmentLists); String jobTitle = userDetail.getJobTitle(); if(StringUtils.isNotBlank(jobTitle)){ SysRoleDO role = sysRoleDAO.getRoleByName(jobTitle, DataSourceEnum.SYNC); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java index 01a841f2b..26a15a63b 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FlowServiceImpl.java @@ -125,7 +125,6 @@ public class FlowServiceImpl implements FlowService { dataBody.setSkrName(request.getRealControlUsername()); dataBody.setSkrIDCard(request.getRealControlIdcard()); dataBody.setSkrRelship(request.getSignerRealControlRelation()); - String[] split = request.getSignerRealControlRelationCert().split(","); dataBody.setSkrRelshipOther(request.getSignerOtherRealControlRelation()); dataBody.setAmtJoin(request.getPartnerFee()); dataBody.setAmtTechSer(request.getTechnicalServiceFee()); @@ -147,7 +146,7 @@ public class FlowServiceImpl implements FlowService { String jobNumber = investmentManager.getJobnumber(); String mobile = investmentManager.getMobile(); DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile); - if (Objects.isNull(dingdingUserDO)) { + if (Objects.isNull(dingdingUserDO) || Objects.isNull(dingdingUserDO.getUserid())) { throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST); } rpcRequest.setDingUserId(dingdingUserDO.getUserid()); @@ -159,7 +158,7 @@ public class FlowServiceImpl implements FlowService { if (!Objects.isNull(developmentDirector)) { String mobile = developmentDirector.getMobile(); DingdingUserDO dingdingUserDO = dingdingUserMapper.selectDingDingUserByMobile(mobile); - if (Objects.isNull(dingdingUserDO)) { + if (Objects.isNull(dingdingUserDO) || Objects.isNull(dingdingUserDO.getUserid())) { throw new ServiceException(ErrorCodeEnum.DINGDING_USER_NOT_EXIST); } rpcRequest.getData().setUserSiteDevDingUserId(dingdingUserDO.getUserid()); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java index 47da93a8d..45207ef99 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerIntentInfoServiceImpl.java @@ -150,7 +150,7 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic partnerIntentInfoVO.setWorkflowStatus(hyPartnerLineInfoDO.getWorkflowStatus()); partnerIntentInfoVO.setPartnerUserPhone(hyPartnerUserInfoDO.getMobile()); HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(hyPartnerUserInfoDO.getWantShopArea())); - partnerIntentInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaName()); + partnerIntentInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/"," ")); return partnerIntentInfoVO; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java index e4c17326a..a76b68ac4 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/HyPartnerLineInfoServiceImpl.java @@ -107,7 +107,7 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { } if (StringUtils.isNotEmpty(partnerLineInfoAndBaseInfoDTO.getWantShopArea())){ HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(partnerLineInfoAndBaseInfoDTO.getWantShopArea())); - partnerLineInfoAndBaseInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaName()); + partnerLineInfoAndBaseInfoVO.setWantShopAreaName(hyOpenAreaInfoDO.getAreaPath().replace("/"," ")); } EnterpriseUserDO investmentManager = enterpriseUserDAO.getUserInfoById(partnerLineInfoAndBaseInfoVO.getInvestmentManager()); if (investmentManager!=null){ @@ -224,8 +224,9 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public PageInfo getBlackList(LineRequest LineRequest) { + String intentAreaName = getIntentAreaName(LineRequest.getIntentArea()); PageHelper.startPage(LineRequest.getPageNum(),LineRequest.getPageSize()); - PageInfo blackListDTOPageInfo = new PageInfo(hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),LineRequest.getIntentArea(), LineRequest.getAcceptAdjustType())); + PageInfo blackListDTOPageInfo = new PageInfo(hyPartnerLineInfoDAO.getBlackList(LineRequest.getUserNameKeyword(), LineRequest.getPhoneKeyword(),intentAreaName, LineRequest.getAcceptAdjustType())); List list = blackListDTOPageInfo.getList(); List closeUserIdList = list.stream().map(PartnerBlackListDTO::getCloseUserId).collect(Collectors.toList()); Map userPhoneMap = enterpriseUserDAO.getUserNameAndMobile(closeUserIdList); @@ -417,9 +418,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { // }else { // userIds = Arrays.asList(userId); // } + String intentAreaName = getIntentAreaName(lineRequest.getIntentArea()); PageHelper.startPage(lineRequest.getPageNum(),lineRequest.getPageSize()); PageInfo publicSeaLineList = new PageInfo(hyPartnerLineInfoDAO.getPublicSeaLineList(lineRequest.getUserNameKeyword(), lineRequest.getPhoneKeyword(), - lineRequest.getIntentArea(), lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), null)); + intentAreaName, lineRequest.getAcceptAdjustType(), lineRequest.getUpdateStartTime(), lineRequest.getUpdateEndTime(), null)); List list = publicSeaLineList.getList(); if (CollectionUtils.isEmpty(list)){ @@ -468,13 +470,15 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { + @Override public PageInfo privateSeaLineList(String userId, PrivateSeaLineListRequest request) { UserPositionAndUserScopeDTO userIdsByScope = enterpriseUserService.getUserIdsByScope(userId); + String intentAreaName = getIntentAreaName(request.getIntentArea()); PageHelper.startPage(request.getPageNum(),request.getPageSize()); PageInfo privateLineList = new PageInfo(hyPartnerLineInfoDAO.getPrivateSeaLineList(request.getKeyword(), request.getKeywordType(), request.getWorkflowStage(), request.getWorkflowStatus(), request.getDeadlineStart(), request.getDeadlineEnd(), - request.getIntentArea(), request.getAcceptAdjustType(), request.getStoreKeyword(), + intentAreaName, request.getAcceptAdjustType(), request.getStoreKeyword(), request.getStoreKeywordType(), userIdsByScope.getInvestmentUserIds(),userIdsByScope.getDevelopmentUserIds())); List list = privateLineList.getList(); if (CollectionUtils.isEmpty(list)){ @@ -655,9 +659,11 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { hyPartnerLineInfoDO.setInvestmentManager(investmentManager); hyPartnerLineInfoDAO.insertSelective(hyPartnerLineInfoDO); }else { - hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); - hyPartnerLineInfoDO.setInvestmentManager(investmentManager); - hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); + if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){ + hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); + hyPartnerLineInfoDO.setInvestmentManager(investmentManager); + hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); + } } return hyPartnerLineInfoDO; } @@ -756,4 +762,18 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { return stageCountVO; } + /** + * getIntentAreaName + * @param intentArea + * @return + */ + private String getIntentAreaName(String intentArea){ + String intentAreaName = null; + if (StringUtils.isNotEmpty(intentArea)){ + HyOpenAreaInfoDO hyOpenAreaInfoDO = hyOpenAreaInfoDAO.selectById(Long.valueOf(intentArea)); + intentAreaName = hyOpenAreaInfoDO.getAreaName(); + } + return intentAreaName; + } + } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/MenuServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/MenuServiceImpl.java index 54143fe32..c5a8233fc 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/MenuServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/MenuServiceImpl.java @@ -2,14 +2,20 @@ package com.cool.store.service.impl; import com.cool.store.constants.CommonConstants; import com.cool.store.dao.SysMenuDAO; +import com.cool.store.dao.SysRoleMenuDAO; import com.cool.store.entity.SysMenuDO; +import com.cool.store.entity.SysRoleMenuDO; +import com.cool.store.enums.MenuTypeEnum; import com.cool.store.enums.PlatFormTypeEnum; import com.cool.store.service.MenuService; import com.cool.store.vo.menu.MenuTreeVO; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * @author zhangchenbiao @@ -22,11 +28,35 @@ public class MenuServiceImpl implements MenuService { @Resource private SysMenuDAO sysMenuDAO; + @Resource + private SysRoleMenuDAO sysRoleMenuDAO; @Override public List getUserMenus(String userId, String roleId) { List menuList= sysMenuDAO.selectMenuAll(null, PlatFormTypeEnum.PC.getCode()); + List roleMenuList = sysRoleMenuDAO.getRoleMenuByRoleId(roleId, PlatFormTypeEnum.PC.getCode()); + List anthMenuIdList = menuList.stream().filter(o -> MenuTypeEnum.AUTH.getCode().equals(o.getMenuType())).map(SysMenuDO::getId).collect(Collectors.toList()); + List roleMenuIdList = roleMenuList.stream().map(SysRoleMenuDO::getMenuId).filter(anthMenuIdList::contains).collect(Collectors.toList()); + Set authMenuSet = new HashSet<>(); + //1倒推菜单列表 2.转换成树` + if (CollectionUtils.isEmpty(roleMenuIdList)) { + return new ArrayList<>(); + } + authMenuSet.addAll(roleMenuIdList); + Map idMap = menuList.stream().filter(a -> a.getId() != null && a.getParentId() != null).collect(Collectors.toMap(SysMenuDO::getId, SysMenuDO::getParentId)); + for (Long menuId : roleMenuIdList) { + getParentNode(menuId, idMap, authMenuSet); + } + menuList = menuList.stream().filter(data -> authMenuSet.contains(data.getId())).collect(Collectors.toList()); //根据角色获取菜单 return MenuTreeVO.dealMenuTree(CommonConstants.ZERO_LONG, menuList); } + + private void getParentNode(Long menuId, Map idMap, Set authMenuList) { + Long parentId = idMap.get(menuId); + authMenuList.add(parentId); + if (parentId!=null&&parentId != 0) { + getParentNode(parentId, idMap, authMenuList); + } + } }