Bläddra i källkod

refactor: 将Message的slide_id改成ref_id

ChenSiTong 6 år sedan
förälder
incheckning
75e927977e

+ 9 - 0
src/main/java/nju/seec/helper/dao/MessageDAO.java

@@ -1,6 +1,7 @@
 package nju.seec.helper.dao;
 
 import nju.seec.helper.entity.Message;
+import nju.seec.helper.enums.MessageType;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
@@ -48,4 +49,12 @@ public interface MessageDAO extends JpaRepository<Message, Long> {
      * @return
      */
     Page<Message> findByToUserIdAndReadAndContentContains(Long toUserId, Boolean read, String key, Pageable pageable);
+
+    /**
+     * 基于关联数据删除
+     *
+     * @param refId
+     * @param messageType
+     */
+    void deleteByRefIdAndType(Long refId, MessageType messageType);
 }

+ 2 - 2
src/main/java/nju/seec/helper/entity/Message.java

@@ -32,8 +32,8 @@ public class Message {
     @Column(name = "to_user_id", nullable = false)
     private Long toUserId;
 
-    @Column(name = "slide_id")
-    private Long slideId;
+    @Column(name = "ref_id")
+    private Long refId;
 
     @Column(nullable = false)
     private String content;

+ 10 - 2
src/main/java/nju/seec/helper/service/MessageService.java

@@ -19,9 +19,9 @@ public interface MessageService {
      * @param toUserIds
      * @param type
      * @param content
-     * @param slideId
+     * @param refId
      */
-    void createMessage(Set<Long> toUserIds, MessageType type, String content, Long slideId);
+    void createMessage(Set<Long> toUserIds, MessageType type, String content, Long refId);
 
     /**
      * 删除消息
@@ -31,6 +31,14 @@ public interface MessageService {
      */
     void deleteMessages(LoginUser user, MessageDTO messageDTO);
 
+    /**
+     * 删除关联消息
+     *
+     * @param refId
+     * @param messageType
+     */
+    void deleteMessages(Long refId, MessageType messageType);
+
     /**
      * 设置消息已阅
      *

+ 7 - 2
src/main/java/nju/seec/helper/service/impl/MessageServiceImpl.java

@@ -28,14 +28,14 @@ public class MessageServiceImpl implements MessageService {
 
     @Async
     @Override
-    public void createMessage(Set<Long> toUserIds, MessageType type, String content, Long slideId) {
+    public void createMessage(Set<Long> toUserIds, MessageType type, String content, Long refId) {
         messageDAO.saveAll(
                 toUserIds.parallelStream()
                         .map(toUserId -> new Message()
                                 .setToUserId(toUserId)
                                 .setType(type)
                                 .setContent(content)
-                                .setSlideId(slideId))
+                                .setRefId(refId))
                         .collect(Collectors.toSet()));
     }
 
@@ -45,6 +45,11 @@ public class MessageServiceImpl implements MessageService {
         messageDAO.deleteByToUserIdAndIdIn(user.getId(), messageDTO.getIds());
     }
 
+    @Override
+    public void deleteMessages(Long refId, MessageType messageType) {
+        messageDAO.deleteByRefIdAndType(refId, messageType);
+    }
+
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void readMessages(LoginUser user, MessageDTO messageDTO) {

+ 9 - 2
src/main/resources/update.sql

@@ -1,2 +1,9 @@
-insert into helper.admin (username, password)
-VALUES ('admin', 'YWRtaW4=')
+alter table quiz
+    modify questions json not null;
+alter table quiz_student_answer
+    modify answers json not null;
+
+alter table message change slide_id ref_id bigint;
+
+# insert into helper.admin (username, password)
+# VALUES ('admin', 'YWRtaW4=')