瀏覽代碼

no message

zhouy 8 月之前
父節點
當前提交
9d9a6c0e0c

+ 20 - 0
bus-biz/src/main/java/bus/mapper/BNoticeUserMapper.java

@@ -0,0 +1,20 @@
+package bus.mapper;
+
+import bus.model.dto.BNoticeUserPageDto;
+import bus.model.vo.BNoticeUserVo;
+import bus.model.po.*;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: zy
+ * @Date: 2025-03-10 22:38:55
+ **/
+@Mapper
+public interface BNoticeUserMapper extends BaseMapper<BNoticeUserPo> {
+
+    List<BNoticeUserVo> list(BNoticeUserPageDto dto);
+}

+ 33 - 0
bus-biz/src/main/java/bus/service/BNoticeUserService.java

@@ -0,0 +1,33 @@
+package bus.service;
+
+import bus.model.dto.BNoticeUserDto;
+import bus.model.dto.BNoticeUserPageDto;
+import bus.model.vo.BNoticeUserVo;
+import bus.model.po.BNoticeUserPo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: zy
+ * @Date: 2025-03-10 22:38:55
+ **/
+public interface BNoticeUserService extends IService<BNoticeUserPo> {
+
+
+    /**
+     *
+     * 当前用户已读
+     * @param dto
+     */
+    void addNoticeUser(BNoticeUserDto dto);
+
+    /**
+     *
+     * 当前用户设置所有已读
+     * @param dto
+     */
+    void addNoticeUserAll();
+}

+ 26 - 26
bus-biz/src/main/java/bus/service/CommonService.java

@@ -1,26 +1,26 @@
-package bus.service;
-
-
-import com.orcas.common.model.ValueLabelObject;
-import com.orcas.common.sso.model.SsoUserAuthDto;
-import com.orcas.dictionary.common.dto.JsonAreaDto;
-import bus.model.dto.CommonLoginDto;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.List;
-
-/**
-* @Program: bus
-* @Description: 描述
-* @Author: zy
-* @Date: 2025-03-06 22:43:32
-**/
-public interface CommonService {
-
-	List<ValueLabelObject> getDataDict(String dictCode);
-
-	SsoUserAuthDto doLogin(HttpServletRequest request, HttpServletResponse response, CommonLoginDto userLoginRequest);
-
-	List<JsonAreaDto> getAreaDict();
-}
+package bus.service;
+
+
+import com.orcas.common.model.ValueLabelObject;
+import com.orcas.common.sso.model.SsoUserAuthDto;
+import com.orcas.dictionary.common.dto.JsonAreaDto;
+import bus.model.dto.CommonLoginDto;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-03-10 22:38:55
+**/
+public interface CommonService {
+
+	List<ValueLabelObject> getDataDict(String dictCode);
+
+	SsoUserAuthDto doLogin(HttpServletRequest request, HttpServletResponse response, CommonLoginDto userLoginRequest);
+
+	List<JsonAreaDto> getAreaDict();
+}

+ 74 - 0
bus-biz/src/main/java/bus/service/impl/BNoticeUserServiceImpl.java

@@ -0,0 +1,74 @@
+package bus.service.impl;
+
+import bus.model.SnowflakeUtil;
+import bus.model.dto.BNoticeUserDto;
+import bus.model.dto.BNoticeUserPageDto;
+import bus.model.vo.BNoticeUserVo;
+import bus.model.po.BNoticeUserPo;
+import bus.mapper.BNoticeUserMapper;
+
+import bus.service.BNoticeUserService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.orcas.common.sso.model.ExtInfo;
+import com.orcas.iso.config.common.user.CurrentUserHolder;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.BeanUtils;
+import java.util.List;
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: zy
+ * @Date: 2025-03-10 22:38:55
+ **/
+@Service
+public class BNoticeUserServiceImpl extends ServiceImpl<BNoticeUserMapper,BNoticeUserPo> implements BNoticeUserService {
+
+    @Autowired
+    private BNoticeUserMapper bNoticeUserMapper;
+    @Autowired
+    private SnowflakeUtil snowflakeUtil;
+
+
+    @Override
+    public void addNoticeUser(BNoticeUserDto dto) {
+        ExtInfo extInfo = CurrentUserHolder.get();
+        String userId = extInfo.getUserId();
+        BNoticeUserPo po = new BNoticeUserPo();
+        po.setId(snowflakeUtil.snowflakeId());
+        po.setUserId(userId);
+        po.setNoticeId(dto.getNoticeId());
+        save(po);
+    }
+
+    @Override
+    public void addNoticeUserAll() {
+        // 获取当前用户信息
+        ExtInfo extInfo = CurrentUserHolder.get();
+        String userId = extInfo.getUserId();
+        
+        // 获取所有需要添加的通知用户列表
+        List<BNoticeUserPo> noticeUserList = bNoticeUserMapper.selectList(null);
+        
+        // 批量添加通知用户
+        for (BNoticeUserPo noticeUser : noticeUserList) {
+            // 检查用户是否已经添加过该通知
+            BNoticeUserPo existPo = bNoticeUserMapper.selectOne(
+                new QueryWrapper<BNoticeUserPo>()
+                    .eq("user_id", userId)
+                    .eq("notice_id", noticeUser.getNoticeId())
+            );
+            
+            // 如果不存在,则添加
+            if (existPo == null) {
+                BNoticeUserPo po = new BNoticeUserPo();
+                po.setId(snowflakeUtil.snowflakeId());
+                po.setUserId(userId);
+                po.setNoticeId(noticeUser.getNoticeId());
+                save(po);
+            }
+        }
+    }
+}

