From 3f6386e3f0fd88dd5f7038bc05f20dbeae7ffc63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 25 Jul 2023 16:12:22 +0800 Subject: [PATCH 01/10] =?UTF-8?q?=E7=A7=BB=E5=87=BA=E9=BB=91=E5=90=8D?= =?UTF-8?q?=E5=8D=95=20=E4=B8=8D=E9=9C=80=E8=A6=81=E5=88=B0=E7=A7=81?= =?UTF-8?q?=E6=B5=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/impl/HyPartnerLineInfoServiceImpl.java | 7 ------- 1 file changed, 7 deletions(-) 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 4979bd2d4..4db2c9c34 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 @@ -315,17 +315,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); - List lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(hyPartnerLineInfo.getPartnerId()); HyPartnerLineInfoDO newHyPartnerLineInfoDO = new HyPartnerLineInfoDO(); newHyPartnerLineInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId()); newHyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); newHyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); - log.info("lineFollowHistoryList_1:{}",JSONObject.toJSONString(lineFollowHistoryList)); - if (CollectionUtils.isNotEmpty(lineFollowHistoryList)){ - String investmentManager = lineFollowHistoryList.get(0).getInvestmentManager(); - newHyPartnerLineInfoDO.setInvestmentManager(investmentManager); - status = LineStatusEnum.PRIVATE_SEAS.getCode(); - } newHyPartnerLineInfoDO.setLineStatus(status); hyPartnerLineInfoDAO.insertSelective(newHyPartnerLineInfoDO); From cebad69c3a2fb0c40b214d52d964a935acd9b4bb Mon Sep 17 00:00:00 2001 From: "feng.li" Date: Tue, 25 Jul 2023 16:34:22 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E7=BB=93=E6=9D=9F=E8=B7=9F=E8=BF=9B?= =?UTF-8?q?=E6=97=B6=E5=88=A0=E9=99=A4=E7=A8=BD=E6=A0=B8=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=EF=BC=88=E5=A6=82=E6=9E=9C=E6=9C=89=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/cool/store/mapper/HyInspectionMapper.java | 2 ++ .../src/main/resources/mapper/HyInspectionMapper.xml | 11 +++++++++++ .../impl/workflow/InterviewWorkFlowService.java | 12 ++++++++++++ 3 files changed, 25 insertions(+) diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java index 7d8e6b0be..205c2d05a 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/HyInspectionMapper.java @@ -22,6 +22,8 @@ public interface HyInspectionMapper { HyInspectionDO selectByPrimaryKey(Long id); + HyInspectionDO selectByInterviewPlanId(Long interviewPlanId); + int updateByPrimaryKeySelective(HyInspectionDO record); int updateByPrimaryKey(HyInspectionDO record); diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml index 1120bf2cd..b27e9690e 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyInspectionMapper.xml @@ -28,7 +28,18 @@ from hy_inspection where id = #{id} + and deleted = 0 + + + + SELECT partner_id, IFNULL(COUNT(1), 0) AS followCount FROM hy_partner_line_info - where (deleted = 1 or (deleted=0 and line_status=0 and close_time is not null)) + where (deleted = 1 or (deleted=0 and line_status=0 and close_time is not null and investment_manager is not null)) GROUP BY partner_id; From 857c0fe4cce7cc143c318b6bd3da5a0b16633b12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 25 Jul 2023 13:49:54 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E8=B7=9F=E8=BF=9B=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/HyPartnerLineInfoMapper.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index 01b32777e..f1614b231 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -580,6 +580,11 @@ SELECT partner_id, IFNULL(COUNT(1), 0) AS followCount FROM hy_partner_line_info where (deleted = 1 or (deleted=0 and line_status=0 and close_time is not null and investment_manager is not null)) + + + #{partnerId} + + GROUP BY partner_id; From dd575d86389d5c0fa5348dc243424461de647dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 25 Jul 2023 14:34:02 +0800 Subject: [PATCH 05/10] =?UTF-8?q?=E8=B7=9F=E8=BF=9B=E6=AC=A1=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/mapper/HyPartnerLineInfoMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml index f1614b231..8c60f26f5 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/HyPartnerLineInfoMapper.xml @@ -579,7 +579,7 @@ SELECT partner_id, IFNULL(COUNT(1), 0) AS followCount FROM hy_partner_line_info - where (deleted = 1 or (deleted=0 and line_status in (0,3) and close_time is not null and investment_manager is not null)) + where (deleted = 1 or (deleted=0 and line_status in (0,3) and close_time is not null )) and investment_manager is not null #{partnerId} @@ -605,7 +605,7 @@ From 35bf2fc89dbfcd7a07d451ef5356cb65fee926d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 25 Jul 2023 15:44:15 +0800 Subject: [PATCH 07/10] assignFollowUser --- .../store/service/impl/HyPartnerLineInfoServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) 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 2009bf430..4979bd2d4 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 @@ -577,6 +577,12 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { @Override public Boolean assignFollowUser(String partnerId, String wantShopArea, Integer acceptAdjustType) { log.info("assignFollowUser partnerId:{},wantShopArea:{},acceptAdjustType:{}",partnerId,wantShopArea,acceptAdjustType); + + List lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(partnerId); + //如果跟进次数大于1 直接使用上一次的招商经理 + if (CollectionUtils.isNotEmpty(lineFollowHistoryList)){ + return Boolean.TRUE; + } //当前加盟商线索 HyPartnerLineInfoDO HyPartnerLineInfo = hyPartnerLineInfoDAO.getByPartnerId(partnerId); //如果意向区域没有绑定战区 不分配招商经理 From a2bcaacb47cb1a5615ee60499e0b9c9d76db2034 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 25 Jul 2023 16:12:22 +0800 Subject: [PATCH 08/10] =?UTF-8?q?=E7=A7=BB=E5=87=BA=E9=BB=91=E5=90=8D?= =?UTF-8?q?=E5=8D=95=20=E4=B8=8D=E9=9C=80=E8=A6=81=E5=88=B0=E7=A7=81?= =?UTF-8?q?=E6=B5=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../store/service/impl/HyPartnerLineInfoServiceImpl.java | 7 ------- 1 file changed, 7 deletions(-) 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 4979bd2d4..4db2c9c34 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 @@ -315,17 +315,10 @@ public class HyPartnerLineInfoServiceImpl implements HyPartnerLineInfoService { hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); - List lineFollowHistoryList = hyPartnerLineInfoDAO.getLineFollowHistoryList(hyPartnerLineInfo.getPartnerId()); HyPartnerLineInfoDO newHyPartnerLineInfoDO = new HyPartnerLineInfoDO(); newHyPartnerLineInfoDO.setPartnerId(hyPartnerLineInfo.getPartnerId()); newHyPartnerLineInfoDO.setWorkflowStage(WorkflowStageEnum.INTENT.getCode()); newHyPartnerLineInfoDO.setWorkflowStatus(WorkflowStatusEnum.INTENT_0.getCode()); - log.info("lineFollowHistoryList_1:{}",JSONObject.toJSONString(lineFollowHistoryList)); - if (CollectionUtils.isNotEmpty(lineFollowHistoryList)){ - String investmentManager = lineFollowHistoryList.get(0).getInvestmentManager(); - newHyPartnerLineInfoDO.setInvestmentManager(investmentManager); - status = LineStatusEnum.PRIVATE_SEAS.getCode(); - } newHyPartnerLineInfoDO.setLineStatus(status); hyPartnerLineInfoDAO.insertSelective(newHyPartnerLineInfoDO); From 0a83bd3a3d34e9f04a661e84bc99389aa51b64d5 Mon Sep 17 00:00:00 2001 From: zhangchenbiao Date: Tue, 25 Jul 2023 15:56:57 +0800 Subject: [PATCH 09/10] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A7=92=E8=89=B2?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E4=B8=B4=E6=97=B6=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/cool/store/dao/SysMenuDAO.java | 5 ++ .../java/com/cool/store/dao/SysRoleDAO.java | 14 +++++ .../com/cool/store/dao/SysRoleMenuDAO.java | 15 +++++ .../com/cool/store/mapper/SysRoleMapper.java | 14 +++++ .../cool/store/mapper/SysRoleMenuMapper.java | 9 ++- .../main/resources/mapper/SysMenuMapper.xml | 2 +- .../main/resources/mapper/SysRoleMapper.xml | 16 +++++ .../resources/mapper/SysRoleMenuMapper.xml | 54 +++++++++-------- .../com/cool/store/dto/menu/AddMenuDTO.java | 55 +++++++++++++++++ .../cool/store/dto/role/RoleUpdateDTO.java | 26 ++++++++ .../cool/store/vo/role/RoleAuthInfoVO.java | 42 +++++++++++++ .../com/cool/store/vo/role/RolePageVO.java | 38 ++++++++++++ .../com/cool/store/service/MenuService.java | 16 +++++ .../com/cool/store/service/RoleService.java | 39 ++++++++++++ .../store/service/impl/MenuServiceImpl.java | 13 +++- .../store/service/impl/RoleServiceImpl.java | 60 +++++++++++++++++++ .../cool/store/controller/MenuController.java | 19 ++++++ .../cool/store/controller/RoleController.java | 49 +++++++++++++++ 18 files changed, 459 insertions(+), 27 deletions(-) create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/menu/AddMenuDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/dto/role/RoleUpdateDTO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/role/RoleAuthInfoVO.java create mode 100644 coolstore-partner-model/src/main/java/com/cool/store/vo/role/RolePageVO.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/RoleService.java create mode 100644 coolstore-partner-service/src/main/java/com/cool/store/service/impl/RoleServiceImpl.java create mode 100644 coolstore-partner-webb/src/main/java/com/cool/store/controller/RoleController.java diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysMenuDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysMenuDAO.java index 8c1f5224d..279f825d7 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysMenuDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysMenuDAO.java @@ -23,4 +23,9 @@ public class SysMenuDAO { return sysMenuMapper.selectMenuAll(parentIds, platformType); } + public Long addMenu(SysMenuDO param){ + sysMenuMapper.insertSelective(param); + return param.getId(); + } + } diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleDAO.java b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleDAO.java index 8712fb554..de614d304 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleDAO.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/dao/SysRoleDAO.java @@ -3,6 +3,8 @@ package com.cool.store.dao; import com.cool.store.entity.SysRoleDO; import com.cool.store.enums.DataSourceEnum; import com.cool.store.mapper.SysRoleMapper; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageHelper; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Repository; @@ -50,4 +52,16 @@ public class SysRoleDAO { } return sysRoleMapper.getRoleByName(roleName, dataSource.getCode()); } + + public Page getRolePage(Integer pageNum, Integer pageSize){ + PageHelper.startPage(pageNum, pageSize); + return sysRoleMapper.getRolePage(); + } + + public SysRoleDO getRoleDetail(String roleId){ + if(StringUtils.isBlank(roleId)){ + return null; + } + return sysRoleMapper.getRoleDetail(roleId); + } } 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 d9faeaeb4..84d33a0b4 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 @@ -2,11 +2,13 @@ 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.enums.PlatFormTypeEnum; import com.cool.store.mapper.SysRoleMenuMapper; import com.google.common.collect.Lists; import org.springframework.stereotype.Repository; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -33,4 +35,17 @@ public class SysRoleMenuDAO { return sysRoleMenuMapper.getRoleMenuByRoleId(roleId, platform); } + public Integer updateRoleAuth(String roleId, List menuIds){ + //先删后增 + sysRoleMenuMapper.deleteRoleAuth(roleId, PlatFormTypeEnum.PC.getCode()); + List insertList = new ArrayList<>(); + for (Long menuId : menuIds) { + SysRoleMenuDO insert = new SysRoleMenuDO(); + insert.setMenuId(menuId); + insert.setRoleId(roleId); + insertList.add(insert); + } + return sysRoleMenuMapper.batchInsert(insertList); + } + } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMapper.java index c9b66c2da..ff6e2fea7 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/SysRoleMapper.java @@ -1,6 +1,7 @@ package com.cool.store.mapper; import com.cool.store.entity.SysRoleDO; +import com.github.pagehelper.Page; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -40,4 +41,17 @@ public interface SysRoleMapper { * @return */ SysRoleDO getRoleByName(@Param("roleName") String roleName, @Param("roleType")Integer roleType); + + /** + * 角色分页 + * @return + */ + Page getRolePage(); + + /** + * 获取角色详情 + * @param roleId + * @return + */ + SysRoleDO getRoleDetail(@Param("roleId") String roleId); } \ 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 fb186ad9c..359e07a69 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 @@ -16,7 +16,7 @@ public interface SysRoleMenuMapper { * 会对传进来的字段做判空处理,如果字段为空,则使用数据库默认字段或者null * dateTime:2023-05-19 03:01 */ - int insertSelective(@Param("record") SysRoleMenuDO record); + int batchInsert(@Param("recordList") List recordList); /** * @@ -32,4 +32,11 @@ public interface SysRoleMenuMapper { * @return */ List getRoleMenuByRoleId(@Param("roleId")String roleId, @Param("platform")String platform); + + /** + * 删除角色权限 + * @param roleId + * @return + */ + Integer deleteRoleAuth(@Param("roleId")String roleId, @Param("platform")String platform); } \ No newline at end of file diff --git a/coolstore-partner-dao/src/main/resources/mapper/SysMenuMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SysMenuMapper.xml index 1cf6031d4..828627148 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SysMenuMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SysMenuMapper.xml @@ -28,7 +28,7 @@ id, parent_id, code, name, alias, path, perms, source, sort, category, action, remark, platform, is_deleted, type, target, component, icon, menu_type, env, common_functions_icon - + insert into sys_menu diff --git a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml index b09a086ce..78487b147 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMapper.xml @@ -138,4 +138,20 @@ where role_name = #{roleName} and role_type = #{roleType} and deleted = 0 limit 1 + + + + \ 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 89160a87b..032786c40 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/SysRoleMenuMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/SysRoleMenuMapper.xml @@ -10,30 +10,32 @@ id, menu_id, role_id, platform - - insert into sys_role_menu - - - menu_id, - - - role_id, - - - platform, - - - - - #{record.menuId}, - - - #{record.roleId}, - - - #{record.platform}, - - + + + insert into sys_role_menu + + + menu_id, + + + role_id, + + + platform, + + + + + #{record.menuId}, + + + #{record.roleId}, + + + #{record.platform}, + + + update sys_role_menu @@ -59,4 +61,8 @@ where role_id=#{roleId} and platform=#{platform} + + + delete from sys_role_menu where role_id=#{roleId} and platform=#{platform} + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/menu/AddMenuDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/menu/AddMenuDTO.java new file mode 100644 index 000000000..64a47bd55 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/menu/AddMenuDTO.java @@ -0,0 +1,55 @@ +package com.cool.store.dto.menu; + + +import com.cool.store.entity.SysMenuDO; +import com.cool.store.enums.ErrorCodeEnum; +import com.cool.store.enums.MenuTypeEnum; +import com.cool.store.exception.ServiceException; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + + +@Data +public class AddMenuDTO { + + @NotBlank(message = "名称不能为空") + private String name; + + @JsonProperty("parent_id") + @NotNull(message = "父Id不能为空") + private Long parentId; + + @NotBlank(message = "地址不能为空") + private String path; + + private String component; + + private String target; + + private String icon; + + private String env; + + public static SysMenuDO convertDO(AddMenuDTO param, MenuTypeEnum menuTypeEnum){ + SysMenuDO menu = new SysMenuDO(); + SysMenuDO sysMenuDO = new SysMenuDO(); + sysMenuDO.setParentId(param.getParentId()); + sysMenuDO.setName(param.getName()); + sysMenuDO.setCode(param.getName()); + sysMenuDO.setPath(param.getPath()); + sysMenuDO.setType(null); + sysMenuDO.setSource("menu"); + sysMenuDO.setAction(1); + sysMenuDO.setPlatform("PC"); + sysMenuDO.setComponent(param.getComponent()); + sysMenuDO.setTarget(param.getTarget()); + sysMenuDO.setIcon(param.getIcon()); + sysMenuDO.setMenuType(menuTypeEnum.getCode()); + return menu; + } + + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/role/RoleUpdateDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/role/RoleUpdateDTO.java new file mode 100644 index 000000000..f3ac30ca3 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/role/RoleUpdateDTO.java @@ -0,0 +1,26 @@ +package com.cool.store.dto.role; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @author zhangchenbiao + * @FileName: RoleUpdateDTO + * @Description: + * @date 2023-07-25 15:03 + */ +@Data +public class RoleUpdateDTO { + + @ApiModelProperty("角色id") + private String roleId; + + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty("菜单ids") + private List menuIds; + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/role/RoleAuthInfoVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/role/RoleAuthInfoVO.java new file mode 100644 index 000000000..51f0a2797 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/role/RoleAuthInfoVO.java @@ -0,0 +1,42 @@ +package com.cool.store.vo.role; + +import com.cool.store.entity.SysRoleDO; +import com.cool.store.entity.SysRoleMenuDO; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.apache.commons.collections4.ListUtils; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * @author zhangchenbiao + * @FileName: RoleAuthInfoVO + * @Description: + * @date 2023-07-25 15:11 + */ +@Data +public class RoleAuthInfoVO { + + @ApiModelProperty("角色id") + private String roleId; + + @ApiModelProperty("角色名称") + private String roleName; + + @ApiModelProperty("菜单ids") + private List menuIds; + + public static RoleAuthInfoVO convertVO(SysRoleDO role, List roleMenuList){ + if(Objects.isNull(role)){ + return null; + } + RoleAuthInfoVO result = new RoleAuthInfoVO(); + result.setRoleId(role.getRoleId()); + result.setRoleName(role.getRoleName()); + result.setMenuIds(ListUtils.emptyIfNull(roleMenuList).stream().map(SysRoleMenuDO::getMenuId).distinct().collect(Collectors.toList())); + return result; + } + +} diff --git a/coolstore-partner-model/src/main/java/com/cool/store/vo/role/RolePageVO.java b/coolstore-partner-model/src/main/java/com/cool/store/vo/role/RolePageVO.java new file mode 100644 index 000000000..d59e3f8c4 --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/vo/role/RolePageVO.java @@ -0,0 +1,38 @@ +package com.cool.store.vo.role; + +import com.cool.store.entity.SysRoleDO; +import com.google.common.collect.Lists; +import lombok.Data; +import org.apache.commons.collections4.CollectionUtils; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author zhangchenbiao + * @FileName: RolePageVO + * @Description: + * @date 2023-07-25 15:10 + */ +@Data +public class RolePageVO { + + private String roleId; + + private String roleName; + + public static List convertList(List roleList){ + if(CollectionUtils.isEmpty(roleList)){ + return Lists.newArrayList(); + } + List resultList = new ArrayList<>(); + for (SysRoleDO sysRole : roleList) { + RolePageVO role = new RolePageVO(); + role.setRoleId(sysRole.getRoleId()); + role.setRoleName(role.getRoleName()); + resultList.add(role); + } + return resultList; + } + +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/MenuService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/MenuService.java index ea512935e..d3c48188e 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/MenuService.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/MenuService.java @@ -1,5 +1,7 @@ package com.cool.store.service; +import com.cool.store.dto.menu.AddMenuDTO; +import com.cool.store.enums.MenuTypeEnum; import com.cool.store.vo.menu.MenuTreeVO; import java.util.List; @@ -19,4 +21,18 @@ public interface MenuService { * @return */ List getUserMenus(String userId, String roleId); + + /** + * 获取所有的菜单 + * @return + */ + List getAllMenus(); + + /** + * 新增菜单 + * @param param + * @param menuType + * @return + */ + Long addMenu(AddMenuDTO param, MenuTypeEnum menuType); } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/RoleService.java b/coolstore-partner-service/src/main/java/com/cool/store/service/RoleService.java new file mode 100644 index 000000000..5a6f4becd --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/RoleService.java @@ -0,0 +1,39 @@ +package com.cool.store.service; + +import com.cool.store.dto.role.RoleUpdateDTO; +import com.cool.store.vo.role.RoleAuthInfoVO; +import com.cool.store.vo.role.RolePageVO; +import com.github.pagehelper.PageInfo; + +/** + * @author zhangchenbiao + * @FileName: RoleService + * @Description:角色service + * @date 2023-07-25 15:05 + */ +public interface RoleService { + + /** + * 获取角色分页 + * @param pageNum + * @param pageSize + * @return + */ + PageInfo getRolePage(Integer pageNum, Integer pageSize); + + /** + * 获取角色权限详情 + * @param roleId + * @return + */ + RoleAuthInfoVO getRoleAuthDetail(String roleId); + + /** + * 更新角色权限 + * @param userId + * @param param + * @return + */ + Integer updateRoleAuth(String userId, RoleUpdateDTO param); + +} 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 c5a8233fc..eb3c98a8b 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 @@ -3,6 +3,7 @@ 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.dto.menu.AddMenuDTO; import com.cool.store.entity.SysMenuDO; import com.cool.store.entity.SysRoleMenuDO; import com.cool.store.enums.MenuTypeEnum; @@ -10,7 +11,6 @@ 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; @@ -52,6 +52,17 @@ public class MenuServiceImpl implements MenuService { return MenuTreeVO.dealMenuTree(CommonConstants.ZERO_LONG, menuList); } + @Override + public List getAllMenus() { + List menuList= sysMenuDAO.selectMenuAll(null, PlatFormTypeEnum.PC.getCode()); + return MenuTreeVO.dealMenuTree(CommonConstants.ZERO_LONG, menuList); + } + + @Override + public Long addMenu(AddMenuDTO param, MenuTypeEnum menuType) { + return sysMenuDAO.addMenu(AddMenuDTO.convertDO(param, menuType)); + } + private void getParentNode(Long menuId, Map idMap, Set authMenuList) { Long parentId = idMap.get(menuId); authMenuList.add(parentId); diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RoleServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RoleServiceImpl.java new file mode 100644 index 000000000..015cde2f5 --- /dev/null +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/RoleServiceImpl.java @@ -0,0 +1,60 @@ +package com.cool.store.service.impl; + +import com.cool.store.dao.SysMenuDAO; +import com.cool.store.dao.SysRoleDAO; +import com.cool.store.dao.SysRoleMenuDAO; +import com.cool.store.dto.role.RoleUpdateDTO; +import com.cool.store.entity.SysRoleDO; +import com.cool.store.entity.SysRoleMenuDO; +import com.cool.store.enums.PlatFormTypeEnum; +import com.cool.store.service.RoleService; +import com.cool.store.vo.role.RoleAuthInfoVO; +import com.cool.store.vo.role.RolePageVO; +import com.github.pagehelper.Page; +import com.github.pagehelper.PageInfo; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; +import java.util.Objects; + +/** + * @author zhangchenbiao + * @FileName: RoleServiceImpl + * @Description: + * @date 2023-07-25 15:06 + */ +@Service +public class RoleServiceImpl implements RoleService { + + @Resource + private SysRoleDAO sysRoleDAO; + @Resource + private SysMenuDAO sysMenuDAO; + @Resource + private SysRoleMenuDAO sysRoleMenuDAO; + + @Override + public PageInfo getRolePage(Integer pageNum, Integer pageSize) { + Page page = sysRoleDAO.getRolePage(pageNum, pageSize); + PageInfo resultPage = new PageInfo(page); + List resultList = RolePageVO.convertList(page); + resultPage.setList(resultList); + return resultPage; + } + + @Override + public RoleAuthInfoVO getRoleAuthDetail(String roleId) { + SysRoleDO roleDetail = sysRoleDAO.getRoleDetail(roleId); + if(Objects.isNull(roleDetail)){ + return null; + } + List roleMenuAuths = sysRoleMenuDAO.getRoleMenuByRoleId(roleId, PlatFormTypeEnum.PC.getCode()); + return RoleAuthInfoVO.convertVO(roleDetail, roleMenuAuths); + } + + @Override + public Integer updateRoleAuth(String userId, RoleUpdateDTO param) { + return sysRoleMenuDAO.updateRoleAuth(param.getRoleId(), param.getMenuIds()); + } +} diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/MenuController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/MenuController.java index 0c2a29545..d510d5e5d 100644 --- a/coolstore-partner-webb/src/main/java/com/cool/store/controller/MenuController.java +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/MenuController.java @@ -1,9 +1,13 @@ package com.cool.store.controller; import com.cool.store.context.CurrentUserHolder; +import com.cool.store.dto.menu.AddMenuDTO; +import com.cool.store.enums.MenuTypeEnum; import com.cool.store.response.ResponseResult; import com.cool.store.service.MenuService; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; @@ -25,4 +29,19 @@ public class MenuController { return ResponseResult.success(menuService.getUserMenus(CurrentUserHolder.getUserId(), CurrentUserHolder.getRoleId())); } + @GetMapping("/menu/getAllMenus") + public ResponseResult getAllMenus(){ + return ResponseResult.success(menuService.getAllMenus()); + } + + @PostMapping(path = "/menu/add") + public ResponseResult addMenu(@RequestBody AddMenuDTO param){ + return ResponseResult.success(menuService.addMenu(param, MenuTypeEnum.MENU)); + } + + @PostMapping(path = "/menu/auth/add") + public ResponseResult addMenuAuth(@RequestBody AddMenuDTO param){ + return ResponseResult.success(menuService.addMenu(param, MenuTypeEnum.AUTH)); + } + } diff --git a/coolstore-partner-webb/src/main/java/com/cool/store/controller/RoleController.java b/coolstore-partner-webb/src/main/java/com/cool/store/controller/RoleController.java new file mode 100644 index 000000000..fa5b2b83f --- /dev/null +++ b/coolstore-partner-webb/src/main/java/com/cool/store/controller/RoleController.java @@ -0,0 +1,49 @@ +package com.cool.store.controller; + +import com.cool.store.context.CurrentUserHolder; +import com.cool.store.dto.role.RoleUpdateDTO; +import com.cool.store.response.ResponseResult; +import com.cool.store.service.RoleService; +import com.cool.store.vo.role.RoleAuthInfoVO; +import com.cool.store.vo.role.RolePageVO; +import com.github.pagehelper.PageInfo; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +/** + * @author zhangchenbiao + * @FileName: RoleController + * @Description: + * @date 2023-07-25 14:58 + */ +@RestController +@Slf4j +@Api(tags = "角色") +public class RoleController { + + @Resource + private RoleService roleService; + + @ApiOperation("角色列表") + @GetMapping("/role/page") + public ResponseResult> getRolePage(@RequestParam("pageNum")Integer pageNum, @RequestParam("pageSize")Integer pageSize){ + return ResponseResult.success(roleService.getRolePage(pageNum, pageSize)); + } + + @ApiOperation("角色权限详情") + @GetMapping("/role/auth/detail") + public ResponseResult getRoleAuthDetail(@RequestParam("roleId")String roleId){ + return ResponseResult.success(roleService.getRoleAuthDetail(roleId)); + } + + @ApiOperation("角色更新") + @PostMapping("/role/auth/update") + public ResponseResult updateRoleAuth(@RequestBody RoleUpdateDTO param){ + return ResponseResult.success(roleService.updateRoleAuth(CurrentUserHolder.getUserId(), param)); + } + +} From ffab746b52122d0f75c43eff856c06764a8a66db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E7=AB=B9=E7=BA=A2?= Date: Tue, 25 Jul 2023 16:53:29 +0800 Subject: [PATCH 10/10] 38318 --- .../impl/HyPartnerIntentInfoServiceImpl.java | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) 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 90c289660..90dbec20a 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 @@ -217,21 +217,21 @@ public class HyPartnerIntentInfoServiceImpl implements HyPartnerIntentInfoServic hyPartnerUserInfoDO.setWantShopArea(request.getWantShopArea()); hyPartnerUserInfoDO.setAcceptAdjustType(request.getAcceptAdjustType()); hyPartnerUserInfoDAO.updateByPrimaryKeySelective(hyPartnerUserInfoDO); - // 更新线索状态和招商经理 - //是公海线索 才会修改线索状态与招商经理 - if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){ - Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType()); - hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); - if (flag){ - String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent"); - hyPartnerLineInfoDO.setInvestmentManager(investmentManager); - userIdList.add(investmentManager); - } - hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); + } + // 更新线索状态和招商经理 + //是公海线索 才会修改线索状态与招商经理 + if (LineStatusEnum.PUBLIC_SEAS.getCode().equals(hyPartnerLineInfoDO.getLineStatus())){ + Boolean flag = hyPartnerLineInfoService.assignFollowUser(request.getPartnerId(), request.getWantShopArea(), request.getAcceptAdjustType()); + hyPartnerLineInfoDO.setLineStatus(flag ? LineStatusEnum.PRIVATE_SEAS.getCode() : LineStatusEnum.PUBLIC_SEAS.getCode()); + if (flag){ + String investmentManager = hyPartnerLineInfoService.getAssignFollowUser(request.getPartnerId(), "intent"); + hyPartnerLineInfoDO.setInvestmentManager(investmentManager); + userIdList.add(investmentManager); + } + hyPartnerLineInfoDAO.updateByPrimaryKeySelective(hyPartnerLineInfoDO); - if(flag){//分配招商经理成功才发送分配招商经理的飞书工作通知 - noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile()); - } + if(flag){//分配招商经理成功才发送分配招商经理的飞书工作通知 + noticeService.sendFeiShuNotice(FeiShuNoticeMsgEnum.ALLOCATION_INVESTMENT_MANAGER,userIdList,DateUtil.formatDateTime(new Date()),hyPartnerUserInfoDO.getUsername(),hyPartnerUserInfoDO.getMobile()); } } if(!isUpdateIntentInfo){