Browse Source

[菜单][修改]:菜单升级,迁移账户管理子菜单到系统设置,合同整理

release_toaliyun_real
Stormeye Wu 6 years ago
parent
commit
15bf9a9c61
4 changed files with 338 additions and 5 deletions
  1. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java
  2. +5
    -1
      mallinkService/src/main/java/com/iformall/domain/po/MallRolePermission.java
  3. +98
    -0
      mallinkService/src/main/java/com/iformall/mapper/MallMenuMapper.java
  4. +232
    -4
      mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java

+ 3
- 0
mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java View File

@@ -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")


+ 5
- 1
mallinkService/src/main/java/com/iformall/domain/po/MallRolePermission.java View File

@@ -18,7 +18,11 @@ public class MallRolePermission extends BaseEntity {
protected Long id;
@Transient
protected List<String> ids;
protected List<Long> ids;

@Transient
protected List<Long> permissionIds;


@io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId")
private String tenantId;


+ 98
- 0
mallinkService/src/main/java/com/iformall/mapper/MallMenuMapper.java View File

@@ -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<MallRolePermission> 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<ids.size();i++) {
sb.append(ids.get(i));
if (i < ids.size() - 1) {
sb.append(",");
}
}
sb.append(")");
}
return sb.toString();
}
public String updateMallSaleType(MallSaleType mallSaleType) {
String sql = "UPDATE mall_sale_type ";
if (mallSaleType.getMenus() != null) {
sql += " SET `menus` = #{menus}";
}
if (mallSaleType.getId() != null) {
sql += " where id = #{id}";
}
return sql;
}
public String deletePermissionRole(MallRolePermission mallRolePermission) {
String sql = "DELETE FROM mall_role_permission ";
if (mallRolePermission.getPermissionId() != null) {
sql += " WHERE `permission_id` = #{permissionId}";
}
return sql;
}
public String getMallRolePermissions(MallRolePermission mallRolePermission) {
StringBuilder sb = new StringBuilder();
sb.append("SELECT * FROM mall_role_permission ");
if (mallRolePermission.getIds() != null) {
List ids = mallRolePermission.getIds();
sb.append(" WHERE `permission_id` in (");
for(int i=0;i<ids.size();i++) {
sb.append(ids.get(i));
if (i < ids.size() - 1) {
sb.append(",");
}
}
sb.append(")");
}
return sb.toString();
}
}
}

+ 232
- 4
mallinkSysAdmin/src/main/java/com/iformall/controller/sys/SysMenuController.java View File

@@ -5,13 +5,11 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.MallPermission;
import com.iformall.domain.po.MallRole;
import com.iformall.domain.po.MallRolePermission;
import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.*;
import com.iformall.enums.EnumMenuType;
import com.iformall.enums.EnumPermissionType;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.MallMenuMapper;
import com.iformall.service.MallPermissionService;
import com.iformall.service.MallRolePermissionService;
import com.iformall.service.MallRoleService;
@@ -57,6 +55,9 @@ public class SysMenuController extends BaseController {
@Autowired
private MallRolePermissionService mallRolePermissionService;

@Autowired
private MallMenuMapper mallMenuMapper;

@ApiOperation("导航菜单")
@GetMapping("/nav")
public ResultData nav(){
@@ -205,6 +206,233 @@ public class SysMenuController extends BaseController {
return new ResultData(ErrorCode.USER_NO_PERMISSION);
}

@ApiOperation("用户菜单迁移")
@GetMapping("/moveMenus")
public ResultData moveMenus() {
logger.debug("[" + getIpAddr() + "] MallPermissionController::moveMenus");
MallUserInfo userInfo = getUser();
if(userInfo.isFmSuperAdmin()) {
// 1. 账号->系统
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<MallRolePermission> mallRolePermissions = mallRolePermissionService.getList(new MallRolePermission(){{
setPermissionId(menuId_Account);
}});
for(MallRolePermission mallRolePermission: mallRolePermissions) {
List<MallRolePermission> 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<Long> list = new ArrayList<Long>();
list.add(301L);
list.add(302L);
list.add(305L);
setParentId(menuId_Shop);
setIds(list);
}});
// 303, 304, 306
mallMenuMapper.updatePermissionByParentId(new MallPermission() {{
List<Long> list = new ArrayList<Long>();
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<MallRolePermission> mallRolePermissions = mallMenuMapper.getMallRolePermissions(new MallRolePermission(){{
List<Long> list = new ArrayList<Long>();
list.add(301L);
list.add(302L);
list.add(305L);
setPermissionIds(list);
}});
for(MallRolePermission mallRolePermission: mallRolePermissions) {
List<MallRolePermission> 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<Long> list = new ArrayList<Long>();
list.add(303L);
list.add(304L);
list.add(306L);
setPermissionIds(list);
}});
for(MallRolePermission mallRolePermission: mallRolePermissions) {
List<MallRolePermission> 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;



Loading…
Cancel
Save