Bladeren bron

Merge branch 'master' of http://18.143.223.211:10880/dragon/portal-service

yonghuifan 1 jaar geleden
bovenliggende
commit
3b58c2b49d

+ 2 - 1
src/main/java/com/dragon/tj/portal/auth/web/mapper/SysUserMapper.java

@@ -19,5 +19,6 @@ import java.util.Set;
 @Mapper
 public interface SysUserMapper extends BaseMapper<SysUser> {
 
-    Set<String> getUserIds(@Param("itemCodes") List<String> itemCodes);
+    List<SysUser> getUserInfoByOrgIds(@Param("itemCodes") List<String> itemCodes);
+    List<SysUser> getUserInfoByIds(@Param("clientIds") List<String> clientIds);
 }

+ 2 - 1
src/main/java/com/dragon/tj/portal/auth/web/service/SysDeptService.java

@@ -2,6 +2,7 @@ package com.dragon.tj.portal.auth.web.service;
 
 import com.dragon.tj.portal.auth.web.entity.SysDept;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.dragon.tj.portal.common.dto.message.MessageInfoUserInfo;
 
 import java.util.Set;
 
@@ -16,5 +17,5 @@ import java.util.Set;
 public interface SysDeptService extends IService<SysDept> {
 
 
-    Set<String> getAllUserIds(Set<String> orgCode,boolean cascade);
+    MessageInfoUserInfo getAllUsers(Set<String> orgCode, Integer cascade);
 }

+ 30 - 9
src/main/java/com/dragon/tj/portal/auth/web/service/impl/SysDeptServiceImpl.java

@@ -3,16 +3,23 @@ package com.dragon.tj.portal.auth.web.service.impl;
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dragon.tj.portal.auth.web.entity.SysDept;
+import com.dragon.tj.portal.auth.web.entity.SysUser;
 import com.dragon.tj.portal.auth.web.mapper.SysDeptMapper;
 import com.dragon.tj.portal.auth.web.mapper.SysUserMapper;
 import com.dragon.tj.portal.auth.web.service.SysDeptService;
+import com.dragon.tj.portal.common.constants.BusinessConstants;
+import com.dragon.tj.portal.common.dto.message.MessageInfoUserInfo;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -29,15 +36,29 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept> impl
     private SysUserMapper sysUserMapper;
 
     @Override
