Selaa lähdekoodia

20221031
知识分享

sunruiqi 2 vuotta sitten
vanhempi
commit
ed977397d8

+ 9 - 2
jeeplus-plugins/jeeplus-flowable/src/main/java/com/jeeplus/flowable/controller/MyNoticeController.java

@@ -14,6 +14,7 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @RestController
 @Api(value = "我的通知")
@@ -25,8 +26,8 @@ public class MyNoticeController {
 
     @GetMapping("/list")
     @ApiOperation(value = "待办列表")
-    public ResponseEntity noticeList(Page<MyNoticeList> page, String type) {
-        Page<MyNoticeList> voPage = service.noticeList(page, type);
+    public ResponseEntity noticeList(Page<MyNoticeList> page, String type, String title, String taskName) {
+        Page<MyNoticeList> voPage = service.noticeList(page, type, title, taskName);
         return ResponseEntity.ok (voPage);
     }
 
@@ -41,4 +42,10 @@ public class MyNoticeController {
     public String update(String taskId, String noticeId) {
         return service.update(taskId, noticeId);
     }
+
+    @ApiOperation(value = "全部标记已读")
+    @GetMapping("/readAll")
+    public String readAll() {
+        return service.readAll();
+    }
 }

+ 4 - 0
jeeplus-plugins/jeeplus-flowable/src/main/java/com/jeeplus/flowable/mapper/MyNoticeListMapper.java

@@ -2,6 +2,10 @@ package com.jeeplus.flowable.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.jeeplus.flowable.model.MyNoticeList;
+import org.apache.ibatis.annotations.Param;
 
 public interface MyNoticeListMapper extends BaseMapper<MyNoticeList> {
+
+    void readAll(@Param("name") String name);
+
 }

+ 13 - 0
jeeplus-plugins/jeeplus-flowable/src/main/java/com/jeeplus/flowable/mapper/xml/MyNoticeListMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeeplus.flowable.mapper.MyNoticeListMapper">
+
+	<update id="readAll">
+		UPDATE my_notice_list
+			SET type = 1
+		WHERE
+			del_flag = 0
+			AND create_user = #{name}
+	</update>
+
+</mapper>

+ 28 - 5
jeeplus-plugins/jeeplus-flowable/src/main/java/com/jeeplus/flowable/service/MyNoticeService.java

@@ -38,7 +38,7 @@ public class MyNoticeService {
      *
      * @return
      */
-    public Page<MyNoticeList> noticeList(Page<MyNoticeList> page, String type){
+    public Page<MyNoticeList> noticeList(Page<MyNoticeList> page, String type, String title, String taskName){
         // 获取当前登录人名称查询出未查看通知列表
         String userName = UserUtils.getCurrentUserDTO ().getName ();
         LambdaQueryWrapper<MyNoticeList> wrapper = new LambdaQueryWrapper<MyNoticeList>();
@@ -46,6 +46,12 @@ public class MyNoticeService {
         if (StringUtils.isNotEmpty(type)) {
             wrapper.eq(MyNoticeList::getType, Integer.parseInt(type));
         }
+        if (StringUtils.isNotEmpty(title)) {
+            wrapper.like(MyNoticeList::getTitle, title);
+        }
+        if (StringUtils.isNotEmpty(taskName)) {
+            wrapper.eq(MyNoticeList::getTaskName, taskName);
+        }
         Page<MyNoticeList> listPage = mapper.selectPage(page, wrapper);
         if (CollectionUtils.isNotEmpty(listPage.getRecords())) {
             for (MyNoticeList notice : listPage.getRecords()) {
@@ -91,11 +97,19 @@ public class MyNoticeService {
             }
         }
         notice.setLink("结束");
-        notice.setCreateUser(createName);
+        if (StringUtils.isNotEmpty(createName)) {
+            notice.setCreateUser(createName);
+        }else {
+            notice.setCreateUser(userDTO.getName());
+        }
+        if (StringUtils.isNotEmpty(noticeName)) {
+            notice.setNoticeName(noticeName);
+        } else {
+            notice.setNoticeName(userDTO.getName());
+        }
         // 创建时间格式化处理
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         notice.setCreateTime(format.parse(createDate));
-        notice.setNoticeName(noticeName);
         notice.setType("0");
         notice.setRepetitionCount(1);
         mapper.insert(notice);
@@ -106,8 +120,17 @@ public class MyNoticeService {
         LambdaQueryWrapper<MyNoticeList> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(BaseEntity::getDelFlag, 0).eq(MyNoticeList::getTaskId, taskId).eq(MyNoticeList::getNoticeName, noticeId).eq(MyNoticeList::getType, 0);
         MyNoticeList one = mapper.selectOne(wrapper);
-        one.setType("1");
-        mapper.updateById(one);
+        if (one != null) {
+            one.setType("1");
+            mapper.updateById(one);
+        }
+        return "操作成功";
+    }
+
+    public String readAll() {
+        // 获取当前登录人信息
+        UserDTO userDTO = UserUtils.getCurrentUserDTO();
+        mapper.readAll(userDTO.getName());
         return "操作成功";
     }
 }