From 563321d5b858e60106c93fee8d3693bb891efa7b Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 29 Jun 2023 17:03:26 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BA=BA=E5=91=98=E5=90=8C=E6=AD=A5?= =?UTF-8?q?=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/dao/UserRegionMappingDAO.java | 8 ++++++++ .../com/cool/store/mapper/UserRegionMappingMapper.java | 9 +++++++++ .../main/resources/mapper/UserRegionMappingMapper.xml | 7 +++++++ .../store/service/impl/EnterpriseSyncServiceImpl.java | 1 + 4 files changed, 25 insertions(+) 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/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/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-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); From 8c3989ca90dcdb24786c14f2ac37e7352afa6493 Mon Sep 17 00:00:00 2001 From: pserimal Date: Thu, 29 Jun 2023 17:03:37 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=8F=91=E8=B5=B7=E5=AE=A1=E6=89=B9?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E9=92=89=E9=92=89=E7=94=A8=E6=88=B7=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E5=A2=9E=E5=8A=A0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/service/impl/FlowServiceImpl.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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()); From a210e4e95b88824b206f06a5c775097e8f944884 Mon Sep 17 00:00:00 2001 From: pserimal Date: Thu, 29 Jun 2023 17:27:22 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E8=85=BE=E8=AE=AF=E9=9F=B3=E8=A7=86?= =?UTF-8?q?=E9=A2=91=E4=B8=8A=E4=BC=A0=E5=9B=9E=E8=B0=83Bug=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/dto/trtc/callback/TencentVod.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) 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; } } From 36996cb06462eb64f09e76dd29090126f83416af Mon Sep 17 00:00:00 2001 From: pserimal Date: Thu, 29 Jun 2023 18:48:24 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E9=9D=A2=E8=AF=95=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E6=A3=80=E7=B4=A2fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/mapper/HyPartnerInterviewPlanMapper.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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} From 63054bed463adf729de53dc33c885747579f9228 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 29 Jun 2023 19:27:20 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=9D=83=E9=99=90?= =?UTF-8?q?=E6=8E=A7=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/dao/SysRoleMenuDAO.java | 24 ++++++++++++++ .../cool/store/mapper/SysRoleMenuMapper.java | 10 ++++++ .../resources/mapper/SysRoleMenuMapper.xml | 11 ++++++- .../com/cool/store/entity/SysRoleMenuDO.java | 2 +- .../store/service/impl/MenuServiceImpl.java | 32 ++++++++++++++++++- .../cool/store/config/SignValidateFilter.java | 2 +- 6 files changed, 77 insertions(+), 4 deletions(-) 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/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/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-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-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); + } + } } diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java index 1c3a6050b..ed5d8c3b6 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -51,7 +51,7 @@ public class SignValidateFilter implements Filter { "/partner/mini/program/doc.html","/partner/mini/program/v2/api-docs","/**/test/**", "/partner/mini/program/oss/getUploadFileConfig", "/partner/mini/program/v1/partnerManage/partner/getIdentityCardInfo", - "/**/swagger*/**", "/**/webjars/**","/partner/mini/program/v1/partnerManage/openArea/areaApplyQuery"); + "/**/swagger*/**", "/**/webjars/**","/partner/mini/program/v1/partnerManage/openArea/areaApplyQuery", "/partner/mini/program/interview/appointment/submit"); /** From 8754a4c4842c023636d884acc0078d147bd2e514 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Thu, 29 Jun 2023 19:28:24 +0800 Subject: [PATCH 6/6] fix --- .../src/main/java/com/cool/store/config/SignValidateFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java index ed5d8c3b6..1c3a6050b 100644 --- a/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java +++ b/coolstore-partner-webc/src/main/java/com/cool/store/config/SignValidateFilter.java @@ -51,7 +51,7 @@ public class SignValidateFilter implements Filter { "/partner/mini/program/doc.html","/partner/mini/program/v2/api-docs","/**/test/**", "/partner/mini/program/oss/getUploadFileConfig", "/partner/mini/program/v1/partnerManage/partner/getIdentityCardInfo", - "/**/swagger*/**", "/**/webjars/**","/partner/mini/program/v1/partnerManage/openArea/areaApplyQuery", "/partner/mini/program/interview/appointment/submit"); + "/**/swagger*/**", "/**/webjars/**","/partner/mini/program/v1/partnerManage/openArea/areaApplyQuery"); /**