Commit f22d04e5 authored by 李博今's avatar 李博今

Merge branch 'V2.0.3' of http://103.249.252.28:90/lcy/education

parents 8d78772c 9ecd5f44
......@@ -2,16 +2,55 @@
数据库变动记录 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`;
/**
班级表b_class新建字段“agency_code”,所属教学单位
*/
ALTER TABLE `b_class`
ADD COLUMN `agency_code` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL
COMMENT '教学单位' AFTER `grade_code`;
/*
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`;
/*
用户表新建“is_created”字段,是否是创建的用户,0否1是
*/
ALTER TABLE `s_user`
ADD COLUMN `is_created` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 0 COMMENT '是否是创建的用户(企业教学负责人等)0否1是' AFTER `agency_code`;
......@@ -25,7 +25,7 @@ import javax.validation.Valid;
* Created by on 2018-4-4 8:57:37.
*/
@RestController
@RequestMapping("/bagency")
@RequestMapping("/bAgency")
public class BAgencyController extends PaginationController<BAgency> {
@Autowired
......
......@@ -35,5 +35,9 @@ public class BAgency extends IdEntity<BAgency> {
@Transient
private String termCode;
public BAgency(String code) {
this.code = code;
}
}
......@@ -5,7 +5,9 @@ import org.rcisoft.business.bagency.dao.BAgencyRepository;
import org.rcisoft.business.bagency.entity.BAgency;
import org.rcisoft.business.bagency.service.BAgencyService;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.result.ResultServiceEnums;
import org.rcisoft.core.util.UserUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -35,7 +37,10 @@ public class BAgencyServiceImpl implements BAgencyService {
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel save(BAgency bAgency){
bAgency.setCommonBusinessId();
BAgency agency = new BAgency(bAgency.getCode());
if(bAgencyRepository.selectOne(agency)!=null){
throw new ServiceException(ResultServiceEnums.CODE_IS_EXISTS);
};
//增加操作
UserUtil.setCurrentPersistOperation(bAgency);
int line = bAgencyRepository.insertSelective(bAgency);
......@@ -68,6 +73,10 @@ public class BAgencyServiceImpl implements BAgencyService {
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel merge(BAgency bAgency){
/*BAgency agency = new BAgency(bAgency.getName());
if(bAgencyRepository.selectOne(agency)!=null){
throw new ServiceException(ResultServiceEnums.CODE_IS_EXISTS);
};*/
UserUtil.setCurrentMergeOperation(bAgency);
int line = bAgencyRepository.updateByPrimaryKeySelective(bAgency);
log.info(UserUtil.getUserInfoProp(bAgency.getToken(), UserUtil.USER_USERNAME)+"修改了ID为"+
......
......@@ -45,7 +45,9 @@ 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"),
@ApiImplicitParam(name = "agencyCode", value = "所属教学单位", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "type", value = "班级类型", required = true, dataType = "varchar")})
@PreAuthorize("hasRole('ROLE_1001')")
@PostMapping(value = "/add")
public Result add(@Valid BClass bClass, BindingResult bindingResult) {
......@@ -99,7 +101,8 @@ public class BClassController extends PaginationController<BClass> {
@ApiImplicitParam(name = "code", value = "班级编号", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "className", value = "班级名称", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "studentNum", value = "学生数量", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "type", value = "班级类型 0行政班,1企业班", required = true, dataType = "varchar")})
@GetMapping(value = "/queryBClasssByPagination")
public GridModel queryBClasssByPagination(BClass param) {
param.setCreateBy(UserUtil.getUserInfoProp(getToken(),UserUtil.USER_ID));
......
......@@ -46,5 +46,8 @@ public interface BClassRepository extends BaseMapper<BClass> {
@Select("select * from b_class where del_flag != 1 and flag = 1")
@ResultMap(value = "BaseResultMap" )
List<BClass> queryBClassList();
@Select("select class_name from b_class where find_in_set(code,#{classesCode}) and del_flag != 1 and flag = 1")
List<String> queryClassNamesByIds(String classesCode);
}
......@@ -9,6 +9,7 @@ import org.rcisoft.core.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
* Created with CodeGenerator on 2017/07/12.
......@@ -42,8 +43,19 @@ public class BClass extends IdEntity<BClass> {
@NotBlank
private String type;
/*学年ID*/
private String gradeId;
/*年级*/
private String gradeCode;
/*年级名称*/
@Transient
private String gradeName;
/*教学单位code*/
private String agencyCode;
/*教学单位名称*/
@Transient
private String agencyName;
public BClass(String code) {
this.code = code;
......
......@@ -72,31 +72,18 @@ public class BCourseCodeController extends PaginationController<BCourseCode> {
bCourseCodeServiceImpl.findAll(bCourseCode));
}
@ApiOperation(value="启用课程节点", notes="启用课程节点")
@ApiOperation(value="启用/停用课程节点", notes="启用/停用课程节点")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId,拼在地址栏中", required = true, dataType = "varchar")})
@PostMapping("/startFlag")
@PostMapping("/changeFlag")
@PreAuthorize("hasRole('ROLE_1001')")
public Result startFlag(@ApiIgnore String businessId) {
public Result changeFlag(@ApiIgnore String businessId) {
BCourseCode bCourseCode = new BCourseCode();
bCourseCode.setToken(getToken());
PersistModel data = bCourseCodeServiceImpl.startFlag(businessId);
PersistModel data = bCourseCodeServiceImpl.changeFlag(businessId);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bCourseCode);
}
@ApiOperation(value="停用课程节点", notes="停用课程节点")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId,拼在地址栏中", required = true, dataType = "varchar")})
@PostMapping("/stopFlag")
@PreAuthorize("hasRole('ROLE_1001')")
public Result stopFlag(@ApiIgnore String businessId) {
BCourseCode bCourseCode = new BCourseCode();
bCourseCode.setToken(getToken());
PersistModel data = bCourseCodeServiceImpl.stopFlag(businessId);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bCourseCode);
}
}
......@@ -28,17 +28,45 @@ public interface BCourseCodeRepository extends BaseMapper<BCourseCode> {
@ResultMap(value = "BaseResultMap" )
List<BCourseCode> queryBCourseCodes(BCourseCode bCourseCode);
/**
* 启用标志位
* @param businessId
* @return
*/
@Update("update b_course_code set flag = 1 where business_id = #{0}")
int startFlag(String businessId);
/**
* 停用标志位
* @param businessId
* @return
*/
@Update("update b_course_code set flag = 0 where business_id = #{0}")
int stopFlag(String businessId);
/**
* 查询停用条数
* @param id
* @return
*/
@Select("select count(*) from b_course_code where business_id > #{id} and flag=1 and del_flag = 0 ")
int select_flag_stop(int id);
/**
* 查询启用条数
* @param id
* @return
*/
@Select("select count(*) from b_course_code where business_id < #{id} and flag=0 and del_flag = 0 ")
int select_flag_start(int id);
/**
* 查询节点当前启用/停用状态
* @param businessId
* @return
*/
@Select("select flag from b_course_code where business_id = #{0} and del_flag = 0")
String querystatus(String businessId);
}
......@@ -27,18 +27,25 @@ public interface BCourseCodeService {
*/
List<BCourseCode> findAll(BCourseCode bCourseCode);
/**
* 启用课程节点
* @param businessId
* @return
*/
PersistModel startFlag(String businessId);
// PersistModel startFlag(String businessId);
/**
* 停用课程节点
* @param businessId
* @return
*/
PersistModel stopFlag(String businessId);
// PersistModel stopFlag(String businessId);
/**
* 变动课程节点
* @param businessId
* @return
*/
PersistModel changeFlag(String businessId);
}
......@@ -52,6 +52,7 @@ public class BCourseCodeServiceImpl implements BCourseCodeService {
* @param bCourseCode
* @return
*/
@Override
public List<BCourseCode> findAll(BCourseCode bCourseCode){
bCourseCode.setStart();
bCourseCode.setNotDeleted();
......@@ -60,29 +61,27 @@ public class BCourseCodeServiceImpl implements BCourseCodeService {
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public PersistModel startFlag(String businessId){
public PersistModel changeFlag(String businessId){
BCourseCode bCourseCode = new BCourseCode();
UserUtil.setCurrentMergeOperation(bCourseCode);
int id = Integer.parseInt(businessId);
int num = bCourseCodeRepository.select_flag_start(id);
if(num != 0){
throw new ServiceException(ResultServiceEnums.PERVIOUS_NOT_ENABLED);
// 节点启用
if (bCourseCodeRepository.querystatus(businessId).equals("0")){
int num = bCourseCodeRepository.select_flag_start(id);
if(num != 0){
throw new ServiceException(ResultServiceEnums.PERVIOUS_NOT_ENABLED);
}
bCourseCodeRepository.startFlag(String.valueOf(id));
}
bCourseCodeRepository.startFlag(String.valueOf(id));
return new PersistModel(1);
}
@Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT)
@Override
public PersistModel stopFlag(String businessId){
BCourseCode bCourseCode = new BCourseCode();
UserUtil.setCurrentMergeOperation(bCourseCode);
int id = Integer.parseInt(businessId);
int num = bCourseCodeRepository.select_flag_stop(id);
if(num != 0){
throw new ServiceException(ResultServiceEnums.NEXT_NOT_DISABLED);
// 节点停用
else{
int num = bCourseCodeRepository.select_flag_stop(id);
if(num != 0){
throw new ServiceException(ResultServiceEnums.NEXT_NOT_DISABLED);
}
bCourseCodeRepository.stopFlag(String.valueOf(id));
}
bCourseCodeRepository.stopFlag(String.valueOf(id));
return new PersistModel(1);
}
}
......@@ -42,7 +42,7 @@ public class BEduClassController extends PaginationController<BEduClass> {
@ApiImplicitParam(name = "className", value = "教学班名 length(1~150)", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "agencyId", value = "企业ID", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "type", value = "班级类型", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "classedId", value = "教学班ID串", required = false, dataType = "varchar")})
@ApiImplicitParam(name = "classesCode", value = "教学班code串", required = false, dataType = "varchar")})
@PostMapping(value = "/add")
@PreAuthorize("hasRole('ROLE_1001')")
public Result add(BEduClass bEduClass) {
......@@ -75,7 +75,7 @@ public class BEduClassController extends PaginationController<BEduClass> {
@ApiImplicitParam(name = "className", value = "教学班名 length(1~150)", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "agencyId", value = "企业ID", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "type", value = "班级类型 length(1)", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "classedId", value = "教学班ID串 length(1~150)", required = false, dataType = "varchar")})
@ApiImplicitParam(name = "classedCode", value = "教学班code串 length(1~150)", required = false, dataType = "varchar")})
@PostMapping("/update")
@PreAuthorize("hasRole('ROLE_1001')")
public Result update(BEduClass bEduClass) {
......@@ -109,4 +109,7 @@ public class BEduClassController extends PaginationController<BEduClass> {
bEduClassServiceImpl.findAllByPagination(getPaginationUtility(), bEduClass);
return getGridModelResponse();
}
}
......@@ -19,11 +19,22 @@ public interface BEduClassRepository extends BaseMapper<BEduClass> {
* 分页查询 bEduClass
*
*/
@Select("<script>select * from b_edu_class where 1=1 "
@Select("<script>select ec.*,bg.`name` as gradeName from b_edu_class ec " +
"LEFT JOIN b_grade bg on ec.grade_id = bg.`code` " +
" where 1=1 "
+ "<if test=\"delFlag !=null and delFlag != '' \">and ec.del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and ec.flag = #{flag} </if> "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<BEduClass> queryBEduClasss(BEduClass bEduClass);
@Select("<script>select ec.*,bg.`name` as gradeName from b_edu_class ec\n" +
"LEFT JOIN b_grade bg ON ec.grade_id = bg.`code`\n" +
"where 1=1 "
+ "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if> "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<BEduClass> queryBEduClasss(BEduClass bEduClass);
BEduClass selectDetalInfo(String id);
}
......@@ -41,10 +41,16 @@ public class BEduClass extends IdEntity<BEduClass> {
private String type;
/*子班级ID串*/
private String classesId;
private String classesCode;
/*学年ID*/
private String gradeId;
@Transient
private String classNames;
@Transient
private String gradeName;
}
package org.rcisoft.business.beduclass.service.impl;
import org.rcisoft.business.bclass.dao.BClassRepository;
import org.rcisoft.core.util.UserUtil;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel;
......@@ -29,6 +30,9 @@ public class BEduClassServiceImpl implements BEduClassService {
@Autowired
private BEduClassRepository bEduClassRepository;
@Autowired
private BClassRepository bClassRepository;
/**
* 保存 bEduClass
......@@ -84,9 +88,17 @@ public class BEduClassServiceImpl implements BEduClassService {
* @return
*/
public BEduClass findById(String id){
return bEduClassRepository.selectByPrimaryKey(id);
BEduClass eduClass = bEduClassRepository.selectDetalInfo(id);
String classNames = this.getclassNames(eduClass.getClassesCode());
if(classNames.length()>0){
eduClass.setClassNames(classNames.substring(0,classNames.length()-1));
}else{
eduClass.setClassNames(classNames);
}
return eduClass;
}
/**
* 分页查询 bEduClass
* @param bEduClass
......@@ -95,7 +107,26 @@ public class BEduClassServiceImpl implements BEduClassService {
public List<BEduClass> findAllByPagination(PageUtil<BEduClass> paginationUtility, BEduClass bEduClass){
bEduClass.setStart();
bEduClass.setNotDeleted();
return bEduClassRepository.queryBEduClasss(bEduClass);
List<BEduClass> eduClasses = bEduClassRepository.queryBEduClasss(bEduClass);
for(BEduClass eduClass : eduClasses){
String name = this.getclassNames(eduClass.getClassesCode());
if(name.length()>0){
eduClass.setClassNames(name.substring(0,name.length()-1));
}else{
eduClass.setClassNames(name);
}
}
return eduClasses;
}
private String getclassNames(String classesCode) {
String name = "";
List<String> classNames = bClassRepository.queryClassNamesByIds(classesCode);
for(String className : classNames){
name += className + ",";
}
return name;
}
}
......@@ -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")
......@@ -62,7 +62,6 @@ public class BStudentController extends PaginationController<BStudent> {
MessageConstant.MESSAGE_ALERT_ERROR,
bStudent);
}
@ApiOperation(value="excel导入", notes="excel导入学生信息")
@ApiImplicitParam(name = "importFile", value = "excel文件", required = true, dataType = "MultipartFile")
@PreAuthorize("hasRole('ROLE_1001')")
......@@ -75,6 +74,7 @@ public class BStudentController extends PaginationController<BStudent> {
data.getInfluenceReason());
}
@ApiOperation(value="唯一查找", notes="根据ID查找一条记录")
@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar")
@GetMapping(value = "/one")
......@@ -171,4 +171,14 @@ public class BStudentController extends PaginationController<BStudent> {
GridModel gridModel = getGridModelResponse();
return gridModel;
}
@ApiOperation(value="根据班级code查询班组所属学生", notes="根据班级code查询班组所属学生")
@ApiImplicitParam(name = "classesCode", value = "班级编号 逗号隔开", required = true, dataType = "varchar")
@GetMapping(value = "/queryStudentByClassesCode")
public GridModel queryStudentByClassesCode(String classesCode) {
List<BStudent> bStudents = bStudentService.queryStudentByPagination(getPaginationUtility(),classesCode);
GridModel gridModel = getGridModelResponse();
return gridModel;
}
}
......@@ -24,28 +24,13 @@ public interface BStudentRepository extends BaseMapper<BStudent> {
* @return
*/
@Select("<script>SELECT\n" +
"\tb.`business_id`,\n" +
"\tb.`code`,\n" +
"\tb.`is_recommend`,\n" +
"\tb.`recommend_order`,\n" +
"\tb.`recommend_course`,\n" +
"\tb.`recommend_date`,\n" +
"\tb.create_by,\n" +
"\tb.create_date,\n" +
"\tb.del_flag,\n" +
"\tb.flag,\n" +
"\tb.remarks,\n" +
"\tb.update_by,\n" +
"\tb.update_date,\n" +
"\tu.`name`,\n" +
"\tu.email,\n" +
"\tu.phone,\n" +
"\tu.sex,\n" +
"\tu.head_pic\n" +
"FROM\n" +
"\tb_student b\n" +
"b.`business_id`,b.`code`, b.`is_recommend`, b.`recommend_order`,b.`recommend_course`,b.`recommend_date`,\n" +
"b.create_by,b.create_date,b.del_flag,b.flag,b.remarks,b.update_by,b.update_date,u.`name`,\n" +
"u.email,u.phone,u.sex,u.head_pic,b.grade_code,bg.`name` as gradeName\n" +
"FROM b_student b\n" +
"LEFT JOIN s_user u ON b.`code` = u.login_name\n" +
" where b.del_flag != 1 and b.flag = 1 "+
"LEFT JOIN b_grade bg ON b.grade_code = bg.`code`\n" +
"where b.del_flag != 1 and b.flag = 1 "+
"<if test=\"name!=null and name != ''\">and u.`name` like CONCAT('%',#{name},'%') </if>"+
"<if test=\"code!=null and code != ''\">and b.`code` like CONCAT('%',#{code},'%') </if></script>")
@ResultMap(value = "BaseResultMap" )
......@@ -161,5 +146,11 @@ public interface BStudentRepository extends BaseMapper<BStudent> {
@Select("<script>select business_id from b_student where code = #{studentCode} and del_flag != 1 and flag = 1</script>")
String queryStudentIdByCode(String studentCode);
@Select("<script>select * from b_student bs " +
"LEFT JOIN b_r_class_student cs on bs.`code` = cs.student_code " +
"where cs.class_code = #{classCode} and del_flag != 1 and flag = 1</script>")
@ResultMap(value = "BaseResultMap")
List<BStudent> queryStudentsByClassCode(String classCode);
}
......@@ -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
......@@ -80,5 +82,9 @@ public class BStudent extends IdEntity<BStudent> {
@Transient
private String finishNum;
/**年级名称*/
@Transient
private String gradeName;
}
......@@ -79,4 +79,6 @@ public interface BStudentService{
List<BStudent> queryStudentsWithIsRecommendByPagination(PageUtil pageUtil);
List<BStudent> queryStudentInSlByPagination(PageUtil pageUtil, String slCode, String classCode, String keyWord, String slId);
List<BStudent> queryStudentByPagination(PageUtil pageUtil, String classesCode);
}
......@@ -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) {
......@@ -181,7 +182,7 @@ public class BStudentServiceImpl implements BStudentService {
else
value[2] = "";
//1. 添加user
SysUser user = new SysUser(value[0], passwordEncoder.encode("123456"), value[1], value[2]); //学号,密码,姓名,性别;
SysUser user = new SysUser(value[0], passwordEncoder.encode(global.getDEFAULT_PASSWORD()), value[1], value[2]); //学号,密码,姓名,性别;
user.setEmail(value[3]);
UserUtil.setCurrentPersistOperation(user);
//2 创建gitlab账户
......@@ -292,6 +293,16 @@ public class BStudentServiceImpl implements BStudentService {
return bStudentRepository.queryStudentInSl(slCode,classCode,keyWord,slId);
}
@Override
public List<BStudent> queryStudentByPagination(PageUtil pageUtil, String classesCode) {
List<BStudent> students = new ArrayList<>();
for(String classCode : classesCode.split(",")){
List<BStudent> studentList = bStudentRepository.queryStudentsByClassCode(classCode);
students.addAll(studentList);
}
return students;
}
private Map<String, Object> queryParamHandler(BStudent model) {
Map param = new HashMap<String, Object>();
if (model.getName() != null)
......
......@@ -44,6 +44,7 @@ public class BTeacherController extends PaginationController<BTeacher> {
@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 = "agencyCode", value = "所属教学单位", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "remarks", value = "备注", required = false, dataType = "varchar")})
@PreAuthorize("hasRole('ROLE_1001')")
@PostMapping(value = "/add")
......
......@@ -137,7 +137,7 @@ public class BTeacherServiceImpl implements BTeacherService {
value[2] = "";
//1. 添加user
SysUser user = new SysUser(value[0], passwordEncoder.encode("123456"), value[1], value[2]); //学号,密码,姓名,性别;
SysUser user = new SysUser(value[0], passwordEncoder.encode(global.getDEFAULT_PASSWORD()), value[1], value[2]); //学号,密码,姓名,性别;
user.setEmail(value[3]);
UserUtil.setCurrentPersistOperation(user);
//2 创建gitlab账户
......
......@@ -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);
}
}
......@@ -22,8 +22,8 @@ public interface TPaperChapterRepository extends BaseMapper<TPaperChapter> {
*
*/
@Select("<script>select * from t_paper_chapter where 1=1 "
+ "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if>' "
+ "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if>' "
+ "<if test=\"delFlag !=null and delFlag != '' \">and del_flag = #{delFlag} </if> "
+ "<if test=\"flag !=null and flag != '' \">and flag = #{flag} </if> "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<TPaperChapter> queryTPaperChapters(TPaperChapter tPaperChapter);
......
......@@ -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}")
......
package org.rcisoft.core.model;
import lombok.Data;
import org.rcisoft.sys.menu.entity.MenuDto;
import java.util.List;
/**
* Created by gaowenfeng on 2017/8/4.
......@@ -12,4 +15,5 @@ public class UserAuthDTO {
private String headPic;
private String roleCode;
private String token;
private List<MenuDto> menus;
}
......@@ -152,9 +152,15 @@ public enum ResultServiceEnums {
THIS_IS_FILE (82,"该目录下不能新建文件"),
PERVIOUS_NOT_ENABLED (83,"启用失败,在此之前存在未启用的课程节点"),
ROLE_EXISTS (83,"角色编号和名称不能重复"),
NEXT_NOT_DISABLED (84,"停用失败,在此之后存在未停用的课程节点");
PERVIOUS_NOT_ENABLED (84,"启用失败,在此之前存在未启用的课程节点"),
NEXT_NOT_DISABLED (85,"停用失败,在此之后存在未停用的课程节点"),
CODE_IS_EXISTS (86,"编号重复")
;
private Integer code;
private String message;
......
package org.rcisoft.core.service.impl;
import org.apache.ibatis.annotations.Select;
import org.rcisoft.common.component.Global;
import org.rcisoft.core.model.UserAuthDTO;
import org.rcisoft.core.exception.ServiceException;
......@@ -7,6 +8,8 @@ import org.rcisoft.core.result.ResultExceptionEnum;
import org.rcisoft.core.result.ResultServiceEnums;
import org.rcisoft.core.service.AuthenticationService;
import org.rcisoft.core.util.JwtUtil;
import org.rcisoft.sys.menu.dao.SysMenuRepository;
import org.rcisoft.sys.menu.entity.MenuDto;
import org.rcisoft.sys.role.dao.SysRoleRepository;
import org.rcisoft.sys.role.entity.SysRole;
import org.rcisoft.sys.user.dao.SysUserMapper;
......@@ -45,6 +48,9 @@ public class AuthenticationServiceImpl implements AuthenticationService {
@Autowired
private PasswordEncoder passwordEncoder;
@Autowired
private SysMenuRepository sysMenuRepository;
@Autowired
private Global global;
......@@ -91,6 +97,9 @@ public class AuthenticationServiceImpl implements AuthenticationService {
}else{
throw new ServiceException(ResultServiceEnums.ROLE_ERROR);
}
//查询菜单权限
List<MenuDto> menus = sysMenuRepository.queryMeunsByRoleId(role.get(0).getBusinessId());
final String token = JwtUtil.generateToken(userDetails);
SecurityContextHolder.getContext().setAuthentication(authentication);
......@@ -99,6 +108,7 @@ public class AuthenticationServiceImpl implements AuthenticationService {
userAuthDTO.setHeadPic(sysUser.getHeadPic());
userAuthDTO.setRoleCode(role.get(0).getCode());
userAuthDTO.setToken(token);
userAuthDTO.setMenus(menus);
return userAuthDTO;
}
......
......@@ -22,7 +22,7 @@ public interface SysDeptRepository extends BaseMapper<SysDept> {
*/
@Select("<script>SELECT "
+ "business_id,PARENT_ID,DEPT_CODE,SEQ_DATE,NAME "
+ "FROM sys_dept "
+ "FROM s_dept "
+ "WHERE "
+ "PARENT_ID IS NULL "
+ "AND DEL_FLAG = '0' </script>")
......@@ -37,7 +37,7 @@ public interface SysDeptRepository extends BaseMapper<SysDept> {
*/
@Select("<script>SELECT "
+ "business_id,PARENT_ID,DEPT_CODE,SEQ_DATE,NAME "
+ "FROM sys_dept "
+ "FROM s_dept "
+ "WHERE "
+ "DEL_FLAG = '0' AND PARENT_ID = #{pid}</script>")
@ResultMap(value = "BaseResultMap")
......@@ -53,10 +53,10 @@ public interface SysDeptRepository extends BaseMapper<SysDept> {
+ " IF ( "
+ " ( "
+ " SELECT count(*) "
+ "FROM sys_dept_role rd "
+ "FROM s_dept_role rd "
+ "where rd.DEPT_ID = d.business_id and rd.ROLE_ID = #{roleId}"
+ " ) > 0, '1', '0' )"
+ " AS checked FROM sys_dept d WHERE d.DEL_FLAG = '0' AND d.PARENT_ID =#{pid}</script>")
+ " AS checked FROM s_dept d WHERE d.DEL_FLAG = '0' AND d.PARENT_ID =#{pid}</script>")
@ResultMap(value = "BaseResultMap")
List<SysDept> queryDeptTreeByParentIdRoleId(@Param("roleId") String roleId, @Param("pid") String pid);
......@@ -68,7 +68,7 @@ public interface SysDeptRepository extends BaseMapper<SysDept> {
*/
@Select("<script>SELECT "
+ "* "
+ "FROM sys_dept "
+ "FROM s_dept "
+ "WHERE "
+ "DEL_FLAG = '0' AND DEPT_CODE = #{deptCode}</script>")
@ResultMap(value = "BaseResultMap")
......@@ -80,9 +80,9 @@ public interface SysDeptRepository extends BaseMapper<SysDept> {
* @param deptId
* @return
*/
@Delete("<script>DELETE from sys_dept_role_user where DEPT_ROLE_ID="
@Delete("<script>DELETE from s_dept_role_user where DEPT_ROLE_ID="
+ "("
+ "SELECT business_id from sys_dept_role where DEPT_ID=#{deptId}"
+ "SELECT business_id from s_dept_role where DEPT_ID=#{deptId}"
+ ")</script>")
int deleteDeptRoleUserByDeptId(@Param("deptId") String deptId);
......@@ -92,6 +92,6 @@ public interface SysDeptRepository extends BaseMapper<SysDept> {
* @param deptId
* @return
*/
@Delete("<script>DELETE from sys_dept_role where DEPT_ID=#{deptId}</script>")
@Delete("<script>DELETE from s_dept_role where DEPT_ID=#{deptId}</script>")
int deleteDeptRoleByDeptId(@Param("deptId") String deptId);
}
......@@ -17,7 +17,7 @@ import java.util.Date;
* Created by lcy on 16/7/30.
*/
@Entity
@Table(name = "sys_dept")
@Table(name = "s_dept")
@Data
@NoArgsConstructor
@AllArgsConstructor
......
......@@ -37,10 +37,10 @@ public class SysMenuController extends ResponseController {
return sysMenuServiceImpl.queryMenuTree();
}
@ApiOperation(value="根据用户权限获取菜单", notes="根据用户权限获取菜单(已获取权限的为选中状态)")
@ApiImplicitParam(name = "id", value = "用户ID", required = true, dataType = "Integer", paramType = "path")
@GetMapping("queryMenusOfRolePermission/{id}")
public List<TreeViewModel> queryMenusOfRolePermission(@PathVariable("id") String id){
@ApiOperation(value="根据角色ID获取菜单", notes="根据角色ID获取菜单(已获取权限的为选中状态)")
@ApiImplicitParam(name = "id", value = "角色ID", required = true, dataType = "varchar", paramType = "path")
@GetMapping("queryMenusOfRolePermission")
public List<TreeViewModel> queryMenusOfRolePermission(String id){
return sysMenuServiceImpl.queryMenuTreeForSelectedByRP(id);
}
......@@ -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);
}
}
......@@ -3,6 +3,7 @@ package org.rcisoft.sys.menu.dao;
import org.apache.ibatis.annotations.*;
import org.rcisoft.core.base.BaseMapper;
import org.rcisoft.sys.menu.entity.MenuDto;
import org.rcisoft.sys.menu.entity.SysMenu;
import org.springframework.stereotype.Repository;
......@@ -27,14 +28,14 @@ public interface SysMenuRepository extends BaseMapper<SysMenu> {
@Select("<script>SELECT " +
" m.*,'' as checked " +
" FROM " +
" sys_menu m " +
" LEFT JOIN SYS_ROLE_MENU rm ON m.BUSINESS_ID = rm.MENU_ID "+
" LEFT JOIN sys_dept_role dr ON rm.ROLE_ID = dr.ROLE_ID "+
" LEFT JOIN sys_dept_role_user dru ON dr.BUSINESS_ID = dru.DEPT_ROLE_ID " +
" s_menu m " +
" LEFT JOIN s_role_MENU rm ON m.BUSINESS_ID = rm.MENU_ID "+
" LEFT JOIN s_dept_role dr ON rm.ROLE_ID = dr.ROLE_ID "+
" LEFT JOIN s_dept_role_user dru ON dr.BUSINESS_ID = dru.DEPT_ROLE_ID " +
" where m.DEL_FLAG = '0' and m.FLAG = '1' and dru.USER_ID = #{id} order by CASE_COUNT asc,SORT asc</script>")
@ResultMap(value = "BaseResultMap")
List<SysMenu> findByUserId(@Param("id") String id);
//sys_dept_role_user,,sys_dept_role,,sys_role_menu
//s_dept_role_user,,s_dept_role,,s_role_menu
/**
......@@ -44,7 +45,7 @@ public interface SysMenuRepository extends BaseMapper<SysMenu> {
@Select("<script>SELECT "
+ " BUSINESS_ID,PARENT_ID,PARENT_IDS,HREF,TARGET,ICON,SORT,IS_SHOW,"
+ " CODE,NAME,IS_ACTIVITI,PERMISSION,REMARKS,'' as checked"
+ " FROM sys_menu "
+ " FROM s_menu "
+ " WHERE "
+ " PARENT_ID IS NULL "
+ " AND DEL_FLAG = '0' order by sort asc</script>")
......@@ -60,7 +61,7 @@ public interface SysMenuRepository extends BaseMapper<SysMenu> {
@Select("<script>SELECT "
+ " BUSINESS_ID,PARENT_ID,PARENT_IDS,HREF,TARGET,ICON,SORT,IS_SHOW,"
+" CODE,NAME,IS_ACTIVITI,PERMISSION,REMARKS,'' as checked"
+ " FROM sys_menu "
+ " FROM s_menu "
+ " WHERE "
+ " DEL_FLAG = '0' AND PARENT_ID = #{pid} order by sort asc</script>")
@ResultMap(value = "BaseResultMap")
......@@ -78,7 +79,7 @@ public interface SysMenuRepository extends BaseMapper<SysMenu> {
* @param menu
* @return
*/
@Update("<script>update sys_menu set " +
@Update("<script>update s_menu set " +
" HREF = #{menu.href}," +
" TARGET = #{menu.target}," +
" ICON = #{menu.icon}," +
......@@ -115,13 +116,13 @@ public interface SysMenuRepository extends BaseMapper<SysMenu> {
" SELECT " +
" count(*) " +
" FROM " +
" SYS_ROLE_MENU rm where rm.MENU_ID = menu.BUSINESS_ID " +
" s_role_menu rm where rm.MENU_ID = menu.BUSINESS_ID " +
" and rm.ROLE_ID = #{roleId} " +
" ) > 0, " +
" '1', " +
" '0' " +
") AS checked"
+ " FROM sys_menu menu"
+ " FROM s_menu menu"
+ " WHERE "
+ " menu.DEL_FLAG = '0' AND menu.PARENT_ID = #{pid} order by menu.sort asc</script>")
@ResultMap(value = "BaseResultMap")
......@@ -132,6 +133,11 @@ public interface SysMenuRepository extends BaseMapper<SysMenu> {
* @param menuId
* @return
*/
@Delete("<script>DELETE from sys_role_menu where MENU_ID=#{menuId}</script>")
@Delete("<script>DELETE from s_role_menu where MENU_ID=#{menuId}</script>")
int deleteRoleMenuByMenuId(@Param("menuId") String menuId);
@Select("<script>select m.BUSINESS_ID,PARENT_ID,PARENT_IDS,NAME,CODE from s_menu m " +
"LEFT JOIN s_role_menu rm on m.BUSINESS_ID = rm.MENU_ID " +
"where rm.ROLE_ID = #{roleId}</script>")
List<MenuDto> queryMeunsByRoleId(String roleId);
}
package org.rcisoft.sys.menu.entity;
import lombok.Data;
/**
* Created by Administrator on 2018/4/19.
*/
@Data
public class MenuDto {
private String businessId;
private String code;
private String name;
private String parentId;
private String parentIds;
}
......@@ -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,132 +28,55 @@ 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")
public GridModel queryRoles(SysRole sysRole){
@ApiImplicitParams({@ApiImplicitParam(name = "name", value = "角色名称", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "code", value = "权限编号", required = false, dataType = "varchar")})
@GetMapping(value = "/queryRoles")
public GridModel queryRolesByPagination(SysRole sysRole){
sysRoleServiceImpl.queryRolesByPagination(getPaginationUtility(), sysRole);
GridModel gridModel = getGridModelResponse();
return gridModel;
}
@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 = 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,
sysRole);
}
@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="删除角色", notes="删除角色")
@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar", paramType = "path")
@PostMapping(value = "/delete")
public Result roleDelete(String businessId){
@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,
int line = sysRoleServiceImpl.removeRole(businessId,getToken());
return Result.builder(new PersistModel(line),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
null);
}
@ApiOperation(value="删除角色", notes="to 删除角色")
@ApiImplicitParam(name = "id", value = "businessId", required = true, dataType = "varchar", paramType = "path")
@PostMapping(value = "adminLog/roleDelete/{id}")
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);
businessId);
}
@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 = "菜单id,逗号间隔", 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);
......@@ -56,7 +55,7 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
* @param roleId
* @return
*/
@Delete("<script>delete from sys_dept_role where role_id = #{roleId}</script>")
@Delete("<script>delete from s_dept_role where role_id = #{roleId}</script>")
int deleteRoleDepts(@Param("roleId") String roleId);
/**
......@@ -81,12 +80,12 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
@Select(" <script>select "
+ " dr.BUSINESS_ID drid,r.BUSINESS_ID rid,r.name rname,r.code rcode,d.BUSINESS_ID did,d.name dname,d.dept_code deptcode, "
+ " IF(( "
+ " SELECT count(*) from sys_dept_role_user dru where dru.USER_ID=#{userId} "
+ " SELECT count(*) from s_dept_role_user dru where dru.USER_ID=#{userId} "
+ " and dru.DEPT_ROLE_ID=dr.BUSINESS_ID"
+ " )>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>")
+ " FROM s_dept_role dr "
+ " LEFT JOIN s_dept d ON d.BUSINESS_ID = dr.DEPT_ID "
+ " 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) ;
......@@ -110,7 +109,7 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
" SELECT " +
" count(*) " +
" FROM " +
" SYS_DEPT_ROLE dr " +
" s_dept_ROLE dr " +
" WHERE " +
" dr.ROLE_ID = sysRole.BUSINESS_ID " +
" AND ur.USER_ID = #{deptId} " +
......@@ -119,15 +118,15 @@ 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" )
List<SysRole> queryDeptRolesByPagination(@Param("deptId") String deptId, SysRole sysRole);
@Delete("<script>DELETE from sys_dept_role_user where DEPT_ROLE_ID="
@Delete("<script>DELETE from s_dept_role_user where DEPT_ROLE_ID="
+ "("
+ "SELECT BUSINESS_ID from sys_dept_role where ROLE_ID=#{roleId}"
+ "SELECT BUSINESS_ID from s_dept_role where ROLE_ID=#{roleId}"
+ ")</script>")
int deleteDeptRoleUserByroleId(@Param("roleId") String roleId);
......@@ -136,7 +135,7 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
* @param roleId
* @return
*/
@Delete("<script>DELETE from sys_dept_role where ROLE_ID=#{roleId}</script>")
@Delete("<script>DELETE from s_dept_role where ROLE_ID=#{roleId}</script>")
int deleteDeptRoleByRoleId(@Param("roleId") String roleId);
/**
......@@ -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,19 @@ 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);
@Select("<script>select * from s_role where flag = '1' and del_flag = '0' "
+ "and role_name = #{roleName}"
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<SysRole> queryRolesByName(SysRole sysRole);
}
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
......@@ -41,12 +35,12 @@ public interface SysRoleService {
SysRole queryRoleById(String id);
/**
* 分页查询角色
* @param paginationUtility
* @param pageUtil
* @param sysRole
* @return
*/
public List<SysRole> queryRolesByPagination(PageUtil<SysRole> paginationUtility, SysRole sysRole);
public List<SysRole> queryRolesByPagination(PageUtil pageUtil, 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,46 @@ 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;
if(sysRole.getBusinessId()!=null){//修改
List<SysRole> roles = sysRoleRepository.queryRolesByName(sysRole);
if(roles.size()>0){
throw new ServiceException(ResultServiceEnums.ROLE_EXISTS);
}
UserUtil.setCurrentMergeOperation(sysRole);
line = sysRoleRepository.updateByPrimaryKeySelective(sysRole);
}else{//增加
List<SysRole> roles = sysRoleRepository.queryRolesByCodeOrName(sysRole);
if(roles.size()>0){
throw new ServiceException(ResultServiceEnums.ROLE_EXISTS);
}
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) {
public List<SysRole> queryRolesByPagination(PageUtil pageUtil, SysRole sysRole) {
sysRole.setNotDeleted();
sysRole.setStart();
return sysRoleRepository.queryRoles(sysRole);
}
@Override
......@@ -89,7 +93,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);
......
......@@ -5,19 +5,21 @@ import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.rcisoft.common.component.Global;
import org.rcisoft.common.controller.PaginationController;
import org.rcisoft.common.model.GridModel;
import org.rcisoft.core.constant.MessageConstant;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.result.Result;
import org.rcisoft.core.result.ResultServiceEnums;
import org.rcisoft.core.util.UserUtil;
import org.rcisoft.sys.menu.entity.SysMenu;
import org.rcisoft.sys.user.entity.SysUser;
import org.rcisoft.sys.user.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
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 org.springframework.web.bind.annotation.*;
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.addOrUpdateUser(user);
return Result.builder(new PersistModel(line),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
user);
}
......@@ -73,12 +78,36 @@ public class SysUserController extends PaginationController<SysUser> {
@ApiOperation(value = "重置密码", notes = "根据用户学号或者工号重置密码")
@PostMapping("/resetPassword")
@ApiImplicitParam(name = "userCode", value = "学号或工号", required = true, dataType = "varchar")
public Result resetPassword (String userCode){
PersistModel persistModel = new PersistModel(userServiceImpl.resetPassword(userCode));
@ApiImplicitParams({@ApiImplicitParam(name = "userCode", value = "学号或工号", required = false, dataType = "varchar"),
@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar")})
public Result resetPassword (String userCode, String businessId){
PersistModel persistModel = new PersistModel(userServiceImpl.resetPassword(userCode,businessId));
return Result.builder(persistModel,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
userCode);
}
@ApiOperation(value="分页查询用户", notes="分页查询用户")
@ApiImplicitParam(name = "agencyCode", value = "教学单位Code", required = false, dataType = "varchar")
@GetMapping(value = "/queryUsers")
public GridModel queryUsers(SysUser sysUser){
userServiceImpl.queryUsersByPagination(getPaginationUtility(), sysUser);
GridModel gridModel = getGridModelResponse();
return gridModel;
}
@ApiOperation(value="删除用户", notes="删除用户")
@ApiImplicitParam(name = "id", value = "businessId", required = true, dataType = "varchar", paramType = "path")
@PostMapping(value = "/delete")
public Result roleDelete(String id){
int line = userServiceImpl.removeUser(id,getToken());
return Result.builder(new PersistModel(line),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
id);
}
}
......@@ -5,6 +5,7 @@ import org.apache.ibatis.annotations.*;
import org.rcisoft.core.base.BaseMapper;
import org.rcisoft.sys.user.entity.SysUser;
import org.rcisoft.sys.user.entity.UserRole;
import org.springframework.security.access.method.P;
import org.springframework.stereotype.Repository;
import java.util.ArrayList;
......@@ -58,9 +59,24 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
@Select("<script>select password from s_user where business_id = #{userId} </script>")
String queryPasswordById(String userId);
@Update("update s_user set password = #{password} where login_name = #{userCode} and del_flag = 0 and flag = 1")
int resetPassword( @Param("userCode") String userCode, @Param("password") String password);
@Update("<script>update s_user set password = #{password} where 1=1 " +
"<if test=\"userCode !=null and userCode != '' \">and login_name = #{userCode} </if>" +
"<if test=\"businessId !=null and businessId != '' \">and business_id = #{businessId} </if> " +
"and del_flag = 0 and flag = 1</script>")
int resetPassword(@Param("userCode") String userCode, @Param("businessId") String businessId, @Param("password") String password);
@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);
@Select("<script>select su.*,ba.`name` as agencyName,sr.role_name as roleName,sr.business_id as roleId from s_user su " +
"LEFT JOIN b_agency ba on su.agency_code = ba.`code` " +
"LEFT JOIN s_r_user_role sru on su.business_id = sru.user_id " +
"LEFT JOIN s_role sr on sru.role_id = sr.business_id " +
"where su.is_created = '1' and su.del_flag = 0 and su.flag = 1 " +
"<if test=\"agencyCode !=null and agencyCode != '' \">and su.agency_code = #{agencyCode} </if></script>")
@ResultMap(value = "BaseResultMap")
List<SysUser> queryCreatedUsers(SysUser sysUser);
}
......@@ -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,25 +42,27 @@ 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账号模拟令牌
private String agencyCode;//教学单位
private String isCreated;//是否是创建的用户
/**
* 角色ID
*/
@Transient
private String roleId;
@Transient
private String roleName;
@Transient
private String agencyName;
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;
......
package org.rcisoft.sys.user.service;
import org.rcisoft.common.model.GridModel;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.sys.user.entity.SysUser;
public interface SysUserService {
import java.util.List;
public interface SysUserService {
PersistModel addUser(SysUser user);
PersistModel persistUser(SysUser user);
......@@ -17,5 +19,11 @@ public interface SysUserService {
int changePassword(String userId, String newPassword);
int resetPassword(String userCode);
int resetPassword(String userCode, String businessId);
int addOrUpdateUser(SysUser user);
List<SysUser> queryUsersByPagination(PageUtil pageUtil, SysUser sysUser);
int removeUser(String id, String token);
}
package org.rcisoft.sys.user.service.impl;
import org.rcisoft.common.component.Global;
import org.rcisoft.common.model.GridModel;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.constant.UserConstant;
import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel;
......@@ -7,6 +10,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;
......@@ -14,6 +18,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@Service
@Transactional(readOnly = true,propagation = Propagation.NOT_SUPPORTED)
public class SysUserServiceImpl implements SysUserService {
......@@ -24,22 +31,60 @@ public class SysUserServiceImpl implements SysUserService {
@Autowired
private PasswordEncoder passwordEncoder;
@Transactional(propagation = Propagation.REQUIRED,readOnly = false)
@Override
public PersistModel addUser(SysUser user) {
int line = sysUserMapper.insertSelective(user);
return new PersistModel(line);
}
@Autowired
private Global global;
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel persistUser(SysUser user) {
user.setCommonBusinessId();
user.setPassword(passwordEncoder.encode("123456"));
user.setPassword(passwordEncoder.encode(global.getDEFAULT_PASSWORD()));
int line = sysUserMapper.insertSelective(user);
return new PersistModel(line);
}
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public int addOrUpdateUser(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()));
user.setIsCreated("1");
line = sysUserMapper.insertSelective(user);
}
//添加新的角色
UserRole userRole = new UserRole(user.getBusinessId(),user.getRoleId());
userRole.setCommonBusinessId();
sysUserMapper.insertUserRole(userRole);
return line;
}
@Override
public List<SysUser> queryUsersByPagination(PageUtil pageUtil, SysUser sysUser) {
sysUser.setStart();
sysUser.setNotDeleted();
return sysUserMapper.queryCreatedUsers(sysUser);
}
@Override
public int removeUser(String id, String token) {
SysUser user = new SysUser();
user.setDeleted();
user.setStop();
user.setBusinessId(id);
return sysUserMapper.logicalDelete(user);
}
@Override
public void updateUser(SysUser user,String uid,int line) {
if(!user.isEmpty()){
......@@ -61,7 +106,10 @@ public class SysUserServiceImpl implements SysUserService {
}
@Override
public int resetPassword(String userCode) {
return sysUserMapper.resetPassword(userCode,passwordEncoder.encode("123456"));
public int resetPassword(String userCode, String businessId) {
if((userCode!=null&&!userCode.equals(""))&&(businessId!=null&&!businessId.equals(""))){
throw new ServiceException(ResultServiceEnums.PARAMETER_ERROR);
}
return sysUserMapper.resetPassword(userCode,businessId,passwordEncoder.encode(global.getDEFAULT_PASSWORD()));
}
}
......@@ -111,6 +111,7 @@ global:
licPath: /lk/license.lic
pubPath: /lk/publicCerts.store
password:
default: 123456
min_password: 6
max_password: 16
path:
......
......@@ -14,18 +14,24 @@
<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"/>
<result column="agency_code" jdbcType="VARCHAR" property="agencyCode"/>
</resultMap>
<select id="queryBClasss" resultMap="BaseResultMap">
SELECT * FROM b_class b
WHERE b.del_flag != '1' and flag = 1
SELECT b.*,bg.name as gradeName,ba.name as agencyName FROM b_class b
LEFT JOIN b_grade bg ON b.grade_code = bg.code
LEFT JOIN b_agency ba ON b.agency_code = ba.code
WHERE b.del_flag != '1' and b.flag = 1
<if test="className!=null and className != ''">
AND (b.class_name LIKE CONCAT('%',#{className},'%') OR b.code LIKE CONCAT('%',#{className},'%'))
</if>
<if test="studentNum!=null and studentNum != ''">
AND b.student_num = #{studentNum}
</if>
<if test="type!=null and type != ''">
AND b.type = #{type}
</if>
</select>
<select id="updateStudentNum" statementType="CALLABLE">
......
......@@ -14,7 +14,7 @@
<result column="class_name" jdbcType="VARCHAR" property="className"/>
<result column="agency_id" jdbcType="VARCHAR" property="agencyId"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="classes_id" jdbcType="VARCHAR" property="classesId"/>
<result column="classes_id" jdbcType="VARCHAR" property="classesCode"/>
<result column="grade_id" jdbcType="VARCHAR" property="gradeId"/>
</resultMap>
......
......@@ -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 @@
<!-- 这种方式 必须配置 数据库连接 &allowMultiQueries=true-->
<update id="logicRemoveMenus" parameterType="java.util.List">
<foreach collection="list" item="item" index="index" open="" close="" separator=";">
update sys_menu
update s_menu
<set>
DEL_FLAG = '1'
</set>
......
......@@ -3,7 +3,7 @@
<mapper namespace="org.rcisoft.sys.role.dao.SysRoleRepository">
<resultMap id="BaseResultMap" type="org.rcisoft.sys.role.entity.SysRole">
<id column="business_id" jdbcType="VARCHAR" property="businessId" />
<result column="name" jdbcType="VARCHAR" property="name" />
<result column="role_name" jdbcType="VARCHAR" property="roleName" />
<result column="CODE" jdbcType="VARCHAR" property="code" />
<result column="checked" jdbcType="VARCHAR" property="checked" />
<result column="CREATE_BY" property="createBy" jdbcType="VARCHAR" />
......@@ -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>
......
......@@ -17,5 +17,7 @@
<result column="FLAG" property="flag" jdbcType="VARCHAR" />
<result column="update_date" property="updateDate" jdbcType="TIMESTAMP" />
<result column="create_date" property="createDate" jdbcType="TIMESTAMP" />
<result column="agency_code" property="agencyCode" jdbcType="VARCHAR" />
<result column="is_created" property="isCreated" jdbcType="VARCHAR" />
</resultMap>
</mapper>
\ No newline at end of file
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