-    public Set<String> getAllUserIds(Set<String> orgCodeSet, boolean cascade) {
-        List<String> orgCodeList = Lists.newArrayList(orgCodeSet);
-        List<List<String>> codeSplit = CollUtil.split(orgCodeList, 800);
-
-        Set<String> userIdListRst = Sets.newHashSet();
-        for (List<String> itemCodes : codeSplit) {
-            Set<String> userIds = sysUserMapper.getUserIds(itemCodes);
-            userIdListRst.addAll(userIds);
+    public MessageInfoUserInfo getAllUsers(Set<String> scopeIds, Integer messageType) {
+
+        List<String> scopeIdList = Lists.newArrayList(scopeIds);
+        List<List<String>> scopeIdSplit = CollUtil.split(scopeIdList, 500);
+
+        MessageInfoUserInfo messageInfoUserInfo = new MessageInfoUserInfo();
+        Map<String, SysUser> collect = Maps.newHashMap();
+        Set<String> keySet = Sets.newHashSet();
+        for (List<String> itemCodes : scopeIdSplit) {
+            List<SysUser> sysUsers;
+            if (messageType.equals(BusinessConstants.DICT_ITEM_ID_1)) {
+                sysUsers = sysUserMapper.getUserInfoByOrgIds(itemCodes);
+            } else {
+                sysUsers = sysUserMapper.getUserInfoByIds(itemCodes);
+            }
+            if (CollectionUtils.isNotEmpty(sysUsers)) {
+                collect.putAll(sysUsers.stream().collect(Collectors.toMap(SysUser::getIdcard, o -> o)));
+                keySet.addAll(collect.keySet());
+            }
         }
-        return userIdListRst;
+        messageInfoUserInfo.setUserMap(collect);
+        messageInfoUserInfo.setClientIds(keySet);
+
+        return messageInfoUserInfo;
     }
 }

+ 24 - 0
src/main/java/com/dragon/tj/portal/common/dto/message/MessageInfoUserInfo.java

@@ -0,0 +1,24 @@
+package com.dragon.tj.portal.common.dto.message;
+
+
+import com.dragon.tj.portal.auth.web.entity.SysUser;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author huey China.
+ * @Description :
+ * @Date Created in 2023/6/15 15:59
+ */
+@Getter
+@Setter
+public class MessageInfoUserInfo {
+
+    private Map<String, SysUser> userMap;
+
+    private Set<String> clientIds;
+
+}

+ 4 - 0
src/main/java/com/dragon/tj/portal/common/dto/notice/NoticeInfoReq.java

@@ -50,6 +50,10 @@ public class NoticeInfoReq {
     @NotNull(message = "毫秒时间戳 不能为空")
     private Long t;
 
+    /**
+    *
+    *推送人的信息
+    */
     private String clientId;
 
     private String clientOrgCode;

+ 24 - 0
src/main/java/com/dragon/tj/portal/common/enums/log/ModuleEnum.java

@@ -1,6 +1,11 @@
 package com.dragon.tj.portal.common.enums.log;
 
+import com.google.common.collect.Maps;
 import lombok.Getter;
+import org.apache.commons.compress.utils.Lists;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author huey China.
@@ -43,5 +48,24 @@ public enum ModuleEnum {
         this.desc = desc;
     }
 
+    public static Map<String, String> getMap() {
+        Map<String, String> map = Maps.newHashMap();
+        for (ModuleEnum module : values()) {
+            map.put(module.getCode(), module.getDesc());
+        }
+        return map;
+    }
+
+    public static List<Map<String, String>> getMaps() {
+        List<Map<String, String>> list = Lists.newArrayList();
+        for (ModuleEnum module : values()) {
+            Map<String, String> map = Maps.newHashMap();
+            map.put("key", module.getCode());
+            map.put("value", module.getDesc());
+            list.add(map);
+        }
+        return list;
+    }
+
 
 }

+ 46 - 0
src/main/java/com/dragon/tj/portal/common/vo/log/LogPageParam.java

@@ -0,0 +1,46 @@
+package com.dragon.tj.portal.common.vo.log;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import java.time.LocalDateTime;
+
+/**
+ * @author huey China.
+ * @Description : 日志
+ * @Date Created in 2023/8/11 10:36
+ */
+@ToString
+@Getter
+@Setter
+public class LogPageParam extends Page {
+
+    /**
+     * 姓名,身份证好,操作类型,功能模块,操作时间
+     */
+    private String userName;
+    private String idCard;
+    /**
+     * 部门名称 模糊或code 下拉
+     */
+    private String orgCode;
+    private String orgName;
+    /**
+     * 功能模块
+     */
+    private String moduleType;
+    /**
+     * 操作类型
+     */
+    private String title;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime creatTimeStart;
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
+    private LocalDateTime creatTimeEnd;
+
+
+
+}

+ 49 - 3
src/main/java/com/dragon/tj/portal/controller/SysLogController.java

@@ -1,9 +1,14 @@
 package com.dragon.tj.portal.controller;
 
 
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.dragon.tj.portal.common.base.R;
+import com.dragon.tj.portal.common.enums.log.ModuleEnum;
+import com.dragon.tj.portal.common.vo.log.LogPageParam;
+import com.dragon.tj.portal.entity.SysLog;
+import com.dragon.tj.portal.service.SysLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -17,5 +22,46 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/sysLog")
 public class SysLogController {
 
+    @Autowired
+    private SysLogService sysLogService;
+
+    /**
+     * 分页查询
+     *
+     * @param
+     * @param req
+     * @return
+     */
+    @PostMapping("/page")
+    public R page(@RequestBody LogPageParam req) {
+        IPage iPage = sysLogService.queryPage(req, req);
+        return R.ok(iPage);
+    }
+
+    /**
+     * 详情
+     */
+    @GetMapping("detail")
+    public R detail(Long id) {
+        SysLog sysLog = sysLogService.getById(id);
+        return R.ok(sysLog);
+    }
+
+    /**
+     * 日志模块枚举返回
+     */
+    @GetMapping("moduleMap")
+    public R moduleMap() {
+        return R.ok(ModuleEnum.getMap());
+    }
+
+    /**
+     * 日志模块枚举返回
+     */
+    @GetMapping("moduleMaps")
+    public R moduleMaps() {
+        return R.ok(ModuleEnum.getMaps());
+    }
+
 }
 

+ 5 - 0
src/main/java/com/dragon/tj/portal/entity/MessageInfoScope.java

@@ -55,6 +55,11 @@ public class MessageInfoScope implements Serializable {
      * 部门id
      */
     private String scopeId;
+    /**
+    *
+    *部门名称
+    */
+    private String scopeName;
 
     /**
      * 范围级别

+ 6 - 1
src/main/java/com/dragon/tj/portal/mapper/SysLogMapper.java

@@ -1,8 +1,12 @@
 package com.dragon.tj.portal.mapper;
 
-import com.dragon.tj.portal.entity.SysLog;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dragon.tj.portal.common.vo.log.LogPageParam;
+import com.dragon.tj.portal.entity.SysLog;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -15,4 +19,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface SysLogMapper extends BaseMapper<SysLog> {
 
+    IPage queryPage(Page page, @Param("req") LogPageParam req);
 }

+ 6 - 1
src/main/java/com/dragon/tj/portal/service/SysLogService.java

@@ -1,7 +1,10 @@
 package com.dragon.tj.portal.service;
 
-import com.dragon.tj.portal.entity.SysLog;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.dragon.tj.portal.common.vo.log.LogPageParam;
+import com.dragon.tj.portal.entity.SysLog;
 
 /**
  * <p>
@@ -13,4 +16,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface SysLogService extends IService<SysLog> {
 
+    IPage queryPage(Page page, LogPageParam req);
+
 }

+ 22 - 24
src/main/java/com/dragon/tj/portal/service/impl/MessageInfoServiceImpl.java

@@ -15,6 +15,7 @@ import com.dragon.tj.portal.common.convert.mesage.MessageInfoVOConvert;
 import com.dragon.tj.portal.common.convert.mesage.MessageReqConvert;
 import com.dragon.tj.portal.common.dto.message.MessageInfoReq;
 import com.dragon.tj.portal.common.dto.message.MessageInfoSend;
+import com.dragon.tj.portal.common.dto.message.MessageInfoUserInfo;
 import com.dragon.tj.portal.common.enums.message.MessageInfoErrorEnums;
 import com.dragon.tj.portal.common.enums.message.MsgRecordTypeEnum;
 import com.dragon.tj.portal.common.enums.message.ReadStatusEnum;
@@ -35,6 +36,7 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.codec.digest.DigestUtils;
+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;
@@ -42,6 +44,7 @@ import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 import java.util.Set;
 
@@ -167,10 +170,10 @@ public class MessageInfoServiceImpl extends ServiceImpl<MessageInfoMapper, Messa
         boolean isSend = false;
         Integer messageType = messageInfoReq.getMessageType();
         Set<String> scopeIds = messageInfoReq.getScopeIds();
-        Set<String> messageClientIds = this.getMessageClientIds(messageType, scopeIds);
+        MessageInfoUserInfo messageInfoUserInfo = this.getMessageClientIds(messageType, scopeIds);
 
-        if (CollUtil.isNotEmpty(messageClientIds)) {
-            MessageInfoSend messageInfoSend = this.doSaveMessageInfo(messageInfoReq, messageClientIds, loginUser);
+        if (CollUtil.isNotEmpty(messageInfoUserInfo.getClientIds())) {
+            MessageInfoSend messageInfoSend = this.doSaveMessageInfo(messageInfoReq, messageInfoUserInfo, loginUser);
             isSend = producer.send(KafkaInitialConfiguration.sseTopic, JSON.toJSONString(messageInfoSend));
             if (isSend) {
                 MsgRecord msgRecord = new MsgRecord();
@@ -185,14 +188,15 @@ public class MessageInfoServiceImpl extends ServiceImpl<MessageInfoMapper, Messa
     }
 
     @Transactional(rollbackFor = Exception.class)
-    public MessageInfoSend doSaveMessageInfo(MessageInfoReq messageInfoReq, Set<String> messageClientIds, LoginUser loginUser) {
-        log.info("doSaveMessageInfo-start-{}-{}", loginUser.getIdCard(), messageClientIds);
+    public MessageInfoSend doSaveMessageInfo(MessageInfoReq messageInfoReq, MessageInfoUserInfo messageInfoUserInfo, LoginUser loginUser) {
+        Set<String> clientIds = messageInfoUserInfo.getClientIds();
+        log.info("doSaveMessageInfo-start-{}-{}", loginUser.getIdCard(), clientIds);
         Integer messageType = messageInfoReq.getMessageType();
         ScopeEnums scopeEnums = ScopeEnums.ofMessageType(messageType);
         List<MessageInfoScope> insertList = Lists.newArrayList();
         MessageInfoSend messageInfoSend = new MessageInfoSend();
         messageInfoSend.setMessageInfoReq(messageInfoReq);
-        messageInfoSend.setClientIds(messageClientIds);
+        messageInfoSend.setClientIds(clientIds);
 
         MessageInfo messageInfo = messageReqConvert.reqToInfo(messageInfoReq);
         messageInfo.setCreateBy(loginUser.getIdCard());
@@ -209,14 +213,17 @@ public class MessageInfoServiceImpl extends ServiceImpl<MessageInfoMapper, Messa
             isSaveBatchSuccess = this.save(messageInfo);
 
             messageInfoSend.setMessageInfo(messageInfo);
-
-            messageClientIds.forEach(e -> {
+            Map<String, SysUser> userMap = messageInfoUserInfo.getUserMap();
+            clientIds.forEach(e -> {
                 MessageInfoScope messageInfoScope = new MessageInfoScope();
                 messageInfoScope.setMessageInfoId(messageInfo.getId());
-                messageInfoScope.setScopeId(loginUser.getOrgCode());
                 messageInfoScope.setMemberId(e);
+                SysUser sysUser = userMap.get(e);
+                if (Objects.nonNull(sysUser) && StringUtils.isNotBlank(sysUser.getOrgCode())) {
+                    messageInfoScope.setScopeId(sysUser.getOrgCode());
+                    messageInfoScope.setScopeName(sysUser.getOrgName());
+                }
                 messageInfoScope.setScopeType(scopeEnums.value());
-                //messageInfoScope.setScopeLevel("");
                 insertList.add(messageInfoScope);
             });
             isSaveBatchSuccess = messageInfoScopeService.saveBatch(insertList);
@@ -235,13 +242,12 @@ public class MessageInfoServiceImpl extends ServiceImpl<MessageInfoMapper, Messa
                 log.warn("消息中心 存储失败 {}");
             }
         }
-        log.info("doSaveMessageInfo-end-{}-{}", loginUser.getIdCard(), messageClientIds);
+        log.info("doSaveMessageInfo-end-{}-{}", loginUser.getIdCard(), clientIds);
         return messageInfoSend;
     }
 
-    private Set<String> getMessageClientIds(Integer messageType, Set<String> scopeIds) {
+    private MessageInfoUserInfo getMessageClientIds(Integer messageType, Set<String> scopeIds) {
         //登录人标识
-        Set<String> messageClientIds = Sets.newHashSet();
         if (CollUtil.isEmpty(scopeIds)) {
             if (messageType.equals(BusinessConstants.DICT_ITEM_ID_2)) {
                 throw new MessageInfoException(MessageInfoErrorEnums.Code.MESSAGE_CONTRACTS_EMPTY);
@@ -249,17 +255,9 @@ public class MessageInfoServiceImpl extends ServiceImpl<MessageInfoMapper, Messa
                 throw new MessageInfoException(MessageInfoErrorEnums.Code.MESSAGE_DEPT_EMPTY);
             }
         }
-        //测试联系人1
-        if (messageType.equals(BusinessConstants.DICT_ITEM_ID_2) && scopeIds.contains("1")) {
-            messageClientIds.add("c1");
-            messageClientIds.add("c2");
-        } else {
-            Set<String> allUserIds = sysDeptService.getAllUserIds(scopeIds, false);
-            if (CollUtil.isNotEmpty(allUserIds)) {
-                messageClientIds.addAll(allUserIds);
-            }
-        }
-        return messageClientIds;
+
+        MessageInfoUserInfo messageInfoUserInfo = sysDeptService.getAllUsers(scopeIds, messageType);
+        return messageInfoUserInfo;
     }
 
 

+ 9 - 0
src/main/java/com/dragon/tj/portal/service/impl/SysLogServiceImpl.java

@@ -1,5 +1,9 @@
 package com.dragon.tj.portal.service.impl;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.dragon.tj.portal.common.enums.log.ModuleEnum;
+import com.dragon.tj.portal.common.vo.log.LogPageParam;
 import com.dragon.tj.portal.entity.SysLog;
 import com.dragon.tj.portal.mapper.SysLogMapper;
 import com.dragon.tj.portal.service.SysLogService;
@@ -17,4 +21,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class SysLogServiceImpl extends ServiceImpl<SysLogMapper, SysLog> implements SysLogService {
 
+    @Override
+    public IPage queryPage(Page page, LogPageParam req) {
+        return baseMapper.queryPage(page,req);
+    }
+
 }

+ 3 - 3
src/main/resources/application-local.properties

@@ -1,7 +1,7 @@
-spring.datasource.url=jdbc:mysql:///portal?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+spring.datasource.url=jdbc:mysql://portal-tj.com:3306/portal?useSSL=true&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
 #spring.datasource.url=jdbc:mysql://portal-tj.com:3306/portal?characterEncoding=utf8
-spring.datasource.username=root
-spring.datasource.password=123456
+spring.datasource.username=portal
+spring.datasource.password=portal01!
 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
 #log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
 ###########kafka#############

+ 25 - 0
src/main/resources/mapper/SysLogMapper.xml

@@ -2,4 +2,29 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dragon.tj.portal.mapper.SysLogMapper">
 
+    <select id="queryPage" resultType="com.baomidou.mybatisplus.core.metadata.IPage">
+        SELECT * from sys_log b
+        where del_flag = 0
+        <if test="req.userName != null  and req.userName != ''">
+            and b.create_user like concat('%',#{req.userName},'%')
+        </if>
+        <if test="req.idCard != null  and req.idCard != ''">
+            and b.create_by = #{req.idCard}
+        </if>
+        <if test="req.orgCode != null  and req.orgCode != ''">
+            and b.create_org_code = #{req.orgCode}
+        </if>
+        <if test="req.orgName != null  and req.orgName != ''">
+            and b.create_org_name like concat('%',#{req.orgName},'%')
+        </if>
+        <if test="req.moduleType != null and req.moduleType != ''">
+            and b.module_type = #{req.moduleType}
+        </if>
+        <if test="req.title != null and req.title != ''">
+            and b.title like concat('%',#{req.title},'%')
+        </if>
+        <if test="req.creatTimeStart != null and req.creatTimeEnd != null ">
+            and b.create_time >= #{req.creatTimeStart} and b.create_time &lt;= #{req.creatTimeEnd}
+        </if>
+    </select>
 </mapper>

+ 12 - 2
src/main/resources/mapper/auth/web/SysUserMapper.xml

@@ -35,12 +35,22 @@
     <sql id="Base_Column_List">
         idcard, name, police_number, org_code, org_name, user_type, deleted, update_time, rank, title, man_type, police_category, police_business, sex, birth, nation, address, phone, mobile_work, mobile_private, qq_account, email, wx_account, post_type, job_type
     </sql>
-    <select id="getUserIds" resultType="java.lang.String">
-        select idcard from sys_user
+    <select id="getUserInfoByOrgIds" resultType="com.dragon.tj.portal.auth.web.entity.SysUser">
+        select idcard,org_code,org_name from sys_user
         where org_code in
             <foreach collection="itemCodes" index="index" item="item" open="(" separator="," close=")">
                 #{item}
             </foreach>
     </select>
 
+    <select id="getUserInfoByIds" resultType="com.dragon.tj.portal.auth.web.entity.SysUser">
+        select idcard,org_code,org_name from sys_user
+        where idcard in
+        <foreach collection="clientIds" index="index" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
+
+
+
 </mapper>