Commit 4e5958fe authored by chenying's avatar chenying

6.6添加权限管理和修改调用存储过程

parent 8b8e75f1
package com.example.tdl.domain.vo;
import java.util.List;
public class AddOrUpdatePermissionVo {
private String roleName;
private List<String> permissionGroupVos;
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public List<String> getPermissionGroupVos() {
return permissionGroupVos;
}
public void setPermissionGroupVos(List<String> permissionGroupVos) {
this.permissionGroupVos = permissionGroupVos;
}
}
package com.example.tdl.domain.vo;
import java.util.List;
public class AddRoleForPermissionVo {
private String roleName;
private String remark;
private List<String> permissions;
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public List<String> getPermissions() {
return permissions;
}
public void setPermissions(List<String> permissions) {
this.permissions = permissions;
}
}
......@@ -34,7 +34,7 @@ public class AddWarehouseVo {
private String office;//办事处
private Integer timeZone;//时区
private String timeZone;//时区
private String warehouseInfo;//基础描述
......@@ -168,11 +168,11 @@ public class AddWarehouseVo {
this.office = office;
}
public Integer getTimeZone() {
public String getTimeZone() {
return timeZone;
}
public void setTimeZone(Integer timeZone) {
public void setTimeZone(String timeZone) {
this.timeZone = timeZone;
}
......
package com.example.tdl.domain.vo;
import java.util.List;
public class PermissionGroupVo {
public String parentName;
private List<PermissionShowVo> permissionShowVoList;
public String getParentName() {
return parentName;
}
public void setParentName(String parentName) {
this.parentName = parentName;
}
public List<PermissionShowVo> getPermissionShowVoList() {
return permissionShowVoList;
}
public void setPermissionShowVoList(List<PermissionShowVo> permissionShowVoList) {
this.permissionShowVoList = permissionShowVoList;
}
}
package com.example.tdl.domain.vo;
public class PermissionShowVo {
private String permissionName;
private Boolean checked;
public String getPermissionName() {
return permissionName;
}
public void setPermissionName(String permissionName) {
this.permissionName = permissionName;
}
public Boolean getChecked() {
return checked;
}
public void setChecked(Boolean checked) {
this.checked = checked;
}
}
package com.example.tdl.domain.vo;
public class ResultRoleVo {
private String roleName;
private String createTime;
private String updateTime;
private String remark;
private String companyName;
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
package com.example.tdl.domain.vo;
public class ResultSideVo {
private String pName;
private String sideTitle;
private String permissionName;
public String getpName() {
return pName;
}
public void setpName(String pName) {
this.pName = pName;
}
public String getSideTitle() {
return sideTitle;
}
public void setSideTitle(String sideTitle) {
this.sideTitle = sideTitle;
}
public String getPermissionName() {
return permissionName;
}
public void setPermissionName(String permissionName) {
this.permissionName = permissionName;
}
}
......@@ -38,7 +38,7 @@ public class ResultWarehouseVo {
private String office;//办事处
private Integer timeZone;//时区
private String timeZone;//时区
private String warehouseInfo;//基础描述
......@@ -190,11 +190,11 @@ public class ResultWarehouseVo {
this.office = office;
}
public Integer getTimeZone() {
public String getTimeZone() {
return timeZone;
}
public void setTimeZone(Integer timeZone) {
public void setTimeZone(String timeZone) {
this.timeZone = timeZone;
}
......
package com.example.tdl.domain.vo;
public class UpdateRoleVo {
private String oldRoleName;
private String roleName;
private String updateTime;
private String remark;
private String companyName;
public String getOldRoleName() {
return oldRoleName;
}
public void setOldRoleName(String oldRoleName) {
this.oldRoleName = oldRoleName;
}
public String getRoleName() {
return roleName;
}
public void setRoleName(String roleName) {
this.roleName = roleName;
}
public String getUpdateTime() {
return updateTime;
}
public void setUpdateTime(String updateTime) {
this.updateTime = updateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
}
......@@ -33,7 +33,7 @@ public class UpdateWarehouseVo {
private String office;//办事处
private Integer timeZone;//时区
private String timeZone;//时区
private String warehouseInfo;//基础描述
......@@ -169,11 +169,11 @@ public class UpdateWarehouseVo {
this.office = office;
}
public Integer getTimeZone() {
public String getTimeZone() {
return timeZone;
}
public void setTimeZone(Integer timeZone) {
public void setTimeZone(String timeZone) {
this.timeZone = timeZone;
}
......
......@@ -9,4 +9,8 @@ import java.util.List;
@Mapper
public interface PermissionMapper {
List<PermissionVo> getAll();
List<String> getPermissionParentName();
List<String> getPermissionByPermissionName(String permissionName);
}
......@@ -4,9 +4,12 @@ package com.example.tdl.mapper;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface RoleHasPermissionMapper {
List<String> getByRoleName(String roleName);
int addRoleHasPermission(Map<String,Object> map);
}
package com.example.tdl.mapper;
import com.example.tdl.domain.vo.ResultRoleVo;
import com.example.tdl.domain.vo.RoleNameVo;
import com.example.tdl.domain.vo.UpdateRoleVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface RoleMapper {
List<RoleNameVo> getAllRoleName();
List<RoleNameVo> getAllRoleName(String companyName);
Integer getByRoleName(String roleName);
Integer getByRoleName(@Param("roleName") String roleName,@Param("companyName") String companyName);
List<ResultRoleVo> getAll(String companyName);
int addRole(ResultRoleVo resultRoleVo);
int addRoleAndPermission(Map<String,Object> map);
int updateRole(UpdateRoleVo updateRoleVo);
int deleteRole(Map<String,Object> map);
String getRoleNameByUserName(String userName);
}
package com.example.tdl.mapper;
import com.example.tdl.domain.vo.ResultSideVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface SideMapper {
List<ResultSideVo> selectAllTitle(String roleName);
List<ResultSideVo> selectBySideTitle(@Param("roleName") String roleName, @Param("sideTitle") String sideTitle);
}
......@@ -35,4 +35,6 @@ public interface UserMapper {
int updatePassword(UpdatePasswordVo updatePasswordVo);
int updateImg(@Param("img") String img,@Param("userNumber") String userNumber);
int getByRoleName(@Param("roleName") String roleName,@Param("companyName") String companyName);
}
......@@ -18,4 +18,11 @@ public class PermissionService {
return permissionMapper.getAll();
}
public List<String> getPermissionParentName(){
return permissionMapper.getPermissionParentName();
}
public List<String> getPermissionByPermissionName(String permissionName){
return permissionMapper.getPermissionByPermissionName(permissionName);
}
}
......@@ -6,6 +6,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class RoleHasPermissionService {
......@@ -17,4 +18,8 @@ public class RoleHasPermissionService {
return roleHasPermissionMapper.getByRoleName(roleName);
}
public int addRoleHasPermission(Map<String,Object> map){
return roleHasPermissionMapper.addRoleHasPermission(map);
}
}
package com.example.tdl.service;
import com.example.tdl.domain.vo.ResultRoleVo;
import com.example.tdl.domain.vo.RoleNameVo;
import com.example.tdl.domain.vo.UpdateRoleVo;
import com.example.tdl.mapper.RoleMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
@Service
public class RoleService {
@Autowired
private RoleMapper roleMapper;
public List<RoleNameVo> getAllRoleName(){
return roleMapper.getAllRoleName();
public List<RoleNameVo> getAllRoleName(String companyName){
return roleMapper.getAllRoleName(companyName);
}
public Integer getByRoleName(String roleName){
return roleMapper.getByRoleName(roleName);
public Integer getByRoleName(String roleName,String companyName){
return roleMapper.getByRoleName(roleName,companyName);
}
public List<ResultRoleVo> getAll(String companyName){
return roleMapper.getAll(companyName);
}
public int addRole(ResultRoleVo resultRoleVo){
return roleMapper.addRole(resultRoleVo);
}
public int addRoleAndPermission(Map<String,Object> map){
return roleMapper.addRoleAndPermission(map);
}
public int updateRole(UpdateRoleVo updateRoleVo){
return roleMapper.updateRole(updateRoleVo);
}
public int deleteRole(Map<String,Object> map){
return roleMapper.deleteRole(map);
}
public String getRoleNameByUserName(String userName){
return roleMapper.getRoleNameByUserName(userName);
}
}
package com.example.tdl.service;
import com.example.tdl.domain.vo.ResultSideVo;
import com.example.tdl.mapper.SideMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class SideService {
@Autowired
private SideMapper sideMapper;
public List<ResultSideVo> selectAllTitle(String roleName){
return sideMapper.selectAllTitle(roleName);
}
public List<ResultSideVo> selectBySideTitle(String roleName,String sideTitle){
return sideMapper.selectBySideTitle(roleName,sideTitle);
}
}
......@@ -91,4 +91,8 @@ public class UserService {
public int updateImg(String img,String userNumber){
return userMapper.updateImg(img,userNumber);
}
public int getByRoleName(String roleName,String companyName){
return userMapper.getByRoleName(roleName,companyName);
}
}
package com.example.tdl.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.example.tdl.domain.dto.CommFeedback;
import com.example.tdl.domain.vo.AddOrUpdatePermissionVo;
import com.example.tdl.domain.vo.PermissionGroupVo;
import com.example.tdl.domain.vo.PermissionShowVo;
import com.example.tdl.domain.vo.UserRedisVo;
import com.example.tdl.service.PermissionService;
import com.example.tdl.service.RoleHasPermissionService;
import com.example.tdl.service.redis.TokenRedisService;
import com.google.gson.Gson;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.dao.DataAccessException;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
......@@ -31,9 +45,15 @@ public class PermissionController {
@Autowired
private PermissionService permissionService=new PermissionService();
@Autowired
private RoleHasPermissionService roleHasPermissionService;
@Autowired
private TokenRedisService tokenRedisService;
@Autowired
private I18nController i18n;
//查询本公司的用户
@ApiOperation(value = "查询所有权限信息",notes = "查询所有权限信息")
......@@ -41,10 +61,130 @@ public class PermissionController {
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/getAll",method = RequestMethod.GET)
public Object getAll(){
return permissionService.getAll();
public Object getAll(HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
//获取该公司的所有权限
String name = "管理员";
List<String> permissionLists = roleHasPermissionService.getByRoleName(name);
List<String> parentLists =permissionService.getPermissionParentName();
List<PermissionGroupVo> vo =new ArrayList<>();
//遍历取出每一个action匹配权限组
for (String parentName: parentLists){
List<String> permissions = permissionService.getPermissionByPermissionName(parentName);
PermissionGroupVo permissionNameGroupVo = new PermissionGroupVo();
List<PermissionShowVo> permissionShowVoList = new ArrayList<>();
for(String permissionName:permissions){
if(permissionLists.contains(permissionName)){
PermissionShowVo permissionShowVo =new PermissionShowVo();
permissionShowVo.setPermissionName(permissionName);
permissionShowVo.setChecked(false);
permissionShowVoList.add(permissionShowVo);
permissionNameGroupVo.setParentName(parentName);
}
}
permissionNameGroupVo.setPermissionShowVoList(permissionShowVoList);
if(permissionShowVoList.size() >0){
vo.add(permissionNameGroupVo);
}
}
return vo;
}
//根据角色获取所有的权限
@ApiOperation(value = "根据角色获取所有的权限",notes = "获取该公司最高权限")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/getPermissionByRoleName",method = RequestMethod.POST)
public Object getPermissionByRoleName(@RequestBody String roleName,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
JSONObject json = JSON.parseObject(roleName);
roleName= (String) json.get("roleName");
if (roleName.equals("")||roleName==null){
fb.setCode(0);
fb.setMessage("查询的角色名不能为空");
return gson.toJson(fb);
}
//获取该公司的所有权限
String name = "管理员";
List<String> permissionLists = roleHasPermissionService.getByRoleName(name);
List<String> parentLists =permissionService.getPermissionParentName();
//根据角色名获取拥有的角色
List<String> rolePermission = roleHasPermissionService.getByRoleName(roleName);
List<PermissionGroupVo> vo =new ArrayList<>();
//遍历取出每一个action匹配权限组
for (String parentName : parentLists) {
List<String> permissions = permissionService.getPermissionByPermissionName(parentName);
PermissionGroupVo permissionGroupVo = new PermissionGroupVo();
permissionGroupVo.setParentName(parentName);
List<PermissionShowVo> permissionShowVosList = new ArrayList<>();
for (String permission : permissions) {
PermissionShowVo permissionShowVo = new PermissionShowVo();
if (permissionLists.contains(permission)) {
permissionShowVo.setPermissionName(permission);
if (rolePermission.contains(permission)) {
permissionShowVo.setChecked(true);
} else {
permissionShowVo.setChecked(false);
}
permissionShowVosList.add(permissionShowVo);
}
}
permissionGroupVo.setPermissionShowVoList(permissionShowVosList);
if (permissionShowVosList.size() > 0) {
vo.add(permissionGroupVo);
}
}
return vo;
}
//新增或者修改权限
@ApiOperation(value = "添加或修改权限", notes = "根据角色添加或修改权限")
@RequestMapping(value = "/addOrSavePermission",method = RequestMethod.POST)
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
public String addOrSavePermission(@RequestBody AddOrUpdatePermissionVo addOrUpdatePermissionVo, HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(addOrUpdatePermissionVo.getRoleName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
String permissionVar="";
int num = 0;
for(int i=0;i<addOrUpdatePermissionVo.getPermissionGroupVos().size();i++){
permissionVar+=addOrUpdatePermissionVo.getPermissionGroupVos().get(i)+" ";
}
try {
Map<String,Object> map=new HashMap<>();
map.put("roleName",addOrUpdatePermissionVo.getRoleName());
map.put("companyName",user.getCompanyName());
map.put("permissionName",permissionVar);
map.put("num",addOrUpdatePermissionVo.getPermissionGroupVos().size());
roleHasPermissionService.addRoleHasPermission(map);
Map<String,Object> ms=new HashMap<>();
ms.put("msg",map.get("msg"));
if (ms.get("msg").equals("权限操作成功")){
fb.setCode(1);
fb.setMessage(ms.get("msg").toString());
}else {
fb.setCode(0);
fb.setMessage(ms.get("msg").toString());
}
} catch (DataAccessException e) {
fb.setCode(0);
fb.setMessage("操作失败");
}
return gson.toJson(fb);
}
}
......@@ -83,6 +83,11 @@ public class ProbesModelController {
fb.setMessage("对不起,只能添加20个模板");
return gson.toJson(fb);
}
if (probesModelService.getByProbesModelName(addProbesModelVo.getProbesModelName())!=null){
fb.setCode(0);
fb.setMessage("模板名不能重复");
return gson.toJson(fb);
}
Map<String, Object> map = new HashMap<>();
map.put("probesModelName", addProbesModelVo.getProbesModelName());
map.put("countNum", addProbesModelVo.getCountNum());
......
package com.example.tdl.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.example.tdl.domain.dto.CommFeedback;
import com.example.tdl.domain.vo.RoleNameVo;
import com.example.tdl.domain.vo.*;
import com.example.tdl.service.RoleService;
import com.example.tdl.service.UserService;
import com.example.tdl.service.redis.TokenRedisService;
import com.google.gson.Gson;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.dao.DataAccessException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
......@@ -36,26 +42,234 @@ public class RoleController {
@Autowired
private RoleService roleService=new RoleService();
@Autowired
private UserService userService=new UserService();
@Autowired
private TokenRedisService tokenRedisService;
@Autowired
private I18nController i18n;
//获取所有的角色
@ApiOperation(value = "获取所有的角色",notes = "获取所有角色,返回值说明" +
" roleName:角色名," +
" createTime:创建时间," +
" updateTime:修改时间," +
" remark:备注," +
" companyName:公司名.")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@GetMapping(path="/getAll")
public @ResponseBody Object getAll(HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
List<ResultRoleVo> list=roleService.getAll(user.getCompanyName());
return list;
}
//查询本公司的用户
//查询所有角色名
@ApiOperation(value = "查询所有角色名",notes = "查询所有角色名")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value="/getAllRoleName",method = RequestMethod.GET)
public Object getAllRoleName(){
List<RoleNameVo> roleNameVoList = roleService.getAllRoleName();
for(int i = 0,length = roleNameVoList.size();i<length;i++){
public Object getAllRoleName(HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
List<RoleNameVo> roleNameVoList = roleService.getAllRoleName(user.getCompanyName());
return roleNameVoList;
}
//添加角色
@ApiOperation(value = "添加角色",notes = "添加角色,公司名和时间不用传,传递参数:" +
" roleName:角色名," +
" remark:备注")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/addRole", method = RequestMethod.POST)
public Object addRole(@RequestBody ResultRoleVo resultRoleVo,HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(resultRoleVo.getRoleName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
return roleNameVoList;
Integer a=roleService.getByRoleName(resultRoleVo.getRoleName(),user.getCompanyName());
if (a>0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"repeatedRole"));
return gson.toJson(fb);
}
try {
resultRoleVo.setCreateTime(String.valueOf(System.currentTimeMillis()));
resultRoleVo.setUpdateTime(String.valueOf(System.currentTimeMillis()));
resultRoleVo.setCompanyName(user.getCompanyName());
int s=roleService.addRole(resultRoleVo);
if (s>0){
fb.setCode(1);
fb.setMessage(i18n.getMessage(request,"addRoleSuccess"));
}else{
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"addRoleFailure"));
}
}catch (Exception e){
e.printStackTrace();
fb.setCode(0);
fb.setMessage("添加失败");
}
return gson.toJson(fb);
}
//添加角色的同时添加权限
@ApiOperation(value = "添加角色的同时添加权限",notes = "添加角色的同时添加权限,传递参数:" +
" permissions: [" +
" 权限名" +
" ]," +
" roleName:角色名," +
" remark:备注")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/addRoleAndPermission", method = RequestMethod.POST)
public Object addRoleAndPermission(@RequestBody AddRoleForPermissionVo addRoleForPermissionVo,HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(addRoleForPermissionVo.getRoleName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
Integer a=roleService.getByRoleName(addRoleForPermissionVo.getRoleName(),user.getCompanyName());
if (a>0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"repeatedRole"));
return gson.toJson(fb);
}
String permissionVar="";
for(int i=0;i<addRoleForPermissionVo.getPermissions().size();i++){
permissionVar+=addRoleForPermissionVo.getPermissions().get(i)+" ";
}
try {
Map<String,Object> map=new HashMap<>();
map.put("roleName",addRoleForPermissionVo.getRoleName());
map.put("createTime",System.currentTimeMillis());
map.put("updateTime",System.currentTimeMillis());
map.put("remark",addRoleForPermissionVo.getRemark());
map.put("companyName",user.getCompanyName());
map.put("permissionName",permissionVar);
map.put("num",addRoleForPermissionVo.getPermissions().size());
roleService.addRoleAndPermission(map);
Map<String,Object> ms=new HashMap<>();
ms.put("msg",map.get("msg"));
if (ms.get("msg").equals("角色添加成功")){
fb.setCode(1);
fb.setMessage(ms.get("msg").toString());
}else {
fb.setCode(0);
fb.setMessage(ms.get("msg").toString());
}
} catch (DataAccessException e) {
fb.setCode(0);
fb.setMessage("操作失败");
}
return gson.toJson(fb);
}
//修改角色
@ApiOperation(value = "修改角色",notes = "根据角色名修改角色,公司不用传" +
" oldRoleName:修改之前的名字," +
" roleName:修改之后的名字," +
" updateTime:修改时间," +
" remark:备注")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/updateRole", method = RequestMethod.POST)
public Object updateRole(@RequestBody UpdateRoleVo updateRoleVo,HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(updateRoleVo.getRoleName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
if (roleService.getByRoleName(updateRoleVo.getRoleName(),user.getCompanyName())!=null&&!updateRoleVo.getOldRoleName().equals(updateRoleVo.getRoleName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"repeatedRole"));
return gson.toJson(fb);
}
try {
updateRoleVo.setCompanyName(user.getCompanyName());
int c=roleService.updateRole(updateRoleVo);
if (c>0){
fb.setCode(1);
fb.setMessage(i18n.getMessage(request,"updateSuccess"));
}else{
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"updateFailure"));
}
}catch (Exception e){
e.printStackTrace();
fb.setCode(0);
fb.setMessage("修改失败");
}
return gson.toJson(fb);
}
//删除角色
@ApiOperation(value = "删除角色",notes = "根据角色名删除角色,只用传角色名")
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "/deleteRole", method = RequestMethod.POST)
public Object deleteRole(@RequestBody String roleName,HttpServletRequest request) {
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
JSONObject jsonObject= JSON.parseObject(roleName);
roleName=(String)jsonObject.get("roleName");
if (StringUtils.isEmpty(roleName)){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
int f=userService.getByRoleName(roleName,user.getCompanyName());
if (f>0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"usedRole"));
return gson.toJson(fb);
}
try {
Map<String,Object> map=new HashMap<>();
map.put("roleName",roleName);
map.put("companyName",user.getCompanyName());
roleService.deleteRole(map);
Map<String,Object> ms=new HashMap<>();
ms.put("msg",map.get("msg"));
if (ms.get("msg").equals("删除角色成功")){
fb.setCode(1);
fb.setMessage(ms.get("msg").toString());
}else {
fb.setCode(0);
fb.setMessage(ms.get("msg").toString());
}
}catch (Exception e){
e.printStackTrace();
fb.setCode(0);
fb.setMessage("删除失败");
}
return gson.toJson(fb);
}
......
package com.example.tdl.web;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.example.tdl.domain.dto.CommFeedback;
import com.example.tdl.domain.vo.ResultSideVo;
import com.example.tdl.domain.vo.UserRedisVo;
import com.example.tdl.service.RoleService;
import com.example.tdl.service.SideService;
import com.example.tdl.service.redis.TokenRedisService;
import com.google.gson.Gson;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import org.apache.shiro.SecurityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@RestController
@RequestMapping("/side")
public class SideController {
private Logger logger = LoggerFactory.getLogger(this.getClass());
Gson gson=new Gson();
CommFeedback fb=new CommFeedback();
@Autowired
private SideService sideService;
@Autowired
private RoleService roleService;
@Autowired
private TokenRedisService tokenRedisService;
@Autowired
private I18nController i18n;
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "selectAllTitle",method = RequestMethod.GET)
public Object selectAllTitle(HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
// //获取用户角色编号
// String roleName = roleService.getRoleNameByUserName(user.getUserName());
//获取该用户所有的权限及对应的界面
List<ResultSideVo> sliderTitleVoList=sideService.selectAllTitle(user.getRoleName());
Set<String> l=new HashSet<>();
for (int i=0;i<sliderTitleVoList.size();i++){
l.add(sliderTitleVoList.get(i).getpName());
l.add(sliderTitleVoList.get(i).getSideTitle());
}
return l;
}
@ApiImplicitParams({
@ApiImplicitParam(paramType="header", name = "Account_token", value = "token", required = true, dataType = "String"),
})
@RequestMapping(value = "selectBySliderTitle",method = RequestMethod.POST)
public Object selectBySliderTitle(@RequestBody String name,HttpServletRequest request){
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
JSONObject jsonObject= JSON.parseObject(name);
name=(String)jsonObject.get("name");
if (name.equals("")||name==null){
fb.setCode(0);
fb.setMessage("查询的侧边栏名不能为空");
return gson.toJson(fb);
}
//获取用户角色编号
String roleName= roleService.getRoleNameByUserName(user.getUserName());
//获取该用户所有的权限及对应的界面
List<ResultSideVo> sliderTitleVoList=sideService.selectBySideTitle(roleName,name);
Set<String> l=new HashSet<>();
for (int i=0;i<sliderTitleVoList.size();i++){
l.add(sliderTitleVoList.get(i).getPermissionName());
}
return l;
}
}
......@@ -78,6 +78,11 @@ public class TopicModelController {
fb.setMessage("添加的主题数量不能超过20个");
return gson.toJson(fb);
}
if (topicModelService.getByTopicModelName(addTopicModelVo.getTopicModelName())!=null){
fb.setCode(0);
fb.setMessage("添加的模板名已存在");
return gson.toJson(fb);
}
String topicNameVar="";
for (int a=0;a<addTopicModelVo.getTopicName().size();a++){
topicNameVar=topicNameVar+addTopicModelVo.getTopicName().get(a)+" ";
......
......@@ -155,13 +155,13 @@ public class TransferModelConfigController {
fb.setMessage("邮编不能为空");
return gson.toJson(fb);
}
country = country + updateTransferModelConfigVo.getInfo().get(i).getCountry() + " ";
city = city + updateTransferModelConfigVo.getInfo().get(i).getCity() + " ";
addressDetail = addressDetail + updateTransferModelConfigVo.getInfo().get(i).getAddressDetail() + " ";
lng = lng + updateTransferModelConfigVo.getInfo().get(i).getLng() + " ";
lat = lat + updateTransferModelConfigVo.getInfo().get(i).getLat() + " ";
postCode = postCode + updateTransferModelConfigVo.getInfo().get(i).getPostCode() + " ";
remark = remark + updateTransferModelConfigVo.getInfo().get(i).getRemark() + " ";
country = country + updateTransferModelConfigVo.getInfo().get(i).getCountry() + "&";
city = city + updateTransferModelConfigVo.getInfo().get(i).getCity() + "&";
addressDetail = addressDetail + updateTransferModelConfigVo.getInfo().get(i).getAddressDetail() + "&";
lng = lng + updateTransferModelConfigVo.getInfo().get(i).getLng() + "&";
lat = lat + updateTransferModelConfigVo.getInfo().get(i).getLat() + "&";
postCode = postCode + updateTransferModelConfigVo.getInfo().get(i).getPostCode() + "&";
remark = remark + updateTransferModelConfigVo.getInfo().get(i).getRemark() + "&";
}
Map<Object,Object> map=new HashMap<>();
map.put("transferNo",updateTransferModelConfigVo.getTransferNo());
......
......@@ -137,13 +137,13 @@ public class TransferModelController {
fb.setMessage("邮编不能为空");
return gson.toJson(fb);
}
country=country +addTransferModelVo.getInfo().get(i).getCountry() +" ";
city=city +addTransferModelVo.getInfo().get(i).getCity() +" ";
addressDetail =addressDetail +addTransferModelVo.getInfo().get(i).getAddressDetail() +" ";
lng = lng + addTransferModelVo.getInfo().get(i).getLng() +" ";
lat = lat + addTransferModelVo.getInfo().get(i).getLat() +" ";
postCode=postCode + addTransferModelVo.getInfo().get(i).getPostCode() +" ";
remark=remark+addTransferModelVo.getInfo().get(i).getRemark()+" ";
country=country +addTransferModelVo.getInfo().get(i).getCountry() +"&";
city=city +addTransferModelVo.getInfo().get(i).getCity() +"&";
addressDetail =addressDetail +addTransferModelVo.getInfo().get(i).getAddressDetail() +"&";
lng = lng + addTransferModelVo.getInfo().get(i).getLng() +"&";
lat = lat + addTransferModelVo.getInfo().get(i).getLat() +"&";
postCode=postCode + addTransferModelVo.getInfo().get(i).getPostCode() +"&";
remark=remark+addTransferModelVo.getInfo().get(i).getRemark()+"&";
}
Date day=new Date();
SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");
......@@ -154,7 +154,6 @@ public class TransferModelController {
transferNos = transferNo + ((int) (Math.random() * (9999 - 1000 + 1)) + 1000);
}
}
Map<String,Object> map=new HashMap<>();
map.put("transferNo",transferNos);
map.put("transferModelName",addTransferModelVo.getTransferModelName());
......
......@@ -131,7 +131,9 @@ public class UserController {
})
@RequestMapping(value="/addUser",method = RequestMethod.POST)
public Object addUser(@RequestBody AddUserVo userVo,HttpServletRequest request){
String port = request.getHeader("AccountLanguage");
String token = request.getHeader("Account_token");
String datum = tokenRedisService.get("TOKEN_" +token);
UserRedisVo user = gson.fromJson(datum,UserRedisVo.class);
if (StringUtils.isEmpty(userVo.getUserName())){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"userName"));
......@@ -197,7 +199,7 @@ public class UserController {
fb.setMessage(i18n.getMessage(request,"roleName"));
return gson.toJson(fb);
}
if (roleService.getByRoleName(userVo.getRoleName())==0){
if (roleService.getByRoleName(userVo.getRoleName(),user.getCompanyName())==0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"existRoleName"));
return gson.toJson(fb);
......@@ -294,7 +296,7 @@ public class UserController {
return gson.toJson(fb);
}
if (roleService.getByRoleName(userVo.getRoleName())==0){
if (roleService.getByRoleName(userVo.getRoleName(),user.getCompanyName())==0){
fb.setCode(0);
fb.setMessage(i18n.getMessage(request,"existRoleName"));
return gson.toJson(fb);
......
......@@ -217,5 +217,13 @@ deleteTDLSuccess=\u5220\u9664\u7F51\u5173\u6210\u529F
deleteTDLFailure=\u5220\u9664\u7F51\u5173\u5931\u8D25
updateTDLCompanySuccess=\u7F51\u5173\u5206\u914D\u516C\u53F8\u6210\u529F
updateTDLCompanyFailure=\u7F51\u5173\u5206\u914D\u516C\u53F8\u5931\u8D25
#\u4ED3\u5E93
#\u89D2\u8272
repeatedRole=\u89D2\u8272\u5DF2\u5B58\u5728
usedRole=\u8BE5\u89D2\u8272\u6B63\u5728\u88AB\u4F7F\u7528
addRoleSuccess=\u6DFB\u52A0\u89D2\u8272\u6210\u529F
addRoleFailure=\u6DFB\u52A0\u89D2\u8272\u5931\u8D25
updateSuccess=\u4FEE\u6539\u89D2\u8272\u6210\u529F
updateFailure=\u4FEE\u6539\u89D2\u8272\u5931\u8D25
deleteSuccess=\u5220\u9664\u89D2\u8272\u6210\u529F
deleteFailure=\u5220\u9664\u89D2\u8272\u5931\u8D25
......@@ -7,4 +7,14 @@
from permission p WHERE pid is NOT NULL
</select>
<!--获取所有权限组名称-->
<select id="getPermissionParentName" resultType="java.lang.String">
SELECT permissionName FROM permission WHERE pid IS NULL
</select>
<!--通过权限组名获取权限信息-->
<select id="getPermissionByPermissionName" parameterType="String" resultType="String">
SELECT p.permissionName FROM permission p,permission a WHERE p.pid=a.id AND a.permissionName=#{permissionName,jdbcType=VARCHAR}
</select>
</mapper>
\ No newline at end of file
......@@ -9,4 +9,18 @@
AND r.roleName=#{roleName.jdbcType=VARCHAR}
</select>
<insert id="addRoleHasPermission" parameterType="java.util.Map" statementType="CALLABLE">
<![CDATA[
{
call pro_addRoleHasPermission(
#{roleName,mode=IN,jdbcType=VARCHAR},
#{companyName,mode=IN,jdbcType=VARCHAR},
#{permissionName,mode=IN,jdbcType=VARCHAR},
#{num,mode=IN,jdbcType=INTEGER},
#{msg,mode=OUT,jdbcType=VARCHAR}
)
}
]]>
</insert>
</mapper>
\ No newline at end of file
......@@ -3,10 +3,79 @@
<mapper namespace="com.example.tdl.mapper.RoleMapper">
<!--查询所有角色名-->
<select id="getAllRoleName" resultType="com.example.tdl.domain.vo.RoleNameVo">
SELECT roleName from role;
SELECT roleName from role r INNER JOIN company c ON r.company_id=c.id
WHERE companyName=#{companyName,jdbcType=VARCHAR}
</select>
<select id="getByRoleName" resultType="java.lang.Integer" parameterType="String">
SELECT COUNT(*) from role WHERE roleName=#{roleName,jdbcType=VARCHAR}
SELECT COUNT(*) from role r INNER JOIN company c ON r.company_id=c.id
WHERE companyName=#{companyName,jdbcType=VARCHAR}
AND roleName=#{roleName,jdbcType=VARCHAR}
</select>
<!--查询所有所有的角色信息-->
<select id="getAll" resultType="com.example.tdl.domain.vo.ResultRoleVo">
SELECT roleName,createTime,updateTime,remark,companyName
from role r INNER JOIN company c ON r.company_id=c.id
WHERE companyName=#{companyName,jdbcType=VARCHAR}
</select>
<!--添加角色-->
<insert id="addRole" parameterType="com.example.tdl.domain.vo.ResultRoleVo">
INSERT INTO role VALUES(
null,
#{roleName,jdbcType=VARCHAR},
#{createTime,jdbcType=VARCHAR},
#{updateTime,jdbcType=VARCHAR},
#{remark,jdbcType=VARCHAR},
(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR})
);
</insert>
<!--添加角色的同时添加权限-->
<insert id="addRoleAndPermission" parameterType="java.util.Map" statementType="CALLABLE">
<![CDATA[
{
call pro_addRoleAndPermission(
#{roleName,mode=IN,jdbcType=VARCHAR},
#{createTime,mode=IN,jdbcType=VARCHAR},
#{updateTime,mode=IN,jdbcType=VARCHAR},
#{remark,mode=IN,jdbcType=VARCHAR},
#{companyName,mode=IN,jdbcType=VARCHAR},
#{permissionName,mode=IN,jdbcType=VARCHAR},
#{num,mode=IN,jdbcType=INTEGER},
#{msg,mode=OUT,jdbcType=VARCHAR}
)
}
]]>
</insert>
<!--修改角色-->
<update id="updateRole" parameterType="com.example.tdl.domain.vo.UpdateRoleVo">
UPDATE role SET
roleName=#{roleName,jdbcType=VARCHAR},
updateTime=#{updateTime,jdbcType=VARCHAR},
remark=#{remark,jdbcType=VARCHAR}
WHERE roleName=#{oldRoleName,jdbcType=VARCHAR}
AND company_id=(SELECT id from company where companyName=#{companyName,jdbcType=VARCHAR})
</update>
<!-- 删除角色 -->
<delete id="deleteRole" parameterType="java.util.Map" statementType="CALLABLE">
<![CDATA[
{
call pro_delRole(
#{roleName,mode=IN,jdbcType=VARCHAR},
#{companyName,mode=IN,jdbcType=VARCHAR},
#{msg,mode=OUT,jdbcType=VARCHAR}
)
}
]]>
</delete>
<!--通过用户名查询角色-->
<select id="getRoleNameByUserName" parameterType="String" resultType="String">
SELECT roleName from role
WHERE id=(SELECT role_id from `user` WHERE userName=#{userName,jdbcType=VARCHAR})
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.tdl.mapper.SideMapper">
<!--查询所有权限和展示页面-->
<select id="selectAllTitle" parameterType="String" resultType="com.example.tdl.domain.vo.ResultSideVo">
SELECT (SELECT sideTitle FROM side WHERE id=s.pid) pName,s.sideTitle,p.permissionName FROM side_has_permission sp, side s,permission p
WHERE sp.permission_id=p.id
AND sp.side_id=s.id
AND p.permissionName IN (
select p.permissionName FROM role_has_permission rp,role r, permission p
where rp.role_id=r.id
and rp.permission_id=p.id
AND r.id =(
select id from role where roleName =#{roleName,jdbcType=VARCHAR}))
ORDER BY s.id;
</select>
<!--通过标题名查询所有权限和展示页面-->
<select id="selectBySideTitle" parameterType="String" resultType="com.example.tdl.domain.vo.ResultSideVo">
SELECT (SELECT sideTitle FROM side WHERE id=s.pid) pName,s.sideTitle,p.permissionName FROM side_has_permission sp, side s,permission p
WHERE sp.permission_id=p.id
AND sp.side_id=s.id
AND p.permissionName IN (
select p.permissionName FROM role_has_permission rp,role r, permission p
where rp.role_id=r.id
and rp.permission_id=p.id
AND r.id =(
select id from role where roleName =#{roleName,jdbcType=VARCHAR}))
AND s.sideTitle=#{sideTitle,jdbcType=VARCHAR}
ORDER BY s.id;
</select>
</mapper>
\ No newline at end of file
......@@ -133,4 +133,8 @@
update `user` set img=#{img,jdbcType=VARCHAR} WHERE userNumber=#{userNumber,jdbcType=VARCHAR}
</update>
<select id="getByRoleName" parameterType="String" resultType="java.lang.Integer">
select COUNT(id) from `user`
WHERE role_id=(select id from role where roleName=#{roleName,jdbcType=VARCHAR});
</select>
</mapper>
\ No newline at end of file
......@@ -55,5 +55,6 @@
<mapper resource="mapper/CompanyMapper.xml"/>
<mapper resource="mapper/RegionMapper.xml"/>
<mapper resource="mapper/CarMapper.xml"/>
<mapper resource="mapper/SideMapper.xml"/>
</mappers>
</configuration>
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