+ 87 - 87
bus-biz/src/main/java/bus/service/impl/CommonServiceImpl.java

@@ -1,87 +1,87 @@
-package bus.service.impl;
-
-
-import com.orcas.common.model.ValueLabelObject;
-import com.orcas.common.sso.model.LoginRequest;
-import com.orcas.common.sso.model.SsoUserAuthDto;
-import com.orcas.dictionary.common.config.CodeClient;
-import com.orcas.dictionary.common.dto.JsonAreaDto;
-import com.orcas.dictionary.common.dto.JsonCodeDto;
-import com.orcas.dictionary.common.model.JsonCodeParam;
-import com.orcas.iso.service.SsoClient;
-import bus.model.dto.CommonLoginDto;
-import bus.service.CommonService;
-import org.apache.commons.collections4.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.Assert;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
-* @Program: bus
-* @Description: 描述
-* @Author: zy
-* @Date: 2025-03-06 22:43:32
-**/
-@Service
-@Transactional
-public class CommonServiceImpl implements CommonService {
-
-	@Autowired
-	private SsoClient ssoClient;
-
-	@Value("${orcas.productNo}")
-	private String productNo;
-
-	@Value("${orcas.expireMinute:30}")
-	private Integer expireMinute;
-
-	@Autowired
-	private CodeClient codeClient;
-
-	@Override
-	public List<ValueLabelObject> getDataDict(String dictCode) {
-		if (StringUtils.isBlank(dictCode)) {
-			return Collections.emptyList();
-		}
-		JsonCodeParam param = new JsonCodeParam();
-		param.setProductNo(productNo);
-		param.setBigCodeKeys(Collections.singletonList(dictCode));
-		List<JsonCodeDto> dtos = codeClient.getCodeList(param);
-		if (CollectionUtils.isEmpty(dtos) || CollectionUtils.isEmpty(dtos.get(0).getJsonCodeChildes())) {
-			return Collections.emptyList();
-		}
-		return dtos.get(0).getJsonCodeChildes().stream()
-				.map(child -> new ValueLabelObject(child.getCodeKey(), child.getCodeName()))
-				.collect(Collectors.toList());
-	}
-
-
-	@Override
-	public SsoUserAuthDto doLogin(HttpServletRequest request, HttpServletResponse response, CommonLoginDto userLoginRequest) {
-		Assert.hasText(userLoginRequest.getAccount(), "账号不能为空!");
-		Assert.hasText(userLoginRequest.getPassword(), "密码不能为空!");
-
-		LoginRequest loginRequest = new LoginRequest();
-		loginRequest.setAccountName(userLoginRequest.getAccount());
-		loginRequest.setAccountPassword(userLoginRequest.getPassword());
-		loginRequest.setExpireMinute(expireMinute);
-		loginRequest.setTimeStamp(System.currentTimeMillis()+"");
-
-		SsoUserAuthDto ssoUserAuthDto= ssoClient.doLogin(request,response,loginRequest);
-		return ssoUserAuthDto;
-	}
-
-	@Override
-	public List<JsonAreaDto> getAreaDict() {
-		return codeClient.getJsonAreaTreeList();
-	}
-}
+package bus.service.impl;
+
+
+import com.orcas.common.model.ValueLabelObject;
+import com.orcas.common.sso.model.LoginRequest;
+import com.orcas.common.sso.model.SsoUserAuthDto;
+import com.orcas.dictionary.common.config.CodeClient;
+import com.orcas.dictionary.common.dto.JsonAreaDto;
+import com.orcas.dictionary.common.dto.JsonCodeDto;
+import com.orcas.dictionary.common.model.JsonCodeParam;
+import com.orcas.iso.service.SsoClient;
+import bus.model.dto.CommonLoginDto;
+import bus.service.CommonService;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.Assert;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-03-10 22:38:55
+**/
+@Service
+@Transactional
+public class CommonServiceImpl implements CommonService {
+
+	@Autowired
+	private SsoClient ssoClient;
+
+	@Value("${orcas.productNo}")
+	private String productNo;
+
+	@Value("${orcas.expireMinute:30}")
+	private Integer expireMinute;
+
+	@Autowired
+	private CodeClient codeClient;
+
+	@Override
+	public List<ValueLabelObject> getDataDict(String dictCode) {
+		if (StringUtils.isBlank(dictCode)) {
+			return Collections.emptyList();
+		}
+		JsonCodeParam param = new JsonCodeParam();
+		param.setProductNo(productNo);
+		param.setBigCodeKeys(Collections.singletonList(dictCode));
+		List<JsonCodeDto> dtos = codeClient.getCodeList(param);
+		if (CollectionUtils.isEmpty(dtos) || CollectionUtils.isEmpty(dtos.get(0).getJsonCodeChildes())) {
+			return Collections.emptyList();
+		}
+		return dtos.get(0).getJsonCodeChildes().stream()
+				.map(child -> new ValueLabelObject(child.getCodeKey(), child.getCodeName()))
+				.collect(Collectors.toList());
+	}
+
+
+	@Override
+	public SsoUserAuthDto doLogin(HttpServletRequest request, HttpServletResponse response, CommonLoginDto userLoginRequest) {
+		Assert.hasText(userLoginRequest.getAccount(), "账号不能为空!");
+		Assert.hasText(userLoginRequest.getPassword(), "密码不能为空!");
+
+		LoginRequest loginRequest = new LoginRequest();
+		loginRequest.setAccountName(userLoginRequest.getAccount());
+		loginRequest.setAccountPassword(userLoginRequest.getPassword());
+		loginRequest.setExpireMinute(expireMinute);
+		loginRequest.setTimeStamp(System.currentTimeMillis()+"");
+
+		SsoUserAuthDto ssoUserAuthDto= ssoClient.doLogin(request,response,loginRequest);
+		return ssoUserAuthDto;
+	}
+
+	@Override
+	public List<JsonAreaDto> getAreaDict() {
+		return codeClient.getJsonAreaTreeList();
+	}
+}

