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