Commit 4188aa0b authored by YangZhaoJun1's avatar YangZhaoJun1

用户角色权限增删改查,当前学期

parent 38903735
......@@ -2,16 +2,43 @@
数据库变动记录 2018-04-17 V2.0.3
*/
/*1.班级表b_class新建字段“type”,区分行政班和企业班,0行政班,1企业班*/
/*班级表b_class新建字段“type”,区分行政班和企业班,0行政班,1企业班*/
ALTER TABLE `b_class`
MODIFY COLUMN `type` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL
DEFAULT 0 COMMENT '0行政班,1企业班' AFTER `create_date`;
MODIFY COLUMN `type` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL
DEFAULT 0 COMMENT '0行政班,1企业班' AFTER `create_date`;
/**
班级表b_class新建字段“grade_code”,所属年级
*/
ALTER TABLE `b_class`
ADD COLUMN `grade_code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL
COMMENT '所属年级code' AFTER `type`;
/*
2.新建作息时间表b_course_code(商务应该只有上下午课,没有晚上课)
新建作息时间表b_course_code(商务应该只有上下午课,没有晚上课)
sql文件位置:sql>new_table>2.0.3>b_course_code.sql
3.新建组班表b_edu_class
新建组班表b_edu_class
sql文件位置:sql>new_table>2.0.3>b_edu_class.sql
4.新建年级表b_grade
新建年级表b_grade
sql文件位置:sql>new_table>2.0.3>b_grade.sql
*/
/**
学期表新建“current”字段,标识是否当前学期
*/
ALTER TABLE `b_term`
ADD COLUMN `current` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL
DEFAULT '0' COMMENT '是否是当前学期0否 1是' AFTER `name`;
/*
学生表新建“grade_code”字段,所属年级code
*/
ALTER TABLE `b_student`
ADD COLUMN `grade_code` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL
COMMENT '年级' AFTER `recommend_course`;
/*
用户表新建“agency_code”字段,所属教学单位code
*/
ALTER TABLE `s_user`
ADD COLUMN `agency_code` varchar(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属教学单位' AFTER `git_lab_impression_token`;
......@@ -46,7 +46,7 @@ public class BClassController extends PaginationController<BClass> {
@ApiImplicitParam(name = "code", value = "班级编号(1-50)", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "className", value = "班级名称(1-150)", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "studentNum", value = "学生数量(1-3)", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@ApiImplicitParam(name = "gradeCode", value = "年级", required = true, dataType = "varchar")})
@PreAuthorize("hasRole('ROLE_1001')")
@PostMapping(value = "/add")
public Result add(@Valid BClass bClass, BindingResult bindingResult) {
......
......@@ -42,8 +42,8 @@ public class BClass extends IdEntity<BClass> {
@NotBlank
private String type;
/*学年ID*/
private String gradeId;
/*年级*/
private String gradeCode;
public BClass(String code) {
this.code = code;
......
......@@ -47,7 +47,7 @@ public class BStudentController extends PaginationController<BStudent> {
@ApiImplicitParam(name = "recommendDate", value = "推荐时间,排序依据", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "recommendOrder", value = "推荐排序", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "recommendCourse", value = "推荐原因(1-200)", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "gradeCode", value = "年级", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "name", value = "姓名(1-15)", required = false, dataType = "varchar")})
@PreAuthorize("hasRole('ROLE_1001')")
@PostMapping(value = "/add")
......
......@@ -52,10 +52,12 @@ public class BStudent extends IdEntity<BStudent> {
/*推荐排序*/
private Integer recommendOrder;
/*推荐原因*/
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
@NotBlank
//@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
private String recommendCourse;
/*年级*/
private String gradeCode;
@Length(min = 1,max = 15,message = "长度最小为1,最大为15")
@NotBlank
@Transient
......
......@@ -126,7 +126,7 @@ public class BStudentServiceImpl implements BStudentService {
ArrayList<SysUser> users = new ArrayList<SysUser>();
ArrayList<UserRole> userRoles = new ArrayList<UserRole>();
String[] headers = {"学号", "学生姓名", "性别","邮箱"};
String[] headers = {"学号", "学生姓名", "性别","邮箱","年级"};
ArrayList<String[]> values = ExcelUtil.importExcel(hwb, headers); //获取excel数据
if (values.size()<=0){
......@@ -137,6 +137,7 @@ public class BStudentServiceImpl implements BStudentService {
List<String> valuesRepeat = new ArrayList<>();
List<String> valuesShort = new ArrayList<>();
List<String> valuesEmailExist = new ArrayList<>();
List<String> valuesGrade = new ArrayList<>();
for (String[] value : values) {
......
......@@ -141,4 +141,17 @@ public class BTermController extends PaginationController<BTerm> {
MessageConstant.MESSAGE_ALERT_ERROR,
bTerm);
}
@ApiOperation(value="更改当前学期", notes="更改当前学期")
@ApiImplicitParam(name = "id", value = "businessId", required = true, dataType = "varchar")
@PreAuthorize("hasRole('ROLE_1001')")
@PostMapping(value = "/changeCurrent")
public Result changeCurrent(@RequestParam("id") String id){
PersistModel data=bTermService.changeCurrent(id);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
id);
}
}
......@@ -46,6 +46,12 @@ public interface BTermRepository extends BaseMapper<BTerm> {
@ResultMap(value = "BaseResultMap" )
List<BTerm> queryBTermList(String nowTime);
@Update("<script>update b_term set current = '0'</script>")
int changeAllTermNotCurrent();
@Update("<script>update b_term set current = '1' where business_id = #{id}</script>")
int changeCurrent(String id);
/*
这里可以不写,因为这个写的是 导入excel文件格式的时候的 插入,不是正常单个插入
......
......@@ -56,4 +56,6 @@ public interface BTermService{
PersistModel changeIS(String code, String token);
List<SelectModel> queryBTermList();
PersistModel changeCurrent(String id);
}
......@@ -124,4 +124,13 @@ public class BTermServiceImpl implements BTermService {
return comBoxModel;
}
@Override
public PersistModel changeCurrent(String id) {
//先把学期全部置为否
bTermRepository.changeAllTermNotCurrent();
//把所选的学期置为是
int result = bTermRepository.changeCurrent(id);
return new PersistModel(result);
}
}
......@@ -151,7 +151,9 @@ public class Global {
@Value("${global.other.max_code_length}")
private String MAX_CODE_LENGTH;
/*用户默认密码*/
@Value("${global.password.default}")
private String DEFAULT_PASSWORD;
/*password最小长度*/
@Value("${global.password.min_password}")
......
......@@ -12,4 +12,5 @@ public class UserAuthDTO {
private String headPic;
private String roleCode;
private String token;
private String menus;
}
......@@ -150,7 +150,9 @@ public enum ResultServiceEnums {
CLASSHOUR_ERROR (81,"学时不能小于当前已添加的学时"),
THIS_IS_FILE (82,"该目录下不能新建文件")
THIS_IS_FILE (82,"该目录下不能新建文件"),
ROLE_EXISTS (83,"角色编号和名称不能重复"),
;
private Integer code;
......
......@@ -125,16 +125,14 @@ public class SysMenuController extends ResponseController {
id);
}
@ApiOperation(value="列出菜单", notes="列出菜单")
@ApiImplicitParams({@ApiImplicitParam(name = "model", value = "模块Id", required = false, dataType = "varchar", paramType = "path"),
@ApiImplicitParam(name = "selectId", value = "选中ID", required = false, dataType = "varchar")})
@GetMapping("menus/{model}")
public Result menusByModels(@PathVariable("model") String model,
String selectId){
CommonMenuModel menuModel = sysMenuServiceImpl.queryMenusListByModels(model,selectId);
@GetMapping("/queryMenus")
public Result queryMenus(){
List<SysMenu> menus = sysMenuServiceImpl.queryMenus();
return Result.builder(new PersistModel(1),
"查询成功",
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
menuModel);
menus);
}
}
......@@ -19,7 +19,7 @@ import javax.persistence.Transient;
* description: menu
*/
@Entity
@Table(name = "sys_menu")
@Table(name = "s_menu")
@Data
@NoArgsConstructor
@AllArgsConstructor
......
......@@ -56,9 +56,7 @@ public interface SysMenuService {
/**
* 查询登录用户 菜单
* @param model
* @param selectId
* @return
*/
CommonMenuModel queryMenusListByModels(String model, String selectId);
List<SysMenu> queryMenus();
}
......@@ -126,10 +126,8 @@ public class SysMenuServiceImpl implements SysMenuService {
}
@Override
public CommonMenuModel queryMenusListByModels(String model, String selectId) {
CommonMenuModel menuModel = null;
return menuModel;
public List<SysMenu> queryMenus() {
return menuRepository.selectAll();
}
/**
......
......@@ -28,26 +28,11 @@ public class SysRoleController extends PaginationController<SysRole> {
@Autowired
private SysRoleService sysRoleServiceImpl;
@ApiOperation(value="查询角色名是否合法", notes="查询角色名是否合法(true 合法 false 不合法 不能有其它的输出)")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "name", value = "角色名称(1-50)", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "权限code(1-50)", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@GetMapping(value = "queryRoleValidate")
public String queryRoleValidate(SysRole sysRole){
List<SysRole> sysRoleList = sysRoleServiceImpl.queryRolesByPagination(getPaginationUtility(), sysRole);
if(sysRoleList.size()==0)
return "true";
else
return "false";
}
@ApiOperation(value="分页查询角色", notes="分页查询角色")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "name", value = "角色名称", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "权限code", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@GetMapping(value = "queryRoles")
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "角色名称", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "权限编号", required = false, dataType = "varchar")})
@GetMapping(value = "/queryRoles")
public GridModel queryRoles(SysRole sysRole){
sysRoleServiceImpl.queryRolesByPagination(getPaginationUtility(), sysRole);
GridModel gridModel = getGridModelResponse();
......@@ -55,105 +40,43 @@ public class SysRoleController extends PaginationController<SysRole> {
}
@ApiOperation(value="分页查询角色", notes="根据userId 进行选中checked")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "userId", value = "用户ID", required = false, dataType = "varchar", paramType = "path"),
@ApiImplicitParam(name = "name", value = "角色名称", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "权限code", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@GetMapping(value = "queryRolesByUser/{userId}")
public GridModel queryRolesByUser(@PathVariable("userId") String userId, SysRole sysRole){
sysRoleServiceImpl.queryUserRolesByPagination(getPaginationUtility(),userId, sysRole);
GridModel gridModel = getGridModelResponse();
return gridModel;
}
@ApiOperation(value="增加角色", notes="增加角色")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "userId", value = "用户ID", required = false, dataType = "varchar", paramType = "path"),
@ApiImplicitParam(name = "name", value = "角色名称", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "权限code", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@PostMapping(value = "adminLog/roleAdd")
public Result roleAdd(@Valid SysRole sysRole, BindingResult br){
PersistModel persistModel = sysRoleServiceImpl.persistRole(sysRole,getToken());
if(persistModel.isSuccessBySinglePersist())
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
sysRole);
else
return Result.builder(new PersistModel(0),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
sysRole);
}
@ApiOperation(value="to 修改用户页面", notes="to 修改用户页面")
@ApiImplicitParam(name = "id", value = "businessId", required = true, dataType = "varchar", paramType = "path")
@PostMapping(value = "toBg/toRoleUpdatePage/{id}")
public ModelAndView toUserUpdatePage(@PathVariable("id") String id, ModelAndView modelAndView){
modelAndView.getModelMap().addAttribute("roleUpdate", sysRoleServiceImpl.queryRoleById(id));
modelAndView.setViewName("background/roleAdd");
return modelAndView;
}
@ApiOperation(value="修改角色", notes="修改角色")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "userId", value = "用户ID", required = false, dataType = "varchar", paramType = "path"),
@ApiImplicitParam(name = "name", value = "角色名称", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "权限code", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@PostMapping(value = "adminLog/roleUpdate")
public Result roleUpdate(@Valid SysRole sysRole, BindingResult br){
PersistModel persistModel = sysRoleServiceImpl.mergeRole(sysRole,getToken());
return Result.builder(persistModel,
@ApiOperation(value="增加/修改角色", notes="增加/修改角色")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "roleName", value = "角色名称", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "角色编号", required = true, dataType = "varchar")})
@PostMapping(value = "/add")
public Result roleAdd(SysRole sysRole){
int line = sysRoleServiceImpl.persistRole(sysRole,getToken());
return Result.builder(new PersistModel(line),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
null);
sysRole);
}
@ApiOperation(value="删除角色", notes="to 删除角色")
@ApiOperation(value="删除角色", notes="删除角色")
@ApiImplicitParam(name = "id", value = "businessId", required = true, dataType = "varchar", paramType = "path")
@PostMapping(value = "adminLog/roleDelete/{id}")
@PostMapping(value = "/delete")
public Result roleDelete(@PathVariable("id") String id){
PersistModel persistModel = sysRoleServiceImpl.removeRole(id,getToken());
if(persistModel.isSuccessBySinglePersist())
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
id);
else
return Result.builder(new PersistModel(0),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
id);
int line = sysRoleServiceImpl.removeRole(id,getToken());
return Result.builder(new PersistModel(line),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
id);
}
@ApiOperation(value="权限分配", notes="权限分配")
@ApiImplicitParams({@ApiImplicitParam(name = "roleId", value = "businessId", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "role_menus", value = "角色绑定权限", required = false, dataType = "varchar")})
@PostMapping(value = "adminLog/rolePermission")
public Result rolePermission(@RequestParam("roleId") String roleId, @RequestParam("role_menus") String role_menus ){
@ApiImplicitParam(name = "menus", value = "菜单Code,逗号间隔", required = true, dataType = "varchar")})
@PostMapping(value = "/rolePermission")
public Result rolePermission(@RequestParam("roleId") String roleId, @RequestParam("menus") String menus ){
return Result.builder(sysRoleServiceImpl.doAuthorization(roleId,role_menus,getToken()),
return Result.builder(sysRoleServiceImpl.doAuthorization(roleId,menus,getToken()),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
roleId);
}
@ApiOperation(value="岗位绑定", notes="岗位绑定")
@ApiImplicitParams({@ApiImplicitParam(name = "roleId", value = "businessId", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "role_depts", value = "角色部门绑定", required = false, dataType = "varchar")})
@PostMapping(value = "adminLog/deptPermission")
public Result deptPermission(@RequestParam("roleId") String roleId, @RequestParam("role_depts") String role_depts){
PersistModel persistModel = sysRoleServiceImpl.doAuthorizationDept(roleId,role_depts,getToken());
return Result.builder(persistModel,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
roleId);
}
}
......@@ -27,16 +27,15 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
* @param sysRole
* @return
*/
@Select("<script>select sys_role.*,sys_user.NAME as username from sys_role LEFT JOIN sys_user ON sys_role.CREATE_BY=sys_user.BUSINESS_ID where "
+ "sys_role.DEL_FLAG='0' <if test=\"name !=null \"> and sys_role.NAME like concat('%',#{name},'%') </if> "
+ " <if test=\"flag !=null \">and sys_role.FLAG like concat('%',#{flag},'%') </if> "
//+ "<if test=\"phone !=null \">phone = #{phone} </if> <if test=\"usermail !=null \">usermail = #{usermail } </if>"
@Select("<script>select * from s_role where flag = '1' and del_flag = '0' "
+ " <if test=\"code !=null and code != ''\">and code = #{code} </if> "
+ " <if test=\"roleName !=null and roleName != ''\">and role_name = #{roleName} </if> "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<SysRole> queryRoles(SysRole sysRole);
@Select("<script>select * from sys_role where "
@Select("<script>select * from s_role where "
+ "DEL_FLAG='0' "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
......@@ -47,7 +46,7 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
* @param roleId
* @return
*/
@Delete("<script>delete from sys_role_menu where role_id = #{roleId}</script>")
@Delete("<script>delete from s_role_menu where role_id = #{roleId}</script>")
int deleteRoleMenus(@Param("roleId") String roleId);
......@@ -86,7 +85,7 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
+ " )>0,'1','0') as checked "
+ " FROM sys_dept_role dr "
+ " LEFT JOIN sys_dept d ON d.BUSINESS_ID = dr.DEPT_ID "
+ " LEFT JOIN sys_role r on dr.ROLE_ID = r.BUSINESS_ID</script>")
+ " LEFT JOIN s_role r on dr.ROLE_ID = r.BUSINESS_ID</script>")
@ResultMap(value = "drResultMap" )
List<DeptRole> queryUserRolesByPagination(@Param("userId") String userId, SysRole sysRole) ;
......@@ -119,7 +118,7 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
" '0' " +
" ) AS checked " +
"FROM " +
" sys_role sysRole " +
" s_role sysRole " +
"WHERE " +
" DEL_FLAG = '0' and FLAG = '1'</script>")
@ResultMap(value = "BaseResultMap" )
......@@ -144,7 +143,7 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
* @param roleId
* @return
*/
@Delete("<script>DELETE from sys_role_menu where ROLE_ID=#{roleId}</script>")
@Delete("<script>DELETE from s_role_menu where ROLE_ID=#{roleId}</script>")
int deleteRoleMenuByRoleId(@Param("roleId") String roleId);
@Select("<script>SELECT sr.* from s_role sr " +
......@@ -174,4 +173,13 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
"and sr.flag = '1'</script>")
@ResultMap(value = "BaseResultMap")
List<SysRole> queryCodeByBusinessId(String businessId);
@Select("<script>select * from s_role where flag = '1' and del_flag = '0' "
+ "and (code = #{code} or role_name = #{roleName}) "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<SysRole> queryRolesByCodeOrName(SysRole sysRole);
@Delete("<script>DELETE from s_r_user_role where role_id=#{id}</script>")
int deleteUserRoleByRoleId(String id);
}
package org.rcisoft.sys.role.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;
import org.rcisoft.core.entity.IdEntity;
import javax.persistence.Table;
/**
* Created by gaowenfeng on 2017/8/9.
*/
@Data
@Table(name = "s_role")
@NoArgsConstructor
@AllArgsConstructor
public class SysRole extends IdEntity<SysRole> {
private static final long serialVersionUID = 3877407102289435226L;
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
......
......@@ -19,21 +19,15 @@ public interface SysRoleService {
* @param sysRole
* @return
*/
PersistModel persistRole(SysRole sysRole, String token);
int persistRole(SysRole sysRole, String token);
/**
* 修改
* @param sysRole
* @return
*/
PersistModel mergeRole(SysRole sysRole, String token);
/**
* 删除
* @param id
* @return
*/
PersistModel removeRole(String id, String token);
int removeRole(String id, String token);
/**
* getByid
......@@ -46,7 +40,7 @@ public interface SysRoleService {
* @return
*/
public List<SysRole> queryRolesByPagination(PageUtil<SysRole> paginationUtility, SysRole sysRole);
//select
List<SysRole> queryRolesSelect(SysRole sysRole);
......
......@@ -4,7 +4,9 @@ package org.rcisoft.sys.role.service.impl;
import lombok.extern.slf4j.Slf4j;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.constant.DelStatus;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.result.ResultServiceEnums;
import org.rcisoft.core.util.IdGen;
import org.rcisoft.core.util.UserUtil;
import org.rcisoft.sys.dept.entity.DeptRole;
......@@ -36,44 +38,42 @@ public class SysRoleServiceImpl implements SysRoleService {
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel persistRole(SysRole sysRole, String token) {
sysRole.setCommonBusinessId();
//增加操作
UserUtil.setCurrentPersistOperation(sysRole);
int line = sysRoleRepository.insertSelective(sysRole);
log.info(UserUtil.getUserInfoProp(token,UserUtil.USER_USERNAME)+"新增了ID为"+ sysRole.getBusinessId()+"的角色信息");
return new PersistModel(line);
public int persistRole(SysRole sysRole, String token) {
int line;
List<SysRole> roles = sysRoleRepository.queryRolesByCodeOrName(sysRole);
if(roles.size()>0){
throw new ServiceException(ResultServiceEnums.ROLE_EXISTS);
}
if(sysRole.getBusinessId()!=null){//修改
UserUtil.setCurrentMergeOperation(sysRole);
line = sysRoleRepository.updateByPrimaryKeySelective(sysRole);
}else{//增加
UserUtil.setCurrentPersistOperation(sysRole);
line = sysRoleRepository.insertSelective(sysRole);
}
return line;
}
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel mergeRole(SysRole sysRole, String token) {
//修改操作
UserUtil.setCurrentMergeOperation(sysRole);
int line = sysRoleRepository.updateByPrimaryKeySelective(sysRole);
log.info(UserUtil.getUserInfoProp(token,UserUtil.USER_USERNAME)+"修改了ID为"+ sysRole.getBusinessId()+"的角色信息");
return new PersistModel(line);
}
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel removeRole(String id,String token) {
//删除该角色所有的信息,包括dept_role dept_role_user
int line;
line = sysRoleRepository.deleteDeptRoleUserByroleId(id);
line = sysRoleRepository.deleteDeptRoleByRoleId(id);
line = sysRoleRepository.deleteRoleMenuByRoleId(id);
public int removeRole(String id,String token) {
//删除该角色所有的关联信息
sysRoleRepository.deleteRoleMenuByRoleId(id);
sysRoleRepository.deleteUserRoleByRoleId(id);
SysRole sysRole = sysRoleRepository.selectByPrimaryKey(id);
sysRole.setDelFlag(DelStatus.DELETED.getStatus());
UserUtil.setCurrentMergeOperation(sysRole);
line = sysRoleRepository.updateByPrimaryKeySelective(sysRole);
int line = sysRoleRepository.updateByPrimaryKeySelective(sysRole);
log.info(UserUtil.getUserInfoProp(token,UserUtil.USER_USERNAME)+"删除了ID为"+ sysRole.getBusinessId()+"的角色信息");
return new PersistModel(line);
return line;
}
@Override
public List<SysRole> queryRolesByPagination(PageUtil<SysRole> paginationUtility, SysRole sysRole) {
sysRole.setNotDeleted();
sysRole.setStart();
return sysRoleRepository.queryRoles(sysRole);
}
@Override
......@@ -89,7 +89,7 @@ public class SysRoleServiceImpl implements SysRoleService {
if(null != role_menus && !"".equals(role_menus.trim())){
String[] menus = role_menus.split(",");
List<Map> menuRole = new ArrayList<Map>();
Map map = null;
Map map = new HashMap();
for (int i = 0 ; i < menus.length ; i++){
map = new HashMap();
map.put("roleId",roleId);
......
......@@ -18,6 +18,8 @@ import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.annotations.ApiIgnore;
/**
* Created by Andrew on 2017/7/6.
*/
......@@ -34,16 +36,19 @@ public class SysUserController extends PaginationController<SysUser> {
@Autowired
private PasswordEncoder passwordEncoder;
@ApiOperation(value="增加/修改用户", notes="增加/修改用户")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "loginName", value = "登录名", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "name", value = "用户名", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "agencyCode", value = "所属教学单位", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "roleId", value = "角色Id", required = true, dataType = "varchar")})
@PostMapping(value = "/addUser")
public Result addUser(SysUser user, Result result){
try{
userServiceImpl.addUser(user);
//response.setErrorMessage("添加失败",null);
}catch (Exception e){
e.printStackTrace();
//response.setErrorMessage(e.getMessage(),"");
}
return result;
public Result addUser(@ApiIgnore SysUser user){
int line = userServiceImpl.persistUser(user);
return Result.builder(new PersistModel(line),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
user);
}
......
......@@ -63,4 +63,7 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
@Select("<script>select business_id from s_user where login_name = #{studentCode} and del_flag = 0 and flag = 1</script>")
String queryUserIdByLoginName(String studentCode);
@Delete("<script>delete from s_r_user_role where user_id = #{businessId}</script>")
int deleteUserRole(String businessId);
}
......@@ -33,10 +33,8 @@ public class SysUser extends IdEntity<SysUser> {
/** 密码 */
@Length(min = 1,max = 100,message = "长度最小为1,最大为80")
@NotBlank
private String password;
/** 用户名 */
/** 登录名 */
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
@NotBlank
private String loginName;
......@@ -44,26 +42,20 @@ public class SysUser extends IdEntity<SysUser> {
@Length(min = 1,max = 15,message = "长度最小为1,最大为10")
@NotBlank
private String name;
@Length(min = 1,max = 20,message = "长度最小为1,最大为15")
@NotBlank
private String email; // 邮箱
@Length(min = 1,max = 11,message = "长度最小为1,最大为11")
@NotBlank
private String phone; // 电话
private String sex;
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
@NotBlank
private String headPic; //头像
@Length(min = 1,max = 32,message = "长度最小为1,最大为30")
@NotBlank
private String gitLabId; //gitLab账号id
@Length(min = 1,max = 32,message = "长度最小为1,最大为30")
@NotBlank
private String gitLabUsername; //gitLab账号
@Length(min = 1,max = 32,message = "长度最小为1,最大为30")
@NotBlank
private String gitLabImpressionToken; //gitLab账号模拟令牌
/**
* 角色ID
*/
@Transient
private String roleId;
private Date loginDate; // 最后登陆日期
......
......@@ -12,7 +12,7 @@ import javax.persistence.Table;
*/
@Data
@Entity
@Table(name = "b_r_user_role")
@Table(name = "s_r_user_role")
public class UserRole extends IdEntity<SOAPBinding.Use> {
private static final long serialVersionUID = 7355723897904246012L;
private String userId;
......
......@@ -9,7 +9,7 @@ public interface SysUserService {
PersistModel addUser(SysUser user);
PersistModel persistUser(SysUser user);
int persistUser(SysUser user);
void updateUser(SysUser user, String uid, int line);
......
package org.rcisoft.sys.user.service.impl;
import org.rcisoft.common.component.Global;
import org.rcisoft.core.constant.UserConstant;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel;
......@@ -7,6 +8,7 @@ import org.rcisoft.core.result.ResultServiceEnums;
import org.rcisoft.core.util.UserUtil;
import org.rcisoft.sys.user.dao.SysUserMapper;
import org.rcisoft.sys.user.entity.SysUser;
import org.rcisoft.sys.user.entity.UserRole;
import org.rcisoft.sys.user.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
......@@ -24,6 +26,10 @@ public class SysUserServiceImpl implements SysUserService {
@Autowired
private PasswordEncoder passwordEncoder;
@Autowired
private Global global;
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
@Override
public PersistModel addUser(SysUser user) {
......@@ -33,11 +39,23 @@ public class SysUserServiceImpl implements SysUserService {
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel persistUser(SysUser user) {
user.setCommonBusinessId();
user.setPassword(passwordEncoder.encode("123456"));
int line = sysUserMapper.insertSelective(user);
return new PersistModel(line);
public int persistUser(SysUser user) {
int line;
if(user.getBusinessId()!=null){//修改
UserUtil.setCurrentMergeOperation(user);
//删除原来角色
sysUserMapper.deleteUserRole(user.getBusinessId());
//修改
line = sysUserMapper.updateByPrimaryKeySelective(user);
}else{//添加
UserUtil.setCurrentPersistOperation(user);
user.setPassword(passwordEncoder.encode(global.getDEFAULT_PASSWORD()));
line = sysUserMapper.insertSelective(user);
}
//添加新的角色
UserRole userRole = new UserRole(user.getBusinessId(),user.getRoleId());
sysUserMapper.insertUserRole(userRole);
return line;
}
@Override
......
......@@ -111,6 +111,7 @@ global:
licPath: /lk/license.lic
pubPath: /lk/publicCerts.store
password:
default: 123456
min_password: 6
max_password: 16
path:
......
......@@ -14,7 +14,7 @@
<result column="flag" jdbcType="VARCHAR" property="flag"/>
<result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<result column="type" jdbcType="VARCHAR" property="type" />
<result column="grade_id" jdbcType="VARCHAR" property="gradeId"/>
<result column="grade_code" jdbcType="VARCHAR" property="gradeCode"/>
</resultMap>
<select id="queryBClasss" resultMap="BaseResultMap">
......
......@@ -16,5 +16,6 @@
<result column="del_flag" jdbcType="VARCHAR" property="delFlag"/>
<result column="flag" jdbcType="VARCHAR" property="flag"/>
<result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<result column="grade_code" jdbcType="VARCHAR" property="gradeCode"/>
</resultMap>
</mapper>
\ No newline at end of file
......@@ -33,7 +33,7 @@
<insert id="insertBatchRoleMenu" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
insert into sys_role_menu
insert into s_role_menu
(BUSINESS_ID,ROLE_ID,MENU_ID) VALUES ('${item.id}','${item.roleId}','${item.menuId}')
</foreach>
......
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