+ 1 - 0
bus-biz/src/main/java/bus/service/impl/WChatUserServiceImpl.java

@@ -103,6 +103,7 @@ public class WChatUserServiceImpl implements WChatUserService {
             dto.setLastLoginTime(new Date());
             dto.setWxName(mobile);
             dto.setWxPhone(mobile);
+            dto.setUserId(staffByUserName.getId());
             save(dto);
         }
         List<HashMap<String,Object>> roleListByProId = (List<HashMap<String,Object>>) roleClient.getRoleListByProId(productId);

+ 1 - 0
bus-biz/src/main/resources/mapper/BNoticeInfoMapper.xml

@@ -9,6 +9,7 @@
    content,
    type,
    pub_time,
+   is_read,
    status
    from
    b_notice_info

+ 14 - 0
bus-biz/src/main/resources/mapper/BNoticeUserMapper.xml

@@ -0,0 +1,14 @@
+<?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="bus.mapper.BNoticeUserMapper">
+
+ <select id="list" parameterType="bus.model.dto.BNoticeUserPageDto" resultType="bus.model.vo.BNoticeUserVo">
+   select
+   id,
+   user_id,
+   notice_id
+   from
+   b_notice_user
+ </select>
+
+</mapper>

+ 3 - 3
bus-boot/src/test/java/bus/CodeGenerateTest.java

@@ -20,7 +20,7 @@ public class CodeGenerateTest {
 	public void codeGenerate(){
 		GenerateConfig generateConfig = new GenerateConfig();
 		//设置输出目录
-		CodeGenerator.baseOutputDir="F:\\360MoveData\\Users\\sdy\\Desktop\\1731132063887";
+		CodeGenerator.baseOutputDir="/Users/zhou/work/";
 		//设置项目信息
 		ProjectInfo projectInfo = new ProjectInfo();
 		//1表示多模块0表示单模块
@@ -37,8 +37,8 @@ public class CodeGenerateTest {
 		//设置生成的表
 		List<TableInfo> tables = new ArrayList<>();
 		TableInfo tableInfo = new TableInfo();
-		tableInfo.setTableName("b_advert");
-		tableInfo.setTableAlias("bAdvert");
+		tableInfo.setTableName("b_notice_user");
+		tableInfo.setTableAlias("BNoticeUser");
 		tables.add(tableInfo);
 		generateConfig.setTableInfos(tables);
 		//生成代码

+ 36 - 36
bus-common/pom.xml

@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-	<parent>
-		<groupId>bus.bus</groupId>
-		<artifactId>bus</artifactId>
-		<version>1.0.0-SNAPSHOT</version>
-	</parent>
-
-	<modelVersion>4.0.0</modelVersion>
-
-	<groupId>bus.bus</groupId>
-	<artifactId>bus-common</artifactId>
-	<packaging>jar</packaging>
-	<version>1.0.0-SNAPSHOT</version>
-
-
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
-		<maven.compiler.source>1.8</maven.compiler.source>
-		<maven.compiler.target>1.8</maven.compiler.target>
-		<maven.test.skip>true</maven.test.skip>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>com.qzwisdom.qzframework</groupId>
-			<artifactId>qzframework-core-boot</artifactId>
-		</dependency>
-	</dependencies>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<parent>
+		<groupId>bus.bus</groupId>
+		<artifactId>bus</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus-common</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.qzwisdom.qzframework</groupId>
+			<artifactId>qzframework-core-boot</artifactId>
+		</dependency>
+	</dependencies>
+
+</project>

+ 17 - 17
bus-common/src/main/java/bus/model/BaseEntity.java

@@ -1,17 +1,17 @@
-package bus.model;
-
-import lombok.Data;
-/**
-* @Program: bus
-* @Description: 描述
-* @Author: zy
-* @Date: 2025-03-06 22:43:33
-**/
-@Data
-public class BaseEntity {
-    //分页大小,默认值为10
-    private int pageSize = 10;
-
-    //页码,默认值为1
-    private int pageNum = 1;
-}
+package bus.model;
+
+import lombok.Data;
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-03-10 22:38:56
+**/
+@Data
+public class BaseEntity {
+    //分页大小,默认值为10
+    private int pageSize = 10;
+
+    //页码,默认值为1
+    private int pageNum = 1;
+}

+ 1 - 0
bus-common/src/main/java/bus/model/dto/BNoticeInfoDto.java

@@ -31,4 +31,5 @@ public class BNoticeInfoDto{
     @ApiModelProperty("状态 0警用 1启用")
     @NotNull(message = "状态不能为空")
     private String status;
+
 }

+ 15 - 0
bus-common/src/main/java/bus/model/dto/BNoticeUserDto.java

@@ -0,0 +1,15 @@
+package bus.model.dto;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-03-10 22:38:56
+**/
+@Data
+public class BNoticeUserDto{
+    @ApiModelProperty("公告id")
+    private String noticeId;
+}

+ 20 - 0
bus-common/src/main/java/bus/model/dto/BNoticeUserPageDto.java

@@ -0,0 +1,20 @@
+package bus.model.dto;
+
+import bus.model.BaseEntity;
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-03-10 22:38:56
+**/
+@Data
+public class BNoticeUserPageDto extends BaseEntity{
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("用户id")
+    private String userId;
+    @ApiModelProperty("公告id")
+    private String noticeId;
+}

+ 23 - 23
bus-common/src/main/java/bus/model/dto/CommonLoginDto.java

@@ -1,23 +1,23 @@
-package bus.model.dto;
-
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-import lombok.Data;
-
-/**
-* @Program: bus
-* @Description: 描述
-* @Author: zy
-* @Date: 2025-03-06 22:43:33
-**/
-@ApiModel(description = "账户登陆请求实体")
-@Data
-public class CommonLoginDto {
-
-	@ApiModelProperty("账号")
-	private String account;
-
-	@ApiModelProperty("密码")
-	private String password;
-
-}
+package bus.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-03-10 22:38:56
+**/
+@ApiModel(description = "账户登陆请求实体")
+@Data
+public class CommonLoginDto {
+
+	@ApiModelProperty("账号")
+	private String account;
+
+	@ApiModelProperty("密码")
+	private String password;
+
+}

+ 1 - 0
bus-common/src/main/java/bus/model/dto/WChatUserDto.java

@@ -26,4 +26,5 @@ public class WChatUserDto{
     private Date registerTime;
     @ApiModelProperty("最近登录时间")
     private Date lastLoginTime;
+    private String userId;
 }

+ 1 - 0
bus-common/src/main/java/bus/model/po/BNoticeInfoPo.java

@@ -32,4 +32,5 @@ public class BNoticeInfoPo{
     private String updaterName;
     @TableLogic
     private Integer isDelete;
+
 }

+ 20 - 0
bus-common/src/main/java/bus/model/po/BNoticeUserPo.java

@@ -0,0 +1,20 @@
+package bus.model.po;
+
+import lombok.Data;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+
+/**
+* @Program: bus
+* @Description: 
+* @Author: zy
+* @Date: 2025-03-10 22:38:56
+**/
+@Data
+@TableName("b_notice_user")
+public class BNoticeUserPo{
+    @TableId
+    private String id;
+    private String userId;
+    private String noticeId;
+}

+ 21 - 0
bus-common/src/main/java/bus/model/vo/BNoticeUserVo.java

@@ -0,0 +1,21 @@
+package bus.model.vo;
+
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+import com.qzwisdom.qzframework.core.tool.base.vo.AbstractBaseVO;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-03-10 22:38:56
+**/
+@Data
+public class BNoticeUserVo extends AbstractBaseVO{
+    @ApiModelProperty("id")
+    private String id;
+    @ApiModelProperty("用户id")
+    private String userId;
+    @ApiModelProperty("公告id")
+    private String noticeId;
+}

+ 50 - 50
bus-web/pom.xml

@@ -1,50 +1,50 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-	<parent>
-		<groupId>bus.bus</groupId>
-		<artifactId>bus</artifactId>
-		<version>1.0.0-SNAPSHOT</version>
-	</parent>
-
-	<modelVersion>4.0.0</modelVersion>
-
-	<groupId>bus.bus</groupId>
-	<artifactId>bus-web</artifactId>
-	<packaging>jar</packaging>
-	<version>1.0.0-SNAPSHOT</version>
-
-
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
-		<maven.compiler.source>1.8</maven.compiler.source>
-		<maven.compiler.target>1.8</maven.compiler.target>
-		<maven.test.skip>true</maven.test.skip>
-	</properties>
-
-	<dependencies>
-		<dependency>
-			<groupId>com.qzwisdom.qzframework</groupId>
-			<artifactId>qzframework-core-boot</artifactId>
-			<scope>provided</scope>
-		</dependency>
-		<dependency>
-			<groupId>bus.bus</groupId>
-			<artifactId>bus-biz</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-web</artifactId>
-		</dependency>
-		<dependency>
-			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-logging</artifactId>
-			<scope>provided</scope>
-		</dependency>
-	</dependencies>
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+		 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<parent>
+		<groupId>bus.bus</groupId>
+		<artifactId>bus</artifactId>
+		<version>1.0.0-SNAPSHOT</version>
+	</parent>
+
+	<modelVersion>4.0.0</modelVersion>
+
+	<groupId>bus.bus</groupId>
+	<artifactId>bus-web</artifactId>
+	<packaging>jar</packaging>
+	<version>1.0.0-SNAPSHOT</version>
+
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+		<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
+		<maven.compiler.source>1.8</maven.compiler.source>
+		<maven.compiler.target>1.8</maven.compiler.target>
+		<maven.test.skip>true</maven.test.skip>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>com.qzwisdom.qzframework</groupId>
+			<artifactId>qzframework-core-boot</artifactId>
+			<scope>provided</scope>
+		</dependency>
+		<dependency>
+			<groupId>bus.bus</groupId>
+			<artifactId>bus-biz</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-web</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-logging</artifactId>
+			<scope>provided</scope>
+		</dependency>
+	</dependencies>
+
+</project>

+ 47 - 0
bus-web/src/main/java/bus/controller/biz/BNoticeUserController.java

@@ -0,0 +1,47 @@
+package bus.controller.biz;
+
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageSerializable;
+import bus.model.dto.BNoticeUserDto;
+import bus.model.dto.BNoticeUserPageDto;
+import bus.model.vo.BNoticeUserVo;
+import bus.service.BNoticeUserService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;
+
+
+
+/**
+ * @Program: bus
+ * @Description: 描述
+ * @Author: zy
+ * @Date: 2025-03-10 22:38:55
+ **/
+@Slf4j
+@CrossOrigin
+@RestController
+@Api(tags = "bNoticeUser接口")
+@RequestMapping(value="/bNoticeUser")
+public class BNoticeUserController implements BaseController {
+
+    @Autowired
+    private BNoticeUserService bNoticeUserService;
+
+    @ApiOperation("添加通知用户")
+    @PostMapping("/add")
+    public void add(@RequestBody BNoticeUserDto dto) {
+        bNoticeUserService.addNoticeUser(dto);
+    }
+
+    @ApiOperation("批量添加通知用户")
+    @PostMapping("/addAll")
+    public void addAll() {
+        bNoticeUserService.addNoticeUserAll();
+    }
+
+
+}

+ 213 - 213
bus-web/src/main/java/bus/controller/biz/CommonController.java

@@ -1,213 +1,213 @@
-package bus.controller.biz;
-
-import com.orcas.common.enums.YesOrNo;
-import com.orcas.common.enums.sso.UserSateResponse;
-import com.orcas.common.model.ValueLabelObject;
-import com.orcas.common.sso.model.*;
-import com.orcas.common.usercenter.model.*;
-import com.orcas.dictionary.common.dto.JsonAreaDto;
-import com.orcas.fileclient.common.entity.FileEntity;
-import com.orcas.fileclient.service.FileStoreClient;
-import com.orcas.iso.config.common.user.CurrentUserHolder;
-import com.orcas.iso.service.MenuClient;
-import com.orcas.iso.service.SsoClient;
-import com.orcas.iso.service.UserClient;
-import bus.model.dto.CommonLoginDto;
-import bus.service.CommonService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-
-/**
-* @Program: bus
-* @Description: 描述
-* @Author: zy
-* @Date: 2025-03-06 22:43:31
-**/
-@RestController
-@RequestMapping("/common")
-@Api(tags = "公共接口")
-public class CommonController  implements BaseController {
-    @Value("${orcas.productNo}")
-    private String productNo;
-    @Value("${orcas.microNo}")
-    private String microNo;
-    @Autowired
-    private SsoClient ssoClient;
-    @Autowired
-    private UserClient userClient;
-    @Autowired
-    private MenuClient menuClient;
-    @Autowired
-    private FileStoreClient fileStoreClient;
-
-    @Autowired
-    private CommonService commonService;
-
-
-    @ApiOperation("登录")
-    @PostMapping("/doLogin")
-    @CrossOrigin
-    public Object doLogin(HttpServletRequest request, HttpServletResponse response,
-                                @RequestBody CommonLoginDto userLoginRequest){
-        //注意加了审计注解的方法需要手动捕获异常
-        try{
-            SsoUserAuthDto ssoUserAuthDto = commonService.doLogin(request,response,userLoginRequest);
-            return ssoUserAuthDto;
-        }catch (Exception e){
-            return e.getMessage();
-        }
-    }
-    @ApiOperation("登出")
-    @GetMapping("/doLoginOut")
-    @CrossOrigin
-    public String doLoginOut(HttpServletRequest request, HttpServletResponse response){
-       try{
-            Boolean flag = ssoClient.doLogout(request,response);
-            if(flag){
-                return "退出成功";
-            }else{
-                return "退出失败";
-            }
-       }catch (Exception e){
-            return e.getMessage();
-       }
-    }
-
-    @ApiOperation("注册")
-    @PostMapping("/registerUser")
-    @CrossOrigin
-    public Object registerUser(HttpServletRequest request, HttpServletResponse response,
-                                @RequestBody RegisterRequest registerRequest){
-        registerRequest.setAccountName(registerRequest.getUserPhone());
-        SsoUserResponse ssoUserResponse = ssoClient.registerUser(registerRequest);
-        if(UserSateResponse.USER_STATE_02.getCode().equals(ssoUserResponse.getUserSate())){
-            return "手机号已存在";
-        }
-        return ssoUserResponse;
-    }
-
-    @ApiOperation("获取当前人员在本应用的菜单资源")
-    @GetMapping("/getTenantMenu")
-    public List<MenuTreeNode> getTenantMenu(String gotoMicroNo){
-        MenuTreeRequest menuTreeRequest = new MenuTreeRequest();
-        menuTreeRequest.setUnitOrganizeId(CurrentUserHolder.get().getUnitOrganizeId());
-        menuTreeRequest.setUsername(CurrentUserHolder.get().getUserName());
-        menuTreeRequest.setProductNo(productNo);
-        menuTreeRequest.setGotoMicroNo(microNo);
-        menuTreeRequest.setIsAdmin(CurrentUserHolder.get().getIsAdmin());
-        menuTreeRequest.setStaffId(CurrentUserHolder.get().getStaffId());
-        menuTreeRequest.setAccountName(CurrentUserHolder.get().getAccountName());
-        List<MenuTreeNode> menuTreeNodes = menuClient.getRoleMenuList(menuTreeRequest);
-        return menuTreeNodes;
-    }
-
-    @ApiOperation("获取每个产品的门户资源菜单树")
-    @GetMapping("/getAllPortalMenus")
-    public List<ProductPortalMenu> getAllPortalMenus(){
-        MenuTreeRequest menuTreeRequest = new MenuTreeRequest();
-        menuTreeRequest.setUnitOrganizeId(CurrentUserHolder.get().getUnitOrganizeId());
-        menuTreeRequest.setUsername(CurrentUserHolder.get().getUserName());
-        menuTreeRequest.setIsAdmin(CurrentUserHolder.get().getIsAdmin());
-        menuTreeRequest.setStaffId(CurrentUserHolder.get().getStaffId());
-        menuTreeRequest.setAccountName(CurrentUserHolder.get().getAccountName());
-        List<ProductPortalMenu> productPortalMenuList = menuClient.getAllPortalMenus(menuTreeRequest);
-        return productPortalMenuList;
-    }
-
-
-    @ApiOperation("修改密码")
-    @PostMapping("/updatePassword")
-    public Object updatePwd(@RequestBody UpdatePasswordRequest request){
-        try{
-            SsoUserAuthDto ssoUserAuthDto = ssoClient.updatePassword(request);
-            return ssoUserAuthDto;
-        }catch (Exception e){
-            return e.getMessage();
-        }
-    }
-
-    @ApiOperation("新增租户组织")
-    @PostMapping("/addUnitOrganize")
-    public TenantRequest addUnitOrganize(HttpServletRequest request,@RequestBody TenantRequest tenantRequest) {
-        tenantRequest.setSsoUserId(CurrentUserHolder.get().getUserId());
-        tenantRequest.setAccountName(CurrentUserHolder.get().getAccountName());
-        tenantRequest.setUserName(CurrentUserHolder.get().getUserName());
-        tenantRequest.setUserPhone(CurrentUserHolder.get().getUserPhone());
-        TenantRequest returnTenanRequest = userClient.createTenant(tenantRequest);
-        // 新增成功后 切换组织并刷新redis缓存
-        userClient.updateSelectedTenant(request,tenantRequest.getUniformCreditCode());
-        return returnTenanRequest;
-    }
-
-    @ApiOperation("获取租户组织列表")
-    @PostMapping("/getUnitOrganize")
-    public List<TenantSimpleDto> getUnitOrganize() {
-        List<TenantSimpleDto> tenantSimpleDtoList = userClient.getTenantList(CurrentUserHolder.get().getAccountName());
-        if(!CollectionUtils.isEmpty(tenantSimpleDtoList)){
-        	for(TenantSimpleDto dto : tenantSimpleDtoList){
-        		if(dto.getUniformCreditCode().equals(CurrentUserHolder.get().getUniformCreditCode())){
-					dto.setIsSelected(YesOrNo.YES.getValue());
-					break;
-				}
-			}
-		}
-        return tenantSimpleDtoList;
-    }
-
-	@ApiOperation("选择租户组织")
-	@GetMapping("/updateSelectedTenant")
-	public String updateSelectedTenant(HttpServletRequest request,@RequestParam String uniformCreditCode) {
-		userClient.updateSelectedTenant(request,uniformCreditCode);
-		return "设置成功";
-	}
-
-
-
-    @ApiOperation("获取数据字典")
-    @PostMapping("/getDataDict")
-    public List<ValueLabelObject> getDataDict(@RequestBody String dictCode) {
-        List<ValueLabelObject> valueLabelObjectList = commonService.getDataDict(dictCode);
-        return valueLabelObjectList;
-    }
-
-    @ApiOperation("获取当前用户")
-    @GetMapping("/getCurrentUser")
-    public ExtInfo getCurrentUser() {
-        ExtInfo extInfo = CurrentUserHolder.get();
-        String accountName = CurrentUserHolder.get().getAccountName();
-        List<TenantSimpleDto> tenantSimpleDtoList = userClient.getTenantList(accountName);
-        extInfo.setTenantSimpleDtoList(tenantSimpleDtoList);
-        return extInfo;
-    }
-
-    @ApiOperation("行政区域及其子类")
-    @PostMapping("/getAreaDict")
-    public List<JsonAreaDto> getAreaDict() {
-        List<JsonAreaDto> jsonAreaDtoList = commonService.getAreaDict();
-        return jsonAreaDtoList;
-    }
-
-    @ApiOperation("文件上传")
-    @PostMapping("/addFile")
-    public FileEntity addFile(@RequestBody MultipartFile file) {
-        FileEntity fileEntity = null;
-        try {
-            fileEntity = fileStoreClient.upload(file.getBytes(),file.getOriginalFilename(),productNo);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return fileEntity;
-    }
-}
+package bus.controller.biz;
+
+import com.orcas.common.enums.YesOrNo;
+import com.orcas.common.enums.sso.UserSateResponse;
+import com.orcas.common.model.ValueLabelObject;
+import com.orcas.common.sso.model.*;
+import com.orcas.common.usercenter.model.*;
+import com.orcas.dictionary.common.dto.JsonAreaDto;
+import com.orcas.fileclient.common.entity.FileEntity;
+import com.orcas.fileclient.service.FileStoreClient;
+import com.orcas.iso.config.common.user.CurrentUserHolder;
+import com.orcas.iso.service.MenuClient;
+import com.orcas.iso.service.SsoClient;
+import com.orcas.iso.service.UserClient;
+import bus.model.dto.CommonLoginDto;
+import bus.service.CommonService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import com.qzwisdom.qzframework.core.tool.base.controller.BaseController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+
+/**
+* @Program: bus
+* @Description: 描述
+* @Author: zy
+* @Date: 2025-03-10 22:38:55
+**/
+@RestController
+@RequestMapping("/common")
+@Api(tags = "公共接口")
+public class CommonController  implements BaseController {
+    @Value("${orcas.productNo}")
+    private String productNo;
+    @Value("${orcas.microNo}")
+    private String microNo;
+    @Autowired
+    private SsoClient ssoClient;
+    @Autowired
+    private UserClient userClient;
+    @Autowired
+    private MenuClient menuClient;
+    @Autowired
+    private FileStoreClient fileStoreClient;
+
+    @Autowired
+    private CommonService commonService;
+
+
+    @ApiOperation("登录")
+    @PostMapping("/doLogin")
+    @CrossOrigin
+    public Object doLogin(HttpServletRequest request, HttpServletResponse response,
+                                @RequestBody CommonLoginDto userLoginRequest){
+        //注意加了审计注解的方法需要手动捕获异常
+        try{
+            SsoUserAuthDto ssoUserAuthDto = commonService.doLogin(request,response,userLoginRequest);
+            return ssoUserAuthDto;
+        }catch (Exception e){
+            return e.getMessage();
+        }
+    }
+    @ApiOperation("登出")
+    @GetMapping("/doLoginOut")
+    @CrossOrigin
+    public String doLoginOut(HttpServletRequest request, HttpServletResponse response){
+       try{
+            Boolean flag = ssoClient.doLogout(request,response);
+            if(flag){
+                return "退出成功";
+            }else{
+                return "退出失败";
+            }
+       }catch (Exception e){
+            return e.getMessage();
+       }
+    }
+
+    @ApiOperation("注册")
+    @PostMapping("/registerUser")
+    @CrossOrigin
+    public Object registerUser(HttpServletRequest request, HttpServletResponse response,
+                                @RequestBody RegisterRequest registerRequest){
+        registerRequest.setAccountName(registerRequest.getUserPhone());
+        SsoUserResponse ssoUserResponse = ssoClient.registerUser(registerRequest);
+        if(UserSateResponse.USER_STATE_02.getCode().equals(ssoUserResponse.getUserSate())){
+            return "手机号已存在";
+        }
+        return ssoUserResponse;
+    }
+
+    @ApiOperation("获取当前人员在本应用的菜单资源")
+    @GetMapping("/getTenantMenu")
+    public List<MenuTreeNode> getTenantMenu(String gotoMicroNo){
+        MenuTreeRequest menuTreeRequest = new MenuTreeRequest();
+        menuTreeRequest.setUnitOrganizeId(CurrentUserHolder.get().getUnitOrganizeId());
+        menuTreeRequest.setUsername(CurrentUserHolder.get().getUserName());
+        menuTreeRequest.setProductNo(productNo);
+        menuTreeRequest.setGotoMicroNo(microNo);
+        menuTreeRequest.setIsAdmin(CurrentUserHolder.get().getIsAdmin());
+        menuTreeRequest.setStaffId(CurrentUserHolder.get().getStaffId());
+        menuTreeRequest.setAccountName(CurrentUserHolder.get().getAccountName());
+        List<MenuTreeNode> menuTreeNodes = menuClient.getRoleMenuList(menuTreeRequest);
+        return menuTreeNodes;
+    }
+
+    @ApiOperation("获取每个产品的门户资源菜单树")
+    @GetMapping("/getAllPortalMenus")
+    public List<ProductPortalMenu> getAllPortalMenus(){
+        MenuTreeRequest menuTreeRequest = new MenuTreeRequest();
+        menuTreeRequest.setUnitOrganizeId(CurrentUserHolder.get().getUnitOrganizeId());
+        menuTreeRequest.setUsername(CurrentUserHolder.get().getUserName());
+        menuTreeRequest.setIsAdmin(CurrentUserHolder.get().getIsAdmin());
+        menuTreeRequest.setStaffId(CurrentUserHolder.get().getStaffId());
+        menuTreeRequest.setAccountName(CurrentUserHolder.get().getAccountName());
+        List<ProductPortalMenu> productPortalMenuList = menuClient.getAllPortalMenus(menuTreeRequest);
+        return productPortalMenuList;
+    }
+
+
+    @ApiOperation("修改密码")
+    @PostMapping("/updatePassword")
+    public Object updatePwd(@RequestBody UpdatePasswordRequest request){
+        try{
+            SsoUserAuthDto ssoUserAuthDto = ssoClient.updatePassword(request);
+            return ssoUserAuthDto;
+        }catch (Exception e){
+            return e.getMessage();
+        }
+    }
+
+    @ApiOperation("新增租户组织")
+    @PostMapping("/addUnitOrganize")
+    public TenantRequest addUnitOrganize(HttpServletRequest request,@RequestBody TenantRequest tenantRequest) {
+        tenantRequest.setSsoUserId(CurrentUserHolder.get().getUserId());
+        tenantRequest.setAccountName(CurrentUserHolder.get().getAccountName());
+        tenantRequest.setUserName(CurrentUserHolder.get().getUserName());
+        tenantRequest.setUserPhone(CurrentUserHolder.get().getUserPhone());
+        TenantRequest returnTenanRequest = userClient.createTenant(tenantRequest);
+        // 新增成功后 切换组织并刷新redis缓存
+        userClient.updateSelectedTenant(request,tenantRequest.getUniformCreditCode());
+        return returnTenanRequest;
+    }
+
+    @ApiOperation("获取租户组织列表")
+    @PostMapping("/getUnitOrganize")
+    public List<TenantSimpleDto> getUnitOrganize() {
+        List<TenantSimpleDto> tenantSimpleDtoList = userClient.getTenantList(CurrentUserHolder.get().getAccountName());
+        if(!CollectionUtils.isEmpty(tenantSimpleDtoList)){
+        	for(TenantSimpleDto dto : tenantSimpleDtoList){
+        		if(dto.getUniformCreditCode().equals(CurrentUserHolder.get().getUniformCreditCode())){
+					dto.setIsSelected(YesOrNo.YES.getValue());
+					break;
+				}
+			}
+		}
+        return tenantSimpleDtoList;
+    }
+
+	@ApiOperation("选择租户组织")
+	@GetMapping("/updateSelectedTenant")
+	public String updateSelectedTenant(HttpServletRequest request,@RequestParam String uniformCreditCode) {
+		userClient.updateSelectedTenant(request,uniformCreditCode);
+		return "设置成功";
+	}
+
+
+
+    @ApiOperation("获取数据字典")
+    @PostMapping("/getDataDict")
+    public List<ValueLabelObject> getDataDict(@RequestBody String dictCode) {
+        List<ValueLabelObject> valueLabelObjectList = commonService.getDataDict(dictCode);
+        return valueLabelObjectList;
+    }
+
+    @ApiOperation("获取当前用户")
+    @GetMapping("/getCurrentUser")
+    public ExtInfo getCurrentUser() {
+        ExtInfo extInfo = CurrentUserHolder.get();
+        String accountName = CurrentUserHolder.get().getAccountName();
+        List<TenantSimpleDto> tenantSimpleDtoList = userClient.getTenantList(accountName);
+        extInfo.setTenantSimpleDtoList(tenantSimpleDtoList);
+        return extInfo;
+    }
+
+    @ApiOperation("行政区域及其子类")
+    @PostMapping("/getAreaDict")
+    public List<JsonAreaDto> getAreaDict() {
+        List<JsonAreaDto> jsonAreaDtoList = commonService.getAreaDict();
+        return jsonAreaDtoList;
+    }
+
+    @ApiOperation("文件上传")
+    @PostMapping("/addFile")
+    public FileEntity addFile(@RequestBody MultipartFile file) {
+        FileEntity fileEntity = null;
+        try {
+            fileEntity = fileStoreClient.upload(file.getBytes(),file.getOriginalFilename(),productNo);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return fileEntity;
+    }
+}