src/main/java/com/ycl/jxkg/controller/admin/MeetController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/controller/student/MeetController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/entity/Meet.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/form/MeetForm.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/query/MeetQuery.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/MeetService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/ClassesUserMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/MeetMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ycl/jxkg/controller/admin/MeetController.java
@@ -72,4 +72,5 @@ public Result list() { return meetService.all(); } } src/main/java/com/ycl/jxkg/controller/student/MeetController.java
@@ -33,7 +33,7 @@ @GetMapping("/page") @ApiOperation(value = "分页", notes = "分页") public Result page(MeetQuery query) { return meetService.page(query); return meetService.studentPage(query); } @GetMapping("/{id}") src/main/java/com/ycl/jxkg/domain/entity/Meet.java
@@ -27,9 +27,9 @@ /** 会议封面 */ private String meetCover; @TableField("student_ids") @TableField("classed_id") /** 学生id */ private String studentIds; private Integer classesId; @TableField("create_user") /** 创建人 */ src/main/java/com/ycl/jxkg/domain/form/MeetForm.java
@@ -1,11 +1,13 @@ package com.ycl.jxkg.domain.form; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.jxkg.group.Update; import com.ycl.jxkg.group.Add; import com.ycl.jxkg.domain.base.AbsForm; import com.ycl.jxkg.domain.entity.Meet; import org.springframework.beans.BeanUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; @@ -29,24 +31,24 @@ @ApiModelProperty("会议名") private String meetName; @NotBlank(message = "会议封面不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("会议封面") private String meetCover; @NotBlank(message = "学生id不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("学生id") private List<Integer> studentIds; @NotNull(message = "班级id不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("班级id") private Integer classesId; @NotNull(message = "创建人不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("创建人") private Integer createUser; @NotNull(message = "开始时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("开始时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; @NotNull(message = "结束时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("结束时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; @NotNull(message = "状态 0/1/2 未开始/进行中/已结束不能为空", groups = {Add.class, Update.class}) src/main/java/com/ycl/jxkg/domain/query/MeetQuery.java
@@ -18,5 +18,7 @@ @Data @ApiModel(value = "Meet查询", description = "会议表查询") public class MeetQuery extends AbsQuery { private List<Integer> classesIds; private Integer teacherId; } src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java
@@ -1,5 +1,6 @@ package com.ycl.jxkg.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import com.ycl.jxkg.domain.base.AbsVo; import com.ycl.jxkg.domain.entity.Meet; @@ -27,15 +28,17 @@ private String meetCover; /** 学生id */ private List<Integer> studentIds; private Integer classesId; /** 创建人 */ private Integer createUser; /** 开始时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; /** 结束时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; /** 状态 0/1/2 未开始/进行中/已结束 */ src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java
@@ -41,4 +41,12 @@ * @return */ List<StudentExamInfoVO> getClassesUserList(@Param("classesId") Integer classesId); /** * 根据学生获取班级 * * @param userId * @return */ List<Integer> getClassesByUserId(@Param("userId") Integer userId); } src/main/java/com/ycl/jxkg/service/MeetService.java
@@ -62,4 +62,6 @@ * @return */ Result all(); Result studentPage(MeetQuery query); } src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.ycl.jxkg.context.WebContext; import com.ycl.jxkg.domain.entity.Meet; import com.ycl.jxkg.mapper.ClassesUserMapper; import com.ycl.jxkg.mapper.MeetMapper; import com.ycl.jxkg.service.MeetService; import com.ycl.jxkg.base.Result; @@ -12,11 +13,14 @@ import com.ycl.jxkg.domain.vo.MeetVO; import com.ycl.jxkg.domain.query.MeetQuery; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.userdetails.User; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import com.ycl.jxkg.utils.PageUtil; import org.springframework.beans.BeanUtils; import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; @@ -35,7 +39,9 @@ private final MeetMapper meetMapper; @Autowired protected WebContext webContext; private WebContext webContext; @Autowired private ClassesUserMapper classesUserMapper; /** * 添加 * @param form @@ -44,7 +50,6 @@ @Override public Result add(MeetForm form) { Meet entity = MeetForm.getEntityByForm(form, null); entity.setStudentIds(JSONArray.toJSONString(form.getStudentIds())); entity.setCreateUser(webContext.getCurrentUser().getId()); baseMapper.insert(entity); return Result.ok("添加成功"); @@ -62,7 +67,6 @@ // 为空抛IllegalArgumentException,做全局异常处理 Assert.notNull(entity, "记录不存在"); BeanUtils.copyProperties(form, entity); entity.setStudentIds(JSONArray.toJSONString(form.getStudentIds())); baseMapper.updateById(entity); return Result.ok("修改成功"); } @@ -90,13 +94,14 @@ } /** * 分页查询 * 教师分页查询 * @param query * @return */ @Override public Result page(MeetQuery query) { Integer id = webContext.getCurrentUser().getId(); query.setTeacherId(id); IPage<Meet> page = PageUtil.getPage(query, Meet.class); baseMapper.getPage(page, query); List<Meet> records = page.getRecords(); @@ -104,7 +109,32 @@ for (Meet record : records) { MeetVO meetVO = new MeetVO(); BeanUtils.copyProperties(record,meetVO); meetVO.setStudentIds(JSONArray.parseArray(record.getStudentIds(),Integer.class)); vos.add(meetVO); } return Result.ok().data(vos).total(page.getTotal()); } /** * 学生分页查询 * @param query * @return */ @Override public Result studentPage(MeetQuery query) { Integer userId = webContext.getCurrentUser().getId(); //查出学生所在班级 List<Integer> classes = classesUserMapper.getClassesByUserId(userId); if(CollectionUtils.isEmpty(classes)){ return Result.ok("您暂未加入班级"); } query.setClassesIds(classes); IPage<Meet> page = PageUtil.getPage(query, Meet.class); baseMapper.getPage(page, query); List<Meet> records = page.getRecords(); List<MeetVO> vos = new ArrayList<>(); for (Meet record : records) { MeetVO meetVO = new MeetVO(); BeanUtils.copyProperties(record,meetVO); vos.add(meetVO); } return Result.ok().data(vos).total(page.getTotal()); src/main/resources/mapper/ClassesUserMapper.xml
@@ -70,4 +70,9 @@ TCU.deleted = 0 </select> <select id="getClassesByUserId" resultType="java.lang.Integer"> select classes_id from t_classes_user where user_id = #{userId} and deleted = 0 </select> </mapper> src/main/resources/mapper/MeetMapper.xml
@@ -6,7 +6,7 @@ <resultMap id="BaseResultMap" type="com.ycl.jxkg.domain.entity.Meet"> <result column="meet_name" property="meetName" /> <result column="meet_cover" property="meetCover" /> <result column="student_ids" property="studentIds" /> <result column="classes_id" property="classesId" /> <result column="create_user" property="createUser" /> <result column="start_time" property="startTime" /> <result column="end_time" property="endTime" /> @@ -18,7 +18,7 @@ SELECT TM.meet_name, TM.meet_cover, TM.student_ids, TM.classes_id, TM.create_user, TM.start_time, TM.end_time, @@ -35,7 +35,7 @@ SELECT TM.meet_name, TM.meet_cover, TM.student_ids, TM.classes_id, TM.create_user, TM.start_time, TM.end_time, @@ -44,9 +44,15 @@ FROM t_meet TM <where> TM.deleted = 0 <if test="studentId!=null"> and TM.deleted = 0 and TC.deleted = 0 <if test="query.classesIds !=null"> and classes_id in <foreach collection="query.classesIds" item="classesId" open="(" close=")" separator=","> #{classesId} </foreach> </if> <if test="query.teacherId!=null"> and create_user = #{query.teacherId} </if> </where> </select>