From d83deacfb6d7ca1a4a8e3133c6e79ab818de9d5e Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期一, 29 四月 2024 11:06:11 +0800
Subject: [PATCH] 通知改造

---
 ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml                       |    9 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java    |   22 +++
 ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java             |    8 +
 ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java      |    6 
 ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java                 |    2 
 ycl-common/src/main/java/enumeration/general/YesOrNoEnum.java                    |   28 ++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java             |    8 -
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/NotifyQuery.java            |   13 +
 ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java               |    8 +
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/NotifyVO.java                  |   24 +-
 ycl-server/src/main/java/com/ycl/platform/mapper/NotifyMapper.java               |    3 
 ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java    |   44 ++++-
 ycl-common/src/main/java/enumeration/general/NotifyTargetTypeEnum.java           |   32 ++++
 ycl-server/src/main/resources/mapper/zgyw/NotifyMapper.xml                       |    3 
 ycl-common/src/main/java/enumeration/general/UrgentLevelEnum.java                |   32 ++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java                |   69 ++++++++-
 ycl-server/src/main/java/com/ycl/platform/controller/NotifyController.java       |   25 +++
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   16 +-
 ycl-server/src/main/java/com/ycl/system/service/UserDetailsServiceImpl.java      |   19 +-
 ycl-pojo/src/main/java/com/ycl/system/model/LoginUser.java                       |   31 +++
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java   |    2 
 21 files changed, 330 insertions(+), 74 deletions(-)

