From d0ba0324430a0010ecf47e5cc0e4df609d586cfd Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期三, 19 六月 2024 11:31:00 +0800 Subject: [PATCH] 会议学生端查询 --- src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java | 5 ++ src/main/java/com/ycl/jxkg/controller/student/MeetController.java | 2 src/main/java/com/ycl/jxkg/service/MeetService.java | 2 + src/main/java/com/ycl/jxkg/domain/query/MeetQuery.java | 2 + src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java | 8 ++++ src/main/resources/mapper/MeetMapper.xml | 18 ++++++--- src/main/java/com/ycl/jxkg/controller/admin/MeetController.java | 1 src/main/java/com/ycl/jxkg/domain/form/MeetForm.java | 12 +++-- src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java | 42 ++++++++++++++++++--- src/main/java/com/ycl/jxkg/domain/entity/Meet.java | 4 +- src/main/resources/mapper/ClassesUserMapper.xml | 5 ++ 11 files changed, 80 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java b/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java index a8bf54c..04bc5f7 100644 --- a/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java +++ b/src/main/java/com/ycl/jxkg/controller/admin/MeetController.java @@ -72,4 +72,5 @@ public Result list() { return meetService.all(); } + } diff --git a/src/main/java/com/ycl/jxkg/controller/student/MeetController.java b/src/main/java/com/ycl/jxkg/controller/student/MeetController.java index 9445374..fc55f09 100644 --- a/src/main/java/com/ycl/jxkg/controller/student/MeetController.java +++ b/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}") diff --git a/src/main/java/com/ycl/jxkg/domain/entity/Meet.java b/src/main/java/com/ycl/jxkg/domain/entity/Meet.java index 6bb8085..bde6ee1 100644 --- a/src/main/java/com/ycl/jxkg/domain/entity/Meet.java +++ b/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") /** 鍒涘缓浜� */ diff --git a/src/main/java/com/ycl/jxkg/domain/form/MeetForm.java b/src/main/java/com/ycl/jxkg/domain/form/MeetForm.java index 95c1c59..ff451ce 100644 --- a/src/main/java/com/ycl/jxkg/domain/form/MeetForm.java +++ b/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}) diff --git a/src/main/java/com/ycl/jxkg/domain/query/MeetQuery.java b/src/main/java/com/ycl/jxkg/domain/query/MeetQuery.java index 140677e..53ebb51 100644 --- a/src/main/java/com/ycl/jxkg/domain/query/MeetQuery.java +++ b/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; } diff --git a/src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java b/src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java index a6a3c59..657f4d6 100644 --- a/src/main/java/com/ycl/jxkg/domain/vo/MeetVO.java +++ b/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 鏈紑濮�/杩涜涓�/宸茬粨鏉� */ diff --git a/src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java b/src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java index 9922c55..ec6adfd 100644 --- a/src/main/java/com/ycl/jxkg/mapper/ClassesUserMapper.java +++ b/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); } diff --git a/src/main/java/com/ycl/jxkg/service/MeetService.java b/src/main/java/com/ycl/jxkg/service/MeetService.java index e1791fd..82d4bbc 100644 --- a/src/main/java/com/ycl/jxkg/service/MeetService.java +++ b/src/main/java/com/ycl/jxkg/service/MeetService.java @@ -62,4 +62,6 @@ * @return */ Result all(); + + Result studentPage(MeetQuery query); } diff --git a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java b/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java index 137c43d..50ba3f3 100644 --- a/src/main/java/com/ycl/jxkg/service/impl/MeetServiceImpl.java +++ b/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 @@ // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊 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()); diff --git a/src/main/resources/mapper/ClassesUserMapper.xml b/src/main/resources/mapper/ClassesUserMapper.xml index 23d914e..3d1df1e 100644 --- a/src/main/resources/mapper/ClassesUserMapper.xml +++ b/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> diff --git a/src/main/resources/mapper/MeetMapper.xml b/src/main/resources/mapper/MeetMapper.xml index ef9c874..aeef8be 100644 --- a/src/main/resources/mapper/MeetMapper.xml +++ b/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> -- Gitblit v1.8.0