Bladeren bron

作业评论部分

Joburgess 5 jaren geleden
bovenliggende
commit
dd935bf69c
17 gewijzigde bestanden met toevoegingen van 357 en 101 verwijderingen
  1. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkController.java
  2. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkTemplateController.java
  3. 0 21
      mec-web/src/main/java/com/ym/mec/web/controller/education/DemoController.java
  4. 0 21
      mec-web/src/main/java/com/ym/mec/web/controller/student/DemoController.java
  5. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentAttendanceController.java
  6. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCourseHomeworkController.java
  7. 46 0
      mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCourseHomeworkReplyController.java
  8. 0 21
      mec-web/src/main/java/com/ym/mec/web/controller/system/DemoController.java
  9. 0 21
      mec-web/src/main/java/com/ym/mec/web/controller/teacher/DemoController.java
  10. 1 1
      mec-web/src/main/java/com/ym/mec/web/controller/teacher/TeacherAttendanceController.java
  11. 15 0
      mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentCourseHomeworkReplyDao.java
  12. 81 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentCourseHomeworkCommentDto.java
  13. 69 0
      mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentCourseHomeworkReplyDto.java
  14. 33 0
      mec-web/src/main/java/com/ym/mec/web/dal/page/StudentCourseHomeworkReplyQueryInfo.java
  15. 63 1
      mec-web/src/main/java/com/ym/mec/web/service/impl/StudentCourseHomeworkReplyServiceImpl.java
  16. 0 8
      mec-web/src/main/java/com/ym/mec/web/service/impl/StudentCourseHomeworkServiceImpl.java
  17. 45 3
      mec-web/src/main/resources/config/mybatis/StudentCourseHomeworkReplyMapper.xml

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/CourseHomeworkController.java → mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkController.java

@@ -1,4 +1,4 @@
-package com.ym.mec.web.controller;
+package com.ym.mec.web.controller.education;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.web.dal.page.CourseHomeworkQueryInfo;

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/CourseHomeworkTemplateController.java → mec-web/src/main/java/com/ym/mec/web/controller/education/CourseHomeworkTemplateController.java

@@ -1,4 +1,4 @@
-package com.ym.mec.web.controller;
+package com.ym.mec.web.controller.education;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.web.dal.entity.CourseHomeworkTemplate;

+ 0 - 21
mec-web/src/main/java/com/ym/mec/web/controller/education/DemoController.java

@@ -1,21 +0,0 @@
-package com.ym.mec.web.controller.education;
-
-import io.swagger.annotations.Api;
-
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.ym.mec.common.controller.BaseController;
-
-@RequestMapping("edu")
-@Api(tags = "Demo")
-@RestController
-public class DemoController extends BaseController {
-
-
-    @PostMapping("/queryPage")
-    public Object queryPage(){
-        return succeed();
-    }
-}

+ 0 - 21
mec-web/src/main/java/com/ym/mec/web/controller/student/DemoController.java

@@ -1,21 +0,0 @@
-package com.ym.mec.web.controller.student;
-
-import io.swagger.annotations.Api;
-
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.ym.mec.common.controller.BaseController;
-
-@RequestMapping("student")
-@Api(tags = "Demo")
-@RestController
-public class DemoController extends BaseController {
-
-
-    @PostMapping("/queryPage")
-    public Object queryPage(){
-        return succeed();
-    }
-}

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/StudentAttendanceController.java → mec-web/src/main/java/com/ym/mec/web/controller/student/StudentAttendanceController.java

@@ -1,4 +1,4 @@
-package com.ym.mec.web.controller;
+package com.ym.mec.web.controller.student;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.web.dal.entity.StudentAttendance;

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/StudentCourseHomeworkController.java → mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCourseHomeworkController.java

@@ -1,4 +1,4 @@
-package com.ym.mec.web.controller;
+package com.ym.mec.web.controller.student;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.web.dal.entity.StudentCourseHomework;

+ 46 - 0
mec-web/src/main/java/com/ym/mec/web/controller/student/StudentCourseHomeworkReplyController.java

