From 15bf9a9c6103ff82c4c2f70efbedf696b3dfc847 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 27 Aug 2019 09:47:10 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=8F=9C=E5=8D=95][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E5=8D=87=E7=BA=A7,=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E8=B4=A6=E6=88=B7=E7=AE=A1=E7=90=86=E5=AD=90=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=88=B0=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE=EF=BC=8C=E5=90=88?= =?UTF-8?q?=E5=90=8C=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/domain/po/MallPermission.java | 3 + .../domain/po/MallRolePermission.java | 6 +- .../com/iformall/mapper/MallMenuMapper.java | 98 ++++++++ .../controller/sys/SysMenuController.java | 236 +++++++++++++++++- 4 files changed, 338 insertions(+), 5 deletions(-) create mode 100644 mallinkService/src/main/java/com/iformall/mapper/MallMenuMapper.java diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java b/mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java index 09a35057d..7c44ba575 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java @@ -28,6 +28,9 @@ public class MallPermission extends BaseEntity { @io.swagger.annotations.ApiModelProperty(value="父编号ID,一级菜单为0",name="parentId") private Long parentId; @Transient + @io.swagger.annotations.ApiModelProperty(value="原父编号ID",name="origParentId") + private Long origParentId; + @Transient @io.swagger.annotations.ApiModelProperty(value="父菜单",name="parentName") private String parentName; @io.swagger.annotations.ApiModelProperty(value="是否可用 Y/N",name="permission") diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MallRolePermission.java b/mallinkService/src/main/java/com/iformall/domain/po/MallRolePermission.java index 9a6af2b22..dc120e6ce 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/MallRolePermission.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/MallRolePermission.java @@ -18,7 +18,11 @@ public class MallRolePermission extends BaseEntity { protected Long id; @Transient - protected List ids; + protected List ids; + + @Transient + protected List permissionIds; + @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") private String tenantId; diff --git a/mallinkService/src/main/java/com/iformall/mapper/MallMenuMapper.java b/mallinkService/src/main/java/com/iformall/mapper/MallMenuMapper.java new file mode 100644 index 000000000..d139f6d8a --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/MallMenuMapper.java @@ -0,0 +1,98 @@ +package com.iformall.mapper; + + +import com.iformall.domain.po.MallPermission; +import com.iformall.domain.po.MallRolePermission; +import com.iformall.domain.po.MallSaleType; +import org.apache.ibatis.annotations.DeleteProvider; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.SelectProvider; +import org.apache.ibatis.annotations.UpdateProvider; + +import java.util.List; + +@Mapper +public interface MallMenuMapper { + @UpdateProvider(type = MallPermissionDaoProvider.class, method = "updateMallPermission") + public void updateMallPermission(MallPermission mallPermission); + + @UpdateProvider(type = MallPermissionDaoProvider.class, method = "updatePermissionByParentId") + public void updatePermissionByParentId(MallPermission mallPermission); + + @DeleteProvider(type = MallPermissionDaoProvider.class, method = "deletePermissionRole") + public void deletePermissionRole(MallRolePermission mallRolePermission); + + @UpdateProvider(type = MallPermissionDaoProvider.class, method = "updateMallSaleType") + public void updateMallSaleType(MallSaleType mallSaleType); + + @SelectProvider(type = MallPermissionDaoProvider.class, method = "getMallRolePermissions") + public List getMallRolePermissions(MallRolePermission mallRolePermission); + + class MallPermissionDaoProvider { + public String updateMallPermission(MallPermission mallPermission) { + String sql = "UPDATE mall_permission "; + if (mallPermission.getName() != null) { + sql += " SET `name` = #{name}"; + } + if (mallPermission.getId() != null) { + sql += " where id = #{id}"; + } + return sql; + } + public String updatePermissionByParentId(MallPermission mallPermission) { + StringBuilder sb = new StringBuilder(); + sb.append("UPDATE mall_permission "); + if (mallPermission.getParentId() != null) { + sb.append(" SET `parent_id` = #{parentId} "); + } + if (mallPermission.getOrigParentId() != null) { + sb.append(" WHERE `parent_id` = #{origParentId}"); + } + if (mallPermission.getIds() != null) { + List ids = mallPermission.getIds(); + sb.append(" WHERE `id` in ("); + for(int i=0;i系统 + moveAccountToSys(); + // 2. 合同添加商铺+多经点位 + addMenusForContract(); + // 3. 账单 + // 1. 商户账单->账单催缴 + // 2. 商户账单 + + + return new ResultData(); + } + return new ResultData(ErrorCode.USER_NO_PERMISSION); + } + + + + private void moveAccountToSys() { + Long menuId_XiTong = 50L; + Long menuId_Account = 7L; + // 1. 修改菜单名 + mallMenuMapper.updateMallPermission(new MallPermission() {{ + setName("系统设置"); + setId(menuId_XiTong); + }}); + // 2. 迁移->系统设置 + MallPermission accountPermission = mallPermissionService.getById(menuId_Account); + mallMenuMapper.updatePermissionByParentId(new MallPermission() {{ + setParentId(menuId_XiTong); + setOrigParentId(menuId_Account); + }}); + // 3. 角色是否选中系统设置 + List mallRolePermissions = mallRolePermissionService.getList(new MallRolePermission(){{ + setPermissionId(menuId_Account); + }}); + for(MallRolePermission mallRolePermission: mallRolePermissions) { + List mallRolePermissionList = mallRolePermissionService.getList(new MallRolePermission(){{ + setTenantId(mallRolePermission.getTenantId()); + setRoleId(mallRolePermission.getRoleId()); + setPermissionId(menuId_XiTong); + }}); + if (mallRolePermissionList.size() <= 0) { + // update 7L->50L + try { + mallRolePermissionService.saveOrUpdate(new MallRolePermission(){{ + setTenantId(mallRolePermission.getTenantId()); + setId(mallRolePermission.getId()); + setPermissionId(menuId_XiTong); + setRoleId(mallRolePermission.getRoleId()); + }}); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } + } + // 4. 删除permission/role + mallMenuMapper.deletePermissionRole(new MallRolePermission(){{ + setPermissionId(menuId_Account); + }}); + // 5. 删除permission + mallPermissionService.deleteById(menuId_Account); + // 6. sale_type + mallMenuMapper.updateMallSaleType(new MallSaleType(){{ + setId(1L); + setMenus( + "[1,2,3,4,5,6,8,9,10,50,101,102,103,104,105,106,107,108,201,202,203,204,205,206,211,212,221,222,251,301,302,303,304,305,306,401,402,403,404,405,406,407,408,409,410,411,412,413,414,501,502,503,504,505,506,507,508,509,511,512,513,521,522,523,531,532,533,591,595,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,627,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932,951,952,961,962,965,966,967,968]" + ); + }}); + mallMenuMapper.updateMallSaleType(new MallSaleType(){{ + setId(2L); + setMenus( + "[1,2,3,4,5,6,8,9,10,50,101,102,103,104,105,106,107,108,201,202,203,204,205,206,211,212,221,222,251,301,302,303,304,305,306,401,402,403,404,405,406,407,408,409,410,411,412,413,414,501,502,503,504,505,506,507,508,509,511,512,513,521,522,523,531,532,533,591,595,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,627,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932,951,952,961,962,965,966,967,968]" + ); + }}); + mallMenuMapper.updateMallSaleType(new MallSaleType(){{ + setId(3L); + setMenus( + "[2,4,5,6,10,50,201,202,205,211,212,221,222,251,409,410,411,501,502,503,504,505,506,507,508,511,512,513,521,522,523,531,532,533,591,592,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932]" + ); + }}); + + } + + private void addMenusForContract() { + + Long menuId_Shop = 299L; + Long menuId_Duojing = 300L; + // 1. add new folder + mallPermissionService.saveOrUpdate(new MallPermission(){{ + setId(menuId_Shop); + setName("店铺"); + setParentId(3L); + setAvailable("Y"); + setResourceType(0); + setIcon("icon-iconshangpuguanli"); + setSort(menuId_Shop.intValue()); + }}); + mallPermissionService.saveOrUpdate(new MallPermission(){{ + setId(menuId_Duojing); + setName("多经点位"); + setParentId(3L); + setAvailable("Y"); + setResourceType(0); + setIcon("icon-shanghuguanli"); + setSort(menuId_Duojing.intValue()); + }}); + // 2. move + // 301, 302, 305 + mallMenuMapper.updatePermissionByParentId(new MallPermission() {{ + List list = new ArrayList(); + list.add(301L); + list.add(302L); + list.add(305L); + setParentId(menuId_Shop); + setIds(list); + }}); + // 303, 304, 306 + mallMenuMapper.updatePermissionByParentId(new MallPermission() {{ + List list = new ArrayList(); + list.add(303L); + list.add(304L); + list.add(306L); + setParentId(menuId_Duojing); + setIds(list); + }}); + mallMenuMapper.updateMallPermission(new MallPermission() {{ + setName("租金合同"); + setId(301L); + }}); + mallMenuMapper.updateMallPermission(new MallPermission() {{ + setName("物业合同"); + setId(302L); + }}); + mallMenuMapper.updateMallPermission(new MallPermission() {{ + setName("租金+物业合同"); + setId(305L); + }}); + mallMenuMapper.updateMallPermission(new MallPermission() {{ + setName("租金合同"); + setId(303L); + }}); + mallMenuMapper.updateMallPermission(new MallPermission() {{ + setName("物业合同"); + setId(304L); + }}); + mallMenuMapper.updateMallPermission(new MallPermission() {{ + setName("租金+物业合同"); + setId(306L); + }}); + // 3. 角色是否选中商铺 + List mallRolePermissions = mallMenuMapper.getMallRolePermissions(new MallRolePermission(){{ + List list = new ArrayList(); + list.add(301L); + list.add(302L); + list.add(305L); + setPermissionIds(list); + }}); + for(MallRolePermission mallRolePermission: mallRolePermissions) { + List mallRolePermissionList = mallRolePermissionService.getList(new MallRolePermission(){{ + setTenantId(mallRolePermission.getTenantId()); + setRoleId(mallRolePermission.getRoleId()); + setPermissionId(menuId_Shop); + }}); + if (mallRolePermissionList.size() <= 0) { + try { + mallRolePermissionService.saveOrUpdate(new MallRolePermission(){{ + setTenantId(mallRolePermission.getTenantId()); + setPermissionId(menuId_Shop); + setRoleId(mallRolePermission.getRoleId()); + }}); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } + } + // 4. 角色是否选中多经点位 + mallRolePermissions = mallRolePermissionService.getList(new MallRolePermission(){{ + List list = new ArrayList(); + list.add(303L); + list.add(304L); + list.add(306L); + setPermissionIds(list); + }}); + for(MallRolePermission mallRolePermission: mallRolePermissions) { + List mallRolePermissionList = mallRolePermissionService.getList(new MallRolePermission(){{ + setTenantId(mallRolePermission.getTenantId()); + setRoleId(mallRolePermission.getRoleId()); + setPermissionId(menuId_Duojing); + }}); + if (mallRolePermissionList.size() <= 0) { + try { + mallRolePermissionService.saveOrUpdate(new MallRolePermission(){{ + setTenantId(mallRolePermission.getTenantId()); + setPermissionId(menuId_Duojing); + setRoleId(mallRolePermission.getRoleId()); + }}); + } catch (Exception e) { + logger.error(e.getMessage()); + } + } + } + // 5. sale_type + mallMenuMapper.updateMallSaleType(new MallSaleType(){{ + setId(1L); + setMenus( + "[1,2,3,4,5,6,8,9,10,50,101,102,103,104,105,106,107,108,201,202,203,204,205,206,211,212,221,222,251,299,300,301,302,303,304,305,306,401,402,403,404,405,406,407,408,409,410,411,412,413,414,501,502,503,504,505,506,507,508,509,511,512,513,521,522,523,531,532,533,591,595,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,627,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932,951,952,961,962,965,966,967,968]" + ); + }}); + mallMenuMapper.updateMallSaleType(new MallSaleType(){{ + setId(2L); + setMenus( + "[1,2,3,4,5,6,8,9,10,50,101,102,103,104,105,106,107,108,201,202,203,204,205,206,211,212,221,222,251,299,300,301,302,303,304,305,306,401,402,403,404,405,406,407,408,409,410,411,412,413,414,501,502,503,504,505,506,507,508,509,511,512,513,521,522,523,531,532,533,591,595,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,627,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932,951,952,961,962,965,966,967,968]" + ); + }}); + mallMenuMapper.updateMallSaleType(new MallSaleType(){{ + setId(3L); + setMenus( + "[2,4,5,6,10,50,201,202,205,211,212,221,222,251,409,410,411,501,502,503,504,505,506,507,508,511,512,513,521,522,523,531,532,533,591,592,601,602,603,604,605,606,607,608,609,610,611,612,621,622,623,624,625,626,641,642,643,644,645,651,661,662,663,671,672,673,674,681,682,683,684,685,691,692,693,694,695,701,702,711,712,713,901,902,903,931,932]" + ); + }}); + } + @Autowired private RequestMappingHandlerMapping requestMappingHandlerMapping;