Commit 91bd24ff by zhoujinghao

中心端用户角色菜单相关代码提交

1 parent 932af6d0
Showing 25 changed files with 571 additions and 282 deletions
...@@ -27,42 +27,16 @@ import java.util.List; ...@@ -27,42 +27,16 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("/nafmii/admin/menu") @RequestMapping("/nafmii/admin/menu")
@Api(tags = "3.0.0", description = "中心端菜单接口") @Api(tags = "2.0.5", description = "中心端菜单接口")
public class CenterMenuController { public class CenterMenuController {
@Resource @Resource
private ICenterMenuService centerMenuService; private ICenterMenuService centerMenuService;
@ApiOperation( value = "中心端新增修改菜单",notes = "中心端新增修改菜单") @ApiOperation( value = "中心端查询一二级菜单",notes = "中心端查询一二级菜单")
@PostMapping("/edit") @PostMapping("/queryMenus")
@ResponseBody @ResponseBody
public ApiResponse editMenus (@RequestBody @Validated EditMenuParam param){ public ApiResponse queryMenus (){
ApiResponse result = centerMenuService.editMenu(param); ApiResponse result = centerMenuService.queryMenus();
return result;
}
@ApiOperation( value = "中心端菜单列表查询",notes = "中心端菜单列表查询")
@PostMapping("/queryMenuList")
@ResponseBody
public ApiResponse<List<CenterMenuVO>> queryMenuList (@RequestBody @Validated QueryMenusParam param){
PageHelper.startPage(param.getPageNum(),param.getPageSize());
PageResult<CenterMenuVO> result =
BeanTransferUtils.toPagedResult(centerMenuService.queryMenuList(param), CenterMenuVO.class);
return new ApiResponse(result);
}
@ApiOperation( value = "中心端菜单删除",notes = "中心端菜单删除")
@PostMapping("/delete")
@ResponseBody
public ApiResponse deleteMenus(@RequestParam Long[] ids){
ApiResponse result = centerMenuService.deleteMenus(ids);
return result;
}
@ApiOperation( value = "中心端用户对应菜单查询",notes = "中心端用户对应菜单查询")
@PostMapping("/queryUserMenus")
@ResponseBody
public ApiResponse queryUserMenus (){
ApiResponse result = centerMenuService.queryUserMenus();
return result; return result;
} }
} }
......
...@@ -4,10 +4,7 @@ import com.github.pagehelper.PageHelper; ...@@ -4,10 +4,7 @@ import com.github.pagehelper.PageHelper;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.nafmii.admin.user.dto.CenterRoleDto; import org.nafmii.admin.user.dto.CenterRoleDto;
import org.nafmii.admin.user.param.QueryRoleListParam; import org.nafmii.admin.user.param.*;
import org.nafmii.admin.user.param.QueryRolesParam;
import org.nafmii.admin.user.param.SwitchStatusParam;
import org.nafmii.admin.user.param.SwitchStatusRoleParam;
import org.nafmii.admin.user.service.ICenterRoleService; import org.nafmii.admin.user.service.ICenterRoleService;
import org.nafmii.admin.user.vo.CenterRoleVO; import org.nafmii.admin.user.vo.CenterRoleVO;
import org.nafmii.admin.user.vo.CenterUserAndRoleVo; import org.nafmii.admin.user.vo.CenterUserAndRoleVo;
...@@ -31,7 +28,7 @@ import java.util.List; ...@@ -31,7 +28,7 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("/nafmii/admin/role") @RequestMapping("/nafmii/admin/role")
@Api(tags = "3.0.0", description = "中心端角色接口") @Api(tags = "2.0.5", description = "中心端角色接口")
public class CenterRoleController { public class CenterRoleController {
@Resource @Resource
private ICenterRoleService centerRoleService; private ICenterRoleService centerRoleService;
...@@ -58,9 +55,25 @@ public class CenterRoleController { ...@@ -58,9 +55,25 @@ public class CenterRoleController {
@ApiOperation( value = "角色启动禁用接口",notes = "角色启动禁用接口") @ApiOperation( value = "角色启动禁用接口",notes = "角色启动禁用接口")
@PostMapping("/switchStatus") @PostMapping("/switchStatus")
@ResponseBody @ResponseBody
public ApiResponse switchStatus (@RequestBody SwitchStatusRoleParam param){ public ApiResponse switchStatus (@RequestBody @Validated SwitchStatusRoleParam param){
ApiResponse switchStatus = centerRoleService.switchStatus(param); ApiResponse switchStatus = centerRoleService.switchStatus(param);
return switchStatus; return switchStatus;
} }
@ApiOperation( value = "角色删除接口",notes = "角色删除接口")
@PostMapping("/roleDelete")
@ResponseBody
public ApiResponse roleDelete (@RequestBody @Validated RoleDeleteParam param){
ApiResponse roleDelete = centerRoleService.roleDelete(param);
return roleDelete;
}
@ApiOperation( value = "角色新建和编辑接口",notes = "角色新建和编辑接口")
@PostMapping("/roleAddOrUpdate")
@ResponseBody
public ApiResponse roleAddOrUpdate (@RequestBody @Validated AddOrUpdateRoleParam param){
ApiResponse roleAddOrUpdate = centerRoleService.roleAddOrUpdate(param);
return roleAddOrUpdate;
}
} }
...@@ -37,7 +37,7 @@ public class CenterUserController { ...@@ -37,7 +37,7 @@ public class CenterUserController {
@ApiOperation( value = "中心端用户登陆",notes = "中心端用户登陆") @ApiOperation( value = "中心端用户登陆",notes = "中心端用户登陆")
@PostMapping("/login") @PostMapping("/login")
@ResponseBody @ResponseBody
public ApiResponse login (@RequestBody LoginParam param){ public ApiResponse login (@RequestBody@Validated LoginParam param){
ApiResponse login = centerUserService.userLogin(param); ApiResponse login = centerUserService.userLogin(param);
return login; return login;
} }
...@@ -45,7 +45,7 @@ public class CenterUserController { ...@@ -45,7 +45,7 @@ public class CenterUserController {
@ApiOperation( value = "中心端新建或编辑用户接口",notes = "中心端新建或编辑用户接口") @ApiOperation( value = "中心端新建或编辑用户接口",notes = "中心端新建或编辑用户接口")
@PostMapping("/addOrUpdateUser") @PostMapping("/addOrUpdateUser")
@ResponseBody @ResponseBody
public ApiResponse addOrUpdateUser (@RequestBody AddOrUpdateUserParam param){ public ApiResponse addOrUpdateUser (@RequestBody @Validated AddOrUpdateUserParam param){
ApiResponse user = centerUserService.addOrUpdateUser(param); ApiResponse user = centerUserService.addOrUpdateUser(param);
return user; return user;
} }
...@@ -63,7 +63,7 @@ public class CenterUserController { ...@@ -63,7 +63,7 @@ public class CenterUserController {
@ApiOperation( value = "系统用户启动禁用接口",notes = "系统用户启动禁用接口") @ApiOperation( value = "系统用户启动禁用接口",notes = "系统用户启动禁用接口")
@PostMapping("/switchStatus") @PostMapping("/switchStatus")
@ResponseBody @ResponseBody
public ApiResponse switchStatus (@RequestBody SwitchStatusParam param){ public ApiResponse switchStatus (@RequestBody @Validated SwitchStatusParam param){
ApiResponse switchStatus = centerUserService.switchStatus(param); ApiResponse switchStatus = centerUserService.switchStatus(param);
return switchStatus; return switchStatus;
} }
...@@ -71,7 +71,7 @@ public class CenterUserController { ...@@ -71,7 +71,7 @@ public class CenterUserController {
@ApiOperation( value = "用户删除接口",notes = "用户删除接口") @ApiOperation( value = "用户删除接口",notes = "用户删除接口")
@PostMapping("/deleteUser") @PostMapping("/deleteUser")
@ResponseBody @ResponseBody
public ApiResponse deleteUser (@RequestBody SwitchStatusParam param){ public ApiResponse deleteUser (@RequestBody @Validated SwitchStatusParam param){
ApiResponse switchStatus = centerUserService.deleteUser(param); ApiResponse switchStatus = centerUserService.deleteUser(param);
return switchStatus; return switchStatus;
} }
......
...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nafmii.admin.user.dto.QueryMenusDto; import org.nafmii.admin.user.dto.QueryMenusDto;
import org.nafmii.admin.user.entity.CenterMenuPO; import org.nafmii.admin.user.entity.CenterMenuPO;
import org.nafmii.admin.user.vo.CenterMenuVO; import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.admin.user.vo.MenuListVo;
import java.util.List; import java.util.List;
...@@ -17,42 +18,9 @@ import java.util.List; ...@@ -17,42 +18,9 @@ import java.util.List;
*/ */
public interface CenterMenuMapper extends BaseMapper<CenterMenuPO> { public interface CenterMenuMapper extends BaseMapper<CenterMenuPO> {
/** /**
* @author:suncq * 一级菜单相关数据
* @Function:中心端菜单新增修改 * @return
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/ */
int updateMenuById(CenterMenuPO centerMenuPO); List<MenuListVo> selectAll();
/**
* @author:suncq
* @Function:中心端菜单列表查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryMenuList(QueryMenusDto dto);
/**
* @author:suncq
* @Function:中心端菜单删除
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
int deleteMenus(Long[] ids);
/**
* @author:suncq
* @Function:中心端用户对应菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryUserMenus(Long userid);
} }
package org.nafmii.admin.user.dao; package org.nafmii.admin.user.dao;
import org.apache.ibatis.annotations.Param;
import org.nafmii.admin.user.entity.CneterRoleMenuPO; import org.nafmii.admin.user.entity.CneterRoleMenuPO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.List;
/** /**
* <p> * <p>
* 中心端-角色菜单关系表 Mapper 接口 * 中心端-角色菜单关系表 Mapper 接口
...@@ -12,5 +15,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -12,5 +15,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @since 2021-05-12 * @since 2021-05-12
*/ */
public interface CneterRoleMenuMapper extends BaseMapper<CneterRoleMenuPO> { public interface CneterRoleMenuMapper extends BaseMapper<CneterRoleMenuPO> {
/**
* 角色id查询菜单相关数据
* @param id
* @return
*/
List<CneterRoleMenuPO> selectByRole(@Param("id") Long id);
} }
package org.nafmii.admin.user.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 13:42
* @ClassName:
* @version:
* @remark:
*/
@Data
public class AddOrUpdateRoleDto {
@ApiModelProperty("中心端主键id:编辑时传入")
private Long id;
@ApiModelProperty("角色名称")
private String rName;
@ApiModelProperty("菜单主键id集合")
private List<Long> mId;
@ApiModelProperty("启用禁用 0 启用 1禁用")
private String isEnable;
}
...@@ -54,11 +54,11 @@ public class CenterRolePO extends Model { ...@@ -54,11 +54,11 @@ public class CenterRolePO extends Model {
@ApiModelProperty(value = "修改人") @ApiModelProperty(value = "修改人")
@TableField("UPDATE_USER_ID") @TableField("UPDATE_USER_ID")
private Long delFlag; private Long updateUserId;
@ApiModelProperty(value = "是否删除0否1是") @ApiModelProperty(value = "是否删除0否1是")
@TableField("DEL_FLAG") @TableField("DEL_FLAG")
private String updateUserId; private String delFlag;
} }
package org.nafmii.admin.user.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 13:36
* @ClassName:
* @version:
* @remark:
*/
@Data
@ApiModel(value="新建或编辑角色参数对象")
public class AddOrUpdateRoleParam {
@ApiModelProperty("中心端主键id:编辑时传入")
private Long id;
@NotNull
@ApiModelProperty("角色名称")
private String rName;
@NotNull
@ApiModelProperty("菜单主键id集合")
private List<Long> mId;
@NotNull
@ApiModelProperty("启用禁用 0 启用 1禁用")
private String isEnable;
}
...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; ...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
/** /**
* @author:zhoujh * @author:zhoujh
* @Function:TODO * @Function:TODO
...@@ -19,24 +21,30 @@ public class AddOrUpdateUserParam { ...@@ -19,24 +21,30 @@ public class AddOrUpdateUserParam {
private Long id; private Long id;
@ApiModelProperty("账号") @ApiModelProperty("账号")
@NotNull
private String loginName; private String loginName;
@ApiModelProperty("登陆密码") @ApiModelProperty("登陆密码")
@NotNull
private String loginPwd; private String loginPwd;
@ApiModelProperty("中文姓名") @ApiModelProperty("中文姓名")
@NotNull
private String cnName; private String cnName;
@ApiModelProperty("英文姓名") @ApiModelProperty("英文姓名")
@NotNull
private String enNAme; private String enNAme;
@ApiModelProperty("角色id") @ApiModelProperty("角色id")
@NotNull
private Long roleId; private Long roleId;
@ApiModelProperty("手机号") @ApiModelProperty("手机号")
private String phone; private String phone;
@ApiModelProperty("0 有效 1 无效") @ApiModelProperty("0 有效 1 无效")
@NotNull
private String isEnable; private String isEnable;
// //
// @ApiModelProperty("创建人id") // @ApiModelProperty("创建人id")
......
...@@ -19,8 +19,10 @@ import javax.validation.constraints.NotNull; ...@@ -19,8 +19,10 @@ import javax.validation.constraints.NotNull;
public class LoginParam { public class LoginParam {
@ApiModelProperty("账号") @ApiModelProperty("账号")
@NotNull
private String loginName; private String loginName;
@ApiModelProperty("登陆密码") @ApiModelProperty("登陆密码")
@NotNull
private String loginPwd; private String loginPwd;
} }
package org.nafmii.admin.user.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 8:57
* @ClassName:
* @version:
* @remark:
*/
@Data
@ApiModel("角色删除参数对象")
public class RoleDeleteParam {
@ApiModelProperty("角色删除主键id")
@NotNull
private Long id;
}
...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; ...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
/** /**
* @author:zhoujh * @author:zhoujh
* @Function:TODO * @Function:TODO
...@@ -16,9 +18,11 @@ import lombok.Data; ...@@ -16,9 +18,11 @@ import lombok.Data;
@ApiModel("中心端用户启动禁用接口") @ApiModel("中心端用户启动禁用接口")
public class SwitchStatusParam { public class SwitchStatusParam {
@ApiModelProperty("用户主键id") @ApiModelProperty("用户主键id")
@NotNull
private Long id; private Long id;
@ApiModelProperty("启动禁用 0 启动 1 禁用") @ApiModelProperty("启动禁用 0 启动 1 禁用")
@NotNull
private String isEnable; private String isEnable;
} }
...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel; ...@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
/** /**
* @author:zhoujh * @author:zhoujh
* @Function:TODO * @Function:TODO
...@@ -16,8 +18,10 @@ import lombok.Data; ...@@ -16,8 +18,10 @@ import lombok.Data;
@ApiModel("角色启用禁用参数") @ApiModel("角色启用禁用参数")
public class SwitchStatusRoleParam { public class SwitchStatusRoleParam {
@ApiModelProperty("角色主键id") @ApiModelProperty("角色主键id")
@NotNull
private Long id; private Long id;
@ApiModelProperty("启动禁用 0 启动 1 禁用") @ApiModelProperty("启动禁用 0 启动 1 禁用")
@NotNull
private String isEnable; private String isEnable;
} }
package org.nafmii.admin.user.service; package org.nafmii.admin.user.service;
import org.nafmii.admin.user.entity.CenterMenuPO;
import org.nafmii.admin.user.param.EditMenuParam; import org.nafmii.admin.user.param.EditMenuParam;
import org.nafmii.admin.user.param.QueryMenusParam; import org.nafmii.admin.user.param.QueryMenusParam;
import org.nafmii.admin.user.vo.CenterMenuVO; import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.common.response.ApiResponse; import org.nafmii.common.response.ApiResponse;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
* 中心端菜单表 服务类 * 中心端菜单表 服务类
* </p> * </p>
* *
* @author suncq * @author zjh
* @since 2021-04-28 * @since 2021-04-28
*/ */
public interface ICenterMenuService{ public interface ICenterMenuService{
/** //中心端查询一二级菜单
* @author:suncq ApiResponse queryMenus();
* @Function:中心端菜单新增修改
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse editMenu(EditMenuParam param);
/**
* @author:suncq
* @Function:中心端菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
List<CenterMenuVO> queryMenuList(QueryMenusParam param);
/**
* @author:suncq
* @Function:中心端菜单删除
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse deleteMenus(Long[] ids);
/**
* @author:suncq
* @Function:中心端用户对应菜单查询
* @date 2021/4/27
* @ClassName:
* @version:
* @remark:
*/
ApiResponse queryUserMenus();
} }
package org.nafmii.admin.user.service; package org.nafmii.admin.user.service;
import org.nafmii.admin.user.dto.CenterRoleDto; import org.nafmii.admin.user.dto.CenterRoleDto;
import org.nafmii.admin.user.param.QueryRoleListParam; import org.nafmii.admin.user.param.*;
import org.nafmii.admin.user.param.QueryRolesParam;
import org.nafmii.admin.user.param.SwitchStatusRoleParam;
import org.nafmii.admin.user.vo.CenterRoleVO; import org.nafmii.admin.user.vo.CenterRoleVO;
import org.nafmii.admin.user.vo.RoleListVo; import org.nafmii.admin.user.vo.RoleListVo;
import org.nafmii.common.response.ApiResponse; import org.nafmii.common.response.ApiResponse;
...@@ -38,6 +36,20 @@ public interface ICenterRoleService{ ...@@ -38,6 +36,20 @@ public interface ICenterRoleService{
List<RoleListVo>queryRoleList(QueryRoleListParam param); List<RoleListVo>queryRoleList(QueryRoleListParam param);
/** /**
* 角色新增编辑接口
* @param param
* @return
*/
ApiResponse roleAddOrUpdate(AddOrUpdateRoleParam param);
/**
* 角色删除接口
* @param param
* @return
*/
ApiResponse roleDelete(RoleDeleteParam param);
/**
* 角色启用禁用 * 角色启用禁用
* @param param * @param param
* @return * @return
......
package org.nafmii.admin.user.service.impl; package org.nafmii.admin.user.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import lombok.extern.slf4j.Slf4j;
import org.nafmii.admin.user.dao.CenterMenuMapper; import org.nafmii.admin.user.dao.CenterMenuMapper;
import org.nafmii.admin.user.dto.QueryMenusDto; import org.nafmii.admin.user.dto.QueryMenusDto;
import org.nafmii.admin.user.entity.CenterMenuPO; import org.nafmii.admin.user.entity.CenterMenuPO;
...@@ -7,16 +10,22 @@ import org.nafmii.admin.user.param.EditMenuParam; ...@@ -7,16 +10,22 @@ import org.nafmii.admin.user.param.EditMenuParam;
import org.nafmii.admin.user.param.QueryMenusParam; import org.nafmii.admin.user.param.QueryMenusParam;
import org.nafmii.admin.user.service.ICenterMenuService; import org.nafmii.admin.user.service.ICenterMenuService;
import org.nafmii.admin.user.vo.CenterMenuVO; import org.nafmii.admin.user.vo.CenterMenuVO;
import org.nafmii.admin.user.vo.MenuListVo;
import org.nafmii.common.constant.MessageEnum; import org.nafmii.common.constant.MessageEnum;
import org.nafmii.common.param.BeanTransferUtils; import org.nafmii.common.param.BeanTransferUtils;
import org.nafmii.common.response.ApiResponse; import org.nafmii.common.response.ApiResponse;
import org.nafmii.common.utils.MenuUtil;
import org.nafmii.common.utils.RequestUtils; import org.nafmii.common.utils.RequestUtils;
import org.nafmii.common.utils.SnowFlakeUtil; import org.nafmii.common.utils.SnowFlakeUtil;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
...@@ -27,91 +36,29 @@ import java.util.List; ...@@ -27,91 +36,29 @@ import java.util.List;
* @since 2021-04-28 * @since 2021-04-28
*/ */
@Service @Service
@Slf4j
public class CenterMenuServiceImpl implements ICenterMenuService { public class CenterMenuServiceImpl implements ICenterMenuService {
@Resource @Resource
private CenterMenuMapper centerMenuMapper; private CenterMenuMapper centerMenuMapper;
/** /**
* 中心端菜单新增修改 * 中心端查询一二级菜单接口
* @param param
* @return * @return
*/ */
@Override @Override
public ApiResponse editMenu(EditMenuParam param) { public ApiResponse queryMenus() {
Long menuId = param.getId(); //查询所有菜单相关数据=======================开始
if(null == menuId){//新增 List<MenuListVo> roleList = centerMenuMapper.selectAll();
CenterMenuPO cmp = new CenterMenuPO(); //查询所有菜单相关数据=======================结束
cmp.setId(SnowFlakeUtil.nextId()); log.info("======================>查询所有菜单相关数据"+roleList);
cmp.setMenuName(param.getMenuName()); if (!CollectionUtils.isEmpty(roleList)){
cmp.setMenuLevle(param.getMenuLevle()); String roleDateStr = JSON.toJSONString(roleList);
cmp.setOrderSeq(param.getOrderSeq()); JSONArray array = JSON.parseArray(roleDateStr);
cmp.setParentId(param.getParentId()); JSONArray arrayChild = MenuUtil.listToTree(array, "id", "parentId", "secondMenu");
cmp.setIsEnable(param.getIsEnable()); List<MenuListVo> menuListVos = MenuUtil.arrayToList(arrayChild, MenuListVo.class);
cmp.setCreateUserId(RequestUtils.getUserId()); log.info("========菜单最后的树形结构======>"+menuListVos);
cmp.setUpdateUserId(RequestUtils.getUserId()); return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT,menuListVos);
cmp.setCreateTime(LocalDateTime.now());
cmp.setUpdateTime(LocalDateTime.now());
int i = centerMenuMapper.insert(cmp);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
} }
}else{//修改 return null;
CenterMenuPO cmp = new CenterMenuPO();
cmp.setId(param.getId());
cmp.setMenuName(param.getMenuName());
cmp.setMenuLevle(param.getMenuLevle());
cmp.setOrderSeq(param.getOrderSeq());
cmp.setParentId(param.getParentId());
cmp.setIsEnable(param.getIsEnable());
cmp.setUpdateUserId(param.getCreateUserId());
cmp.setUpdateTime(LocalDateTime.now());
int i = centerMenuMapper.updateMenuById(cmp);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
} }
}
}
/**
* 中心端菜单查询
* @param
* @return
*/
@Override
public List<CenterMenuVO> queryMenuList(QueryMenusParam param) {
QueryMenusDto dto = BeanTransferUtils.transfer(param, QueryMenusDto.class);
return centerMenuMapper.queryMenuList(dto);
}
/**
* 中心端菜单删除
* @param
* @return
*/
@Override
public ApiResponse deleteMenus(Long[] ids) {
int result = centerMenuMapper.deleteMenus(ids);
if (result < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}else{
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
}
/**
* 中心端用户对应菜单查询
* @param
* @return
*/
@Override
public ApiResponse queryUserMenus() {
Long userid = RequestUtils.getUserId();
List<CenterMenuVO> result = centerMenuMapper.queryUserMenus(userid);
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT,result);
}
} }
...@@ -2,15 +2,16 @@ package org.nafmii.admin.user.service.impl; ...@@ -2,15 +2,16 @@ package org.nafmii.admin.user.service.impl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nafmii.admin.user.dao.CenterRoleMapper; import org.nafmii.admin.user.dao.CenterRoleMapper;
import org.nafmii.admin.user.dao.CneterRoleMenuMapper;
import org.nafmii.admin.user.dto.*; import org.nafmii.admin.user.dto.*;
import org.nafmii.admin.user.entity.CenterRolePO; import org.nafmii.admin.user.entity.CenterRolePO;
import org.nafmii.admin.user.entity.CenterUserPO; import org.nafmii.admin.user.entity.CenterUserPO;
import org.nafmii.admin.user.param.QueryRoleListParam; import org.nafmii.admin.user.entity.CneterRoleMenuPO;
import org.nafmii.admin.user.param.QueryRolesParam; import org.nafmii.admin.user.param.*;
import org.nafmii.admin.user.param.SwitchStatusRoleParam;
import org.nafmii.admin.user.service.ICenterRoleService; import org.nafmii.admin.user.service.ICenterRoleService;
import org.nafmii.admin.user.vo.CenterRoleVO; import org.nafmii.admin.user.vo.CenterRoleVO;
import org.nafmii.admin.user.vo.RoleListVo; import org.nafmii.admin.user.vo.RoleListVo;
import org.nafmii.common.constant.RoleEnum;
import org.nafmii.common.param.BeanTransferUtils; import org.nafmii.common.param.BeanTransferUtils;
import org.nafmii.common.response.ApiResponse; import org.nafmii.common.response.ApiResponse;
import org.nafmii.common.utils.RequestUtils; import org.nafmii.common.utils.RequestUtils;
...@@ -32,9 +33,13 @@ import java.util.List; ...@@ -32,9 +33,13 @@ import java.util.List;
@Service @Service
@Slf4j @Slf4j
public class CenterRoleServiceImpl implements ICenterRoleService { public class CenterRoleServiceImpl implements ICenterRoleService {
@Resource @Resource
private CenterRoleMapper roleMapper; private CenterRoleMapper roleMapper;
@Resource
private CneterRoleMenuMapper roleMenuMapper;
/** /**
* 角色下拉框查询接口 * 角色下拉框查询接口
* @return * @return
...@@ -45,6 +50,11 @@ public class CenterRoleServiceImpl implements ICenterRoleService { ...@@ -45,6 +50,11 @@ public class CenterRoleServiceImpl implements ICenterRoleService {
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT,list); return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT,list);
} }
/**
* 角色列表查询接口
* @param param
* @return
*/
@Override @Override
public List<RoleListVo> queryRoleList(QueryRoleListParam param) { public List<RoleListVo> queryRoleList(QueryRoleListParam param) {
QueryRoleListDto userDto = BeanTransferUtils.transfer(param, QueryRoleListDto.class); QueryRoleListDto userDto = BeanTransferUtils.transfer(param, QueryRoleListDto.class);
...@@ -54,6 +64,85 @@ public class CenterRoleServiceImpl implements ICenterRoleService { ...@@ -54,6 +64,85 @@ public class CenterRoleServiceImpl implements ICenterRoleService {
} }
/** /**
* 角色编辑新增接口
* @param param
* @return
*/
@Override
public ApiResponse roleAddOrUpdate(AddOrUpdateRoleParam param) {
AddOrUpdateRoleDto roleDto = BeanTransferUtils.transfer(param, AddOrUpdateRoleDto.class);
log.info("=====================角色新增编辑相关参数"+roleDto);
CenterRolePO rolePO = new CenterRolePO();
rolePO.setUpdateUserId(RequestUtils.getUserId());
rolePO.setUpdateTime(LocalDateTime.now());
rolePO.setDelFlag(RoleEnum.USER.getCode());
rolePO.setRName(roleDto.getRName());
rolePO.setIsEnable(roleDto.getIsEnable());
//判断新增还是编辑
if (null != roleDto.getId()){
rolePO.setId(roleDto.getId());
int i = roleMapper.updateById(rolePO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}
}else{
rolePO.setId(SnowFlakeUtil.nextId());
rolePO.setCreateUserId(RequestUtils.getUserId());
rolePO.setCreatTime(LocalDateTime.now());
int i = roleMapper.insert(rolePO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}
}
log.info("=====================角色新增编辑实体报文"+rolePO);
//通过角色查询相关挂载的菜单
List<CneterRoleMenuPO> menuPO = roleMenuMapper.selectByRole(rolePO.getId());
log.info("=====================通过角色查询相关挂载的菜单数据"+menuPO);
//修改菜单相关数据变为无效
if (menuPO.size() >0 ){
for (CneterRoleMenuPO roleMenuPO:menuPO) {
roleMenuPO.setIsEnable(RoleEnum.NOTENABLE.getCode());
roleMenuPO.setId(roleMenuPO.getId());
roleMenuMapper.updateById(roleMenuPO);
}
}
//新增相关菜单数据
List<Long> mIds = roleDto.getMId();
for (Long id: mIds) {
CneterRoleMenuPO roleMenuPO = new CneterRoleMenuPO();
roleMenuPO.setId(SnowFlakeUtil.nextId());
roleMenuPO.setIsEnable(RoleEnum.ENABLE.getCode());
roleMenuPO.setMenuId(id);
roleMenuPO.setRoleId(rolePO.getId());
log.info("=============角色菜单表相关数据报文"+roleMenuPO);
roleMenuMapper.insert(roleMenuPO);
}
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
/**
* 角色删除接口
* @param param
* @return
*/
@Override
public ApiResponse roleDelete(RoleDeleteParam param) {
log.info("=========================>角色删除相关参数"+param);
CenterRolePO rolePO = new CenterRolePO();
rolePO.setId(param.getId());
rolePO.setDelFlag(RoleEnum.DELETE.getCode());
rolePO.setUpdateTime(LocalDateTime.now());
rolePO.setUpdateUserId(RequestUtils.getUserId());
int i = roleMapper.updateById(rolePO);
if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
}
return new ApiResponse(ApiResponse.SUCCESS,ApiResponse.SUCCESS_TEXT);
}
/**
* 角色启用禁用 * 角色启用禁用
* @param param * @param param
* @return * @return
...@@ -62,10 +151,12 @@ public class CenterRoleServiceImpl implements ICenterRoleService { ...@@ -62,10 +151,12 @@ public class CenterRoleServiceImpl implements ICenterRoleService {
public ApiResponse switchStatus(SwitchStatusRoleParam param) { public ApiResponse switchStatus(SwitchStatusRoleParam param) {
SwitchStatusRoleDto roleDto = BeanTransferUtils.transfer(param, SwitchStatusRoleDto.class); SwitchStatusRoleDto roleDto = BeanTransferUtils.transfer(param, SwitchStatusRoleDto.class);
log.info("=========================>角色启动禁用相关参数"+param); log.info("=========================>角色启动禁用相关参数"+param);
CenterRolePO userPO = new CenterRolePO(); CenterRolePO rolePO = new CenterRolePO();
userPO.setId(roleDto.getId()); rolePO.setId(roleDto.getId());
userPO.setIsEnable(roleDto.getIsEnable()); rolePO.setIsEnable(roleDto.getIsEnable());
int i = roleMapper.updateById(userPO); rolePO.setUpdateTime(LocalDateTime.now());
rolePO.setUpdateUserId(RequestUtils.getUserId());
int i = roleMapper.updateById(rolePO);
if (i < 0){ if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT); return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
} }
......
...@@ -65,6 +65,7 @@ public class CenterUserServiceImpl implements ICenterUserService { ...@@ -65,6 +65,7 @@ public class CenterUserServiceImpl implements ICenterUserService {
userPO.setLoginPwd(DigestUtil.md5Hex(userDto.getLoginPwd().getBytes())); userPO.setLoginPwd(DigestUtil.md5Hex(userDto.getLoginPwd().getBytes()));
userPO.setPhone(userDto.getPhone()); userPO.setPhone(userDto.getPhone());
userPO.setIsEnable(userDto.getIsEnable()); userPO.setIsEnable(userDto.getIsEnable());
userPO.setDelFlag(UserEnum.USER.getCode());
//=====================用户参数赋值====================结束 //=====================用户参数赋值====================结束
//判断新增功能还是编辑功能 //判断新增功能还是编辑功能
if (null != param.getId()){ if (null != param.getId()){
...@@ -124,6 +125,8 @@ public class CenterUserServiceImpl implements ICenterUserService { ...@@ -124,6 +125,8 @@ public class CenterUserServiceImpl implements ICenterUserService {
CenterUserPO userPO = new CenterUserPO(); CenterUserPO userPO = new CenterUserPO();
userPO.setId(userDto.getId()); userPO.setId(userDto.getId());
userPO.setDelFlag(UserEnum.DELETE.getCode()); userPO.setDelFlag(UserEnum.DELETE.getCode());
userPO.setUpdateUserId(RequestUtils.getUserId());
userPO.setUpdateTime(LocalDateTime.now());
int i = centerUserMapper.updateById(userPO); int i = centerUserMapper.updateById(userPO);
if (i < 0){ if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT); return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
...@@ -156,6 +159,8 @@ public class CenterUserServiceImpl implements ICenterUserService { ...@@ -156,6 +159,8 @@ public class CenterUserServiceImpl implements ICenterUserService {
CenterUserPO userPO = new CenterUserPO(); CenterUserPO userPO = new CenterUserPO();
userPO.setId(userDto.getId()); userPO.setId(userDto.getId());
userPO.setIsEnable(userDto.getIsEnable()); userPO.setIsEnable(userDto.getIsEnable());
userPO.setUpdateUserId(RequestUtils.getUserId());
userPO.setUpdateTime(LocalDateTime.now());
int i = centerUserMapper.updateById(userPO); int i = centerUserMapper.updateById(userPO);
if (i < 0){ if (i < 0){
return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT); return new ApiResponse(ApiResponse.FAIL,ApiResponse.FAIL_TEXT);
......
package org.nafmii.admin.user.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 9:47
* @ClassName:
* @version:
* @remark:
*/
@Data
@ApiModel("菜单一二级数据返回报文")
public class MenuListVo {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "一级菜单名称")
private String menuName;
@ApiModelProperty(value = "菜单级别")
private Integer menuLevle;
@ApiModelProperty(value = "排序字段")
private Integer orderSeq;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty(value = "启用禁用 0 启用 1 禁用")
private String isEnable;
@ApiModelProperty(value = "创建人")
private Long createUserId;
@ApiModelProperty(value = "修改人")
private Long updateUserId;
@ApiModelProperty(value = "二级菜单名称对象")
private List<SecondMenu> secondMenu;
}
package org.nafmii.admin.user.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/5/13 9:50
* @ClassName:
* @version:
* @remark:
*/
@Data
@ApiModel("二级菜单相关数据返回报文")
public class SecondMenu {
@ApiModelProperty(value = "主键")
private Long id;
@ApiModelProperty(value = "一级菜单名称")
private String menuName;
@ApiModelProperty(value = "菜单级别")
private Integer menuLevle;
@ApiModelProperty(value = "排序字段")
private Integer orderSeq;
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
@ApiModelProperty(value = "更新时间")
private LocalDateTime updateTime;
@ApiModelProperty(value = "启用禁用 0 启用 1 禁用")
private String isEnable;
@ApiModelProperty(value = "创建人")
private Long createUserId;
@ApiModelProperty(value = "修改人")
private Long updateUserId;
}
...@@ -21,81 +21,13 @@ ...@@ -21,81 +21,13 @@
ID, MENU_NAME, MENU_LEVLE, PARENT_ID, ORDER_SEQ, CREATE_TIME, UPDATE_TIME, IS_ENABLE, CREATE_USER_ID, UPDATE_USER_ID ID, MENU_NAME, MENU_LEVLE, PARENT_ID, ORDER_SEQ, CREATE_TIME, UPDATE_TIME, IS_ENABLE, CREATE_USER_ID, UPDATE_USER_ID
</sql> </sql>
<!-- 新增修改中心端角色 --> <select id="selectAll" resultType="org.nafmii.admin.user.vo.MenuListVo">
<update id="updateMenuById" parameterType="map" >
update CENTER_MENU
<set >
<if test="menuName != null" >
MENU_NAME = #{menuName,jdbcType=VARCHAR},
</if>
<if test="menuLevle != null" >
MENU_LEVLE = #{menuLevle,jdbcType=INTEGER},
</if>
<if test="parentId != null" >
PARENT_ID = #{parentId,jdbcType=BIGINT},
</if>
<if test="orderSeq != null" >
ORDER_SEQ = #{orderSeq,jdbcType=INTEGER},
</if>
<if test="createTime != null" >
CREATE_TIME = #{createTime,jdbcType=BIGINT},
</if>
<if test="updateTime != null" >
UPDATE_TIME = #{updateTime,jdbcType=BIGINT},
</if>
<if test="isEnable != null" >
IS_ENABLE = #{isEnable,jdbcType=VARCHAR},
</if>
<if test="createUserId != null" >
CREATE_USER_ID = #{createUserId,jdbcType=BIGINT},
</if>
<if test="updateUserId != null" >
UPDATE_USER_ID = #{updateUserId,jdbcType=BIGINT},
</if>
</set>
where ID = #{id,jdbcType=BIGINT}
</update>
<!-- 查询中心端菜单 -->
<select id="queryMenuList" parameterType="org.nafmii.admin.user.dto.CenterMenuDTO"
resultType="org.nafmii.admin.user.vo.CenterMenuVO">
select select
ID as id, MENU_NAME as menuName, MENU_LEVLE as menuLevle, PARENT_ID as parentId, ORDER_SEQ as orderSeq, ID as id,
CREATE_TIME as createTime, UPDATE_TIME as updateTime, IS_ENABLE as isEnable, CREATE_USER_ID as createUserId, MENU_NAME as menuName, MENU_LEVLE as menuLevle, PARENT_ID as parentId,
UPDATE_USER_ID as updateUserId ORDER_SEQ as orderSeq, CREATE_TIME as createTime, UPDATE_TIME as updateTime,
IS_ENABLE as isEnable, CREATE_USER_ID as createUserId, UPDATE_USER_ID as updateUserId
from CENTER_MENU from CENTER_MENU
<where> where IS_ENABLE = 0
<if test="startCreateTime != null and endCreateTime != null">
DATE_FORMAT(CREATE_TIME,'%Y-%m-%d') BETWEEN #{startCreateTime} and #{endCreateTime}
</if>
</where>
</select> </select>
<!-- 删除中心端菜单 -->
<update id="deleteMenus">
update
CENTER_MENU
set IS_ENABLE = "1"
where
ID IN
<foreach collection="array" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</update>
<!-- 中心端用户对应菜单查询 -->
<select id="queryUserMenus" parameterType="map" resultType="org.nafmii.admin.user.vo.CenterMenuVO">
SELECT
cm.ID as id, cm.MENU_NAME as menuName, cm.MENU_LEVLE as menuLevle, cm.PARENT_ID as parentId, cm.ORDER_SEQ as orderSeq,
cm.CREATE_TIME as createTime,cm.UPDATE_TIME as updateTime, cm.IS_ENABLE as isEnable, cm.CREATE_USER_ID as createUserId,
cm.UPDATE_USER_ID as updateUserId
FROM
CENTER_MENU cm
INNER JOIN CENTER_ROLE_MENU crm ON cm.id = crm.menu_id
INNER JOIN CENTER_USER_ROLE cur ON cur.role_id = crm.role_id
INNER JOIN CENTER_USER cu ON cur.user_id = cu.id
WHERE
cu.id = #{userid,jdbcType=BIGINT}
</select>
</mapper> </mapper>
...@@ -14,5 +14,10 @@ ...@@ -14,5 +14,10 @@
<sql id="Base_Column_List"> <sql id="Base_Column_List">
ID, ROLE_ID, MENU_ID, IS_ENABLE ID, ROLE_ID, MENU_ID, IS_ENABLE
</sql> </sql>
<select id="selectByRole" parameterType="map" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"></include>
from CNETER_ROLE_MENU
where IS_ENABLE = 0
</select>
</mapper> </mapper>
package org.nafmii.common.constant;
/**
* @author:zhoujh
* @Function:TODO
* @date 2021/4/27 9:57
* @ClassName:
* @version:
* @remark:
*/
public enum RoleEnum {
/**
* 用户删除
*/
DELETE("1","删除"),
USER("0","再用"),
/**
* 是否有效标识 0 有效用户 1无效用户
*/
ENABLE("0","有效角色"),
NOTENABLE("1","无效角色"),
;
RoleEnum(String code, String name){
this.code = code;
this.name = name;
}
private String name;
private String code;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
...@@ -13,6 +13,7 @@ public enum UserEnum{ ...@@ -13,6 +13,7 @@ public enum UserEnum{
* 用户删除 * 用户删除
*/ */
DELETE("1","删除"), DELETE("1","删除"),
USER("0","再用"),
/** /**
* 是否开启人脸识别登录 0 未开启 1 已开启 * 是否开启人脸识别登录 0 未开启 1 已开启
*/ */
......
package org.nafmii.common.utils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
/**
* @author weijixiang
* @Description 菜单工具类
* @date 2020/2/21.
*/
public class MenuUtil {
/**
* 生成树状结构
* @param menuList
* @param parentId
* @return
*/
public static JSONArray treeMenuList(JSONArray menuList, String parentId) {
JSONArray childMenu = new JSONArray();
for (Object object : menuList) {
JSONObject jsonMenu = JSONObject.parseObject(JSONObject.toJSONString(object));
String menuId = jsonMenu.getString("moduleCode");
String pid = jsonMenu.getString("parentModule");
if (parentId.equals(pid)) {
JSONArray childModule = treeMenuList(menuList, menuId);
jsonMenu.put("children", childModule);
childMenu.add(jsonMenu);
}
}
return childMenu;
}
/**
* 生成部门树状结构
* @param deptList
* @param parentId
* @return
*/
public static JSONArray treeDeptList(JSONArray deptList, String parentId) {
JSONArray childMenu = new JSONArray();
for (Object object : deptList) {
JSONObject jsonMenu = JSONObject.parseObject(JSONObject.toJSONString(object));
String menuId = jsonMenu.getString("deptCode");
String pid = jsonMenu.getString("parentDept");
if (parentId.equals(pid)) {
JSONArray childModule = treeMenuList(deptList, menuId);
jsonMenu.put("children", childModule);
childMenu.add(jsonMenu);
}
}
return childMenu;
}
/**
* jsonArray 转成 List
* @param array
* @param clazz
* @param <T>
* @return
*/
public static <T> List<T> arrayToList(JSONArray array, Class<T> clazz){
String jsonStr = JSON.toJSONString(array);
return JSONObject.parseArray(jsonStr,clazz);
}
/**
- listToTree
- <p>方法说明<p>
- 将JSONArray数组转为树状结构
- @param arr 需要转化的数据
- @param id 数据唯一的标识键值
- @param pid 父id唯一标识键值
- @param child 子节点键值
- @return JSONArray
*/
public static JSONArray listToTree(JSONArray arr, String id, String pid, String child) {
JSONArray r = new JSONArray();
JSONObject hash = new JSONObject();
//将数组转为Object的形式,key为数组中的id
for (int i = 0; i < arr.size(); i++) {
JSONObject json = (JSONObject) arr.get(i);
hash.put(json.getString(id), json);
}
//遍历结果集
for (int j = 0; j < arr.size(); j++) {
//单条记录
JSONObject aVal = (JSONObject) arr.get(j);
//在hash中取出key为单条记录中pid的值
String pidStr = "";
Object pidObj = aVal.get(pid);
if (aVal.get(pid) != null) {
pidStr = aVal.get(pid).toString();
}
JSONObject hashVP = (JSONObject) hash.get(pidStr);
//如果记录的pid存在,则说明它有父节点,将她添加到孩子节点的集合中
if (hashVP != null) {
//检查是否有child属性
if (hashVP.get(child) != null) {
JSONArray ch = (JSONArray) hashVP.get(child);
ch.add(aVal);
hashVP.put(child, ch);
} else {
JSONArray ch = new JSONArray();
ch.add(aVal);
hashVP.put(child, ch);
}
} else {
r.add(aVal);
}
}
return r;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!