Przeglądaj źródła

通知代码重构与优化

lideyin 6 lat temu
rodzic
commit
59ada3c3c8

+ 18 - 2
examcloud-core-examwork-api-client/src/main/java/cn/com/qmth/examcloud/examwork/api/client/NoticeCloudServiceClient.java

@@ -1,6 +1,10 @@
 package cn.com.qmth.examcloud.examwork.api.client;
 
 import cn.com.qmth.examcloud.examwork.api.NoticeCloudService;
+import cn.com.qmth.examcloud.examwork.api.request.DisposePublishingUserNoticeReq;
+import cn.com.qmth.examcloud.examwork.api.request.UpdateNoticeStatusReq;
+import cn.com.qmth.examcloud.examwork.api.response.DisposePublishingUserNoticeResp;
+import cn.com.qmth.examcloud.examwork.api.response.GetNoticeRulePublishProgressListResp;
 import org.springframework.stereotype.Service;
 
 @Service
@@ -11,12 +15,24 @@ public class NoticeCloudServiceClient extends AbstractCloudClientSupport
     private static final long serialVersionUID = -8874453764538303046L;
 
     @Override
-    public void disposePublishingUserNotice() {
-        post("notice/disposePublishingUserNotice");
+    public GetNoticeRulePublishProgressListResp getToBeDisposedNoticeRulePublishProgressList() {
+        return post("notice/getToBeDisposedNoticeRulePublishProgressList",null,GetNoticeRulePublishProgressListResp.class);
+    }
+
+    @Override
+    public DisposePublishingUserNoticeResp disposePublishingUserNotice(DisposePublishingUserNoticeReq req) {
+        return post("notice/disposePublishingUserNotice",req,DisposePublishingUserNoticeResp.class);
     }
 
     @Override
     public void disposeOverdueNotice() {
         post("notice/disposeOverdueNotice");
     }
+
+    @Override
+    public void updateNoticeStatus(UpdateNoticeStatusReq updateNoticeStatusReq) {
+        post("notice/updateNoticeStatus",updateNoticeStatusReq);
+    }
+
+
 }

+ 14 - 1
examcloud-core-examwork-api/src/main/java/cn/com/qmth/examcloud/examwork/api/NoticeCloudService.java

@@ -1,13 +1,26 @@
 package cn.com.qmth.examcloud.examwork.api;
 
 import cn.com.qmth.examcloud.api.commons.CloudService;
+import cn.com.qmth.examcloud.api.commons.enums.NoticeStatus;
+import cn.com.qmth.examcloud.examwork.api.request.DisposePublishingUserNoticeReq;
+import cn.com.qmth.examcloud.examwork.api.request.UpdateNoticeStatusReq;
+import cn.com.qmth.examcloud.examwork.api.response.DisposePublishingUserNoticeResp;
+import cn.com.qmth.examcloud.examwork.api.response.GetNoticeRulePublishProgressListResp;
 import io.swagger.annotations.ApiOperation;
 
+import java.util.List;
+
 public interface NoticeCloudService extends CloudService {
 
+	@ApiOperation(value = "获取通知规则发布状态")
+	GetNoticeRulePublishProgressListResp getToBeDisposedNoticeRulePublishProgressList();
+
 	@ApiOperation(value = "处理发布中的用户通知数据")
-	void disposePublishingUserNotice();
+	DisposePublishingUserNoticeResp disposePublishingUserNotice(DisposePublishingUserNoticeReq req);
 
 	@ApiOperation(value = "清理过期的通知数据")
 	void disposeOverdueNotice();
+
+	@ApiOperation(value = "更新通知状态")
+	void updateNoticeStatus(UpdateNoticeStatusReq updateNoticeStatusReq);
 }

+ 92 - 0
examcloud-core-examwork-api/src/main/java/cn/com/qmth/examcloud/examwork/api/bean/NoticeRulePublishProgressBean.java

@@ -0,0 +1,92 @@
+package cn.com.qmth.examcloud.examwork.api.bean;
+
+import cn.com.qmth.examcloud.api.commons.enums.NoticeReceiverRuleType;
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+
+import javax.persistence.Column;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+
+/**
+ * @Description TODO
+ * @Author THINKPAD
+ * @Date 2019/7/15 19:37
+ * @Version 1.0
+ */
+public class NoticeRulePublishProgressBean implements JsonSerializable {
+    private static final long serialVersionUID = 359120217271175940L;
+    private Long id;
+    /**
+     * 公告id
+     */
+    private Long noticeId;
+
+    /**
+     * 规则类型
+     */
+    @Enumerated(EnumType.STRING)
+    private NoticeReceiverRuleType noticeReceiverRuleType;
+
+    /**
+     * 学校id
+     */
+    private Long rootOrgId;
+
+    /**
+     * 已发布的最大用户id
+     */
+    private Long maxStudentId;
+
+    /**
+     * 已发布的最大用户id
+     */
+    private Long maxCommonUserId;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getNoticeId() {
+        return noticeId;
+    }
+
+    public void setNoticeId(Long noticeId) {
+        this.noticeId = noticeId;
+    }
+
+    public NoticeReceiverRuleType getNoticeReceiverRuleType() {
+        return noticeReceiverRuleType;
+    }
+
+    public void setNoticeReceiverRuleType(NoticeReceiverRuleType noticeReceiverRuleType) {
+        this.noticeReceiverRuleType = noticeReceiverRuleType;
+    }
+
+    public Long getRootOrgId() {
+        return rootOrgId;
+    }
+
+    public void setRootOrgId(Long rootOrgId) {
+        this.rootOrgId = rootOrgId;
+    }
+
+    public Long getMaxStudentId() {
+        return maxStudentId;
+    }
+
+    public void setMaxStudentId(Long maxStudentId) {
+        this.maxStudentId = maxStudentId;
+    }
+
+    public Long getMaxCommonUserId() {
+        return maxCommonUserId;
+    }
+
+    public void setMaxCommonUserId(Long maxCommonUserId) {
+        this.maxCommonUserId = maxCommonUserId;
+    }
+}

