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