@@ -0,0 +1,46 @@
+package com.ym.mec.web.controller.student;
+
+import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.web.dal.entity.StudentCourseHomeworkReply;
+import com.ym.mec.web.dal.page.StudentCourseHomeworkReplyQueryInfo;
+import com.ym.mec.web.service.StudentCourseHomeworkReplyService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+
+@RequestMapping("studentCourseHomeworkReply")
+@Api(tags = "作业评论")
+@RestController
+public class StudentCourseHomeworkReplyController extends BaseController {
+
+    @Autowired
+    private StudentCourseHomeworkReplyService studentCourseHomeworkReplyService;
+
+    @ApiOperation(value = "新增回复")
+    @PostMapping("/add")
+    public Object add(@RequestBody StudentCourseHomeworkReply studentCourseHomeworkReply) {
+        studentCourseHomeworkReplyService.insert(studentCourseHomeworkReply);
+        return succeed();
+    }
+
+    @ApiOperation(value = "回复查询")
+    @GetMapping("/queryPage")
+    public Object queryPage(@RequestBody StudentCourseHomeworkReplyQueryInfo queryInfo){
+        return succeed(studentCourseHomeworkReplyService.queryPage(queryInfo));
+    }
+
+    @ApiOperation(value = "删除回复")
+    @DeleteMapping("/del/{id}")
+    public Object del(@ApiParam(value = "回复ID", required = true) @PathVariable("id") Long id){
+        studentCourseHomeworkReplyService.delete(id);
+        return succeed();
+    }
+
+}

+ 0 - 21
mec-web/src/main/java/com/ym/mec/web/controller/system/DemoController.java

@@ -1,21 +0,0 @@
-package com.ym.mec.web.controller.system;
-
-import io.swagger.annotations.Api;
-
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.ym.mec.common.controller.BaseController;
-
-@RequestMapping("system")
-@Api(tags = "Demo")
-@RestController
-public class DemoController extends BaseController {
-
-
-    @PostMapping("/queryPage")
-    public Object queryPage(){
-        return succeed();
-    }
-}

+ 0 - 21
mec-web/src/main/java/com/ym/mec/web/controller/teacher/DemoController.java

@@ -1,21 +0,0 @@
-package com.ym.mec.web.controller.teacher;
-
-import io.swagger.annotations.Api;
-
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.ym.mec.common.controller.BaseController;
-
-@RequestMapping("teacher")
-@Api(tags = "Demo")
-@RestController
-public class DemoController extends BaseController {
-
-
-    @PostMapping("/queryPage")
-    public Object queryPage(){
-        return succeed();
-    }
-}

+ 1 - 1
mec-web/src/main/java/com/ym/mec/web/controller/TeacherAttendanceController.java → mec-web/src/main/java/com/ym/mec/web/controller/teacher/TeacherAttendanceController.java

@@ -1,4 +1,4 @@
-package com.ym.mec.web.controller;
+package com.ym.mec.web.controller.teacher;
 
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.web.dal.dto.TeacherSignOutDto;

+ 15 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dao/StudentCourseHomeworkReplyDao.java

@@ -3,7 +3,22 @@ package com.ym.mec.web.dal.dao;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.web.dal.entity.StudentCourseHomeworkReply;
 
+import java.util.List;
+
 public interface StudentCourseHomeworkReplyDao extends BaseDAO<Long, StudentCourseHomeworkReply> {
 
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/19
+     * 获取对应作业下所有回复
+     */
+    List<StudentCourseHomeworkReply> findAllReplyByStudentCourseHomeworkID(Long studentCourseHomeworkID);
+
+    /**
+     * @Author: Joburgess
+     * @Date: 2019/9/19
+     * 根据ID批量删除
+     */
+    int batchDeleteReplys(List<Long> ids);
 	
 }

+ 81 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentCourseHomeworkCommentDto.java

@@ -0,0 +1,81 @@
+package com.ym.mec.web.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public class StudentCourseHomeworkCommentDto {
+
+    @ApiModelProperty(value = "回复ID",required = false)
+    private Long replyId;
+
+    /** 留言人编号 */
+    @ApiModelProperty(value = "留言人编号",required = true)
+    private Integer userId;
+
+    @ApiModelProperty(value = "留言人姓名",required = false)
+    private String userName;
+
+    /** 留言内容 */
+    @ApiModelProperty(value = "留言内容",required = true)
+    private String content;
+
+    /**  */
+    private java.util.Date createTime;
+
+    @ApiModelProperty(value = "回复",required = false)
+    private List<StudentCourseHomeworkCommentDto> replys;
+
+    public Long getReplyId() {
+        return replyId;
+    }
+
+    public void setReplyId(Long replyId) {
+        this.replyId = replyId;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public List<StudentCourseHomeworkCommentDto> getReplys() {
+        return replys;
+    }
+
+    public void setReplys(List<StudentCourseHomeworkCommentDto> replys) {
+        this.replys = replys;
+    }
+}

+ 69 - 0
mec-web/src/main/java/com/ym/mec/web/dal/dto/StudentCourseHomeworkReplyDto.java

@@ -0,0 +1,69 @@
+package com.ym.mec.web.dal.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+
+import java.util.Date;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public class StudentCourseHomeworkReplyDto {
+
+    @ApiModelProperty(value = "回复ID",required = false)
+    private Long replyId;
+
+    /** 留言人编号 */
+    @ApiModelProperty(value = "留言人编号",required = true)
+    private Integer userId;
+
+    @ApiModelProperty(value = "留言人姓名",required = false)
+    private String userName;
+
+    /** 留言内容 */
+    @ApiModelProperty(value = "留言内容",required = true)
+    private String content;
+
+    /**  */
+    private java.util.Date createTime;
+
+    public Long getReplyId() {
+        return replyId;
+    }
+
+    public void setReplyId(Long replyId) {
+        this.replyId = replyId;
+    }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+}

+ 33 - 0
mec-web/src/main/java/com/ym/mec/web/dal/page/StudentCourseHomeworkReplyQueryInfo.java

@@ -0,0 +1,33 @@
+package com.ym.mec.web.dal.page;
+
+import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Author Joburgess
+ * @Date 2019/9/19
+ */
+public class StudentCourseHomeworkReplyQueryInfo extends QueryInfo {
+
+    @ApiModelProperty(value = "学生作业ID",required = true)
+    private Long studentCourseHomeworkId;
+
+    @ApiModelProperty(value = "父级评论ID")
+    private Long parentID;
+
+    public Long getStudentCourseHomeworkId() {
+        return studentCourseHomeworkId;
+    }
+
+    public void setStudentCourseHomeworkId(Long studentCourseHomeworkId) {
+        this.studentCourseHomeworkId = studentCourseHomeworkId;
+    }
+
+    public Long getParentID() {
+        return parentID;
+    }
+
+    public void setParentID(Long parentID) {
+        this.parentID = parentID;
+    }
+}

+ 63 - 1
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentCourseHomeworkReplyServiceImpl.java

@@ -1,22 +1,84 @@
 package com.ym.mec.web.service.impl;
 
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.web.dal.dao.StudentCourseHomeworkReplyDao;
+import com.ym.mec.web.dal.dto.StudentCourseHomeworkCommentDto;
 import com.ym.mec.web.dal.entity.StudentCourseHomeworkReply;
+import com.ym.mec.web.dal.page.StudentCourseHomeworkReplyQueryInfo;
 import com.ym.mec.web.service.StudentCourseHomeworkReplyService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 public class StudentCourseHomeworkReplyServiceImpl extends BaseServiceImpl<Long, StudentCourseHomeworkReply> implements StudentCourseHomeworkReplyService {
 	
 	@Autowired
 	private StudentCourseHomeworkReplyDao studentCourseHomeworkReplyDao;
 
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
+
 	@Override
 	public BaseDAO<Long, StudentCourseHomeworkReply> getDAO() {
 		return studentCourseHomeworkReplyDao;
 	}
-	
+
+	@Override
+	public long insert(StudentCourseHomeworkReply bean) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		bean.setUserId(user.getId());
+		return super.insert(bean);
+	}
+
+	@Override
+	public PageInfo queryPage(QueryInfo queryInfo) {
+		StudentCourseHomeworkReplyQueryInfo studentCourseHomeworkReplyQueryInfo= (StudentCourseHomeworkReplyQueryInfo) queryInfo;
+		studentCourseHomeworkReplyQueryInfo.setParentID(null);
+		PageInfo studentCourseHomeworkReplyPageInfo = super.queryPage(studentCourseHomeworkReplyQueryInfo);
+		for(Object temp:studentCourseHomeworkReplyPageInfo.getRows()){
+			studentCourseHomeworkReplyQueryInfo.setParentID(((StudentCourseHomeworkCommentDto)temp).getReplyId());
+			getTree((StudentCourseHomeworkCommentDto) temp,studentCourseHomeworkReplyQueryInfo);
+		}
+		return studentCourseHomeworkReplyPageInfo;
+	}
+
+	@Override
+	public int delete(Long id) {
+		StudentCourseHomeworkReply studentCourseHomeworkReply = super.get(id);
+		List<Long> ids=new ArrayList<>();
+		ids.add(id);
+		List<StudentCourseHomeworkReply> allReplyByStudentCourseHomeworkID = studentCourseHomeworkReplyDao.findAllReplyByStudentCourseHomeworkID(studentCourseHomeworkReply.getStudentCourseHomeworkId());
+		findAllChildID(id,allReplyByStudentCourseHomeworkID,ids);
+		return studentCourseHomeworkReplyDao.batchDeleteReplys(ids);
+	}
+
+	private void findAllChildID(Long parentID,List<StudentCourseHomeworkReply> datas,List<Long> results){
+		for(StudentCourseHomeworkReply data:datas){
+			if(parentID.equals(data.getParentId())){
+				results.add(data.getId());
+				findAllChildID(data.getId(),datas,results);
+			}
+		}
+	}
+
+	private StudentCourseHomeworkCommentDto getTree(StudentCourseHomeworkCommentDto studentCourseHomeworkCommentDto, StudentCourseHomeworkReplyQueryInfo queryInfo){
+		PageInfo pageInfo = super.queryPage(queryInfo);
+		if(pageInfo != null && pageInfo.getRows().size() > 0) {
+			studentCourseHomeworkCommentDto.setReplys(pageInfo.getRows());
+			for (Object  object: pageInfo.getRows()) {
+				queryInfo.setParentID(((StudentCourseHomeworkCommentDto)object).getReplyId());
+				getTree((StudentCourseHomeworkCommentDto) object,queryInfo);
+			}
+		}
+		return studentCourseHomeworkCommentDto;
+	}
+
 }

