Commit 32c69808 authored by 王淑君's avatar 王淑君

Merge remote-tracking branch 'origin/meiteng' into meiteng

parents 8abd7980 20106f99
...@@ -28,14 +28,14 @@ public interface BBannerRepository extends BaseMapper<BBanner> { ...@@ -28,14 +28,14 @@ public interface BBannerRepository extends BaseMapper<BBanner> {
* @param param * @param param
* @return * @return
*/ */
@Select("<script>select bb.* , bl.lesson_name lessonName from b_banner bb " + @Select("<script>select bb.* , bl.lesson_name lessonName,bl.default_url lessonDefaultUrl from b_banner bb " +
" left join b_lesson bl on bb.course_id = bl.business_id " + " left join b_lesson bl on bb.course_id = bl.business_id " +
" and bl.corp_id = #{corpId} "+ " and bl.corp_id = #{corpId} "+
" and bl.del_flag='0' and bl.flag = '1'" + " and bl.del_flag='0' and bl.flag = '1'" +
" where bb.del_flag='0' and bb.flag = '1' " + " where bb.del_flag='0' and bb.flag = '1' " +
" <if test=\"businessId!=null and businessId != ''\">and bb.business_id = #{businessId})</if>" + " <if test=\"businessId!=null and businessId != ''\">and bb.business_id = #{businessId}</if>" +
" <if test=\"title!=null and title != ''\">and bb.title like CONCAT('%',#{title},'%')</if>" + " <if test=\"title!=null and title != ''\">and bb.title like CONCAT('%',#{title},'%')</if>" +
" <if test=\"isExternalLink!=null and isExternalLink != ''\">and bb.is_external_link=#{isExternalLink}</if>" + " <if test=\"isExternalLink!=null and isExternalLink != ''\">and bb.is_external_link=#{isExternalLink}</if>" +
" <if test=\"lineType!=null and lineType != ''\">and bb.line_type=#{lineType}</if>" + " <if test=\"lineType!=null and lineType != ''\">and bb.line_type=#{lineType}</if>" +
...@@ -47,6 +47,21 @@ public interface BBannerRepository extends BaseMapper<BBanner> { ...@@ -47,6 +47,21 @@ public interface BBannerRepository extends BaseMapper<BBanner> {
@ResultMap(value = "BaseResultMap" ) @ResultMap(value = "BaseResultMap" )
List<BBanner> queryBanners(FindBannerPaginDTO param); List<BBanner> queryBanners(FindBannerPaginDTO param);
@Select("<script>select bb.* , bl.lesson_name lessonName ,bl.default_url from b_banner bb " +
" left join b_lesson bl on bb.course_id = bl.business_id " +
// " and bl.corp_id = #{corpId} "+
" and bl.del_flag='0' and bl.flag = '1'" +
" where bb.del_flag='0' and bb.flag = '1' " +
" and bb.business_id = #{businessId}" +
// " and bb.corp_id = #{corpId} "+
"</script>")
@ResultMap(value = "BaseResultMap" )
BBanner queryOne(String businessId);
/** /**
* 按id查询个数 * 按id查询个数
* @param id * @param id
......
...@@ -11,6 +11,7 @@ import org.rcisoft.sys.dept.entity.SysDept; ...@@ -11,6 +11,7 @@ import org.rcisoft.sys.dept.entity.SysDept;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import javax.persistence.Transient;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
...@@ -23,7 +24,7 @@ import javax.validation.constraints.NotBlank; ...@@ -23,7 +24,7 @@ import javax.validation.constraints.NotBlank;
@Data @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
public class BBanner extends IdEntity<SysDept> { public class BBanner extends IdEntity<BBanner> {
private static final long serialVersionUID = 8683139175568024924L; private static final long serialVersionUID = 8683139175568024924L;
...@@ -58,5 +59,10 @@ public class BBanner extends IdEntity<SysDept> { ...@@ -58,5 +59,10 @@ public class BBanner extends IdEntity<SysDept> {
private Integer bannerSort; private Integer bannerSort;
@ApiModelProperty(value = "课程名") @ApiModelProperty(value = "课程名")
// @Transient
private String lessonName; private String lessonName;
@ApiModelProperty(value = "课程名")
// @Transient
private String lessonDefaultUrl;
} }
\ No newline at end of file
...@@ -38,7 +38,7 @@ public interface BBannerService { ...@@ -38,7 +38,7 @@ public interface BBannerService {
* @param businessId * @param businessId
* @return * @return
*/ */
BannerInfoRspDTO selectOne(String businessId); BBanner selectOne(String businessId);
/** /**
* 获取Banner分页 * 获取Banner分页
......
...@@ -84,11 +84,9 @@ public class BBannerServiceImpl implements BBannerService { ...@@ -84,11 +84,9 @@ public class BBannerServiceImpl implements BBannerService {
} }
@Override @Override
public BannerInfoRspDTO selectOne(String id) { public BBanner selectOne(String id) {
BBanner banner = bBannerRepository.selectByPrimaryKey(id); BBanner banner = bBannerRepository.queryOne(id);
BannerInfoRspDTO bannerInfoRspDTO = new BannerInfoRspDTO(); return banner;
BeanUtils.copyProperties(banner, bannerInfoRspDTO);
return bannerInfoRspDTO;
} }
@Override @Override
......
...@@ -288,16 +288,6 @@ public interface BChapterRepository extends BaseMapper<BChapter> { ...@@ -288,16 +288,6 @@ public interface BChapterRepository extends BaseMapper<BChapter> {
" and del_flag = 0 and flag = 1 ") " and del_flag = 0 and flag = 1 ")
String querySortByPidAndId(@Param("pid") String pid, @Param("businessId") String businessId); String querySortByPidAndId(@Param("pid") String pid, @Param("businessId") String businessId);
@Select("<script>select *,#{userId} AS stuId from b_chapter " +
"where del_flag = 0 and flag = 1 and pid = -1 " +
"<if test=\"slId!=null and slId != ''\">\n" +
" and sl_id = #{slId}\n" +
"</if>" +
"and lesson_or_sl = #{lessonOrSl} " +
"order by sort asc</script>")
@ResultMap(value = "SupperStudentChildListResultMap")
List<BChapter> queryBChaptersByStudent(BChapter param);
@Select("<script>select bc.*,su.business_id as userId,su.`name` as studentName,su.login_name as stuId from b_chapter bc \n" + @Select("<script>select bc.*,su.business_id as userId,su.`name` as studentName,su.login_name as stuId from b_chapter bc \n" +
"LEFT JOIN b_r_student_chapter bsc on bc.business_id = bsc.chapter_id\n" + "LEFT JOIN b_r_student_chapter bsc on bc.business_id = bsc.chapter_id\n" +
...@@ -327,14 +317,6 @@ public interface BChapterRepository extends BaseMapper<BChapter> { ...@@ -327,14 +317,6 @@ public interface BChapterRepository extends BaseMapper<BChapter> {
"#{businessId},#{studentId},#{chapterId},'1',#{slId},#{score},'0')</script>") "#{businessId},#{studentId},#{chapterId},'1',#{slId},#{score},'0')</script>")
int insertStudentScore(String businessId, String chapterId, String slId, String studentId, String score); int insertStudentScore(String businessId, String chapterId, String slId, String studentId, String score);
@Select("<script>select * from b_chapter " +
"where del_flag = 0 and flag = 1 and pid = -1 " +
"and sl_id = #{slId} " +
"order by sort asc</script>")
@ResultMap(value = "ScoreReportResultMap")
List<ScoreReportDto> queryBChaptersBySlId(String slId);
@Select("<script>SELECT bc.business_id as businessId,\n" + @Select("<script>SELECT bc.business_id as businessId,\n" +
"(SELECT CONCAT((SELECT sort from b_chapter where business_id = bc.pid),\n" + "(SELECT CONCAT((SELECT sort from b_chapter where business_id = bc.pid),\n" +
"'.',\n" + "'.',\n" +
...@@ -391,5 +373,39 @@ public interface BChapterRepository extends BaseMapper<BChapter> { ...@@ -391,5 +373,39 @@ public interface BChapterRepository extends BaseMapper<BChapter> {
"(select count(*) from b_chapter where lesson_id = #{lessonId} and chapter_level = 2 and del_flag != 1 and flag =1) " + "(select count(*) from b_chapter where lesson_id = #{lessonId} and chapter_level = 2 and del_flag != 1 and flag =1) " +
"where business_id = #{lessonId}") "where business_id = #{lessonId}")
int updateClassHourInLesson(@Param("lessonId") String lessonId); int updateClassHourInLesson(@Param("lessonId") String lessonId);
// @Insert("<script>insert into b_chapter " +
// "<trim prefix=\"(\" suffix=\")\" suffixOverrides=\",\"> " +
// "<if test=\"businessId !=null and businessId != ''\"> business_id, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> create_by, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> create_date, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> update_by, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> update_date, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> del_flag, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> flag, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> remarks, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> chapter_name, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> chapter_level, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> pid, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> chapter_url, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> md_file, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> is_test, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> lesson_id, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> class_hour, </if> " +
// "<if test=\"state !=null and state != ''\"> state, </if> " +
// "<if test=\"sort !=null and sort != ''\"> sort, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> is_test, </if> " +
// "<if test=\"businessId !=null and businessId != ''\"> is_test, </if> " +
//
// "</trim>"+
// "<trim prefix=\"values (\" suffix=\")\" suffixOverrides=\",\">"+
// "<if test=\"businessId !=null and businessId != ''\"> #{businessId}, </if> " +
//
// "</trim>"+
// "</script>")
//
//
// int insertBChapter(BChapter model);
} }
...@@ -21,7 +21,7 @@ public class QueryChapterListResDTO { ...@@ -21,7 +21,7 @@ public class QueryChapterListResDTO {
@ApiModelProperty(value = "课程地址") @ApiModelProperty(value = "课程地址")
private String chapterUrl; private String chapterUrl;
@ApiModelProperty(value = "课件类型 0视频 1音频 2PDF 3PPT 4文件包") @ApiModelProperty(value = "课件类型 0视频 1音频 2PPT 3PDF 4文件包")
private String isTest; private String isTest;
@ApiModelProperty(value = "课程ID") @ApiModelProperty(value = "课程ID")
...@@ -39,12 +39,6 @@ public class QueryChapterListResDTO { ...@@ -39,12 +39,6 @@ public class QueryChapterListResDTO {
@ApiModelProperty(value = "文件地址") @ApiModelProperty(value = "文件地址")
private String fileUrl; private String fileUrl;
//
// @ApiModelProperty(value = "ppt地址")
// private String pptUrl;
//
// @ApiModelProperty(value = "pdf地址")
// private String pdfUrl;
@ApiModelProperty(value = "章节是否完成 0未完成 1完成") @ApiModelProperty(value = "章节是否完成 0未完成 1完成")
private String isComplete; private String isComplete;
...@@ -60,4 +54,7 @@ public class QueryChapterListResDTO { ...@@ -60,4 +54,7 @@ public class QueryChapterListResDTO {
@ApiModelProperty(value = "id") @ApiModelProperty(value = "id")
private String corpId; private String corpId;
@ApiModelProperty(value = "课程时间")
private String courseTime;
} }
...@@ -89,12 +89,6 @@ public class BChapter extends IdEntity<BChapter> { ...@@ -89,12 +89,6 @@ public class BChapter extends IdEntity<BChapter> {
@Transient @Transient
private String fileUrl; private String fileUrl;
@Transient
private String pptUrl;
@Transient
private String pdfUrl;
/** /**
* 课程的父ID(当作map的key存放开课的父ID用) * 课程的父ID(当作map的key存放开课的父ID用)
*/ */
......
...@@ -115,11 +115,8 @@ public interface BChapterService{ ...@@ -115,11 +115,8 @@ public interface BChapterService{
String queryMdFileByChapterId(String businessId); String queryMdFileByChapterId(String businessId);
List<BChapter> queryBChaptersByStudent(BChapter param);
int Mark(String chapterId, String slId, String studentCode, String score); int Mark(String chapterId, String slId, String studentCode, String score);
List<ScoreReportDto> scoreReport(String slId);
List<ChapterSelectDto> chapterListBySlId(String slId); List<ChapterSelectDto> chapterListBySlId(String slId);
......
...@@ -2,6 +2,7 @@ package org.rcisoft.business.bchapter.service.impl; ...@@ -2,6 +2,7 @@ package org.rcisoft.business.bchapter.service.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.rcisoft.business.bchapter.dao.BChapterRepository; import org.rcisoft.business.bchapter.dao.BChapterRepository;
import org.rcisoft.business.bchapter.dto.*; import org.rcisoft.business.bchapter.dto.*;
import org.rcisoft.business.bchapter.entity.BChapter; import org.rcisoft.business.bchapter.entity.BChapter;
...@@ -17,6 +18,8 @@ import org.rcisoft.business.blesson.dao.BLessonRepository; ...@@ -17,6 +18,8 @@ import org.rcisoft.business.blesson.dao.BLessonRepository;
import org.rcisoft.business.blesson.entity.BLesson; import org.rcisoft.business.blesson.entity.BLesson;
import org.rcisoft.business.bfile.dao.BFileRepository; import org.rcisoft.business.bfile.dao.BFileRepository;
import org.rcisoft.business.bfile.entity.BFile; import org.rcisoft.business.bfile.entity.BFile;
import org.rcisoft.business.bmaterial.dao.BMaterialRepository;
import org.rcisoft.business.bmaterial.entity.BMaterial;
import org.rcisoft.business.brstudentchapter.dao.BRStudentChapterRepository; import org.rcisoft.business.brstudentchapter.dao.BRStudentChapterRepository;
import org.rcisoft.business.brstudentchapter.entity.BRStudentChapter; import org.rcisoft.business.brstudentchapter.entity.BRStudentChapter;
import org.rcisoft.common.component.Global; import org.rcisoft.common.component.Global;
...@@ -61,6 +64,8 @@ public class BChapterServiceImpl implements BChapterService { ...@@ -61,6 +64,8 @@ public class BChapterServiceImpl implements BChapterService {
@Autowired @Autowired
private BFileRepository bFileRepository; private BFileRepository bFileRepository;
@Autowired @Autowired
private BMaterialRepository bMaterialRepository;
@Autowired
private Global global; private Global global;
@Autowired @Autowired
BRStudentChapterRepository brStudentChapterRepository; BRStudentChapterRepository brStudentChapterRepository;
...@@ -165,7 +170,7 @@ public class BChapterServiceImpl implements BChapterService { ...@@ -165,7 +170,7 @@ public class BChapterServiceImpl implements BChapterService {
} }
int sort = bChapterRepository.selectMaxSort(model.getPid(), model.getLessonId()); int sort = bChapterRepository.selectMaxSort(model.getPid(), model.getLessonId());
model.setSort(sort); model.setSort(sort);
model.setCorpId(corpId); // model.setCorpId(corpId);
bFile.setChapterId(model.getBusinessId()); bFile.setChapterId(model.getBusinessId());
bFile.setLessonId(model.getLessonId()); bFile.setLessonId(model.getLessonId());
UserUtil.setCurrentPersistOperation(bFile); UserUtil.setCurrentPersistOperation(bFile);
...@@ -176,6 +181,24 @@ public class BChapterServiceImpl implements BChapterService { ...@@ -176,6 +181,24 @@ public class BChapterServiceImpl implements BChapterService {
UserUtil.setCurrentMergeOperation(model); UserUtil.setCurrentMergeOperation(model);
line = bChapterRepository.updateByPrimaryKeySelective(model); line = bChapterRepository.updateByPrimaryKeySelective(model);
} }
//不是为添加章时插入资料表
if(StringUtils.isNotEmpty(model.getIsTest())){
BMaterial bMaterial = new BMaterial();
UserUtil.setCurrentPersistOperation(bMaterial);
bMaterial.setChapterId(model.getBusinessId());
bMaterial.setFileName(dto.getFileName());
if(Integer.parseInt(model.getIsTest())<4){
bMaterial.setFileUrl(model.getVideoUrl());
}else if(Integer.parseInt(model.getIsTest())>= 4){
bMaterial.setFileUrl(model.getFileUrl());
}
bMaterial.setType(model.getIsTest());
bMaterial.setUploadType("1");
bMaterial.setFileSize(dto.getFileSize());
bMaterialRepository.insertMaterial(bMaterial);
}
return new PersistModel(line); return new PersistModel(line);
} }
...@@ -372,11 +395,6 @@ public class BChapterServiceImpl implements BChapterService { ...@@ -372,11 +395,6 @@ public class BChapterServiceImpl implements BChapterService {
return bChapterRepository.queryMdFileByChapterId(businessId); return bChapterRepository.queryMdFileByChapterId(businessId);
} }
@Override
public List<BChapter> queryBChaptersByStudent(BChapter param) {
return bChapterRepository.queryBChaptersByStudent(param);
}
@Override @Override
public int Mark(String chapterId, String slId, String studentCode, String score) { public int Mark(String chapterId, String slId, String studentCode, String score) {
// int line; // int line;
...@@ -393,10 +411,6 @@ public class BChapterServiceImpl implements BChapterService { ...@@ -393,10 +411,6 @@ public class BChapterServiceImpl implements BChapterService {
return 0; return 0;
} }
@Override
public List<ScoreReportDto> scoreReport(String slId) {
return bChapterRepository.queryBChaptersBySlId(slId);
}
@Override @Override
public List<ChapterSelectDto> chapterListBySlId(String slId) { public List<ChapterSelectDto> chapterListBySlId(String slId) {
......
...@@ -17,4 +17,7 @@ public class uploadDTO { ...@@ -17,4 +17,7 @@ public class uploadDTO {
@ApiModelProperty(value = "0视频 1音频 2ppt 3pdf 4附件") @ApiModelProperty(value = "0视频 1音频 2ppt 3pdf 4附件")
private String type; private String type;
@ApiModelProperty(value = "文件大小")
private String fileSize;
} }
...@@ -65,7 +65,7 @@ public class BLessonController extends PaginationController<BLesson> { ...@@ -65,7 +65,7 @@ public class BLessonController extends PaginationController<BLesson> {
return Result.builder(data, return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
addLessonDTO); data.getResult());
} }
/** /**
...@@ -419,15 +419,38 @@ public class BLessonController extends PaginationController<BLesson> { ...@@ -419,15 +419,38 @@ public class BLessonController extends PaginationController<BLesson> {
recommendLessonDTO); recommendLessonDTO);
} }
// @ApiOperation(value="623 指派课程", notes="根据ID指派课程") /**
// @PostMapping(value = "/appointLessonToPerson") * @author: zhangqingle
// public Result appointLessonToPerson(CurUser curUser,@Valid AppointLessonDTO appointLessonDTO,BindingResult bindingResult) { * @param
// PersistModel data = bLessonService.appointLessonToPerson(appointLessonDTO); * @return
// return Result.builder(data, */
// MessageConstant.MESSAGE_ALERT_SUCCESS, @ApiOperation(value="623 根据课程Id 查询该课程推荐范围", notes="根据课程id 查询课程推荐范围(人和部门)", response = BLesson.class)
// MessageConstant.MESSAGE_ALERT_ERROR, @GetMapping(value = "/queryRecommendByLessonId")
// appointLessonDTO); public Result queryRecommendByLessonId(CurUser curUser, @Valid FindLessonRecommendDTO param, BindingResult bindingResult) {
// } return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bLessonService.queryRecommendByLessonId(param));
}
@ApiOperation(value="624 指派课程", notes="根据ID指派课程")
@PostMapping(value = "/appointLessonToPerson")
public Result appointLessonToPerson(CurUser curUser,@Valid AppointLessonDTO appointLessonDTO,BindingResult bindingResult) {
PersistModel data = bLessonService.appointLessonToPerson(appointLessonDTO);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
appointLessonDTO);
}
@ApiOperation(value="625 添加我学习的课程", notes="添加我学习的课程")
@PostMapping(value = "/addMyLearnLesson")
public Result addMyLearnLesson(CurUser curUser,@Valid AddMyLearnLessonDTO addMyLearnLessonDTO,BindingResult bindingResult) {
PersistModel data = bLessonPersonService.addMyLearnLesson(addMyLearnLessonDTO);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
addMyLearnLessonDTO);
}
} }
package org.rcisoft.business.blesson.dao; package org.rcisoft.business.blesson.dao;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.rcisoft.business.blesson.dto.AppointLessonDTO;
import org.rcisoft.business.blesson.dto.CancelAppointDTO; import org.rcisoft.business.blesson.dto.CancelAppointDTO;
import org.rcisoft.business.blesson.entity.BAppoint; import org.rcisoft.business.blesson.entity.BAppoint;
import org.rcisoft.business.blesson.entity.BLessonPerson; import org.rcisoft.business.blesson.entity.BLessonPerson;
...@@ -19,7 +22,7 @@ public interface BAppointRepository extends BaseMapper<BAppoint> { ...@@ -19,7 +22,7 @@ public interface BAppointRepository extends BaseMapper<BAppoint> {
/** /**
* 按课程Id 查询 bAppoint * Id 查询 bAppoint
* *
*/ */
@Select("<script>select * from b_appoint where 1=1 " @Select("<script>select * from b_appoint where 1=1 "
...@@ -29,5 +32,30 @@ public interface BAppointRepository extends BaseMapper<BAppoint> { ...@@ -29,5 +32,30 @@ public interface BAppointRepository extends BaseMapper<BAppoint> {
+ "</script>") + "</script>")
@ResultMap(value = "BaseResultMap" ) @ResultMap(value = "BaseResultMap" )
BAppoint selectById(String bAppointId); BAppoint selectById(String bAppointId);
/**
* 按课程Id 查询 bAppoint
*
*/
@Select("<script>select * from b_appoint where 1=1 "
+ "and del_flag != 1 "
+ "and flag = 1 "
+ "and lesson_id = #{lessonId} "
+ "</script>")
@ResultMap(value = "BaseResultMap" )
List<BAppoint> selectByLessonId(AppointLessonDTO param);
@Insert("<script>" +
" insert into b_appoint(" +
" business_id,create_by,create_date,update_by,update_date, " +
" del_flag,flag,remarks,lesson_id,appointer_id, " +
" designated_id) " +
" values " +
" (#{param.businessId}, #{param.createBy},#{param.createDate},#{param.updateBy},#{param.updateDate}, " +
" #{param.delFlag}, #{param.flag},#{param.remarks},#{param.lessonId},#{param.appointerId}, " +
" #{param.designatedId}) " +
"</script>")
int insertAppoint(@Param("param") BAppoint param);
} }
...@@ -8,6 +8,7 @@ import org.rcisoft.business.blesson.entity.BLessonPerson; ...@@ -8,6 +8,7 @@ import org.rcisoft.business.blesson.entity.BLessonPerson;
import org.rcisoft.core.base.BaseMapper; import org.rcisoft.core.base.BaseMapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List; import java.util.List;
@Repository @Repository
...@@ -120,10 +121,115 @@ public interface BLessonPersonRepository extends BaseMapper<BLessonPerson> { ...@@ -120,10 +121,115 @@ public interface BLessonPersonRepository extends BaseMapper<BLessonPerson> {
/** /**
* 根据课程id查询学生id * 根据课程id查询学生id
* @param LessonId * @param param
* @return
*/
@Select("<script>select business_id,person_id from b_lesson_person where 1=1 " +
"and del_flag = 0 and flag = 1 " +
"AND person_id IN" +
"<foreach item='item' index='index' collection='appointPersonList' open='(' close=')' separator=','> " +
"#{item} " +
"</foreach>" +
"and lesson_id = #{lessonId}</script>")
@ResultMap(value = "BaseResultMap")
List<BLessonPerson> selectPersonIdByLessonId(AppointLessonDTO param);
/**
* 按课程id删除指派未开始
* @param param
* @return
*/
@Update("<script> update b_lesson_person blp left join b_appoint ba" +
" on blp.appoint_id = ba.business_id " +
" and ba.del_flag != 1 and ba.flag = 1 " +
" set blp.flag = '0' " +
" where 1=1 " +
" and blp.is_finish = '0' " +
" and ba.lesson_id = #{lessonId} " +
"</script>")
int deleteNotStartByLessonId(AppointLessonDTO param);
/**
* 已学习的取消指派
* @param param
* @return * @return
*/ */
@Select("<script>select business_id,person_id from b_lesson_person where lesson_id = #{LessonId}</script>") @Update("<script> update b_lesson_person blp left join b_appoint ba" +
" on blp.appoint_id = ba.business_id " +
" and ba.del_flag != 1 and ba.flag = 1 " +
" set blp.flag = '0' " +
" <set>"+
" <if test=\"updateBy != null and updateBy != ''\">update_by=#{updateBy},</if>"+
" <if test=\"updateDate != null and updateDate != ''\">update_date=#{updateDate},</if>"+
" <if test=\"delFlag != null and delFlag != ''\">del_flag=#{delFlag},</if>"+
" <if test=\"flag != null and flag != ''\">flag=#{flag},</if>"+
" <if test=\"remarks != null and remarks != ''\">remarks=#{remarks},</if>"+
" <if test=\"isAppoint != null and isAppoint != ''\">is_appoint=#{isAppoint},</if>"+
" appoint_id=#{appointId},"+
" </set>"+
" where 1=1 " +
" and blp.is_finish != '0' " +
" and ba.lesson_id = #{lessonId} " +
"</script>")
int cancelAppointByPersons(BLessonPerson param);
/**
* 按Id批量更新
* @param param
* @return
*/
@Update("<script>" +
" update b_lesson_person " +
" <set> " +
" <if test=\"param.updateBy != null and param.updateBy != ''\">update_by=#{param.updateBy},</if>"+
" <if test=\"param.updateDate != null \">update_date=#{param.updateDate},</if>"+
" appoint_id=#{param.appointId}, " +
" is_appoint=#{param.isAppoint} " +
" </set> " +
" where business_id in " +
" <foreach item='item' index='index' collection='ids' open='(' separator=',' close=')'> #{item} </foreach>" +
"</script>")
int updateList(@Param("param") BLessonPerson param, @Param("ids")List<String> ids);
@Insert("<script>" +
" insert into b_lesson_person(" +
" business_id,create_by,create_date,update_by,update_date, " +
" del_flag,flag,remarks,person_id,lesson_id, " +
" learn_progress,is_finish,is_collect,appoint_id, " +
" is_appoint) " +
" values " +
" <foreach collection='param' index='index' item='item' separator=','>(" +
" #{item.businessId}, #{item.createBy},#{item.createDate},#{item.updateBy},#{item.updateDate}, " +
" #{item.delFlag}, #{item.flag},#{item.remarks},#{item.personId},#{item.lessonId}, " +
" #{item.learnProgress}, #{item.isFinish},#{item.isCollect},#{item.appointId}, " +
" #{item.isAppoint}) " +
" </foreach>" +
"</script>")
int insertList(@Param("param") List<BLessonPerson> param);
/**
* 根据课程id PersonId查询
*/
@Select("<script>select * from b_lesson_person where 1=1 " +
"and del_flag = 0 and flag = 1 " +
"AND person_id = #{userId} " +
"and lesson_id = #{lessonId}</script>")
@ResultMap(value = "BaseResultMap") @ResultMap(value = "BaseResultMap")
List<BLessonPerson> selectPersonIdByLessonId(String LessonId); List<BLessonPerson> selectByPersonAndLesson(AddMyLearnLessonDTO param);
@Insert("<script>" +
" insert into b_lesson_person(" +
" business_id,create_by,create_date,update_by,update_date, " +
" del_flag,flag,remarks,person_id,lesson_id, " +
" learn_progress,is_finish,is_collect, " +
" is_appoint) " +
" values " +
" (#{param.businessId}, #{param.createBy},#{param.createDate},#{param.updateBy},#{param.updateDate}, " +
" #{param.delFlag}, #{param.flag},#{param.remarks},#{param.personId},#{param.lessonId}, " +
" #{param.learnProgress}, #{param.isFinish},#{param.isCollect}," +
" #{param.isAppoint}) " +
"</script>")
int insertBLessonPerson(@Param("param") BLessonPerson param);
} }
package org.rcisoft.business.blesson.dao; package org.rcisoft.business.blesson.dao;
import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.*;
import org.rcisoft.business.blesson.dto.FindLessonRecommendDTO;
import org.rcisoft.business.blesson.dto.FindLessonRecommendRspDTO;
import org.rcisoft.business.blesson.entity.BRecommend; import org.rcisoft.business.blesson.entity.BRecommend;
import org.rcisoft.business.blesson.entity.BRecommendSon; import org.rcisoft.business.blesson.entity.BRecommendSon;
import org.rcisoft.core.base.BaseMapper; import org.rcisoft.core.base.BaseMapper;
...@@ -46,7 +48,9 @@ public interface BRecommendRepository extends BaseMapper<BRecommend> { ...@@ -46,7 +48,9 @@ public interface BRecommendRepository extends BaseMapper<BRecommend> {
@Delete("<script>DELETE from b_recommend_son where recommend_id=#{businessId}</script>") @Delete("<script>DELETE from b_recommend_son where recommend_id=#{businessId}</script>")
int deleteRecommendSon(BRecommend bRecommend); int deleteRecommendSon(BRecommend bRecommend);
@Select("<script>select business_id from b_recommend where lesson_id = #{lessonId}</script>") @Select("<script>select business_id from b_recommend where " +
"del_flag != 1 and flag = 1 " +
"and lesson_id = #{lessonId}</script>")
List<String> selectIdByLessonId(String lessonId); List<String> selectIdByLessonId(String lessonId);
@Insert("<script>INSERT INTO b_recommend_son" + @Insert("<script>INSERT INTO b_recommend_son" +
...@@ -55,5 +59,41 @@ public interface BRecommendRepository extends BaseMapper<BRecommend> { ...@@ -55,5 +59,41 @@ public interface BRecommendRepository extends BaseMapper<BRecommend> {
"(#{item.businessId},#{item.recommendId},#{item.type},#{item.targetId})" + "(#{item.businessId},#{item.recommendId},#{item.type},#{item.targetId})" +
"</foreach></script>") "</foreach></script>")
int insertBRecommendSons(List<BRecommendSon> bRecommendSons); int insertBRecommendSons(List<BRecommendSon> bRecommendSons);
@Select("<script>select brs.business_id businessId, brs.type type, brs.target_id targetId, su.name targetName " +
" from b_recommend_son brs left join b_recommend br on brs.recommend_id = br.business_id " +
" left join b_lesson bl on br.lesson_id = bl.business_id " +
" left join s_user su on brs.target_id = su.business_id " +
" where 1=1 " +
" and br.del_flag != 1 and br.flag = 1 " +
" and bl.del_flag != 1 and bl.flag = 1 " +
" and su.del_flag != 1 and su.flag = 1 " +
// " and bl.corp_id = #{corpId} "+
" and su.corp_id = #{corpId} "+
" <if test=\"viewParam!=null and viewParam != ''\">and su.name like CONCAT('%',#{viewParam},'%')</if>" +
" and brs.type = '0' "+
" and br.lesson_id = #{lessonId}</script>")
List<FindLessonRecommendRspDTO> queryRecommendPersonByLessonId(FindLessonRecommendDTO param);
@Select("<script>select brs.business_id businessId, brs.type type, brs.target_id targetId " +
" from b_recommend_son brs left join b_recommend br on brs.recommend_id = br.business_id " +
" left join b_lesson bl on br.lesson_id = bl.business_id " +
" where 1=1 " +
" and br.del_flag != 1 and br.flag = 1 " +
" and bl.del_flag != 1 and bl.flag = 1 " +
// " and bl.corp_id = #{corpId} "+
" and brs.type = '1' "+
" <if test=\"departs != null and departs.size() > 0 \"> " +
" and brs.target_id in " +
" <foreach item='item' index='index' collection='departs' open='(' separator=',' close=')'> #{item.departId} </foreach> " +
" </if> " +
" and br.lesson_id = #{lessonId}</script>")
List<FindLessonRecommendRspDTO> queryRecommendDepartByLessonId(FindLessonRecommendDTO param);
} }
package org.rcisoft.business.blesson.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class AddMyLearnLessonDTO {
@ApiModelProperty(value = "课程Id",required = true)
private String lessonId;
private String corpId;
private String userId;
}
...@@ -3,15 +3,20 @@ package org.rcisoft.business.blesson.dto; ...@@ -3,15 +3,20 @@ package org.rcisoft.business.blesson.dto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.List;
@Data @Data
public class AppointLessonDTO { public class AppointLessonDTO {
@ApiModelProperty(value = "课程Id",required = true) @ApiModelProperty(value = "课程Id",required = true)
private String lessonId; private String lessonId;
@ApiModelProperty(value = "推荐范围(人)多人之间用','隔开" ,required = true) @ApiModelProperty(value = "指派范围(人id)多人之间用','隔开" ,required = true)
private String appointPerson; private String appointPerson;
//指派人id集合
private List<String> appointPersonList;
private String userId; private String userId;
private String corpId; private String corpId;
......
package org.rcisoft.business.blesson.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class FindLessonRecommendDTO {
@ApiModelProperty(value = "查询参数",required = false)
private String viewParam;
@ApiModelProperty(value = "课程Id",required = true)
private String lessonId;
private List<LessonRecommendDepartDTO> departs;
private String userId;
private String corpId;
}
package org.rcisoft.business.blesson.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class FindLessonRecommendRspDTO {
@ApiModelProperty(value = "主键")
private String businessId;
@ApiModelProperty(value = "被推荐对象类型(0:人 1:部门)")
private String type;
@ApiModelProperty(value = "被推荐 人/部门id")
private String targetId;
@ApiModelProperty(value = "被推荐 人/部门名")
private String targetName;
}
package org.rcisoft.business.blesson.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class LessonRecommendDepartDTO {
private String departId;
private String departName;
}
...@@ -100,6 +100,9 @@ public class BLessonPerson extends IdEntity<BLessonPerson> { ...@@ -100,6 +100,9 @@ public class BLessonPerson extends IdEntity<BLessonPerson> {
@Transient @Transient
private String lessonType; private String lessonType;
@Transient
private String corpId;
//初始化 //初始化
public void initModel(){ public void initModel(){
UserUtil.setCurrentPersistOperation(this); UserUtil.setCurrentPersistOperation(this);
...@@ -111,6 +114,8 @@ public class BLessonPerson extends IdEntity<BLessonPerson> { ...@@ -111,6 +114,8 @@ public class BLessonPerson extends IdEntity<BLessonPerson> {
this.setIsCollect("0"); this.setIsCollect("0");
//设置不指派 //设置不指派
this.setIsAppoint("0"); this.setIsAppoint("0");
//设置不指派
this.setRemarks("");
} }
} }
package org.rcisoft.business.blesson.entity; package org.rcisoft.business.blesson.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
import javax.persistence.*; import javax.persistence.*;
...@@ -14,14 +15,16 @@ import javax.persistence.*; ...@@ -14,14 +15,16 @@ import javax.persistence.*;
@Table(name = "b_recommend_son") @Table(name = "b_recommend_son")
public class BRecommendSon { public class BRecommendSon {
@ApiModelProperty(value = "主键")
private String businessId; private String businessId;
@ApiModelProperty(value = "推荐表id")
private String recommendId; private String recommendId;
@ApiModelProperty(value = "被推荐对象类型(0:人 1:部门)")
private String type; private String type;
@ApiModelProperty(value = "被推荐 人/部门id")
private String targetId; private String targetId;
} }
...@@ -47,4 +47,13 @@ public interface BLessonPersonService { ...@@ -47,4 +47,13 @@ public interface BLessonPersonService {
* @return * @return
*/ */
PersistModel cancelAppoint(CancelAppointDTO cancelAppointDTO); PersistModel cancelAppoint(CancelAppointDTO cancelAppointDTO);
/**
* 添加我学习课程
* @author: zhangqingle
* @param addMyLearnLessonDTO
* @return
*/
PersistModel addMyLearnLesson(AddMyLearnLessonDTO addMyLearnLessonDTO);
} }
...@@ -6,7 +6,6 @@ import org.rcisoft.business.blesson.entity.BLesson; ...@@ -6,7 +6,6 @@ import org.rcisoft.business.blesson.entity.BLesson;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.model.PersistModel;
import org.rcisoft.sys.user.bean.CurUser; import org.rcisoft.sys.user.bean.CurUser;
import org.rcisoft.sys.user.entity.SysUser;
import java.util.List; import java.util.List;
...@@ -133,6 +132,20 @@ public interface BLessonService{ ...@@ -133,6 +132,20 @@ public interface BLessonService{
*/ */
PersistModel recommendBLesson(RecommendLessonDTO recommendLessonDTO); PersistModel recommendBLesson(RecommendLessonDTO recommendLessonDTO);
/**
* 根据课程Id 查询该课程推荐范围
* @author: zhangqingle
* @param param
* @return
*/
List<FindLessonRecommendRspDTO> queryRecommendByLessonId(FindLessonRecommendDTO param);
/**
* 指派课程
* @param appointLessonDTO
* @return
*/
PersistModel appointLessonToPerson(AppointLessonDTO appointLessonDTO);
/** /**
* 课程培训条件查询 * 课程培训条件查询
......
...@@ -10,6 +10,7 @@ import org.rcisoft.business.blesson.dao.BLessonPersonRepository; ...@@ -10,6 +10,7 @@ import org.rcisoft.business.blesson.dao.BLessonPersonRepository;
import org.rcisoft.business.blesson.entity.BLessonPerson; import org.rcisoft.business.blesson.entity.BLessonPerson;
import org.rcisoft.business.blesson.service.BLessonPersonService; import org.rcisoft.business.blesson.service.BLessonPersonService;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.constant.MessageConstant;
import org.rcisoft.core.exception.ServiceException; import org.rcisoft.core.exception.ServiceException;
import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.result.ResultExceptionEnum; import org.rcisoft.core.result.ResultExceptionEnum;
...@@ -115,4 +116,27 @@ public class BLessonPersonServiceImpl implements BLessonPersonService { ...@@ -115,4 +116,27 @@ public class BLessonPersonServiceImpl implements BLessonPersonService {
return new PersistModel(1,result); return new PersistModel(1,result);
} }
@Override
public PersistModel addMyLearnLesson(AddMyLearnLessonDTO addMyLearnLessonDTO) {
List<BLessonPerson> bLessonPersons = bLessonPersonRepository.selectByPersonAndLesson(addMyLearnLessonDTO);
BLessonPerson bLessonPerson;
int line = 0;
//被指派未开始
if (bLessonPersons != null && bLessonPersons.size()>0 && "0".equals(bLessonPersons.get(0).getIsFinish()) ){
bLessonPerson = bLessonPersons.get(0);
bLessonPerson.setIsFinish("1");
line = bLessonPersonRepository.updateByPrimaryKeySelective(bLessonPerson);
//课程在学人数+1
bLessonRepository.personNumberPlusOne(addMyLearnLessonDTO.getLessonId());
}else if (bLessonPersons == null || bLessonPersons.size() < 1){ //未指派
bLessonPerson = new BLessonPerson();
bLessonPerson.initModel();
bLessonPerson.setLessonId(addMyLearnLessonDTO.getLessonId());
bLessonPerson.setPersonId(addMyLearnLessonDTO.getUserId());
line = bLessonPersonRepository.insertBLessonPerson(bLessonPerson);
//课程在学人数+1
bLessonRepository.personNumberPlusOne(addMyLearnLessonDTO.getLessonId());
}
return new PersistModel(line);
}
} }
package org.rcisoft.business.bmaterial.controller;
/*固定导入*/
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.rcisoft.common.controller.PaginationController;
import org.rcisoft.common.model.GridModel;
import org.rcisoft.sys.user.bean.CurUser;
import org.springframework.validation.BindingResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.rcisoft.core.result.Result;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.constant.MessageConstant;
import javax.validation.Valid;
import org.rcisoft.business.bmaterial.entity.BMaterial;
import org.rcisoft.business.bmaterial.service.BMaterialService;
/**
* Created by on 2019-10-12 10:38:31.
*/
@Api(tags = "13 资料")
@RestController
@RequestMapping("bmaterial")
public class BMaterialController extends PaginationController<BMaterial> {
@Autowired
private BMaterialService bMaterialServiceImpl;
@ApiOperation(value="1301 添加保存资料", notes="保存资料")
@PostMapping(value = "/add")
public Result add(CurUser curUser, @Valid BMaterial bMaterial, BindingResult bindingResult) {
PersistModel data = bMaterialServiceImpl.save(bMaterial);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
bMaterial);
}
@ApiOperation(value="1302查看我的资料集合", notes="查看我的资料集合")
@GetMapping(value = "/queryMyBMaterialByPagination")
public Result queryMyBMaterialByPagination(CurUser curUser,BindingResult bindingResult) {
bMaterialServiceImpl.queryMyBMaterialByPagination(getPaginationUtility(), curUser);
GridModel gridModel = getGridModelResponse();
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
gridModel);
}
@ApiOperation(value="1303逻辑删除", notes="逻辑删除")
@ApiImplicitParams({@ApiImplicitParam(name = "id", value = "id", required = false, dataType = "varchar")})
@DeleteMapping("/delete")
public Result delete(CurUser curUser,@Valid String businessId, BindingResult bindingResult) {
BMaterial bMaterial = new BMaterial();
bMaterial.setBusinessId(businessId);
PersistModel data = bMaterialServiceImpl.remove(bMaterial);
return Result.builder(data,
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
businessId);
}
// @ApiOperation(value="修改", notes="修改")
// @ApiImplicitParams({@ApiImplicitParam(name = "businessId", value = "businessId", required = false, dataType = "varchar")})
// @PutMapping("/update/{id:\\w+}")
// public Result update(@Valid BMaterial bMaterial, BindingResult bindingResult) {
// PersistModel data = bMaterialServiceImpl.merge(bMaterial);
// return Result.builder(data,
// MessageConstant.MESSAGE_ALERT_SUCCESS,
// MessageConstant.MESSAGE_ALERT_ERROR,
// bMaterial);
// }
//
// @ApiOperation(value="查看单 ", notes="查看单 ")
// @GetMapping("/detail/{id:\\w+}")
// public Result detail(@PathVariable String id) {
// return Result.builder(new PersistModel(1),
// MessageConstant.MESSAGE_ALERT_SUCCESS,
// MessageConstant.MESSAGE_ALERT_ERROR,
// bMaterialServiceImpl.findById(id));
// }
//
// @ApiOperation(value="查看 集合", notes="查看 集合")
// @GetMapping(value = "/queryBMaterialByPagination")
// public GridModel listByPagination(BMaterial bMaterial) {
// bMaterialServiceImpl.findAllByPagination(getPaginationUtility(), bMaterial);
// return getGridModelResponse();
// }
}
package org.rcisoft.business.bmaterial.dao;
import org.apache.ibatis.annotations.Insert;
import org.rcisoft.core.base.BaseMapper;
import org.rcisoft.business.bmaterial.entity.BMaterial;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.rcisoft.sys.user.bean.CurUser;
import org.springframework.stereotype.Repository;
import java.util.List;
/**
* Created with on 2019-10-12 10:38:31.
*/
@Repository
public interface BMaterialRepository extends BaseMapper<BMaterial> {
/**
* 分页查询 bMaterial
*
*/
@Select("<script>select * from b_material 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<BMaterial> queryBMaterials(BMaterial bMaterial);
@Insert("<script>insert into b_material " +
" (business_id,chapter_id,file_name,file_url, " +
" type,upload_type,file_size,flag,del_flag, " +
" remarks,create_by,update_by,update_date,create_date) " +
" values(#{businessId},#{chapterId},#{fileName},#{fileUrl}, " +
" #{type},#{uploadType},#{fileSize},#{flag},#{delFlag}, " +
" #{remarks},#{createBy},#{updateBy},#{updateDate},#{createDate}) " +
"</script>")
int insertMaterial(BMaterial bMaterial);
@Select("<script>select bm.*,bl.lesson_name lessonName from b_material bm " +
" left join b_chapter bc on bm.chapter_id = bc.business_id " +
" left join b_lesson bl on bc.lesson_id = bl.business_id " +
" where 1=1 " +
" and bm.del_flag != 1 and bm.flag = 1 " +
" and bc.del_flag != 1 and bc.flag = 1 " +
" and bl.del_flag != 1 and bl.flag = 1 " +
" and bm.create_by = #{userId} "+
"</script>")
@ResultMap(value = "BaseResultMap" )
List<BMaterial> queryMyBMaterialByPagination(CurUser curUser);
}
package org.rcisoft.business.bmaterial.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import org.rcisoft.core.entity.IdEntity;
import javax.persistence.*;
/**
* Created with on 2019-10-12 10:38:31.
*/
@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "b_material")
public class BMaterial extends IdEntity<BMaterial> {
@ApiModelProperty(value = "章节ID")
private String chapterId;
@ApiModelProperty(value = "文件名称",required = true)
private String fileName;
@ApiModelProperty(value = "文件地址",required = true)
private String fileUrl;
@ApiModelProperty(value = "文件类型 0视频 1音频 2PPT 3PDF 4资料包(单选)",required = true)
private String type;
@ApiModelProperty(value = "上传类型 0 保存 1 上传")
private String uploadType;
@ApiModelProperty(value = "文件大小",required = true)
private String fileSize;
@Transient
private String lessonName;
}
package org.rcisoft.business.bmaterial.service;
import org.rcisoft.business.bmaterial.entity.BMaterial;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.sys.user.bean.CurUser;
import java.util.List;
/**
* Created by on 2019-10-12 10:38:31.
*/
public interface BMaterialService {
/**
* 保存
* @param bMaterial
* @return
*/
PersistModel save(BMaterial bMaterial);
/**
* 逻辑删除
* @param bMaterial
* @return
*/
PersistModel remove(BMaterial bMaterial);
/**
* 修改
* @param bMaterial
* @return
*/
PersistModel merge(BMaterial bMaterial);
/**
* 根据id查询
* @param id
* @return
*/
BMaterial findById(String id);
/**
* 分页查询
* @param bMaterial
* @return
*/
List<BMaterial> findAllByPagination(PageUtil<BMaterial> paginationUtility,
BMaterial bMaterial);
/**
* 分页查询 (我的资料)
* @param curUser
* @return
*/
List<BMaterial> queryMyBMaterialByPagination(PageUtil<BMaterial> paginationUtility,
CurUser curUser);
}
package org.rcisoft.business.bmaterial.service.impl;
import org.rcisoft.core.util.UserUtil;
import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.model.PersistModel;
import org.rcisoft.business.bmaterial.dao.BMaterialRepository;
import org.rcisoft.business.bmaterial.entity.BMaterial;
import org.rcisoft.business.bmaterial.service.BMaterialService;
import org.rcisoft.sys.user.bean.CurUser;
import org.springframework.beans.factory.annotation.Autowired;
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;
import lombok.extern.slf4j.Slf4j;
/**
* Created by on 2019-10-12 10:38:31.
*/
@Service
@Transactional(readOnly = true,propagation = Propagation.NOT_SUPPORTED)
@Slf4j
public class BMaterialServiceImpl implements BMaterialService {
@Autowired
private BMaterialRepository bMaterialRepository;
/**
* 保存 bMaterial
* @param bMaterial
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel save(BMaterial bMaterial){
//增加操作
UserUtil.setCurrentPersistOperation(bMaterial);
//设置上传类型为 保存
bMaterial.setUploadType("0");
int line = bMaterialRepository.insertSelective(bMaterial);
return new PersistModel(line);
}
/**
* 逻辑删除
* @param bMaterial
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel remove(BMaterial bMaterial){
UserUtil.setCurrentMergeOperation(bMaterial);
bMaterial.setDeleted();
int line = bMaterialRepository.logicalDelete(bMaterial);
return new PersistModel(line);
}
/**
* 修改 bMaterial
* @param bMaterial
* @return
*/
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT)
@Override
public PersistModel merge(BMaterial bMaterial){
UserUtil.setCurrentMergeOperation(bMaterial);
int line = bMaterialRepository.updateByPrimaryKeySelective(bMaterial);
return new PersistModel(line);
}
/**
* 根据id查询 bMaterial
* @param id
* @return
*/
public BMaterial findById(String id){
return bMaterialRepository.selectByPrimaryKey(id);
}
/**
* 分页查询 bMaterial
* @param bMaterial
* @return
*/
public List<BMaterial> findAllByPagination(PageUtil<BMaterial> paginationUtility,
BMaterial bMaterial){
bMaterial.setStart();
bMaterial.setNotDeleted();
return bMaterialRepository.queryBMaterials(bMaterial);
}
/**
* 分页查询 bMaterial(我的资料)
* @param curUser
* @return
*/
public List<BMaterial> queryMyBMaterialByPagination(PageUtil<BMaterial> paginationUtility,
CurUser curUser){
return bMaterialRepository.queryMyBMaterialByPagination(curUser);
}
}
...@@ -2,9 +2,8 @@ package org.rcisoft.business.synchronizationtime.service; ...@@ -2,9 +2,8 @@ package org.rcisoft.business.synchronizationtime.service;
import org.rcisoft.business.synchronizationtime.entity.SynchronizationTime; import org.rcisoft.business.synchronizationtime.entity.SynchronizationTime;
import org.rcisoft.core.model.PersistModel; import org.rcisoft.core.model.PersistModel;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.sys.user.bean.CurUser;
import org.rcisoft.sys.user.dto.MyInfoDTO;
import java.util.List;
/** /**
* Created by on 2019-10-10 20:04:19. * Created by on 2019-10-10 20:04:19.
......
...@@ -89,7 +89,7 @@ public class CurUserAspect { ...@@ -89,7 +89,7 @@ public class CurUserAspect {
RoleMenuDTO roleMenuDTO = new RoleMenuDTO(); RoleMenuDTO roleMenuDTO = new RoleMenuDTO();
roleMenuDTO.setBusinessId(IdGen.uuid()); roleMenuDTO.setBusinessId(IdGen.uuid());
roleMenuDTO.setRoleId(rId); roleMenuDTO.setRoleId(rId);
roleMenuDTO.setMenuId(IdGen.uuid()); roleMenuDTO.setMenuId(menuId);
roleMenuDTOs.add(roleMenuDTO); roleMenuDTOs.add(roleMenuDTO);
}); });
//设置s_r_user_role表插入参数值 //设置s_r_user_role表插入参数值
......
...@@ -164,4 +164,13 @@ public class SysUserController extends PaginationController<SysUser> { ...@@ -164,4 +164,13 @@ public class SysUserController extends PaginationController<SysUser> {
userServiceImpl.queryAllDepart()); userServiceImpl.queryAllDepart());
} }
@ApiOperation(value = "708 我的智学 个人信息",notes = "我的智学 个人信息及课程、培训、考试数量")
@GetMapping("/queryMyInfo")
public Result queryMyInfo(CurUser curUser) {
return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR,
userServiceImpl.queryMyInfo(curUser));
}
} }
...@@ -3,6 +3,8 @@ package org.rcisoft.sys.user.dao; ...@@ -3,6 +3,8 @@ package org.rcisoft.sys.user.dao;
import org.apache.ibatis.annotations.*; import org.apache.ibatis.annotations.*;
import org.rcisoft.core.base.BaseMapper; import org.rcisoft.core.base.BaseMapper;
import org.rcisoft.sys.user.bean.CurUser;
import org.rcisoft.sys.user.dto.MyInfoDTO;
import org.rcisoft.sys.user.dto.QueryMenuResDTO; import org.rcisoft.sys.user.dto.QueryMenuResDTO;
import org.rcisoft.sys.user.dto.QuerySysUserDTO; import org.rcisoft.sys.user.dto.QuerySysUserDTO;
import org.rcisoft.sys.user.entity.SysUser; import org.rcisoft.sys.user.entity.SysUser;
...@@ -196,4 +198,41 @@ public interface SysUserMapper extends BaseMapper<SysUser> { ...@@ -196,4 +198,41 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
"ORDER BY sm.SORT ") "ORDER BY sm.SORT ")
@ResultMap(value = "DtoResultMap") @ResultMap(value = "DtoResultMap")
List<QueryMenuResDTO> queryMenus(@Param("corpId") String corpId, @Param("businessId") String businessId, @Param("modelId") String modelId ); List<QueryMenuResDTO> queryMenus(@Param("corpId") String corpId, @Param("businessId") String businessId, @Param("modelId") String modelId );
@Select("<script>select `name` name ,head_pic headPic, `value` value from s_user where business_id = #{userId}" +
"</script>")
MyInfoDTO queryMyInfo(CurUser curUser);
@Select("<script>select " +
" (select count(1) from " +
" b_lesson_person blp left join b_lesson bl on blp.lesson_id = bl.business_id " +
" where blp.del_flag != 1 AND blp.flag = 1 " +
" and bl.del_flag != 1 AND bl.flag = 1 " +
" and blp.is_finish = 2 " +
" and bl.release_state = 2 " +
" and bl.lesson_type = '0' " +
// " and bl.corp_id = #{corpId} "+
" and blp.person_id = #{userId}) lessonCount, " +
" (select count(1) from " +
" b_lesson_person blp left join b_lesson bl on blp.lesson_id = bl.business_id " +
" where blp.del_flag != 1 AND blp.flag = 1 " +
" and bl.del_flag != 1 AND bl.flag = 1 " +
" and bl.release_state = 2 " +
" and blp.person_id = #{userId}) trainCount, " +
" (select count(1) from " +
" b_lesson_person blp left join b_lesson bl on blp.lesson_id = bl.business_id " +
" where blp.del_flag != 1 AND blp.flag = 1 " +
" and bl.del_flag != 1 AND bl.flag = 1 " +
" and bl.lesson_type = '1' " +
// " and bl.corp_id = #{corpId} "+
" and blp.person_id = #{userId}) notFinishedExam " +
"</script>")
MyInfoDTO queryMyLessonCount(CurUser curUser);
} }
package org.rcisoft.sys.user.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class MyInfoDTO {
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "头像")
private String headPic;
@ApiModelProperty(value = "积分")
private String value;
@ApiModelProperty(value = "课程数")
private String lessonCount;
@ApiModelProperty(value = "培训数")
private String trainCount;
@ApiModelProperty(value = "未完成考试数")
private String notFinishedExam;
}
...@@ -6,6 +6,7 @@ import org.rcisoft.sys.user.dto.QueryMenuResDTO; ...@@ -6,6 +6,7 @@ import org.rcisoft.sys.user.dto.QueryMenuResDTO;
import org.rcisoft.sys.menu.entity.SysMenu; import org.rcisoft.sys.menu.entity.SysMenu;
import org.rcisoft.sys.user.bean.CurUser; import org.rcisoft.sys.user.bean.CurUser;
import org.rcisoft.sys.user.dto.QuerySysUserDTO; import org.rcisoft.sys.user.dto.QuerySysUserDTO;
import org.rcisoft.sys.user.dto.MyInfoDTO;
import org.rcisoft.sys.user.entity.SysUser; import org.rcisoft.sys.user.entity.SysUser;
import java.util.List; import java.util.List;
...@@ -40,4 +41,12 @@ public interface SysUserService { ...@@ -40,4 +41,12 @@ public interface SysUserService {
int insertOrUpdateList(List<SysUser> sysUserList); int insertOrUpdateList(List<SysUser> sysUserList);
int synchronizedUsers(String corpId); int synchronizedUsers(String corpId);
/**
* zhangqingle
* 我的智学也查询个人信息及课程、培训、考试数量
* @param curUser
* @return
*/
MyInfoDTO queryMyInfo(CurUser curUser);
} }
...@@ -10,10 +10,7 @@ import org.rcisoft.common.util.feignDto.MTUserGetsReqDTO; ...@@ -10,10 +10,7 @@ import org.rcisoft.common.util.feignDto.MTUserGetsReqDTO;
import org.rcisoft.common.util.feignDto.MTUserInfoRspDTO; import org.rcisoft.common.util.feignDto.MTUserInfoRspDTO;
import org.rcisoft.common.util.outClient.MTCotactApiRequestClient; import org.rcisoft.common.util.outClient.MTCotactApiRequestClient;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.constant.MessageConstant;
import org.rcisoft.core.exception.ServiceException; 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.result.ResultServiceEnums;
import org.rcisoft.core.util.UserUtil; import org.rcisoft.core.util.UserUtil;
import org.rcisoft.sys.menu.dao.SysMenuRepository; import org.rcisoft.sys.menu.dao.SysMenuRepository;
...@@ -22,9 +19,11 @@ import org.rcisoft.sys.menu.entity.SysMenu; ...@@ -22,9 +19,11 @@ import org.rcisoft.sys.menu.entity.SysMenu;
import org.rcisoft.sys.user.bean.CurUser; import org.rcisoft.sys.user.bean.CurUser;
import org.rcisoft.sys.user.dao.SysUserMapper; import org.rcisoft.sys.user.dao.SysUserMapper;
import org.rcisoft.sys.user.dto.QuerySysUserDTO; import org.rcisoft.sys.user.dto.QuerySysUserDTO;
import org.rcisoft.sys.user.dto.MyInfoDTO;
import org.rcisoft.sys.user.entity.SysUser; import org.rcisoft.sys.user.entity.SysUser;
import org.rcisoft.sys.user.entity.UserRole; import org.rcisoft.sys.user.entity.UserRole;
import org.rcisoft.sys.user.service.SysUserService; import org.rcisoft.sys.user.service.SysUserService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
...@@ -292,4 +291,14 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -292,4 +291,14 @@ public class SysUserServiceImpl implements SysUserService {
} }
return line; return line;
} }
@Override
public MyInfoDTO queryMyInfo(CurUser curUser) {
MyInfoDTO myInfoDTOCount = sysUserMapper.queryMyLessonCount(curUser);
MyInfoDTO myInfoDTO = sysUserMapper.queryMyInfo(curUser);
myInfoDTO.setLessonCount(myInfoDTOCount.getLessonCount());
myInfoDTO.setTrainCount(myInfoDTOCount.getTrainCount());
myInfoDTO.setNotFinishedExam(myInfoDTOCount.getNotFinishedExam());
return myInfoDTO;
}
} }
server:
port: 8081
tomcat:
max-threads: 300
servlet:
context-path: /
#uri-encoding: UTF-8
type: dev1
maxHttpHeaderSize: 102400
#logging:
# level:
# root: INFO
# org.springframework.web: DEBUG
druid:
url: jdbc:mysql://mt_mysql:3306/edu_db?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false
username: root
password: 91isoft
initial-size: 1
min-idle: 1
max-active: 20
test-on-borrow: true
initial-size: 1
min-idle: 1
max-active: 20
test-on-borrow: true
mybatis:
mapper-locations: classpath:mapper/**/**/*.xml
mapper:
mappers:
- org.rcisoft.core.base.BaseMapper
not-empty: false
identity: MYSQL
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
spring:
jackson:
default-property-inclusion: non_null
date-format: yyyy-MM-dd
time-zone: GMT+8
mvc:
throw-exception-if-no-handler-found: true
resources:
add-mappings: false
freemarker:
charset: UTF-8
suffix: .ftl
template-loader-path: classpath:/templates/
servlet:
multipart:
max-file-size: 100MB
max-request-size: 100MB
global:
lk:
publicalias: publiccert
storePwd: rcrtcyedu2
subject: edu2
licPath: /lk/license.lic
pubPath: /lk/publicCerts.store
path:
base_upload_server_location: /working/resource/eduServer/
course_location: course
lesson_location: lesson
sl_location: sl
image_location: /upload
video_location: video
audio_location: audio
temp_location: temp
file_location: file
ppt_location: ppt
pdf_location: pdf
cut_pdf_location: cutPdf
cource_logo_location: /course/logo
other:
is_server_linux: 5
cut_pdf_num: 30
libreoffice:
ip: 192.168.1.125
port: 10188
mt:
api: http://221.239.114.20:6789/api/
eureka:
instance:
hostname: localhost
client:
register-with-eureka: false
fetch-registry: false
\ No newline at end of file
...@@ -72,4 +72,12 @@ ...@@ -72,4 +72,12 @@
</root> </root>
</springProfile> </springProfile>
<springProfile name="mt">
<root level="info">
<appender-ref ref="consoleLog" />
<appender-ref ref="fileInfoLog" />
<appender-ref ref="fileErrorLog" />
</root>
</springProfile>
</configuration> </configuration>
\ No newline at end of file
...@@ -36,8 +36,6 @@ ...@@ -36,8 +36,6 @@
<result column="sort" jdbcType="INTEGER" property="sort"/> <result column="sort" jdbcType="INTEGER" property="sort"/>
<result column="video_url" jdbcType="VARCHAR" property="videoUrl"/> <result column="video_url" jdbcType="VARCHAR" property="videoUrl"/>
<result column="file_url" jdbcType="VARCHAR" property="fileUrl"/> <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="is_complete" jdbcType="VARCHAR" property="isComplete"/> <result column="is_complete" jdbcType="VARCHAR" property="isComplete"/>
<result column="file_name" jdbcType="VARCHAR" property="fileName"/> <result column="file_name" jdbcType="VARCHAR" property="fileName"/>
<result column="course_time" jdbcType="VARCHAR" property="courseTime"/> <result column="course_time" jdbcType="VARCHAR" property="courseTime"/>
...@@ -54,72 +52,6 @@ ...@@ -54,72 +52,6 @@
<result column="chapter_name" property="chapterName"></result> <result column="chapter_name" property="chapterName"></result>
</resultMap> </resultMap>
<!--学生单独使用这个-->
<resultMap id="SupperStudentChildListResultMap" type="org.rcisoft.business.bchapter.entity.BChapter" extends="BaseResultMap">
<association column="{studentId=stuId,paId=business_id}" property="childList" select="queryBChaptersByPidAndUserId">
</association>
</resultMap>
<select id="queryBChaptersByPidAndUserId" parameterType="java.util.Map" resultMap="SupperStudentChildListResultMap">
SELECT bc.*,
#{studentId} AS stuId,
bf.video_url AS videoUrl,
bf.file_url AS fileUrl,
bf.ppt_url AS pptUrl,
bf.pdf_url AS pdfUrl,
pc.business_id AS paperUrl,
IFNULL(t1.is_complete,0) AS isComplete,
IFNULL(t1.paper_finish,0) as paperFinish,
IFNULL(t1.pdf_finish,0) as pdfFinish,
IFNULL(t1.ppt_finish,0) as pptFinish,
IFNULL(t1.video_finish,0) as videoFinish,
(SELECT count(*) FROM b_r_student_chapter brs WHERE brs.chapter_id = bc.business_id AND brs.score = - 1) AS studentNum,
IFNULL(t1.score ,-1) as stuScore
FROM
b_chapter bc
LEFT JOIN b_file bf ON bf.chapter_id = bc.business_id
LEFT JOIN t_paper_chapter pc on pc.chap_id = bc.business_id
LEFT JOIN (SELECT is_complete,ppt_finish,pdf_finish,video_finish,paper_finish,chapter_id,score from b_r_student_chapter brs
LEFT JOIN b_student bs on brs.student_id = bs.business_id
LEFT JOIN s_user su on bs.`code` = su.login_name
LEFT JOIN b_chapter bc on bc.business_id = brs.chapter_id
WHERE su.business_id = #{studentId})
t1 ON t1.chapter_id=bc.business_id
WHERE
bc.del_flag = 0
AND bc.pid = #{paId}
ORDER BY
bc.sort asc
</select>
<!--成绩评定时使用这个-->
<resultMap id="ScoreReportResultMap" type="org.rcisoft.business.bchapter.dto.ScoreReportDto" extends="BaseResultMap">
<association column="{pid=business_id,slId=sl_id}" property="childList" select="scoreReportChildList"></association>
</resultMap>
<select id="scoreReportChildList" parameterType="java.util.Map" resultMap="ScoreReportResultMap">
SELECT DISTINCT bc.business_id,bc.is_test,bc.class_hour,
bc.chapter_name, bc.automatic,bc.sl_id,bc.experiment_type,
ROUND((SELECT AVG(bsc.score) from b_r_student_chapter bsc
where bsc.chapter_id = bc.business_id and score != '-1' and score != '999'),2) as average,
(SELECT MAX(bsc.score) from b_r_student_chapter bsc
where bsc.chapter_id = bc.business_id and score != '-1' and score != '999') as maxScore,
(SELECT MIN(bsc.score) from b_r_student_chapter bsc
where bsc.chapter_id = bc.business_id and score != '-1' and score != '999') as minScore,
(SELECT COUNT(*) from b_r_student_chapter where (score = '-1' or score = '999')
AND sl_id = #{slId} AND chapter_id = bc.business_id AND is_complete = '1') as waitingMark,
(SELECT COUNT(*) from b_r_student_chapter where sl_id = #{slId}
AND chapter_id = bc.business_id AND is_complete = '1') as submit,
(SELECT COUNT(*) from b_r_sl_student brss where brss.sl_code =
(SELECT `code` from b_sl where business_id = #{slId})) as allStudent
from b_chapter bc
where bc.pid = #{pid} order by bc.sort
</select>
<update id="updateToFinish" parameterType="org.rcisoft.business.bchapter.dto.ScoreInfoDTO"> <update id="updateToFinish" parameterType="org.rcisoft.business.bchapter.dto.ScoreInfoDTO">
update b_r_student_chapter update b_r_student_chapter
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.rcisoft.business.bmaterial.dao.BMaterialRepository">
<resultMap id="BaseResultMap" type="org.rcisoft.business.bmaterial.entity.BMaterial">
<id column="business_id" jdbcType="VARCHAR" property="businessId"/>
<result column="chapter_id" jdbcType="VARCHAR" property="chapterId"/>
<result column="file_name" jdbcType="VARCHAR" property="fileName"/>
<result column="file_url" jdbcType="VARCHAR" property="fileUrl"/>
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="upload_type" jdbcType="VARCHAR" property="uploadType"/>
<result column="file_size" jdbcType="VARCHAR" property="fileSize"/>
<result column="flag" jdbcType="VARCHAR" property="flag"/>
<result column="del_flag" jdbcType="VARCHAR" property="delFlag"/>
<result column="remarks" jdbcType="VARCHAR" property="remarks"/>
<result column="create_by" jdbcType="VARCHAR" property="createBy"/>
<result column="update_by" jdbcType="VARCHAR" property="updateBy"/>
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate"/>
<result column="create_date" jdbcType="TIMESTAMP" property="createDate"/>
</resultMap>
<!--<cache type="${corePackag!}.util.RedisCache"/>-->
</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