diff --git a/ycl-common/src/main/java/enumeration/general/NotifyTargetTypeEnum.java b/ycl-common/src/main/java/enumeration/general/NotifyTargetTypeEnum.java
new file mode 100644
index 0000000..f9260c8
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/NotifyTargetTypeEnum.java
@@ -0,0 +1,32 @@
+package enumeration.general;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * 閫氱煡鐩爣绫诲瀷
+ *
+ * @author锛歡onghl
+ * @date锛�2024/4/15 15:15
+ */
+@Getter
+public enum NotifyTargetTypeEnum {
+
+    USER("USER", "鐢ㄦ埛"),
+    UNIT("UNIT", "杩愮淮鍗曚綅"),
+    ;
+
+
+    @EnumValue // 鏍囨槑璇ュ瓧娈靛瓨鍏ユ暟鎹簱
+    @JsonValue // 鏍囨槑鍦ㄨ浆JSON鏃朵娇鐢ㄨ瀛楁锛屽嵆鍝嶅簲鏃�
+    private final String value;
+
+    private final String desc;
+
+    NotifyTargetTypeEnum(String value, String desc) {
+        this.value = value;
+        this.desc = desc;
+    }
+
+}
diff --git a/ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java b/ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java
index 3c7f3b2..1359f36 100644
--- a/ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java
+++ b/ycl-common/src/main/java/enumeration/general/NotifyTypeEnum.java
@@ -5,7 +5,7 @@
 import lombok.Getter;
 
 /**
- * 閫氱煡鐘舵��
+ * 閫氱煡绫诲瀷
  *
  * @author锛歡onghl
  * @date锛�2024/4/15 15:15
diff --git a/ycl-common/src/main/java/enumeration/general/UrgentLevelEnum.java b/ycl-common/src/main/java/enumeration/general/UrgentLevelEnum.java
new file mode 100644
index 0000000..35dcc94
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/UrgentLevelEnum.java
@@ -0,0 +1,32 @@
+package enumeration.general;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * 閫氱煡绱ф�ョ▼搴�
+ *
+ * @author锛歺p
+ * @date锛�2024/4/29 10:44
+ */
+@Getter
+public enum UrgentLevelEnum {
+
+    NORMAL("info", "姝e父"),
+    SUCCESS("success", "濂界殑锛屾垚鍔熺殑"),
+    WARNING("warning", "璀﹀憡"),
+    DANGER("danger", "閿欒"),
+    ;
+
+    @EnumValue
+    @JsonValue
+    private final String value;
+
+    private final String desc;
+
+    UrgentLevelEnum(String value, String desc) {
+        this.value = value;
+        this.desc = desc;
+    }
+}
diff --git a/ycl-common/src/main/java/enumeration/general/YesOrNoEnum.java b/ycl-common/src/main/java/enumeration/general/YesOrNoEnum.java
new file mode 100644
index 0000000..1c285c5
--- /dev/null
+++ b/ycl-common/src/main/java/enumeration/general/YesOrNoEnum.java
@@ -0,0 +1,28 @@
+package enumeration.general;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import lombok.Getter;
+
+/**
+ * @author锛歺p
+ * @date锛�2023/11/28 18:04
+ */
+@Getter
+public enum YesOrNoEnum {
+
+    YES("0", "鏄�"),
+    NO("1", "鍚�")
+    ;
+
+    @EnumValue
+    @JsonValue
+    private String code;
+
+    private String desc;
+
+    YesOrNoEnum(String code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+}
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java
index 5a091d5..ff0d246 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/Notify.java
@@ -3,7 +3,10 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.ycl.platform.base.AbsEntity;
+import enumeration.general.NotifyTargetTypeEnum;
 import enumeration.general.NotifyTypeEnum;
+import enumeration.general.UrgentLevelEnum;
+import enumeration.general.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -36,19 +39,71 @@
     private String content;
 
     @ApiModelProperty("閫氱煡璋�")
-    @TableField("notify_who")
-    private Integer notifyWho;
+    @TableField("notify_user")
+    private Integer notifyUser;
 
     @ApiModelProperty("宸茶")
     @TableField("readed")
-    private String readed;
+    private YesOrNoEnum readed;
 
     @ApiModelProperty("绱ф��")
     @TableField("urgent")
-    private String urgent;
+    private UrgentLevelEnum urgent;
 
-    @ApiModelProperty("宸ュ崟ID")
-    @TableField("work_order_id")
-    private Integer workOrderId;
+    @ApiModelProperty("宸ュ崟鍙�")
+    @TableField("work_order_no")
+    private String workOrderNo;
+
+    @ApiModelProperty("閫氱煡鐩爣绫诲瀷")
+    @TableField("notify_target_type")
+    private NotifyTargetTypeEnum notifyTargetType;
+
+    @ApiModelProperty("閫氱煡杩愮淮鍗曚綅")
+    @TableField("notify_unit")
+    private Integer notifyUnit;
+
+    /**
+     * 閫氱煡鐢ㄦ埛
+     *
+     * @param notifyType
+     * @param content
+     * @param notifyUser
+     * @param urgent
+     * @param workOrderNo
+     * @return
+     */
+    public static Notify genEntityByPeople(NotifyTypeEnum notifyType, String content, Integer notifyUser, UrgentLevelEnum urgent, String workOrderNo) {
+        Notify notify = new Notify();
+        notify.setNotifyType(notifyType);
+        notify.setContent(content);
+        notify.setNotifyUser(notifyUser);
+        notify.setUrgent(urgent);
+        notify.setWorkOrderNo(workOrderNo);
+        notify.setNotifyTargetType(NotifyTargetTypeEnum.USER);
+        notify.setReaded(YesOrNoEnum.NO);
+        return notify;
+    }
+
+    /**
+     * 閫氱煡鍗曚綅
+     *
+     * @param notifyType
+     * @param content
+     * @param notifyUnit
+     * @param urgent
+     * @param workOrderNo
+     * @return
+     */
+    public static Notify genEntityByUnit(NotifyTypeEnum notifyType, String content, Integer notifyUnit, UrgentLevelEnum urgent, String workOrderNo) {
+        Notify notify = new Notify();
+        notify.setNotifyType(notifyType);
+        notify.setContent(content);
+        notify.setUrgent(urgent);
+        notify.setNotifyUnit(notifyUnit);
+        notify.setWorkOrderNo(workOrderNo);
+        notify.setNotifyTargetType(NotifyTargetTypeEnum.UNIT);
+        notify.setReaded(YesOrNoEnum.NO);
+        return notify;
+    }
 
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java
index 9e200fb..23e4ed5 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/BatchEditPointForm.java
@@ -23,10 +23,4 @@
 
     private Integer unitId;
 
-    @NotNull(message = "鐐逛綅寮�濮嬫椂闂翠笉鑳戒负绌�", groups = {Add.class, Update.class})
-    private LocalDateTime startTime;
-
-    @NotNull(message = "鐐逛綅缁撴潫鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
-    private LocalDateTime endTime;
-
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
index b5725f2..2e36314 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/form/YwPointForm.java
@@ -32,14 +32,6 @@
     @ApiModelProperty("鐐逛綅鍚嶇О")
     private String pointName;
 
-    @NotNull(message = "鐐逛綅寮�濮嬫椂闂翠笉鑳戒负绌�", groups = {Add.class, Update.class})
-    @ApiModelProperty("鐐逛綅寮�濮嬫椂闂�")
-    private LocalDateTime startTime;
-
-    @NotNull(message = "鐐逛綅缁撴潫鏃堕棿涓嶈兘涓虹┖", groups = {Add.class, Update.class})
-    @ApiModelProperty("鐐逛綅缁撴潫鏃堕棿")
-    private LocalDateTime endTime;
-
     @NotNull(message = "杩愮淮鍗曚綅涓嶈兘涓虹┖", groups = {Add.class, Update.class})
     @ApiModelProperty("杩愮淮鍗曚綅")
     private Integer unitId;
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/NotifyQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/NotifyQuery.java
index f4731aa..939aadf 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/NotifyQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/NotifyQuery.java
@@ -1,6 +1,8 @@
 package com.ycl.platform.domain.query;
 
 import com.ycl.platform.base.AbsQuery;
+
+import java.util.Date;
 import java.util.List;
 import org.springframework.lang.NonNull;
 import jakarta.validation.constraints.NotBlank;
@@ -16,8 +18,17 @@
  * @since 2024-04-07
  */
 @Data
-@Accessors(chain = true)
 @ApiModel(value = "Notify鏌ヨ", description = "閫氱煡鏌ヨ")
 public class NotifyQuery extends AbsQuery {
+
+    /** 宸ュ崟鍙� */
+    private String workOrderNo;
+
+    /** 寮�濮嬫椂闂� */
+    private Date start;
+
+    /** 缁撴潫鏃堕棿 */
+    private Date end;
+
 }
 
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/NotifyVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/NotifyVO.java
index fbe8397..6815160 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/NotifyVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/NotifyVO.java
@@ -2,14 +2,14 @@
 
 import com.ycl.platform.base.AbsVo;
 import com.ycl.platform.domain.entity.Notify;
-import java.util.List;
-import java.time.LocalDateTime;
-import org.springframework.lang.NonNull;
-import org.springframework.beans.BeanUtils;
-import io.swagger.annotations.ApiModel;
+import enumeration.general.NotifyTypeEnum;
+import enumeration.general.UrgentLevelEnum;
+import enumeration.general.YesOrNoEnum;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.experimental.Accessors;
+import org.springframework.beans.BeanUtils;
+import org.springframework.lang.NonNull;
 
 /**
  * 閫氱煡灞曠ず
@@ -22,22 +22,20 @@
 public class NotifyVO extends AbsVo {
 
     /** 閫氱煡绫诲瀷 */
-    private String notifyType;
+    private NotifyTypeEnum notifyType;
 
     /** 閫氱煡鍐呭 */
     private String content;
 
-    /** 閫氱煡璋� */
-    private Integer notifyWho;
-
     /** 宸茶 */
-    private String readed;
+    private YesOrNoEnum readed;
 
     /** 绱ф�� */
-    private String urgent;
+    private UrgentLevelEnum urgent;
 
-    /** 宸ュ崟ID */
-    private Integer workOrderId;
+    /** 宸ュ崟鍙� */
+    private String workOrderNo;
+
 
     public static NotifyVO getVoByEntity(@NonNull Notify entity, NotifyVO vo) {
         if(vo == null) {
diff --git a/ycl-pojo/src/main/java/com/ycl/system/model/LoginUser.java b/ycl-pojo/src/main/java/com/ycl/system/model/LoginUser.java
index e680a81..f32a131 100644
--- a/ycl-pojo/src/main/java/com/ycl/system/model/LoginUser.java
+++ b/ycl-pojo/src/main/java/com/ycl/system/model/LoginUser.java
@@ -10,7 +10,7 @@
 
 /**
  * 鐧诲綍鐢ㄦ埛韬唤鏉冮檺
- * 
+ *
  * @author ruoyi
  */
 public class LoginUser implements UserDetails
@@ -26,6 +26,13 @@
      * 閮ㄩ棬ID
      */
     private Long deptId;
+
+    /**
+     * 杩愮淮鍗曚綅ID
+     */
+    private Integer unitId;
+    /** 鏄惁鏄繍缁村崟浣嶇鐞嗗憳璐﹀彿 */
+    private Boolean unitAdmin;
 
     /**
      * 鐢ㄦ埛鍞竴鏍囪瘑
@@ -90,6 +97,22 @@
         this.permissions = permissions;
     }
 
+    public Integer getUnitId() {
+        return unitId;
+    }
+
+    public void setUnitId(Integer unitId) {
+        this.unitId = unitId;
+    }
+
+    public Boolean getUnitAdmin() {
+        return unitAdmin;
+    }
+
+    public void setUnitAdmin(Boolean unitAdmin) {
+        this.unitAdmin = unitAdmin;
+    }
+
     public Long getUserId()
     {
         return userId;
@@ -145,7 +168,7 @@
 
     /**
      * 鎸囧畾鐢ㄦ埛鏄惁瑙i攣,閿佸畾鐨勭敤鎴锋棤娉曡繘琛岃韩浠介獙璇�
-     * 
+     *
      * @return
      */
     @JSONField(serialize = false)
@@ -157,7 +180,7 @@
 
     /**
      * 鎸囩ず鏄惁宸茶繃鏈熺殑鐢ㄦ埛鐨勫嚟鎹�(瀵嗙爜),杩囨湡鐨勫嚟鎹槻姝㈣璇�
-     * 
+     *
      * @return
      */
     @JSONField(serialize = false)
@@ -169,7 +192,7 @@
 
     /**
      * 鏄惁鍙敤 ,绂佺敤鐨勭敤鎴蜂笉鑳借韩浠介獙璇�
-     * 
+     *
      * @return
      */
     @JSONField(serialize = false)
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/NotifyController.java b/ycl-server/src/main/java/com/ycl/platform/controller/NotifyController.java
new file mode 100644
index 0000000..7b450b2
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/NotifyController.java
@@ -0,0 +1,25 @@
+package com.ycl.platform.controller;
+
+import com.ycl.platform.domain.query.NotifyQuery;
+import com.ycl.platform.service.NotifyService;
+import com.ycl.system.Result;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * @author锛歺p
+ * @date锛�2024/4/29 9:38
+ */
+@RestController
+@RequiredArgsConstructor
+@RequestMapping("/notify")
+public class NotifyController {
+
+    private final NotifyService notifyService;
+
+    @PostMapping("/page")
+    public Result page(@RequestBody NotifyQuery query) {
+        return notifyService.page(query);
+    }
+
+}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/NotifyMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/NotifyMapper.java
index 92912d8..6f21945 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/NotifyMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/NotifyMapper.java
@@ -1,11 +1,14 @@
 package com.ycl.platform.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.platform.domain.entity.Notify;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.platform.domain.query.NotifyQuery;
 import com.ycl.platform.domain.vo.NotifyVO;
 import com.ycl.platform.domain.form.NotifyForm;
 import java.util.List;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 閫氱煡 Mapper 鎺ュ彛
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
index 7f39ba0..572c8e6 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/YwUnitMapper.java
@@ -23,4 +23,12 @@
      * @return 鏁版嵁
      */
     List<YwUnitVO> workList();
+
+    /**
+     * 閫氳繃鐢ㄦ埛ID鏌ユ壘杩愮淮鍗曚綅
+     *
+     * @param userId
+     * @return
+     */
+    YwUnit getByUserId(Long userId);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java b/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
index 2495bb6..ada6bd0 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/YwUnitService.java
@@ -9,6 +9,7 @@
 import com.ycl.platform.domain.entity.YwUnit;
 import com.ycl.platform.domain.form.YwUnitForm;
 import com.ycl.platform.domain.query.YwUnitQuery;
+import com.ycl.system.model.LoginUser;
 
 import java.util.List;
 
@@ -79,4 +80,11 @@
      * @return
      */
     Result workList();
+
+    /**
+     * 璁剧疆鐧诲綍鐢ㄦ埛鐨勮繍缁村崟浣嶄俊鎭�
+     *
+     * @param loginUser
+     */
+    void setUnitInfo(LoginUser loginUser);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java
index b42ff8f..ac2218a 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java
@@ -9,19 +9,22 @@
 import com.ycl.platform.domain.vo.NotifyVO;
 import com.ycl.platform.domain.query.NotifyQuery;
 import java.util.List;
-import org.apache.commons.lang3.StringUtils;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.system.page.PageUtil;
+import com.ycl.utils.SecurityUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.beans.BeanUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 import java.util.ArrayList;
+import java.util.Objects;
 import java.util.stream.Collectors;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import lombok.RequiredArgsConstructor;
+import org.springframework.util.StringUtils;
 
 /**
  * 閫氱煡 鏈嶅姟瀹炵幇绫�
@@ -101,17 +104,34 @@
      */
     @Override
     public Result page(NotifyQuery query) {
-
-        IPage<Notify> page = new LambdaQueryChainWrapper<>(baseMapper)
-                .orderByDesc(Notify::getCreateTime)
-                .page(PageUtil.getPage(query, Notify.class));
-
-        List<NotifyVO> vos = page.getRecords().stream()
-                .map(
-                        entity -> NotifyVO.getVoByEntity(entity, null)
-                )
-                .collect(Collectors.toList());
-        return Result.ok().data(vos).total(page.getTotal());
+        IPage<Notify> page = PageUtil.getPage(query, Notify.class);
+        // 濡傛灉鏄崟浣嶇鐞嗗憳锛氭煡璇㈠崟浣嶉�氱煡
+        if (SecurityUtils.getLoginUser().getUnitAdmin()) {
+            new LambdaQueryChainWrapper<>(baseMapper)
+                    .between(Objects.nonNull(query.getEnd()) && Objects.nonNull(query.getStart()),
+                            Notify::getCreateTime,
+                            query.getStart(),
+                            query.getEnd())
+                    .eq(StringUtils.hasText(query.getWorkOrderNo()), Notify::getWorkOrderNo, query.getWorkOrderNo())
+                    .eq(Notify::getNotifyUnit, SecurityUtils.getLoginUser().getUnitId())
+                    .orderByDesc(Notify::getCreateTime)
+                    .page(page);
+        } else {
+            // 濡傛灉鏄崟浣嶄汉鍛橈細鏌ヨ鑷繁鐨勯�氱煡
+            new LambdaQueryChainWrapper<>(baseMapper)
+                    .between(Objects.nonNull(query.getEnd()) && Objects.nonNull(query.getStart()),
+                            Notify::getCreateTime,
+                            query.getStart(),
+                            query.getEnd())
+                    .eq(StringUtils.hasText(query.getWorkOrderNo()), Notify::getWorkOrderNo, query.getWorkOrderNo())
+                    .eq(Notify::getNotifyUser, SecurityUtils.getLoginUser().getUnitId())
+                    .orderByDesc(Notify::getCreateTime)
+                    .page(page);
+        }
+        List<NotifyVO> result = page.getRecords().stream().map(entity -> {
+            return NotifyVO.getVoByEntity(entity, null);
+        }).collect(Collectors.toList());
+        return Result.ok().data(result).total(page.getTotal());
     }
 
     /**
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index e29849f..68d709a 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -20,9 +20,7 @@
 import com.ycl.utils.DateUtils;
 import com.ycl.utils.SecurityUtils;
 import com.ycl.utils.redis.RedisCache;
-import enumeration.general.NotifyTypeEnum;
-import enumeration.general.WorkOrderDistributeWayEnum;
-import enumeration.general.WorkOrderStatusEnum;
+import enumeration.general.*;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.BeanUtils;
@@ -114,12 +112,12 @@
         workOrderAuditingRecord.setRemark(form.getAuditingRemark());
         workOrderAuditingRecordMapper.insert(workOrderAuditingRecord);
         // 娣诲姞鏂伴�氱煡
-        try {
-            Notify notify = new Notify(NotifyTypeEnum.WORK_ORDER, form.getAuditingResult().getDesc(), workOrder.getYwPeopleId(), "0", "0", workOrder.getId());
-            notifyService.save(notify);
-        } catch (Exception e) {
-            return Result.error("瀹℃牳鎴愬姛锛岄�氱煡杩愮淮浜哄憳澶辫触");
-        }
+        Notify notify = Notify.genEntityByUnit(NotifyTypeEnum.WORK_ORDER,
+                form.getAuditingResult().getDesc(),
+                workOrder.getUnitId(),
+                UrgentLevelEnum.WARNING,
+                workOrder.getWorkOrderNo());
+        notifyService.save(notify);
         return Result.ok("鎿嶄綔鎴愬姛");
     }
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
index 6941537..b18d3a5 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java
@@ -86,8 +86,6 @@
             new LambdaUpdateChainWrapper<>(baseMapper)
                     .in(YwPoint::getId, form.getIds())
                     .set(YwPoint::getUnitId, form.getUnitId())
-                    .set(YwPoint::getStartTime, form.getStartTime())
-                    .set(YwPoint::getEndTime, form.getEndTime())
                     .update();
         } else {
             new LambdaUpdateChainWrapper<>(baseMapper)
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
index a0fb489..4ffd0d0 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -20,6 +20,7 @@
 import com.ycl.system.mapper.SysRoleMapper;
 import com.ycl.system.mapper.SysUserMapper;
 import com.ycl.system.mapper.SysUserRoleMapper;
+import com.ycl.system.model.LoginUser;
 import com.ycl.system.page.PageUtil;
 import com.ycl.platform.service.YwUnitService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -217,6 +218,27 @@
     }
 
     @Override
+    public void setUnitInfo(LoginUser loginUser) {
+        // 鍗曚綅绠$悊鍛樻煡璇�
+        YwUnit unit = new LambdaQueryChainWrapper<>(baseMapper)
+                .eq(YwUnit::getUnitAdminAccount, loginUser.getUsername())
+                .one();
+        if (Objects.nonNull(unit)) {
+            loginUser.setUnitAdmin(Boolean.TRUE);
+            loginUser.setUnitId(unit.getId());
+        } else {
+            unit = baseMapper.getByUserId(loginUser.getUserId());
+            if (Objects.nonNull(unit)) {
+                loginUser.setUnitAdmin(Boolean.FALSE);
+                loginUser.setUnitId(unit.getId());
+            }
+            else {
+                loginUser.setUnitAdmin(Boolean.FALSE);
+            }
+        }
+    }
+
+    @Override
     public List<YwUnitVO> export(YwUnitQuery query) {
         // 鍒嗛〉鏉′欢鏌ヨ浣�
         IPage<YwUnit> page = new LambdaQueryChainWrapper<>(baseMapper)
diff --git a/ycl-server/src/main/java/com/ycl/system/service/UserDetailsServiceImpl.java b/ycl-server/src/main/java/com/ycl/system/service/UserDetailsServiceImpl.java
index 5988e14..f16c005 100644
--- a/ycl-server/src/main/java/com/ycl/system/service/UserDetailsServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/system/service/UserDetailsServiceImpl.java
@@ -1,11 +1,13 @@
 package com.ycl.system.service;
 
 import com.ycl.exception.ServiceException;
+import com.ycl.platform.service.YwUnitService;
 import com.ycl.system.entity.SysUser;
 import com.ycl.system.model.LoginUser;
 import com.ycl.utils.MessageUtils;
 import com.ycl.utils.StringUtils;
 import enumeration.UserStatus;
+import lombok.RequiredArgsConstructor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,18 +22,15 @@
  * @author ruoyi
  */
 @Service
+@RequiredArgsConstructor
 public class UserDetailsServiceImpl implements UserDetailsService
 {
     private static final Logger log = LoggerFactory.getLogger(UserDetailsServiceImpl.class);
 
-    @Autowired
-    private ISysUserService userService;
-    
-    @Autowired
-    private SysPasswordService passwordService;
-
-    @Autowired
-    private SysPermissionService permissionService;
+    private final ISysUserService userService;
+    private final SysPasswordService passwordService;
+    private final SysPermissionService permissionService;
+    private final YwUnitService unitService;
 
     @Override
     public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException
@@ -60,6 +59,8 @@
 
     public UserDetails createLoginUser(SysUser user)
     {
-        return new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
+        LoginUser loginUser = new LoginUser(user.getUserId(), user.getDeptId(), user, permissionService.getMenuPermission(user));
+        unitService.setUnitInfo(loginUser);
+        return loginUser;
     }
 }
diff --git a/ycl-server/src/main/resources/mapper/zgyw/NotifyMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/NotifyMapper.xml
index 3d6cd46..19351f9 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/NotifyMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/NotifyMapper.xml
@@ -9,10 +9,9 @@
         <result column="update_time" property="updateTime" />
         <result column="notify_type" property="notifyType" />
         <result column="content" property="content" />
-        <result column="notify_who" property="notifyWho" />
         <result column="readed" property="readed" />
         <result column="urgent" property="urgent" />
-        <result column="work_order_id" property="workOrderId" />
+        <result column="work_order_id" property="workOrderNo" />
     </resultMap>
 
 </mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
index 7908573..4692c3d 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
@@ -99,4 +99,13 @@
             #{id}
         </foreach>
     </delete>
+
+    <select id="getByUserId" resultMap="YwUnitResult">
+        SELECT
+             tyw.*
+        FROM
+             t_yw_unit tyw
+                 INNER JOIN t_unit_people tup ON tup.unit_id = tyw.id and tyw.deleted = 0
+                 INNER JOIN t_yw_people typ ON tup.yw_people_id = typ.id AND typ.user_id = #{userId} AND typ.deleted = 0
+    </select>
 </mapper>

--
Gitblit v1.8.0