Commit 6605556c by 墨竹

feat:初始化权限

parent dd35a6f1
package com.gic.haoban.manage.api.service; package com.gic.haoban.manage.api.service;
import java.util.List;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.gic.haoban.manage.api.dto.ApplicationSettingDTO; import com.gic.haoban.manage.api.dto.ApplicationSettingDTO;
import java.util.List;
/** /**
* Created by tgs on 2020/2/9. * Created by tgs on 2020/2/9.
*/ */
...@@ -15,4 +15,6 @@ public interface ApplicationSettingApiService { ...@@ -15,4 +15,6 @@ public interface ApplicationSettingApiService {
ApplicationSettingDTO findSettingByWxEnterpriseIdAndApplicationId(String wxEnterpriseId,String applicationId); ApplicationSettingDTO findSettingByWxEnterpriseIdAndApplicationId(String wxEnterpriseId,String applicationId);
List<ApplicationSettingDTO> listOpenByWxEnterpriseIdAndApplicationIds(String wxEnterpriseId,List<String> applicationIds); List<ApplicationSettingDTO> listOpenByWxEnterpriseIdAndApplicationIds(String wxEnterpriseId,List<String> applicationIds);
List<String> findMenuCodes(String wxEnterpriseId);
} }
package com.gic.haoban.manage.service.dao.mapper; package com.gic.haoban.manage.service.dao.mapper;
import java.util.List; import com.gic.haoban.manage.service.entity.TabHaobanApplicationSetting;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import com.gic.haoban.manage.service.entity.TabHaobanApplicationSetting; import java.util.List;
public interface ApplicationSettingMapper { public interface ApplicationSettingMapper {
int deleteByPrimaryKey(String settingId); int deleteByPrimaryKey(String settingId);
...@@ -24,4 +23,6 @@ public interface ApplicationSettingMapper { ...@@ -24,4 +23,6 @@ public interface ApplicationSettingMapper {
TabHaobanApplicationSetting findSetting(@Param("wxEnterpriseId")String wxEnterpriseId, @Param("applicationId")String applicationId); TabHaobanApplicationSetting findSetting(@Param("wxEnterpriseId")String wxEnterpriseId, @Param("applicationId")String applicationId);
List<TabHaobanApplicationSetting> listOpenByWxEnterpriseIdAndApplicationIds(@Param("wxEnterpriseId")String wxEnterpriseId, @Param("applicationIds")List<String> applicationIds); List<TabHaobanApplicationSetting> listOpenByWxEnterpriseIdAndApplicationIds(@Param("wxEnterpriseId")String wxEnterpriseId, @Param("applicationIds")List<String> applicationIds);
List<String> findMenuCodes(String wxEnterpriseId);
} }
\ No newline at end of file
...@@ -75,5 +75,21 @@ public interface TabHaobanMenuMapper { ...@@ -75,5 +75,21 @@ public interface TabHaobanMenuMapper {
List<String> getHaobanMenuListByClerkType(@Param("wxEnterpriseId") String wxEnterpriseId, List<String> getHaobanMenuListByClerkType(@Param("wxEnterpriseId") String wxEnterpriseId,
@Param("clerkType") Integer clerkType, @Param("clerkType") Integer clerkType,
@Param("systemFlag") Integer systemFlag); @Param("systemFlag") Integer systemFlag);
/**
* 获取父菜单
*
* @param menuCodes 菜单代码
* @return {@link List}<{@link String}>
*/
List<String> getHaobanMenuByPid(@Param("menuCodes") List<String> menuCodes);
/**
* 获取子菜单
*
* @param menuCodes 菜单代码
* @return {@link List}<{@link String}>
*/
List<String> getHaobanChildMenuByPid(@Param("menuCodes") List<String> menuCodes);
} }
package com.gic.haoban.manage.service.service.out.impl; package com.gic.haoban.manage.service.service.out.impl;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.gic.commons.util.EntityUtil; import com.gic.commons.util.EntityUtil;
...@@ -73,4 +71,9 @@ public class ApplicationSettingApiServiceImpl implements ApplicationSettingApiSe ...@@ -73,4 +71,9 @@ public class ApplicationSettingApiServiceImpl implements ApplicationSettingApiSe
List<ApplicationSettingDTO> result = EntityUtil.changeEntityListByJSON(ApplicationSettingDTO.class, list); List<ApplicationSettingDTO> result = EntityUtil.changeEntityListByJSON(ApplicationSettingDTO.class, list);
return result; return result;
} }
@Override
public List<String> findMenuCodes(String wxEnterpriseId) {
return applicationSettingMapper.findMenuCodes(wxEnterpriseId);
}
} }
...@@ -9,10 +9,14 @@ import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleMenuQDTO; ...@@ -9,10 +9,14 @@ import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleMenuQDTO;
import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO; import com.gic.haoban.manage.api.dto.qdto.role.HaobanRoleQDTO;
import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO; import com.gic.haoban.manage.api.dto.role.HaobanRoleDTO;
import com.gic.haoban.manage.api.enums.role.RoleClerkTypeEnum; import com.gic.haoban.manage.api.enums.role.RoleClerkTypeEnum;
import com.gic.haoban.manage.api.service.ApplicationSettingApiService;
import com.gic.haoban.manage.api.service.role.HaobanRoleApiService; import com.gic.haoban.manage.api.service.role.HaobanRoleApiService;
import com.gic.haoban.manage.service.entity.TabHaobanWxEnterpriseRelated;
import com.gic.haoban.manage.service.entity.role.TabHaobanRole; import com.gic.haoban.manage.service.entity.role.TabHaobanRole;
import com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu; import com.gic.haoban.manage.service.entity.role.TabHaobanRoleMenu;
import com.gic.haoban.manage.service.pojo.bo.role.HaobanRoleBO; import com.gic.haoban.manage.service.pojo.bo.role.HaobanRoleBO;
import com.gic.haoban.manage.service.service.WxEnterpriseRelatedService;
import com.gic.haoban.manage.service.service.role.HaobanMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService; import com.gic.haoban.manage.service.service.role.HaobanRoleMenuService;
import com.gic.haoban.manage.service.service.role.HaobanRoleService; import com.gic.haoban.manage.service.service.role.HaobanRoleService;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
...@@ -36,6 +40,12 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -36,6 +40,12 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
private HaobanRoleMenuService haobanRoleMenuService; private HaobanRoleMenuService haobanRoleMenuService;
@Autowired @Autowired
private ManageSettingApiService manageSettingApiService; private ManageSettingApiService manageSettingApiService;
@Autowired
private WxEnterpriseRelatedService wxEnterpriseRelatedService;
@Autowired
private ApplicationSettingApiService applicationSettingApiService;
@Autowired
private HaobanMenuService haobanMenuService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
...@@ -180,15 +190,41 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -180,15 +190,41 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
@Override @Override
public ServiceResponse addHaobanRoleInit(String wxEnterpriseId) { public ServiceResponse addHaobanRoleInit(String wxEnterpriseId) {
List<TabHaobanWxEnterpriseRelated> enterpriseRelateds = wxEnterpriseRelatedService.getByWxEnterpriseId(wxEnterpriseId);
//全品牌搜索 //全品牌搜索
//List<String> searchFlagList = manageSettingApiService.getEnterpriseIdByFlag(1, null); boolean searchFlag = false;
//List<String> handoverFlagList = manageSettingApiService.getEnterpriseIdByFlag(null, 1); //离职继承
boolean handoverFlag = false;
for (TabHaobanWxEnterpriseRelated enterpriseRelated : enterpriseRelateds) {
boolean searchFlagEnterpriseId = manageSettingApiService.getEnterpriseIdByFlag(enterpriseRelated.getEnterpriseId(), 1, null);
if (searchFlagEnterpriseId) {
searchFlag = true;
break;
}
}
List<HaobanRoleBO> haobanRoleBOList = haobanRoleService.getListByWxEnterpriseId("-1",null); for (TabHaobanWxEnterpriseRelated enterpriseRelated : enterpriseRelateds) {
boolean handoverFlagEnterpriseId = manageSettingApiService.getEnterpriseIdByFlag(enterpriseRelated.getEnterpriseId(), null, 1);
if (handoverFlagEnterpriseId) {
handoverFlag = true;
break;
}
}
List<HaobanRoleBO> haobanRoleBOList = haobanRoleService.getListByWxEnterpriseId("-1",null);
List<String> menuCodes = new ArrayList<>();
if (searchFlag) {
menuCodes.add("customerList_allSearch");
}
if (handoverFlag) {
menuCodes.add("customerList_inheritCustomer");
}
//导购和店长初始化权限以好办web为准
List<String> menuCodesOld = applicationSettingApiService.findMenuCodes(wxEnterpriseId);
List<String> clerkMenuCodes = haobanMenuService.getHaobanMenuByPid(menuCodesOld);
menuCodes.addAll(clerkMenuCodes);
HaobanRoleQDTO haobanRoleQDTO = new HaobanRoleQDTO(); HaobanRoleQDTO haobanRoleQDTO = new HaobanRoleQDTO();
HaobanRoleQDTO haobanRoleSystemQDTO = new HaobanRoleQDTO(); HaobanRoleQDTO haobanRoleSystemQDTO = new HaobanRoleQDTO();
for (HaobanRoleBO haobanRoleBO : haobanRoleBOList) { for (HaobanRoleBO haobanRoleBO : haobanRoleBOList) {
Long roleId = haobanRoleBO.getRoleId(); Long roleId = haobanRoleBO.getRoleId();
Integer clerkType = haobanRoleBO.getClerkType(); Integer clerkType = haobanRoleBO.getClerkType();
...@@ -202,8 +238,6 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -202,8 +238,6 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
haobanRoleQDTO.setRoleName(roleName); haobanRoleQDTO.setRoleName(roleName);
haobanRoleSystemQDTO.setRoleName(roleName); haobanRoleSystemQDTO.setRoleName(roleName);
List<String> menuCodes = haobanRoleMenuService.getByWxEnterpriseIdAndRoleId("-1", roleId);
if (RoleClerkTypeEnum.CLERK.getCode().equals(clerkType)) { if (RoleClerkTypeEnum.CLERK.getCode().equals(clerkType)) {
HaobanRoleMenuQDTO clerkMenus = new HaobanRoleMenuQDTO(); HaobanRoleMenuQDTO clerkMenus = new HaobanRoleMenuQDTO();
clerkMenus.setClerkType(clerkType); clerkMenus.setClerkType(clerkType);
...@@ -217,6 +251,9 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService { ...@@ -217,6 +251,9 @@ public class HaobanRoleApiServiceImpl implements HaobanRoleApiService {
haobanRoleQDTO.setManegeClerkMenus(manegeClerkMenus); haobanRoleQDTO.setManegeClerkMenus(manegeClerkMenus);
haobanRoleSystemQDTO.setManegeClerkMenus(manegeClerkMenus); haobanRoleSystemQDTO.setManegeClerkMenus(manegeClerkMenus);
}else if (RoleClerkTypeEnum.MANAGE.getCode().equals(clerkType)) { }else if (RoleClerkTypeEnum.MANAGE.getCode().equals(clerkType)) {
List<String> menuManageCodes = haobanRoleMenuService.getByWxEnterpriseIdAndRoleId("-1", roleId);
menuCodes.addAll(menuManageCodes);
HaobanRoleMenuQDTO managerMenus = new HaobanRoleMenuQDTO(); HaobanRoleMenuQDTO managerMenus = new HaobanRoleMenuQDTO();
managerMenus.setClerkType(clerkType); managerMenus.setClerkType(clerkType);
managerMenus.setMenuCodes(menuCodes); managerMenus.setMenuCodes(menuCodes);
......
...@@ -6,8 +6,6 @@ import com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO; ...@@ -6,8 +6,6 @@ import com.gic.haoban.manage.service.pojo.bo.role.HaobanMenuBO;
import java.util.List; import java.util.List;
/** /**
*
*
* @author mozhu * @author mozhu
* @since 2022-09-06 16:35:11 * @since 2022-09-06 16:35:11
*/ */
...@@ -48,6 +46,7 @@ public interface HaobanMenuService { ...@@ -48,6 +46,7 @@ public interface HaobanMenuService {
/** /**
* 菜单树 * 菜单树
*
* @return * @return
*/ */
List<HaobanMenuBO> getMenuTreeList(); List<HaobanMenuBO> getMenuTreeList();
...@@ -71,4 +70,13 @@ public interface HaobanMenuService { ...@@ -71,4 +70,13 @@ public interface HaobanMenuService {
*/ */
List<String> getHaobanMenuList(String wxEnterpriseId, Integer clerkType); List<String> getHaobanMenuList(String wxEnterpriseId, Integer clerkType);
/**
* 获取子菜单(包含自己)
*
* @param menuCode 菜单代码
* @return {@link List}<{@link String}>
*/
List<String> getHaobanMenuByPid(List<String> menuCode);
} }
...@@ -15,8 +15,6 @@ import java.util.Date; ...@@ -15,8 +15,6 @@ import java.util.Date;
import java.util.List; import java.util.List;
/** /**
*
*
* @author mozhu * @author mozhu
* @since 2022-09-06 16:35:11 * @since 2022-09-06 16:35:11
*/ */
...@@ -77,8 +75,8 @@ public class HaobanMenuServiceImpl implements HaobanMenuService { ...@@ -77,8 +75,8 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
@Override @Override
public List<HaobanMenuBO> getHaobanMenuTreeList(String wxEnterpriseId, Integer clerkType) { public List<HaobanMenuBO> getHaobanMenuTreeList(String wxEnterpriseId, Integer clerkType) {
List<TabHaobanMenu> pidMenuList = tabHaobanMenuMapper.getHaobanPidMenuList(wxEnterpriseId, clerkType,0); List<TabHaobanMenu> pidMenuList = tabHaobanMenuMapper.getHaobanPidMenuList(wxEnterpriseId, clerkType, 0);
List<TabHaobanMenu> notPidMenuList = tabHaobanMenuMapper.getHaobanNotPidMenuList(wxEnterpriseId, clerkType,0); List<TabHaobanMenu> notPidMenuList = tabHaobanMenuMapper.getHaobanNotPidMenuList(wxEnterpriseId, clerkType, 0);
List<HaobanMenuBO> pidMenuBOList = EntityUtil.changeEntityListNew(HaobanMenuBO.class, pidMenuList); List<HaobanMenuBO> pidMenuBOList = EntityUtil.changeEntityListNew(HaobanMenuBO.class, pidMenuList);
List<HaobanMenuBO> notPidMenuBOList = EntityUtil.changeEntityListNew(HaobanMenuBO.class, notPidMenuList); List<HaobanMenuBO> notPidMenuBOList = EntityUtil.changeEntityListNew(HaobanMenuBO.class, notPidMenuList);
if (CollectionUtils.isEmpty(pidMenuBOList)) { if (CollectionUtils.isEmpty(pidMenuBOList)) {
...@@ -95,7 +93,17 @@ public class HaobanMenuServiceImpl implements HaobanMenuService { ...@@ -95,7 +93,17 @@ public class HaobanMenuServiceImpl implements HaobanMenuService {
@Override @Override
public List<String> getHaobanMenuList(String wxEnterpriseId, Integer clerkType) { public List<String> getHaobanMenuList(String wxEnterpriseId, Integer clerkType) {
return tabHaobanMenuMapper.getHaobanMenuListByClerkType(wxEnterpriseId, clerkType,0); return tabHaobanMenuMapper.getHaobanMenuListByClerkType(wxEnterpriseId, clerkType, 0);
}
@Override
public List<String> getHaobanMenuByPid(List<String> menuCodes) {
List<String> list = new ArrayList<>();
List<String> pidCodes = tabHaobanMenuMapper.getHaobanMenuByPid(menuCodes);
List<String> childCodes = tabHaobanMenuMapper.getHaobanChildMenuByPid(menuCodes);
list.addAll(pidCodes);
list.addAll(childCodes);
return list;
} }
public List<HaobanMenuBO> iterateMenus(List<HaobanMenuBO> menuBOList, String pCode) { public List<HaobanMenuBO> iterateMenus(List<HaobanMenuBO> menuBOList, String pCode) {
......
...@@ -118,7 +118,7 @@ ...@@ -118,7 +118,7 @@
b.clerk_type = #{clerkType} b.clerk_type = #{clerkType}
and b.wx_enterprise_id = #{wxEnterpriseId} and b.wx_enterprise_id = #{wxEnterpriseId}
and c.status_flag = 1 and c.status_flag = 1
and c.parent_code = 'workbench' and c.parent_code in ('workbench')
<if test="systemFlag != null"> <if test="systemFlag != null">
and b.system_flag = #{systemFlag} and b.system_flag = #{systemFlag}
</if> </if>
...@@ -135,7 +135,7 @@ ...@@ -135,7 +135,7 @@
b.clerk_type = #{clerkType} b.clerk_type = #{clerkType}
and b.wx_enterprise_id = #{wxEnterpriseId} and b.wx_enterprise_id = #{wxEnterpriseId}
and c.status_flag = 1 and c.status_flag = 1
and c.parent_code != 'workbench' and c.parent_code not in ('workbench')
<if test="systemFlag != null"> <if test="systemFlag != null">
and b.system_flag = #{systemFlag} and b.system_flag = #{systemFlag}
</if> </if>
...@@ -159,5 +159,25 @@ ...@@ -159,5 +159,25 @@
order by c.menu_sort order by c.menu_sort
</select> </select>
<select id="getHaobanMenuByPid" resultType="java.lang.String">
select
menu_code
from tab_haoban_menu
where status_flag = 1 and menu_code in
<foreach collection="menuCodes" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</select>
<select id="getHaobanChildMenuByPid" resultType="java.lang.String">
select
menu_code
from tab_haoban_menu
where status_flag = 1 and parent_code in
<foreach collection="menuCodes" open="(" close=")" separator="," item="item">
#{item}
</foreach>
</select>
</mapper> </mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment