From 6d4f3e5da7f3374bf2b18de37a6e4cb889c06e39 Mon Sep 17 00:00:00 2001 From: "@t2652009480" <2652009480@qq.com> Date: Sat, 4 Jan 2025 14:36:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=92=E5=8A=A8=E8=AE=A8=E8=AE=BA=E3=80=81?= =?UTF-8?q?=E8=80=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stu/StuInteractionController.java | 4 +- .../tch/TchInteractionController.java | 4 +- .../sztzjy/trade/entity/TchDiscussManage.java | 32 +++++---- .../trade/entity/TchDiscussManageExample.java | 70 +++++++++++++++++++ .../sztzjy/trade/entity/TchProblemInfo.java | 18 ++--- .../trade/mapper/TchDiscussManageMapper.java | 4 +- .../trade/mapper/TchProblemInfoMapper.java | 4 +- .../trade/service/TchInteractionService.java | 2 +- .../impl/StuInteractionServiceImpl.java | 1 + .../service/impl/TchInteractionImpl.java | 13 +++- .../mappers/TchDiscussManageMapper.xml | 29 ++++++-- 11 files changed, 140 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/sztzjy/trade/controller/stu/StuInteractionController.java b/src/main/java/com/sztzjy/trade/controller/stu/StuInteractionController.java index d994ec3..8b45192 100644 --- a/src/main/java/com/sztzjy/trade/controller/stu/StuInteractionController.java +++ b/src/main/java/com/sztzjy/trade/controller/stu/StuInteractionController.java @@ -31,9 +31,9 @@ public class StuInteractionController { @ApiOperation("讨论展示(最新一条)") @PostMapping("/getDiscuss") @AnonymousAccess - public ResultEntity getDiscuss(String userId,String id) { + public ResultEntity getDiscuss(String userId,String id,Integer roleId) { - return new ResultEntity<>(HttpStatus.OK,"成功",tchInteractionService. getDiscuss(userId,id)); + return new ResultEntity<>(HttpStatus.OK,"成功",tchInteractionService. getDiscuss(userId,id,roleId)); } diff --git a/src/main/java/com/sztzjy/trade/controller/tch/TchInteractionController.java b/src/main/java/com/sztzjy/trade/controller/tch/TchInteractionController.java index 0cad266..495d16f 100644 --- a/src/main/java/com/sztzjy/trade/controller/tch/TchInteractionController.java +++ b/src/main/java/com/sztzjy/trade/controller/tch/TchInteractionController.java @@ -34,9 +34,9 @@ public class TchInteractionController { @PostMapping("/getDiscuss") @AnonymousAccess public ResultEntity getDiscuss(@ApiParam("用户ID") String userId, - @ApiParam("ID") String id) { + @ApiParam("ID") String id,Integer roleId) { - return new ResultEntity<>(HttpStatus.OK,"成功",interactionService.getDiscuss(userId,id)); + return new ResultEntity<>(HttpStatus.OK,"成功",interactionService.getDiscuss(userId,id,roleId)); } diff --git a/src/main/java/com/sztzjy/trade/entity/TchDiscussManage.java b/src/main/java/com/sztzjy/trade/entity/TchDiscussManage.java index ad656d1..512848e 100644 --- a/src/main/java/com/sztzjy/trade/entity/TchDiscussManage.java +++ b/src/main/java/com/sztzjy/trade/entity/TchDiscussManage.java @@ -2,10 +2,7 @@ package com.sztzjy.trade.entity; import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; -import org.springframework.format.annotation.DateTimeFormat; - /** * 教师--互动--讨论表 * @@ -13,30 +10,31 @@ import org.springframework.format.annotation.DateTimeFormat; * tch_discuss_manage */ public class TchDiscussManage { - @ApiModelProperty("id") + @ApiModelProperty(notes = "id") private String id; - @ApiModelProperty("讨论ID") + @ApiModelProperty(notes = "讨论ID") private String discussId; - @ApiModelProperty("发布时间") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + @ApiModelProperty(notes = "发布时间") private Date createTime; - @ApiModelProperty("讨论班级(多个班级逗号隔开)") + @ApiModelProperty(notes = "讨论班级(多个班级逗号隔开)") private String visibleClass; - @ApiModelProperty("讨论数") + @ApiModelProperty(notes = "讨论数") private Integer discussionQuantity; - @ApiModelProperty("用户ID") + @ApiModelProperty(notes = "用户ID") private String userId; - @ApiModelProperty("发布者名字") + @ApiModelProperty(notes = "发布者名字") private String name; - @ApiModelProperty("讨论内容") + @ApiModelProperty(notes = "学校ID") + private String schoolId; + + @ApiModelProperty(notes = "讨论内容") private String chatContent; public String getId() { @@ -95,6 +93,14 @@ public class TchDiscussManage { this.name = name == null ? null : name.trim(); } + public String getSchoolId() { + return schoolId; + } + + public void setSchoolId(String schoolId) { + this.schoolId = schoolId == null ? null : schoolId.trim(); + } + public String getChatContent() { return chatContent; } diff --git a/src/main/java/com/sztzjy/trade/entity/TchDiscussManageExample.java b/src/main/java/com/sztzjy/trade/entity/TchDiscussManageExample.java index e3f4c68..0201e99 100644 --- a/src/main/java/com/sztzjy/trade/entity/TchDiscussManageExample.java +++ b/src/main/java/com/sztzjy/trade/entity/TchDiscussManageExample.java @@ -574,6 +574,76 @@ public class TchDiscussManageExample { addCriterion("name not between", value1, value2, "name"); return (Criteria) this; } + + public Criteria andSchoolIdIsNull() { + addCriterion("school_id is null"); + return (Criteria) this; + } + + public Criteria andSchoolIdIsNotNull() { + addCriterion("school_id is not null"); + return (Criteria) this; + } + + public Criteria andSchoolIdEqualTo(String value) { + addCriterion("school_id =", value, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdNotEqualTo(String value) { + addCriterion("school_id <>", value, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdGreaterThan(String value) { + addCriterion("school_id >", value, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdGreaterThanOrEqualTo(String value) { + addCriterion("school_id >=", value, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdLessThan(String value) { + addCriterion("school_id <", value, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdLessThanOrEqualTo(String value) { + addCriterion("school_id <=", value, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdLike(String value) { + addCriterion("school_id like", value, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdNotLike(String value) { + addCriterion("school_id not like", value, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdIn(List values) { + addCriterion("school_id in", values, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdNotIn(List values) { + addCriterion("school_id not in", values, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdBetween(String value1, String value2) { + addCriterion("school_id between", value1, value2, "schoolId"); + return (Criteria) this; + } + + public Criteria andSchoolIdNotBetween(String value1, String value2) { + addCriterion("school_id not between", value1, value2, "schoolId"); + return (Criteria) this; + } } public static class Criteria extends GeneratedCriteria { diff --git a/src/main/java/com/sztzjy/trade/entity/TchProblemInfo.java b/src/main/java/com/sztzjy/trade/entity/TchProblemInfo.java index 989bf07..9950236 100644 --- a/src/main/java/com/sztzjy/trade/entity/TchProblemInfo.java +++ b/src/main/java/com/sztzjy/trade/entity/TchProblemInfo.java @@ -10,31 +10,31 @@ import io.swagger.annotations.ApiModelProperty; * tch_problem_info */ public class TchProblemInfo { - @ApiModelProperty("教师提问ID") + @ApiModelProperty(notes = "教师提问ID") private String id; - @ApiModelProperty("提问时间") + @ApiModelProperty(notes = "提问时间") private Date questionTime; - @ApiModelProperty("提问的学生") + @ApiModelProperty(notes = "提问的学生") private String questionStudent; - @ApiModelProperty("提问的方式") + @ApiModelProperty(notes = "提问的方式") private String questionFormat; - @ApiModelProperty("所属班级") + @ApiModelProperty(notes = "所属班级") private String classAffiliation; - @ApiModelProperty("用户ID") + @ApiModelProperty(notes = "用户ID") private String userId; - @ApiModelProperty("提问学生的ID") + @ApiModelProperty(notes = "提问学生的ID") private String questionUserId; - @ApiModelProperty("提问的内容") + @ApiModelProperty(notes = "提问的内容") private String content; - @ApiModelProperty("回答") + @ApiModelProperty(notes = "回答") private String answer; public String getId() { diff --git a/src/main/java/com/sztzjy/trade/mapper/TchDiscussManageMapper.java b/src/main/java/com/sztzjy/trade/mapper/TchDiscussManageMapper.java index 21fda7c..6f20008 100644 --- a/src/main/java/com/sztzjy/trade/mapper/TchDiscussManageMapper.java +++ b/src/main/java/com/sztzjy/trade/mapper/TchDiscussManageMapper.java @@ -3,10 +3,8 @@ package com.sztzjy.trade.mapper; import com.sztzjy.trade.entity.TchDiscussManage; import com.sztzjy.trade.entity.TchDiscussManageExample; import java.util.List; - -import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -@Mapper + public interface TchDiscussManageMapper { long countByExample(TchDiscussManageExample example); diff --git a/src/main/java/com/sztzjy/trade/mapper/TchProblemInfoMapper.java b/src/main/java/com/sztzjy/trade/mapper/TchProblemInfoMapper.java index b0e2927..77d1faa 100644 --- a/src/main/java/com/sztzjy/trade/mapper/TchProblemInfoMapper.java +++ b/src/main/java/com/sztzjy/trade/mapper/TchProblemInfoMapper.java @@ -3,10 +3,8 @@ package com.sztzjy.trade.mapper; import com.sztzjy.trade.entity.TchProblemInfo; import com.sztzjy.trade.entity.TchProblemInfoExample; import java.util.List; - -import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; -@Mapper + public interface TchProblemInfoMapper { long countByExample(TchProblemInfoExample example); diff --git a/src/main/java/com/sztzjy/trade/service/TchInteractionService.java b/src/main/java/com/sztzjy/trade/service/TchInteractionService.java index 7cf463b..ad65e4a 100644 --- a/src/main/java/com/sztzjy/trade/service/TchInteractionService.java +++ b/src/main/java/com/sztzjy/trade/service/TchInteractionService.java @@ -16,7 +16,7 @@ import java.util.List; * @date 2024/8/15 11:05 */ public interface TchInteractionService { - TchDiscussInfoDTO getDiscuss(String userId,String id); + TchDiscussInfoDTO getDiscuss(String userId,String id,Integer roleId); Integer publish(TchReleaseDTO releaseDTO); diff --git a/src/main/java/com/sztzjy/trade/service/impl/StuInteractionServiceImpl.java b/src/main/java/com/sztzjy/trade/service/impl/StuInteractionServiceImpl.java index 8caeb42..b6936bb 100644 --- a/src/main/java/com/sztzjy/trade/service/impl/StuInteractionServiceImpl.java +++ b/src/main/java/com/sztzjy/trade/service/impl/StuInteractionServiceImpl.java @@ -44,6 +44,7 @@ public class StuInteractionServiceImpl implements StuInteractionService { tchDiscussManage.setChatContent(releaseDTO.getChatContent()); tchDiscussManage.setUserId(releaseDTO.getUserId()); tchDiscussManage.setName(name); + tchDiscussManage.setSchoolId(stuUser.getSchoolId()); diff --git a/src/main/java/com/sztzjy/trade/service/impl/TchInteractionImpl.java b/src/main/java/com/sztzjy/trade/service/impl/TchInteractionImpl.java index 7d0e723..ca850fa 100644 --- a/src/main/java/com/sztzjy/trade/service/impl/TchInteractionImpl.java +++ b/src/main/java/com/sztzjy/trade/service/impl/TchInteractionImpl.java @@ -40,16 +40,23 @@ public class TchInteractionImpl implements TchInteractionService { TchProblemInfoMapper tchProblemInfoMapper; @Override - public TchDiscussInfoDTO getDiscuss(String userId,String priId) { + public TchDiscussInfoDTO getDiscuss(String userId,String priId,Integer roleId) { List tchDiscussManages=new ArrayList<>(); - if(priId==null){ //默认为最新的一条 + if(priId==null || priId.isEmpty()){ //默认为最新的一条 // TODO: 2024/8/15 1、查询已发布的讨论信息,取到最新一条,2、获取讨论ID,查询所有学生回复的讨论信息,3、根据学生回复的讨论ID查询老师的回复 + StuUser stuUser = stuUserMapper.selectByPrimaryKey(userId); + //1、查询已发布的讨论信息,取到最新一条 TchDiscussManageExample discussManageExample=new TchDiscussManageExample(); - discussManageExample.createCriteria().andUserIdEqualTo(userId); + if (roleId==4){ + discussManageExample.createCriteria().andSchoolIdEqualTo(stuUser.getSchoolId()); + }else { + discussManageExample.createCriteria().andUserIdEqualTo(userId); + } + discussManageExample.setOrderByClause("create_time DESC"); tchDiscussManages = discussManageMapper.selectByExampleWithBLOBs(discussManageExample); }else { //根据id查询讨论信息 diff --git a/src/main/resources/mappers/TchDiscussManageMapper.xml b/src/main/resources/mappers/TchDiscussManageMapper.xml index 986a17b..d358b5a 100644 --- a/src/main/resources/mappers/TchDiscussManageMapper.xml +++ b/src/main/resources/mappers/TchDiscussManageMapper.xml @@ -9,6 +9,7 @@ + @@ -72,7 +73,7 @@ - id, discuss_id, create_time, visible_class, discussion_quantity, user_id, name + id, discuss_id, create_time, visible_class, discussion_quantity, user_id, name, school_id chat_content @@ -128,10 +129,12 @@ insert into tch_discuss_manage (id, discuss_id, create_time, visible_class, discussion_quantity, user_id, - name, chat_content) + name, school_id, chat_content + ) values (#{id,jdbcType=VARCHAR}, #{discussId,jdbcType=VARCHAR}, #{createTime,jdbcType=TIMESTAMP}, #{visibleClass,jdbcType=VARCHAR}, #{discussionQuantity,jdbcType=INTEGER}, #{userId,jdbcType=VARCHAR}, - #{name,jdbcType=VARCHAR}, #{chatContent,jdbcType=LONGVARCHAR}) + #{name,jdbcType=VARCHAR}, #{schoolId,jdbcType=VARCHAR}, #{chatContent,jdbcType=LONGVARCHAR} + ) insert into tch_discuss_manage @@ -157,6 +160,9 @@ name, + + school_id, + chat_content, @@ -183,6 +189,9 @@ #{name,jdbcType=VARCHAR}, + + #{schoolId,jdbcType=VARCHAR}, + #{chatContent,jdbcType=LONGVARCHAR}, @@ -218,6 +227,9 @@ name = #{record.name,jdbcType=VARCHAR}, + + school_id = #{record.schoolId,jdbcType=VARCHAR}, + chat_content = #{record.chatContent,jdbcType=LONGVARCHAR}, @@ -235,6 +247,7 @@ discussion_quantity = #{record.discussionQuantity,jdbcType=INTEGER}, user_id = #{record.userId,jdbcType=VARCHAR}, name = #{record.name,jdbcType=VARCHAR}, + school_id = #{record.schoolId,jdbcType=VARCHAR}, chat_content = #{record.chatContent,jdbcType=LONGVARCHAR} @@ -248,7 +261,8 @@ visible_class = #{record.visibleClass,jdbcType=VARCHAR}, discussion_quantity = #{record.discussionQuantity,jdbcType=INTEGER}, user_id = #{record.userId,jdbcType=VARCHAR}, - name = #{record.name,jdbcType=VARCHAR} + name = #{record.name,jdbcType=VARCHAR}, + school_id = #{record.schoolId,jdbcType=VARCHAR} @@ -274,6 +288,9 @@ name = #{name,jdbcType=VARCHAR}, + + school_id = #{schoolId,jdbcType=VARCHAR}, + chat_content = #{chatContent,jdbcType=LONGVARCHAR}, @@ -288,6 +305,7 @@ discussion_quantity = #{discussionQuantity,jdbcType=INTEGER}, user_id = #{userId,jdbcType=VARCHAR}, name = #{name,jdbcType=VARCHAR}, + school_id = #{schoolId,jdbcType=VARCHAR}, chat_content = #{chatContent,jdbcType=LONGVARCHAR} where id = #{id,jdbcType=VARCHAR} @@ -298,7 +316,8 @@ visible_class = #{visibleClass,jdbcType=VARCHAR}, discussion_quantity = #{discussionQuantity,jdbcType=INTEGER}, user_id = #{userId,jdbcType=VARCHAR}, - name = #{name,jdbcType=VARCHAR} + name = #{name,jdbcType=VARCHAR}, + school_id = #{schoolId,jdbcType=VARCHAR} where id = #{id,jdbcType=VARCHAR} \ No newline at end of file