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