Commit 52441469 authored by root's avatar root

Merge branch 'meiteng' of ssh://103.249.252.28:10022/lcy/education into meiteng

parents d61e4eb1 448f77e7
......@@ -16,6 +16,7 @@ import org.rcisoft.business.bchapter.dto.ScoreInfoDTO;
import org.rcisoft.business.bchapter.entity.BChapter;
import org.rcisoft.business.bchapter.enums.IsCompleteEnum;
import org.rcisoft.business.bchapter.service.BChapterService;
import org.rcisoft.business.bfile.dto.uploadDTO;
import org.rcisoft.business.bfile.entity.BFile;
import org.rcisoft.common.component.Global;
import org.rcisoft.common.controller.PaginationController;
......@@ -72,8 +73,8 @@ public class BChapterController extends PaginationController<BChapter> {
@ApiImplicitParam(name = "chapterLevel", value = "等级,1:章 2:节", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "isTest", value = "课件类型(单选) 1视频 2音频 3PPT 4pdf 5资料", required = true, dataType = "varchar")})
@PostMapping(value = "/add")
public Result add(CurUser curUser, @Valid BChapter bChapter, BindingResult bindingResult) {
PersistModel data = bChapterService.persist(bChapter,curUser.getCorpId());
public Result add(CurUser curUser, @Valid BChapter bChapter, BindingResult bindingResult, uploadDTO dto) {
PersistModel data = bChapterService.persist(bChapter,curUser.getCorpId(),dto);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
......
......@@ -4,6 +4,7 @@ package org.rcisoft.business.bchapter.service;
import org.rcisoft.business.bchapter.dto.*;
import org.rcisoft.business.bchapter.entity.BChapter;
import org.rcisoft.business.bchapter.vo.StudentChapterScoreVO;
import org.rcisoft.business.bfile.dto.uploadDTO;
import org.rcisoft.business.bfile.entity.BFile;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel;
......@@ -56,7 +57,7 @@ public interface BChapterService{
* @param model
* @return
*/
PersistModel persist(BChapter model, String corpId);
PersistModel persist(BChapter model, String corpId, uploadDTO dto);
/**
* 修改
......
......@@ -11,6 +11,7 @@ import org.rcisoft.business.bchapter.enums.HasMarkEnum;
import org.rcisoft.business.bchapter.enums.StateEnum;
import org.rcisoft.business.bchapter.service.BChapterService;
import org.rcisoft.business.bchapter.vo.StudentChapterScoreVO;
import org.rcisoft.business.bfile.dto.uploadDTO;
import org.rcisoft.business.bfile.util.GetVideoTime;
import org.rcisoft.business.blesson.dao.BLessonRepository;
import org.rcisoft.business.blesson.entity.BLesson;
......@@ -71,8 +72,8 @@ public class BChapterServiceImpl implements BChapterService {
}
@Override
public List<QueryChapterListResDTO> queryBChaptersByPagination(PageUtil pageUtil, QueryChapterListDTO model,String corpId) {
return queryChapterListResDTO(model,corpId);
public List<QueryChapterListResDTO> queryBChaptersByPagination(PageUtil pageUtil, QueryChapterListDTO model, String corpId) {
return queryChapterListResDTO(model, corpId);
}
@Override
......@@ -81,23 +82,24 @@ public class BChapterServiceImpl implements BChapterService {
}
@Override
public List<QueryChapterListResDTO> queryBChapters(QueryChapterListDTO model,String corpId) {
return queryChapterListResDTO(model,corpId);
public List<QueryChapterListResDTO> queryBChapters(QueryChapterListDTO model, String corpId) {
return queryChapterListResDTO(model, corpId);
}
@Override
public Map queryBChaptersWithProgress(QueryChapterListDTO model,String corpId) {
List<QueryChapterListResDTO> queryChapterListResDTOS = queryChapterListResDTO(model,corpId);
public Map queryBChaptersWithProgress(QueryChapterListDTO model, String corpId) {
List<QueryChapterListResDTO> queryChapterListResDTOS = queryChapterListResDTO(model, corpId);
queryChapterListResDTOS.stream().forEach(queryChapterListResDTO -> {
queryChapterListResDTO.getChildList().stream().forEach(childList -> {
List<BRStudentChapter> brStudentChapterList = brStudentChapterRepository.queryByStuIdAndChapter(childList.getBusinessId(),model.getStudentId());
if (null != brStudentChapterList && brStudentChapterList.size()>0){
List<BRStudentChapter> brStudentChapterList = brStudentChapterRepository.queryByStuIdAndChapter(childList.getBusinessId(), model.getStudentId());
if (null != brStudentChapterList && brStudentChapterList.size() > 0) {
childList.setProgress(brStudentChapterList.get(0).getProgress());
}
});
});
Map map = new HashMap();
map.put("chapterList",queryChapterListResDTOS);
map.put("lessonInfo",bLessonRepository.selectByPrimaryKey(model.getLessonId()));
map.put("chapterList", queryChapterListResDTOS);
map.put("lessonInfo", bLessonRepository.selectByPrimaryKey(model.getLessonId()));
return map;
}
......@@ -107,20 +109,25 @@ public class BChapterServiceImpl implements BChapterService {
* @param model
* @return
*/
public List<QueryChapterListResDTO> queryChapterListResDTO(QueryChapterListDTO model,String corpId) {
public List<QueryChapterListResDTO> queryChapterListResDTO(QueryChapterListDTO model, String corpId) {
Map param = new HashMap<String, Object>();
if (model.getLessonId() != null && !"".equals(model.getLessonId())) {
param.put("lessonId", model.getLessonId());
}
param.put("corpId",corpId);
param.put("corpId", corpId);
return bChapterRepository.queryBChapters(param);
}
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
@Override
public PersistModel persist(BChapter model,String corpId) {
public PersistModel persist(BChapter model, String corpId, uploadDTO dto) {
int line = 0;
BFile bFile = new BFile();
bFile.setFileName(dto.getFileName());
bFile.setVideoUrl(dto.getVideoUrl());
bFile.setType(dto.getType());
if (model.getBusinessId() == null) {
UserUtil.setCurrentPersistOperation(model);
......@@ -139,8 +146,11 @@ public class BChapterServiceImpl implements BChapterService {
int sort = bChapterRepository.selectMaxSort(model.getPid(), model.getLessonId());
model.setSort(sort);
model.setCorpId(corpId);
bFile.setChapterId(model.getBusinessId());
bFile.setLessonId(model.getLessonId());
UserUtil.setCurrentPersistOperation(bFile);
line = bChapterRepository.insertSelective(model);
int x = bFileRepository.insertUploadFile(bFile);
bChapterRepository.updateClassHourInLesson(model.getLessonId());//更新b_lesson表中 class_hour
} else {
UserUtil.setCurrentMergeOperation(model);
......
......@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.io.IOUtils;
import org.rcisoft.business.bfile.dto.uploadDTO;
import org.rcisoft.business.bfile.entity.BFile;
import org.rcisoft.business.bfile.service.BFileService;
import org.rcisoft.common.component.Global;
......@@ -26,6 +27,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.util.List;
import java.util.Map;
/**
* Created by gaowenfneg on 2017-10-9 14:34:56.
......@@ -40,17 +42,15 @@ public class BFileController extends PaginationController<BFile> {
private Global global;
@ApiOperation(value="401 上传文件", notes="上传文件")
@ApiImplicitParam(name = "file", value = "视频文件", required = true, dataType = "MultipartFile")
@ApiImplicitParams({@ApiImplicitParam(name = "type", value = "0视频 1音频 2ppt 3pdf 4附件", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "file", value = "视频文件", required = true, dataType = "MultipartFile")})
@PostMapping(value = "/upload")
public Result uploadVideo(BFile bFile, HttpServletRequest request) {
List<MultipartFile> list = ((MultipartHttpServletRequest)request).getFiles("file");
String videoUrl = bFileService.uploadVideoToServer(list, bFile);
public Result uploadVideo(String type, MultipartFile file) {
uploadDTO data = bFileService.uploadVideoToServer(file, type);
return Result.builder(new PersistModel(1),
"上传成功",
MessageConstant.MESSAGE_ALERT_ERROR,
videoUrl);
data);
}
// /**
......
......@@ -51,5 +51,15 @@ public interface BFileRepository extends BaseMapper<BFile> {
@ResultMap(value = "BaseResultMap" )
BFile queryBVideoByChapterId(String chapterId);
/**
* 添加文件信息到file表
* @return
*/
@Insert("INSERT INTO `b_file` " +
"(business_id,lesson_id,chapter_id,file_name,video_url,file_url,type,flag,del_flag,remarks,create_by,update_by,update_date,create_date) " +
"VALUES (#{businessId}, #{lessonId}, #{chapterId}, #{fileName}, #{videoUrl}, #{fileUrl}, #{type}, #{flag}, #{delFlag}, #{remarks}, #{createBy}, #{updateBy}, #{updateDate}, #{createDate})")
int insertUploadFile(BFile bFile);
}
package org.rcisoft.business.bfile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
@Data
public class uploadDTO {
@ApiModelProperty(value = "文件名称")
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
private String fileName;
@ApiModelProperty(value = "文件路径")
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
private String videoUrl;
@ApiModelProperty(value = "0视频 1音频 2ppt 3pdf 4附件")
private String type;
}
......@@ -25,7 +25,7 @@ public class BFile extends IdEntity<BFile> {
/*视频名称*/
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
@NotBlank
private String videoName;
private String fileName;
/*视频地址*/
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
......@@ -39,23 +39,10 @@ public class BFile extends IdEntity<BFile> {
@NotBlank
private String fileUrl;
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
@NotBlank
private String audioUrl;
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
@NotBlank
private String pptUrl;
@Length(min = 1,max = 256,message = "长度最小为1,最大为200")
@NotBlank
private String pdfUrl;
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
@NotBlank
private String lessonId;//课程ID
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
@NotBlank
private String chapterId;//节ID
......
package org.rcisoft.business.bfile.service;
import org.rcisoft.business.bfile.dto.uploadDTO;
import org.rcisoft.business.bfile.entity.BFile;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel;
......@@ -7,6 +8,7 @@ import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.List;
import java.util.Map;
/**
* Created by gaowenfneg on 2017-10-9 14:34:56.
......@@ -48,7 +50,7 @@ public interface BFileService {
*/
PersistModel removeBVideo(String id);
public String uploadVideoToServer(List<MultipartFile> list, BFile bFile);
public uploadDTO uploadVideoToServer(MultipartFile file, String type);
public BFile queryFileUrlByChapterId(String chapterId);
......
......@@ -34,7 +34,7 @@ public class SysRoleController extends PaginationController<SysRole> {
private SysRoleService sysRoleServiceImpl;
@ApiOperation(value="1001 分页查询角色", notes="分页查询角色")
@ApiOperation(value="1001 分页查询所有角色", notes="分页查询所有角色")
@GetMapping(value = "/queryRoles")
public GridModel queryRolesByPagination(CurUser curUser, @Valid FindRolePaginDTO findRolePaginDTO, BindingResult bindingResult){
sysRoleServiceImpl.queryRolesByPagination(getPaginationUtility(), findRolePaginDTO);
......@@ -52,38 +52,16 @@ public class SysRoleController extends PaginationController<SysRole> {
}
@ApiOperation(value="1003 增加/修改角色", notes="增加/修改角色")
@PostMapping(value = "/add")
public Result roleAdd(CurUser curUser, @Valid AddOrUpdateRoleDTO addOrUpdateRoleDTO, BindingResult bindingResult){
int line = sysRoleServiceImpl.persistRole(addOrUpdateRoleDTO);
return Result.builder(new PersistModel(line),
@ApiOperation(value="1003 数据权限分配", notes="数据权限分配")
@ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "角色id", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "type", value = "0:仅可看自己 1:可看全部 2:查看指定", required = true, dataType = "varchar"),
@ApiImplicitParam(name = "departIds", value = "部门id,逗号间隔", required = true, dataType = "varchar")})
@PostMapping(value = "/roleData")
public Result roleData(CurUser curUser,@Valid SysRole sysRole,BindingResult br){
return Result.builder(sysRoleServiceImpl.updateRoleData(sysRole),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
addOrUpdateRoleDTO);
}
@ApiOperation(value="1004 删除角色", notes="删除角色")
@ApiImplicitParam(name = "businessId", value = "businessId", required = true, dataType = "varchar", paramType = "path")
@PostMapping(value = "/delete")
public Result roleDelete(CurUser curUser, String businessId, BindingResult bindingResult){
int line = sysRoleServiceImpl.removeRole(businessId);
return Result.builder(new PersistModel(line),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
businessId);
}
@ApiOperation(value="权限分配", notes="权限分配")
@ApiImplicitParams({@ApiImplicitParam(name = "roleId", value = "businessId", required = true, dataType = "varchar"),
@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,menus),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
roleId);
sysRole);
}
}
......@@ -199,11 +199,6 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
@ResultMap(value = "BaseResultMap")
List<SysRole> queryRolesByName(SysRole sysRole);
// @Select("SELECT COUNT(*) FROM s_menu sm \n" +
// "LEFT JOIN s_role_menu rm ON sm.BUSINESS_ID = rm.MENU_ID\n" +
// "LEFT JOIN s_role sr ON rm.ROLE_ID = sr.business_id\n" +
// "WHERE sr.`code` = #{roleCode} AND sm.BUSINESS_ID = #{businessId}")
// int queryRoleByRoleCode(@Param("roleCode") String roleCode, @Param("businessId") String businessId);
@Select("SELECT count(*) FROM s_menu \n" +
"LEFT JOIN s_role_menu ON s_menu.BUSINESS_ID = s_role_menu.MENU_ID " +
......@@ -211,35 +206,6 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
"WHERE s_menu.MODEL_ID = #{modelId} AND ROLE_ID = #{roleId}")
int queryRoleByRoleCode(@Param("modelId") String modelId, @Param("roleId") String roleId);
/**
* 根据子表id 删除 s_r_user_role
*
* @param tableByKey
* @param businessId
* @return
*/
@Delete("DELETE\n" +
"FROM\n" +
"\ts_r_user_role\n" +
"WHERE\n" +
"\ts_r_user_role.business_id = (\n" +
"\t\tSELECT\n" +
"\t\t\tab.*\n" +
"\t\tFROM\n" +
"\t\t\t(\n" +
"\t\t\t\tSELECT\n" +
"\t\t\t\t\ts_r_user_role.business_id\n" +
"\t\t\t\tFROM\n" +
"\t\t\t\t\ts_r_user_role\n" +
"\t\t\t\tLEFT JOIN s_user ON s_r_user_role.user_id = s_user.business_id\n" +
"\t\t\t\tLEFT JOIN ${tb} ON ${tb}.`code` = s_user.login_name\n" +
"\t\t\t\tWHERE\n" +
"\t\t\t\t\t${tb}.business_id = #{cid}\n" +
"\t\t\t) ab\n" +
"\t)")
int deleteUserRoleByChildrenId(@Param("tb") String tableByKey, @Param("cid") String businessId);
@Select("<script>select count(1) " +
"from tm_admin_role " +
"where corp_id = #{corpId} " +
......@@ -263,4 +229,7 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
"values(#{businessId},#{userId},#{roleId}) " +
"</script>")
int addUserRole(UserRoleDTO param);
@Update("update tm_admin_role set type = #{type} , depart_ids = #{departIds} where r_id = #{businessId}")
int updateRoleData(SysRole sysRole);
}
......@@ -14,7 +14,7 @@ import javax.validation.constraints.NotBlank;
* Created by gaowenfeng on 2017/8/9.
*/
@Data
@Table(name = "s_role")
@Table(name = "tm_admin_role")
@NoArgsConstructor
@AllArgsConstructor
public class SysRole extends IdEntity<SysRole> {
......@@ -22,9 +22,10 @@ public class SysRole extends IdEntity<SysRole> {
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
@NotBlank
private String roleName;
@Length(min = 1,max = 64,message = "长度最小为1,最大为50")
@NotBlank
private String businessId;
private String type;
private String departIds;
@Transient
private int userNum;
......
......@@ -22,6 +22,8 @@ public interface SysRoleService {
*/
int persistRole(AddOrUpdateRoleDTO addOrUpdateRoleDTO);
PersistModel updateRoleData(SysRole sysRole);
/**
* 删除
......
......@@ -64,6 +64,12 @@ public class SysRoleServiceImpl implements SysRoleService {
return line;
}
@Override
public PersistModel updateRoleData(SysRole sysRole) {
int line = sysRoleRepository.updateRoleData(sysRole);
return new PersistModel(line);
}
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
......
......@@ -50,6 +50,9 @@ public class SysUser extends IdEntity<SysUser> {
private String gitLabUsername; //gitLab账号
private String gitLabImpressionToken; //gitLab账号模拟令牌
private String depart;
private String position;
/**
* 角色ID
*/
......
......@@ -54,7 +54,13 @@ public class SysUserServiceImpl implements SysUserService {
@Override
public List<SysUser> queryUsersByPagination(PageUtil pageUtil, QuerySysUserDTO dto) {
return sysUserMapper.queryUsers(dto);
List<SysUser> users = sysUserMapper.queryUsers(dto);
List<String> list = new ArrayList<>();
for(SysUser user:users){
list.add(user.getBusinessId());
}
return users;
}
@Override
......
......@@ -10,12 +10,9 @@
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
<result column="video_name" jdbcType="VARCHAR" property="videoName"/>
<result column="file_name" jdbcType="VARCHAR" property="fileName"/>
<result column="video_url" jdbcType="VARCHAR" property="videoUrl"/>
<result column="audio_url" jdbcType="VARCHAR" property="audioUrl"/>
<result column="file_url" jdbcType="VARCHAR" property="fileUrl"/>
<result column="ppt_url" jdbcType="VARCHAR" property="pptUrl"/>
<result column="pdf_url" jdbcType="VARCHAR" property="pdfUrl"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="chapter_id" jdbcType="VARCHAR" property="chapterId"/>
<result column="lesson_id" jdbcType="VARCHAR" property="lessonId"/>
......
......@@ -2,7 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<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="role_name" jdbcType="VARCHAR" property="roleName" />
<result column="CODE" jdbcType="VARCHAR" property="code" />
<result column="checked" jdbcType="VARCHAR" property="checked" />
......
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