From f9f46030de1fdeb436e9f02d8bfe3e3c611c4d7a Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期二, 13 一月 2026 10:58:16 +0800
Subject: [PATCH] 公告类型字段,另加一个配置功能(类似字典功能),并且也作为消息通知通知到每个人
---
src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java | 6
src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java | 2
src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeTypeMapper.java | 16 ++
src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java | 4
src/main/java/com/ruoyi/CodeGenerator.java | 128 ++++++++++++++++++
src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java | 44 -----
src/main/java/com/ruoyi/collaborativeApproval/pojo/NoticeType.java | 35 +++++
src/main/java/com/ruoyi/collaborativeApproval/service/NoticeTypeService.java | 16 ++
src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeTypeController.java | 62 ++++++++
src/main/java/com/ruoyi/project/system/domain/SysUser.java | 12 +
src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml | 4
src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java | 19 ++
src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java | 2
src/main/resources/mapper/system/SysUserMapper.xml | 2
src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java | 21 ---
src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeTypeServiceImpl.java | 20 ++
src/main/resources/mapper/collaborativeApproval/NoticeTypeMapper.xml | 12 +
17 files changed, 335 insertions(+), 70 deletions(-)
diff --git a/src/main/java/com/ruoyi/CodeGenerator.java b/src/main/java/com/ruoyi/CodeGenerator.java
new file mode 100644
index 0000000..ccd51ca
--- /dev/null
+++ b/src/main/java/com/ruoyi/CodeGenerator.java
@@ -0,0 +1,128 @@
+package com.ruoyi;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.generator.FastAutoGenerator;
+import com.baomidou.mybatisplus.generator.config.*;
+import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
+import com.baomidou.mybatisplus.generator.config.po.TableField;
+import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
+import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
+import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
+import com.baomidou.mybatisplus.generator.fill.Column;
+
+import java.util.Collections;
+import java.util.Scanner;
+
+// 婕旂ず渚嬪瓙锛屾墽琛� main 鏂规硶鎺у埗鍙拌緭鍏ユā鍧楄〃鍚嶅洖杞﹁嚜鍔ㄧ敓鎴愬搴旈」鐩洰褰曚腑
+public class CodeGenerator {
+
+ public static String database_url = "jdbc:mysql://127.0.0.1:3306/product-inventory-management";
+ public static String database_username = "root";
+ public static String database_password= "123456";
+ public static String author = "鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃";
+ public static String model = "collaborativeApproval"; // 妯″潡
+ public static String setParent = "com.ruoyi."+ model; // 鍖呰矾寰�
+ public static String tablePrefix = ""; // 璁剧疆杩囨护琛ㄥ墠缂�
+ public static void main(String[] args) {
+ String projectPath = System.getProperty("user.dir");
+ FastAutoGenerator.create(database_url, database_username, database_password)
+ // 鍏ㄥ眬閰嶇疆
+ .globalConfig(builder -> {
+ builder.author(author) // 璁剧疆浣滆��
+ .commentDate("yyyy-MM-dd hh:mm:ss") //娉ㄩ噴鏃ユ湡
+ .outputDir(projectPath + "/src/main/java") // 鎸囧畾杈撳嚭鐩綍
+ .disableOpenDir() //绂佹鎵撳紑杈撳嚭鐩綍锛岄粯璁ゆ墦寮�
+ .enableSwagger() // 寮�鍚痵wagger
+
+ ;
+ })
+ // 鏁版嵁婧愰厤缃紙鏍稿績锛氳嚜瀹氫箟绫诲瀷杞崲锛屽己鍒秚enant_id涓篖ong锛�
+ .dataSourceConfig(builder -> {
+ builder.typeConvert(new MySqlTypeConvert() {
+ /**
+ * 鑷畾涔夊瓧娈电被鍨嬭浆鎹�
+ * @param globalConfig 鍏ㄥ眬閰嶇疆
+ * @param tableField 琛ㄥ瓧娈典俊鎭�
+ * @return 杞崲鍚庣殑瀛楁绫诲瀷
+ */
+ @Override
+ public DbColumnType processTypeConvert(GlobalConfig globalConfig, TableField tableField) {
+ // 寮哄埗tenant_id瀛楁绫诲瀷涓篖ong
+ if ("tenant_id".equalsIgnoreCase(tableField.getName())) {
+ return DbColumnType.LONG;
+ }
+ // 鍏朵粬瀛楁浣跨敤榛樿杞崲瑙勫垯
+ return (DbColumnType) super.processTypeConvert(globalConfig, tableField);
+ }
+ });
+ })
+ // 鍖呴厤缃�
+ .packageConfig(builder -> {
+ builder.entity("pojo");
+ builder.parent(setParent) // 璁剧疆鐖跺寘鍚�
+ .pathInfo(Collections.singletonMap(OutputFile.xml, projectPath + "/src/main/resources/"+model+"/mapper")); // 璁剧疆mapperXml鐢熸垚璺緞
+ })
+ // 绛栫暐閰嶇疆
+ .strategyConfig(builder -> {
+ builder.addInclude(scanner("琛ㄥ悕锛屽涓┖鏍煎垎鍓�").split(" ")) // 璁剧疆闇�瑕佺敓鎴愮殑琛ㄥ悕
+ .addTablePrefix(tablePrefix) // 璁剧疆杩囨护琛ㄥ墠缂�
+ // Entity 绛栫暐閰嶇疆
+ .entityBuilder()
+ .enableLombok() //寮�鍚� Lombok
+ .naming(NamingStrategy.underline_to_camel) //鏁版嵁搴撹〃鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐锛氫笅鍒掔嚎杞┘宄板懡
+ .columnNaming(NamingStrategy.underline_to_camel) //鏁版嵁搴撹〃瀛楁鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐锛氫笅鍒掔嚎杞┘宄板懡
+ .enableFileOverride() // 瑕嗙洊宸茬粡鐢熸垚鐨凟ntity鏂囦欢
+ .logicDeleteColumnName("state")
+ .addTableFills(
+ new Column("create_time", FieldFill.INSERT),
+ new Column("update_time", FieldFill.INSERT_UPDATE),
+ new Column("create_user", FieldFill.INSERT),
+ new Column("update_user", FieldFill.INSERT_UPDATE),
+ new Column("tenant_id", FieldFill.INSERT)
+ )
+ .idType(IdType.AUTO) // 鑷涓婚敭
+
+ // Mapper 绛栫暐閰嶇疆
+ .mapperBuilder()
+ .enableFileOverride() // 瑕嗙洊宸茬敓鎴怣apper鏂囦欢
+ .enableBaseResultMap() // 鑷姩鐢熸垚resultMap
+ // Service 绛栫暐閰嶇疆
+ .serviceBuilder()
+ .formatServiceFileName("%sService") //鏍煎紡鍖� service 鎺ュ彛鏂囦欢鍚嶇О锛�%s杩涜鍖归厤琛ㄥ悕锛屽 UserService
+ .formatServiceImplFileName("%sServiceImpl") //鏍煎紡鍖� service 瀹炵幇绫绘枃浠跺悕绉帮紝%s杩涜鍖归厤琛ㄥ悕锛屽 UserServiceImpl
+ .enableFileOverride() // 瑕嗙洊宸茬敓鎴愭枃浠�
+
+ // Controller 绛栫暐閰嶇疆
+ .controllerBuilder()
+ .enableFileOverride() // 瑕嗙洊宸茬敓鎴愭枃浠�
+ .enableRestStyle() // 寮�鍚敓鎴怈RestController 鎺у埗鍣�
+ ;
+ })
+ //5銆佹ā鏉垮紩鎿�
+ .templateEngine(new FreemarkerTemplateEngine()) //榛樿
+ .execute();
+ }
+
+ /**
+ * <p>
+ * 璇诲彇鎺у埗鍙板唴瀹�
+ * </p>
+ */
+ public static String scanner(String tip) {
+ Scanner scanner = new Scanner(System.in);
+ StringBuilder help = new StringBuilder();
+ help.append("璇疯緭鍏�" + tip + "锛�");
+ System.out.println(help.toString());
+ if (scanner.hasNext()) {
+ String ipt = scanner.next();
+
+ if (StringUtils.isNotBlank(ipt)) {
+ return ipt;
+ }
+ }
+ throw new MybatisPlusException("璇疯緭鍏ユ纭殑" + tip + "锛�");
+ }
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java
index df8e248..77df424 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeController.java
@@ -1,12 +1,15 @@
package com.ruoyi.collaborativeApproval.controller;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.collaborativeApproval.dto.NoticeDTO;
+import com.ruoyi.collaborativeApproval.pojo.Notice;
import com.ruoyi.collaborativeApproval.service.NoticeService;
import com.ruoyi.framework.aspectj.lang.annotation.Log;
import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
import com.ruoyi.framework.web.controller.BaseController;
import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.project.system.service.ISysNoticeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -22,6 +25,7 @@
public class NoticeController extends BaseController {
private final NoticeService noticeService;
+ private final ISysNoticeService sysNoticeService;
@GetMapping("/page")
@Log(title = "鍒嗛〉鏌ヨ", businessType = BusinessType.OTHER)
@@ -34,6 +38,13 @@
@Log(title = "鏂板", businessType = BusinessType.INSERT)
@ApiOperation("鏂板")
public AjaxResult add(@RequestBody NoticeDTO noticeDTO){
+ if (noticeDTO.getStatus()==1){
+ //姝e紡鍙戝竷閫氱煡鎵�鏈変汉鐨勬秷鎭�氱煡
+ sysNoticeService.simpleNoticeAll("閫氱煡鍏憡",
+ noticeDTO.getTitle(),
+ noticeDTO.getTenantId(),
+ "/collaborativeApproval/noticeManagement?type="+noticeDTO.getType());
+ }
return AjaxResult.success(noticeService.save(noticeDTO));
}
@@ -41,6 +52,14 @@
@Log(title = "淇敼", businessType = BusinessType.UPDATE)
@ApiOperation("淇敼")
public AjaxResult update(@RequestBody NoticeDTO noticeDTO){
+ if (ObjectUtils.isNotNull(noticeDTO.getStatus()) && noticeDTO.getStatus()==1){
+ Notice notice = noticeService.getById(noticeDTO.getId());
+ //姝e紡鍙戝竷閫氱煡鎵�鏈変汉鐨勬秷鎭�氱煡
+ sysNoticeService.simpleNoticeAll("閫氱煡鍏憡",
+ notice.getTitle(),
+ notice.getTenantId(),
+ "/collaborativeApproval/noticeManagement?type="+notice.getType());
+ }
return AjaxResult.success(noticeService.updateById(noticeDTO));
}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeTypeController.java b/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeTypeController.java
new file mode 100644
index 0000000..6f06563
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/controller/NoticeTypeController.java
@@ -0,0 +1,62 @@
+package com.ruoyi.collaborativeApproval.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.basic.dto.SupplierManageDto;
+import com.ruoyi.basic.pojo.SupplierManage;
+import com.ruoyi.collaborativeApproval.pojo.NoticeType;
+import com.ruoyi.collaborativeApproval.service.NoticeTypeService;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶� 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-13 09:57:56
+ */
+@RestController
+@RequestMapping("/noticeType")
+public class NoticeTypeController {
+
+ @Autowired
+ private NoticeTypeService noticeTypeService;
+
+ /**
+ * 閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶ゆ柊澧�
+ * @param noticeType
+ * @return
+ */
+ @PostMapping("/add")
+ public AjaxResult add(@RequestBody NoticeType noticeType) {
+ return AjaxResult.success(noticeTypeService.save(noticeType));
+ }
+
+ /**
+ * 閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶ゅ垹闄�
+ * @param ids
+ * @return
+ */
+ @DeleteMapping("/del")
+ public AjaxResult delNoticeType(@RequestBody List<Integer> ids) {
+ if(CollectionUtils.isEmpty(ids)){
+ return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+ }
+ return AjaxResult.success(noticeTypeService.removeBatchByIds(ids));
+ }
+
+ /**
+ * 閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶ゆ煡璇�
+ * @return
+ */
+ @GetMapping("/list")
+ public AjaxResult noticeTypeList() {
+ return AjaxResult.success(noticeTypeService.list());
+ }
+
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeTypeMapper.java b/src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeTypeMapper.java
new file mode 100644
index 0000000..1b21c49
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/mapper/NoticeTypeMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.collaborativeApproval.mapper;
+
+import com.ruoyi.collaborativeApproval.pojo.NoticeType;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶� Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-13 09:57:56
+ */
+public interface NoticeTypeMapper extends BaseMapper<NoticeType> {
+
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java b/src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java
index 35eb6c0..5ca6e4b 100644
--- a/src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java
+++ b/src/main/java/com/ruoyi/collaborativeApproval/pojo/Notice.java
@@ -30,9 +30,9 @@
private String title;
/**
- * 鍏憡绫诲瀷锛�1鏀惧亣閫氱煡 2璁惧缁翠慨閫氱煡锛�
+ * 鍏憡绫诲瀷
*/
- @ApiModelProperty("鍏憡绫诲瀷锛�1鏀惧亣閫氱煡 2璁惧缁翠慨閫氱煡锛�")
+ @ApiModelProperty("鍏憡绫诲瀷")
private String type;
/**
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/pojo/NoticeType.java b/src/main/java/com/ruoyi/collaborativeApproval/pojo/NoticeType.java
new file mode 100644
index 0000000..840c338
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/pojo/NoticeType.java
@@ -0,0 +1,35 @@
+package com.ruoyi.collaborativeApproval.pojo;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-13 09:57:56
+ */
+@Getter
+@Setter
+@TableName("notice_type")
+@ApiModel(value = "NoticeType瀵硅薄", description = "閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶�")
+public class NoticeType implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id;
+
+ @ApiModelProperty("閫氱煡鍏憡鐨勫叕鍛婄被鍨�")
+ private String noticeType;
+
+ @TableField(fill = FieldFill.INSERT)
+ private Long tenantId;
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/NoticeTypeService.java b/src/main/java/com/ruoyi/collaborativeApproval/service/NoticeTypeService.java
new file mode 100644
index 0000000..d7c90bb
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/NoticeTypeService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.collaborativeApproval.service;
+
+import com.ruoyi.collaborativeApproval.pojo.NoticeType;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶� 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-13 09:57:56
+ */
+public interface NoticeTypeService extends IService<NoticeType> {
+
+}
diff --git a/src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeTypeServiceImpl.java b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeTypeServiceImpl.java
new file mode 100644
index 0000000..6ec04a9
--- /dev/null
+++ b/src/main/java/com/ruoyi/collaborativeApproval/service/impl/NoticeTypeServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.collaborativeApproval.service.impl;
+
+import com.ruoyi.collaborativeApproval.pojo.NoticeType;
+import com.ruoyi.collaborativeApproval.mapper.NoticeTypeMapper;
+import com.ruoyi.collaborativeApproval.service.NoticeTypeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 閫氱煡鍏憡鐨勫叕鍛婄被鍨嬬淮鎶� 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2026-01-13 09:57:56
+ */
+@Service
+public class NoticeTypeServiceImpl extends ServiceImpl<NoticeTypeMapper, NoticeType> implements NoticeTypeService {
+
+}
diff --git a/src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java b/src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java
index 1a7cf45..ab8b3d6 100644
--- a/src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java
+++ b/src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java
@@ -4,13 +4,15 @@
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
+
+import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
/**
* Entity鍩虹被
- *
+ *
* @author ruoyi
*/
public class BaseEntity implements Serializable
@@ -19,6 +21,7 @@
/** 鎼滅储鍊� */
@JsonIgnore
+ @TableField(exist = false)
private String searchValue;
/** 鍒涘缓鑰� */
@@ -40,6 +43,7 @@
/** 璇锋眰鍙傛暟 */
@JsonInclude(JsonInclude.Include.NON_EMPTY)
+ @TableField(exist = false)
private Map<String, Object> params;
public String getSearchValue()
diff --git a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
index 95e97a1..829d44c 100644
--- a/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
+++ b/src/main/java/com/ruoyi/inspectiontask/service/impl/InspectionTaskServiceImpl.java
@@ -77,7 +77,7 @@
// 鎵归噺鏌ヨ鐧昏浜�
Map<Long, SysUser> sysUserMap;
if (!registrantIds.isEmpty()) {
- List<SysUser> sysUsers = sysUserMapper.selectList(registrantIds);
+ List<SysUser> sysUsers = sysUserMapper.selectRegistrantIds(registrantIds);
sysUserMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, Function.identity()));
} else {
sysUserMap = new HashMap<>();
diff --git a/src/main/java/com/ruoyi/project/system/domain/SysUser.java b/src/main/java/com/ruoyi/project/system/domain/SysUser.java
index b568471..ac7f535 100644
--- a/src/main/java/com/ruoyi/project/system/domain/SysUser.java
+++ b/src/main/java/com/ruoyi/project/system/domain/SysUser.java
@@ -16,7 +16,7 @@
/**
* 鐢ㄦ埛瀵硅薄 sys_user
- *
+ *
* @author ruoyi
*/
public class SysUser extends BaseEntity
@@ -73,31 +73,39 @@
@Excel(name = "閮ㄩ棬鍚嶇О", targetAttr = "deptName", type = Type.EXPORT),
@Excel(name = "閮ㄩ棬璐熻矗浜�", targetAttr = "leader", type = Type.EXPORT)
})
+ @TableField(exist = false)
private SysDept dept;
/** 瑙掕壊瀵硅薄 */
+ @TableField(exist = false)
private List<SysRole> roles;
/** 瑙掕壊缁� */
+ @TableField(exist = false)
private Long[] roleIds;
/** 宀椾綅缁� */
+ @TableField(exist = false)
private Long[] postIds;
/** 瑙掕壊ID */
+ @TableField(exist = false)
private Long roleId;
/** 绉熸埛ID */
private Long tenantId;
+ @TableField(exist = false)
private Long[] deptIds;
@TableField(exist = false)
private Long deptId;
+ @TableField(exist = false)
private Long currentDeptId;
/** 褰撳墠鐧诲綍鍏徃 */
+ @TableField(exist = false)
private String currentFactoryName;
public String getCurrentFactoryName() {
@@ -111,6 +119,7 @@
/**
* 閮ㄩ棬鍚嶇О
*/
+ @TableField(exist = false)
private String deptNames;
public Long getCurrentDeptId() {
@@ -371,7 +380,6 @@
.append("updateBy", getUpdateBy())
.append("updateTime", getUpdateTime())
.append("remark", getRemark())
- .append("dept", getDept())
.toString();
}
}
diff --git a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
index 5d0b675..5507b3f 100644
--- a/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
+++ b/src/main/java/com/ruoyi/project/system/mapper/SysUserMapper.java
@@ -149,7 +149,7 @@
*/
public SysUser checkEmailUnique(String email);
- List<SysUser> selectList(List<Long> registrantIds);
+ List<SysUser> selectRegistrantIds(List<Long> registrantIds);
List<SysUser> selectUsersByIds(@Param("userIds") List<Long> userIds);
diff --git a/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java b/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java
index 917d9aa..ac4ba6f 100644
--- a/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java
+++ b/src/main/java/com/ruoyi/project/system/service/ISysNoticeService.java
@@ -67,26 +67,6 @@
int readAll();
/**
- * 閫氳繃瑙掕壊 鍙戦�佹彁閱�
- * @param title 鏍囬
- * @param message 鍐呭
- * @param needPushRoles 鍙戦�佺殑瑙掕壊
- * @param jumpPath 璺宠浆鍦板潃
- */
- void simpleNoticeByRoles(final String title, final String message, final Long tenantId,final List<String> needPushRoles,
- final String jumpPath);
-
- /**
- * 閫氳繃鏉冮檺 鍙戦�佹彁閱�
- * @param title 鏍囬
- * @param message 娑堟伅
- * @param needPerms 鍙戦�佺殑鏉冮檺鑰� 宸插寘鍚笂绾�
- * @param jumpPath 璺宠浆鍦板潃
- */
- void simpleNoticeByPerms(final String title, final String message, final Long tenantId,final List<String> needPerms,
- final String jumpPath);
-
- /**
* 閫氳繃鎸囧畾浜哄彂閫佹彁閱�
* @param title 鏍囬
* @param message 娑堟伅
@@ -103,5 +83,4 @@
*/
void simpleNoticeAll(final String title, final String message,final Long tenantId,final String jumpPath);
- void insertBatch(final List<SysNotice> notices);
}
diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
index 79a5750..775bbe1 100644
--- a/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
+++ b/src/main/java/com/ruoyi/project/system/service/impl/SysNoticeServiceImpl.java
@@ -12,6 +12,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.xiaoymin.knife4j.core.util.StrUtil;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.project.system.domain.SysUser;
import com.ruoyi.project.system.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
@@ -126,33 +127,6 @@
}
@Override
- public void simpleNoticeByRoles(final String title, String message, Long tenantId, List<String> needPushRoles,
- final String jumpPath) {
- Long userId = SecurityUtils.getUserId();
- if (StrUtil.isBlank(message) || CollectionUtils.isEmpty(needPushRoles)) {
- return;
- }
- List<String> rolesWithAdmin = new ArrayList<>(needPushRoles);
- rolesWithAdmin.add("绠$悊鍛�");
- List<SysNotice> collect = rolesWithAdmin.stream()
- .flatMap(it -> userMapper.getUserByRole(it).stream())
- .map(it -> convertSysNotice(title, message, it,tenantId, jumpPath, userId))
- .collect(Collectors.toList());
- sysNoticeService.insertBatch(collect);
- }
-
- @Override
- public void simpleNoticeByPerms(String title, String message, Long tenantId, List<String> needPerms,
- String jumpPath) {
- Long userId = SecurityUtils.getLoginUser().getUserId();
- if (StrUtil.isBlank(message) || CollectionUtils.isEmpty(needPerms)) {
- return;
- }
- List<SysNotice> collect = userMapper.getUserByPerms(needPerms).stream().map(it -> convertSysNotice(title, message, it,tenantId, jumpPath, userId)).collect(Collectors.toList());
- sysNoticeService.insertBatch(collect);
- }
-
- @Override
public void simpleNoticeByUser(String title, String message, List<Long> consigneeId, Long tenantId,
String jumpPath) {
Long userId = SecurityUtils.getLoginUser().getUserId();
@@ -163,21 +137,13 @@
@Override
public void simpleNoticeAll(String title, String message, Long tenantId,String jumpPath) {
Long userId = SecurityUtils.getLoginUser().getUserId();
- List<SysNotice> collect = userMapper.selectList(null).stream().map(it -> convertSysNotice(title, message, it.getUserId(),tenantId, jumpPath, userId)).collect(Collectors.toList());
+ List<SysUser> sysUsers = userMapper.selectList(Wrappers.<SysUser>lambdaQuery()
+ .eq(SysUser::getStatus, "0")
+ .eq(SysUser::getTenantId, tenantId));
+ List<SysNotice> collect = sysUsers.stream().map(it -> convertSysNotice(title, message, it.getUserId(),tenantId, jumpPath, userId)).collect(Collectors.toList());
sysNoticeService.saveBatch(collect);
}
- @Override
- public void insertBatch(List<SysNotice> noticesList) {
- if(CollectionUtils.isEmpty(noticesList)){
- return;
- }
- // 鎺掗櫎鎺夎嚜宸�
- Long userId = SecurityUtils.getUserId();
- List<SysNotice> noticesListNew = noticesList.stream().filter(Objects::nonNull).filter(it -> !Objects.equals(it.getConsigneeId(), userId)).collect(Collectors.toList());
- sysNoticeService.saveBatch(noticesListNew);
-
- }
private SysNotice convertSysNotice(String title,String message,Long consigneeId, Long tenantId,String jumpPath,Long currentUserId) {
SysNotice sysNotice = new SysNotice();
diff --git a/src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml b/src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml
index 5f646ad..08cf865 100644
--- a/src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml
+++ b/src/main/resources/mapper/collaborativeApproval/NoticeMapper.xml
@@ -11,11 +11,11 @@
and n.title like concat('%',#{ew.title},'%')
</if>
<if test="ew.type != null">
- and n.type = #{ew.type}
+ and n.type = #{ew.type}
</if>
<if test="ew.status != null">
and n.status = #{ew.status}
</if>
</where>
</select>
-</mapper>
\ No newline at end of file
+</mapper>
diff --git a/src/main/resources/mapper/collaborativeApproval/NoticeTypeMapper.xml b/src/main/resources/mapper/collaborativeApproval/NoticeTypeMapper.xml
new file mode 100644
index 0000000..00bf7bf
--- /dev/null
+++ b/src/main/resources/mapper/collaborativeApproval/NoticeTypeMapper.xml
@@ -0,0 +1,12 @@
+<?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.ruoyi.collaborativeApproval.mapper.NoticeTypeMapper">
+
+ <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+ <resultMap id="BaseResultMap" type="com.ruoyi.collaborativeApproval.pojo.NoticeType">
+ <id column="id" property="id" />
+ <result column="notice_type" property="noticeType" />
+ <result column="tenant_id" property="tenantId" />
+ </resultMap>
+
+</mapper>
diff --git a/src/main/resources/mapper/system/SysUserMapper.xml b/src/main/resources/mapper/system/SysUserMapper.xml
index 441fd9a..8f66fd3 100644
--- a/src/main/resources/mapper/system/SysUserMapper.xml
+++ b/src/main/resources/mapper/system/SysUserMapper.xml
@@ -158,7 +158,7 @@
#{item}
</foreach>
</select>
- <select id="selectList" resultType="com.ruoyi.project.system.domain.SysUser">
+ <select id="selectRegistrantIds" resultType="com.ruoyi.project.system.domain.SysUser">
SELECT user_id, nick_name FROM sys_user
<where>
<if test="list != null and list.size() > 0">
--
Gitblit v1.9.3