+ 34 - 0
examcloud-core-examwork-api/src/main/java/cn/com/qmth/examcloud/examwork/api/request/DisposePublishingUserNoticeReq.java

@@ -0,0 +1,34 @@
+package cn.com.qmth.examcloud.examwork.api.request;
+
+import cn.com.qmth.examcloud.api.commons.exchange.BaseRequest;
+import cn.com.qmth.examcloud.examwork.api.bean.NoticeRulePublishProgressBean;
+
+/**
+ * @Description 处理发布中的用户
+ * @Author THINKPAD
+ * @Date 2019/7/15 17:51
+ * @Version 1.0
+ */
+public class DisposePublishingUserNoticeReq extends BaseRequest {
+
+    private static final long serialVersionUID = -523450513256788602L;
+    private Long startUserId;
+
+    NoticeRulePublishProgressBean noticeRulePublishProgress;
+
+    public Long getStartUserId() {
+        return startUserId;
+    }
+
+    public void setStartUserId(Long startUserId) {
+        this.startUserId = startUserId;
+    }
+
+    public NoticeRulePublishProgressBean getNoticeRulePublishProgress() {
+        return noticeRulePublishProgress;
+    }
+
+    public void setNoticeRulePublishProgress(NoticeRulePublishProgressBean noticeRulePublishProgress) {
+        this.noticeRulePublishProgress = noticeRulePublishProgress;
+    }
+}

+ 33 - 0
examcloud-core-examwork-api/src/main/java/cn/com/qmth/examcloud/examwork/api/request/UpdateNoticeStatusReq.java

@@ -0,0 +1,33 @@
+package cn.com.qmth.examcloud.examwork.api.request;
+
+import cn.com.qmth.examcloud.api.commons.enums.NoticeStatus;
+import cn.com.qmth.examcloud.api.commons.exchange.BaseRequest;
+
+/**
+ * @Description 更新通知状态
+ * @Author ldy
+ * @Date 2019/7/15 17:51
+ * @Version 1.0
+ */
+public class UpdateNoticeStatusReq extends BaseRequest {
+
+    private static final long serialVersionUID = -523450513256788602L;
+    private Long noticeId;
+    private NoticeStatus noticeStatus;
+
+    public Long getNoticeId() {
+        return noticeId;
+    }
+
+    public void setNoticeId(Long noticeId) {
+        this.noticeId = noticeId;
+    }
+
+    public NoticeStatus getNoticeStatus() {
+        return noticeStatus;
+    }
+
+    public void setNoticeStatus(NoticeStatus noticeStatus) {
+        this.noticeStatus = noticeStatus;
+    }
+}

+ 35 - 0
examcloud-core-examwork-api/src/main/java/cn/com/qmth/examcloud/examwork/api/response/DisposePublishingUserNoticeResp.java

@@ -0,0 +1,35 @@
+package cn.com.qmth.examcloud.examwork.api.response;
+
+import cn.com.qmth.examcloud.api.commons.enums.BasicDataType;
+import cn.com.qmth.examcloud.api.commons.exchange.BaseResponse;
+import cn.com.qmth.examcloud.api.commons.exchange.JsonSerializable;
+
+/**
+ * @Description 处理发布中的用户
+ * @Author THINKPAD
+ * @Date 2019/7/15 17:51
+ * @Version 1.0
+ */
+public class DisposePublishingUserNoticeResp extends BaseResponse {
+
+    private static final long serialVersionUID = -523450513256788602L;
+    private Long nextUserId;
+
+//    private Long maxUserId;
+
+    public Long getNextUserId() {
+        return nextUserId;
+    }
+
+    public void setNextUserId(Long nextUserId) {
+        this.nextUserId = nextUserId;
+    }
+//
+//    public Long getMaxUserId() {
+//        return maxUserId;
+//    }
+//
+//    public void setMaxUserId(Long maxUserId) {
+//        this.maxUserId = maxUserId;
+//    }
+}

+ 23 - 0
examcloud-core-examwork-api/src/main/java/cn/com/qmth/examcloud/examwork/api/response/GetNoticeRulePublishProgressListResp.java

@@ -0,0 +1,23 @@
+package cn.com.qmth.examcloud.examwork.api.response;
+import java.util.List;
+
+import cn.com.qmth.examcloud.api.commons.exchange.BaseResponse;
+import cn.com.qmth.examcloud.examwork.api.bean.NoticeRulePublishProgressBean;
+
+/**
+ * @Description TODO
+ * @Author THINKPAD
+ * @Date 2019/7/15 19:27
+ * @Version 1.0
+ */
+public class GetNoticeRulePublishProgressListResp extends BaseResponse {
+    private List<NoticeRulePublishProgressBean> list;
+
+    public List<NoticeRulePublishProgressBean> getList() {
+        return list;
+    }
+
+    public void setList(List<NoticeRulePublishProgressBean> list) {
+        this.list = list;
+    }
+}