+ 0 - 8
mec-web/src/main/java/com/ym/mec/web/service/impl/StudentCourseHomeworkServiceImpl.java

@@ -1,6 +1,5 @@
 package com.ym.mec.web.service.impl;
 
-import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.common.dal.BaseDAO;
@@ -17,7 +16,6 @@ import com.ym.mec.web.service.StudentCourseHomeworkService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.client.RestTemplate;
 
 import java.io.IOException;
 
@@ -30,12 +28,6 @@ public class StudentCourseHomeworkServiceImpl extends BaseServiceImpl<Long, Stud
 	private CourseHomeworkService courseHomeworkService;
 
 	@Autowired
-	private RestTemplate restTemplate;
-
-	@Autowired
-	private ObjectMapper objectMapper;
-
-	@Autowired
 	private SysUserFeignService sysUserFeignService;
 
 	private String url = "http://auth-server/queryUserInfo";

+ 45 - 3
mec-web/src/main/resources/config/mybatis/StudentCourseHomeworkReplyMapper.xml

@@ -15,6 +15,14 @@
         <result column="parent_id_" property="parentId"/>
     </resultMap>
 
+    <resultMap id="studentCourseHomeworkComment" type="com.ym.mec.web.dal.dto.StudentCourseHomeworkCommentDto">
+        <result property="replyId" column="comment_id_"></result>
+        <result property="userId" column="comment_user_id_"></result>
+        <result property="userName" column="comment_user_name_"></result>
+        <result property="content" column="comment_content_"></result>
+        <result property="createTime" column="comment_time"></result>
+    </resultMap>
+
     <!-- 根据主键查询一条记录 -->
     <select id="get" resultMap="StudentCourseHomeworkReply">
 		SELECT * FROM student_course_homework_reply WHERE id_ = #{id} 
@@ -63,14 +71,48 @@
 		DELETE FROM student_course_homework_reply WHERE id_ = #{id} 
 	</delete>
 
+    <delete id="batchDeleteReplys">
+      delete from student_course_homework_reply where id_ IN
+      <foreach collection="list" item="id" open="(" close=")" separator=",">
+          #{id}
+      </foreach>
+    </delete>
+
+    <sql id="queryCondition">
+        <where>
+            <if test="parentID!=null">
+                schr.parent_id_ = #{parentID}
+            </if>
+            <if test="parentID==null">
+                schr.parent_id_ IS NULL
+            </if>
+            <if test="studentCourseHomeworkId != null">
+               AND schr.student_course_homework_id_=#{studentCourseHomeworkId}
+            </if>
+        </where>
+    </sql>
+
     <!-- 分页查询 -->
-    <select id="queryPage" resultMap="StudentCourseHomeworkReply" parameterType="map">
-        SELECT * FROM student_course_homework_reply ORDER BY id_
+    <select id="queryPage" resultMap="studentCourseHomeworkComment" parameterType="map">
+        SELECT
+            schr.id_ comment_id_,
+            schr.user_id_ comment_user_id_,
+            suc.username_ comment_user_name_,
+            schr.content_ comment_content_,
+            schr.create_time_ comment_time
+        FROM
+        student_course_homework_reply schr
+        LEFT JOIN sys_user suc ON schr.user_id_=suc.id_
+        <include refid="queryCondition"/>
         <include refid="global.limit"/>
     </select>
 
     <!-- 查询当前表的总记录数 -->
     <select id="queryCount" resultType="int">
-		SELECT COUNT(*) FROM student_course_homework_reply
+		SELECT COUNT(*) FROM student_course_homework_reply schr
+		<include refid="queryCondition"/>
 	</select>
+    <select id="findAllReplyByStudentCourseHomeworkID" resultMap="StudentCourseHomeworkReply">
+        select id_,IF(parent_id_ IS NULL,0,parent_id_) parent_id_ from student_course_homework_reply where student_course_homework_id_=#{studentCourseHomeworkID}
+    </select>
 </mapper>