Sfoglia il codice sorgente

Revert "重写消息推送"

This reverts commit e2ae5716676a0f377e9f506f8747adf4083593e4.
24282 2 anni fa
parent
commit
12a0c739f3

+ 3 - 11
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java

@@ -24,13 +24,11 @@ import com.fjhx.account.service.account.AccountRunningWaterService;
 import com.fjhx.account.service.tax.TaxRefundDetailsService;
 import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.common.entity.corporation.po.Corporation;
-import com.fjhx.common.enums.PushBusinessTypeEnum;
 import com.fjhx.common.service.corporation.CorporationService;
 import com.fjhx.common.utils.Assert;
 import com.fjhx.common.utils.ExchangeRateUtil;
 import com.fjhx.item.util.excel.util.ExcelUtil;
-import com.fjhx.socket.core.PushTypeEnum;
-import com.fjhx.socket.core.WebSocketPush;
+import com.fjhx.socket.service.WebSocketServer;
 import com.fjhx.tenant.entity.dict.dto.DictTenantDataSelectDto;
 import com.fjhx.tenant.entity.dict.vo.DictTenantDataVo;
 import com.fjhx.tenant.service.dict.DictTenantDataService;
@@ -251,14 +249,8 @@ public class AccountRunningWaterServiceImpl extends ServiceImpl<AccountRunningWa
 
         String msg = "{} - {}账户有一笔新的到账(金额:{} {}),请相应业务员进行认领。";
 
-        // WebSocketServer.sendInfoGroup(0, StrUtil.format(
-        //         msg, corporation.getName(), accountManagement.getName(), dto.getCurrency(), dto.getAmount()));
-
-        WebSocketPush.byTenant(
-                PushTypeEnum.PUSH_NOTIFICATION,
-                StrUtil.format(msg, corporation.getName(), accountManagement.getName(), dto.getCurrency(), dto.getAmount()),
-                PushBusinessTypeEnum.TO_THE_ACCOUNT.getType()
-        );
+        WebSocketServer.sendInfoGroup(0, StrUtil.format(
+                msg, corporation.getName(), accountManagement.getName(), dto.getCurrency(), dto.getAmount()));
 
     }
 

+ 79 - 79
hx-common/src/main/java/com/fjhx/common/controller/send/SendMegController.java

@@ -1,79 +1,79 @@
-// package com.fjhx.common.controller.send;
-//
-// import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-// import com.fjhx.common.entity.send.dto.SendMegDto;
-// import com.fjhx.common.entity.send.dto.SendMegSelectDto;
-// import com.fjhx.common.entity.send.vo.SendMegVo;
-// import com.fjhx.common.service.send.SendMegService;
-// import com.ruoyi.common.core.domain.BaseSelectDto;
-// import org.springframework.beans.factory.annotation.Autowired;
-// import org.springframework.scheduling.annotation.EnableScheduling;
-// import org.springframework.scheduling.annotation.Scheduled;
-// import org.springframework.web.bind.annotation.PostMapping;
-// import org.springframework.web.bind.annotation.RequestBody;
-// import org.springframework.web.bind.annotation.RequestMapping;
-// import org.springframework.web.bind.annotation.RestController;
-//
-//
-// /**
-//  * <p>
-//  * 前端控制器
-//  * </p>
-//  *
-//  * @author
-//  * @since 2023-05-22
-//  */
-// @EnableScheduling
-// @RestController
-// @RequestMapping("/sendMeg")
-// public class SendMegController {
-//
-//     @Autowired
-//     private SendMegService sendMegService;
-//
-//     /**
-//      * 分页
-//      */
-//     @PostMapping("/page")
-//     public Page<SendMegVo> page(@RequestBody SendMegSelectDto dto) {
-//         return sendMegService.getPage(dto);
-//     }
-//
-//     /**
-//      * 明细
-//      */
-//     @PostMapping("/detail")
-//     public SendMegVo detail(@RequestBody BaseSelectDto dto) {
-//         return sendMegService.detail(dto.getId());
-//     }
-//
-//     /**
-//      * 新增
-//      */
-//     @PostMapping("/add")
-//     public void add(@RequestBody SendMegDto sendMegDto) {
-//         sendMegService.add(sendMegDto);
-//     }
-//
-//     /**
-//      * 编辑
-//      */
-//     @PostMapping("/edit")
-//     public void edit(@RequestBody SendMegDto sendMegDto) {
-//         sendMegService.edit(sendMegDto);
-//     }
-//
-//     /**
-//      * 删除
-//      */
-//     @PostMapping("/delete")
-//     public void delete(@RequestBody BaseSelectDto dto) {
-//         sendMegService.delete(dto.getId());
-//     }
-//
-//     @Scheduled(cron = "0 0/1 *  * * ? ")   // 每1分钟执行一次
-//     public void execute() {
-//         sendMegService.executeSend();
-//     }
-//
-// }
+package com.fjhx.common.controller.send;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.send.dto.SendMegDto;
+import com.fjhx.common.entity.send.dto.SendMegSelectDto;
+import com.fjhx.common.entity.send.vo.SendMegVo;
+import com.fjhx.common.service.send.SendMegService;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author
+ * @since 2023-05-22
+ */
+@EnableScheduling
+@RestController
+@RequestMapping("/sendMeg")
+public class SendMegController {
+
+    @Autowired
+    private SendMegService sendMegService;
+
+    /**
+     * 分页
+     */
+    @PostMapping("/page")
+    public Page<SendMegVo> page(@RequestBody SendMegSelectDto dto) {
+        return sendMegService.getPage(dto);
+    }
+
+    /**
+     * 明细
+     */
+    @PostMapping("/detail")
+    public SendMegVo detail(@RequestBody BaseSelectDto dto) {
+        return sendMegService.detail(dto.getId());
+    }
+
+    /**
+     * 新增
+     */
+    @PostMapping("/add")
+    public void add(@RequestBody SendMegDto sendMegDto) {
+        sendMegService.add(sendMegDto);
+    }
+
+    /**
+     * 编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody SendMegDto sendMegDto) {
+        sendMegService.edit(sendMegDto);
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/delete")
+    public void delete(@RequestBody BaseSelectDto dto) {
+        sendMegService.delete(dto.getId());
+    }
+
+    @Scheduled(cron = "0 0/1 *  * * ? ")   // 每1分钟执行一次
+    public void execute() {
+        sendMegService.executeSend();
+    }
+
+}

+ 0 - 36
hx-common/src/main/java/com/fjhx/common/enums/PushBusinessTypeEnum.java

@@ -1,36 +0,0 @@
-package com.fjhx.common.enums;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-@Getter
-@AllArgsConstructor
-public enum PushBusinessTypeEnum {
-    /**
-     * 未读日报
-     */
-    UNREAD_DAILY(1),
-    /**
-     * 发布日志
-     */
-    RELEASE_LOG(2),
-    /**
-     * 分享日报
-     */
-    SHARE_DAILY(3),
-    /**
-     * 日程提醒
-     */
-    SCHEDULE_REMINDER(4),
-    /**
-     * 到账
-     */
-    TO_THE_ACCOUNT(5),
-    /**
-     * 异常处理
-     */
-    EXCEPTION_HANDLING(6);
-
-    private final int type;
-
-}

+ 26 - 26
hx-common/src/main/java/com/fjhx/common/mapper/send/SendMegMapper.java

@@ -1,26 +1,26 @@
-// package com.fjhx.common.mapper.send;
-//
-// import com.fjhx.common.entity.send.po.SendMeg;
-// import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-// import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-// import com.fjhx.common.entity.send.vo.SendMegVo;
-// import com.ruoyi.common.utils.wrapper.IWrapper;
-// import org.apache.ibatis.annotations.Param;
-//
-//
-// /**
-//  * <p>
-//  *  Mapper 接口
-//  * </p>
-//  *
-//  * @author
-//  * @since 2023-05-22
-//  */
-// public interface SendMegMapper extends BaseMapper<SendMeg> {
-//
-//     /**
-//      * 分页
-//      */
-//     Page<SendMegVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<SendMeg> wrapper);
-//
-// }
+package com.fjhx.common.mapper.send;
+
+import com.fjhx.common.entity.send.po.SendMeg;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.send.vo.SendMegVo;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import org.apache.ibatis.annotations.Param;
+
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2023-05-22
+ */
+public interface SendMegMapper extends BaseMapper<SendMeg> {
+
+    /**
+     * 分页
+     */
+    Page<SendMegVo> getPage(@Param("page") Page<Object> page, @Param("ew") IWrapper<SendMeg> wrapper);
+
+}

+ 55 - 55
hx-common/src/main/java/com/fjhx/common/service/send/SendMegService.java

@@ -1,55 +1,55 @@
-// package com.fjhx.common.service.send;
-//
-// import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-// import com.fjhx.common.entity.send.dto.SendMegDto;
-// import com.fjhx.common.entity.send.dto.SendMegSelectDto;
-// import com.fjhx.common.entity.send.po.SendMeg;
-// import com.fjhx.common.entity.send.vo.SendMegVo;
-// import com.ruoyi.common.core.service.BaseService;
-//
-//
-// /**
-//  * <p>
-//  * 服务类
-//  * </p>
-//  *
-//  * @author
-//  * @since 2023-05-22
-//  */
-// public interface SendMegService extends BaseService<SendMeg> {
-//
-//     /**
-//      * 分页
-//      */
-//     Page<SendMegVo> getPage(SendMegSelectDto dto);
-//
-//     /**
-//      * 明细
-//      */
-//     SendMegVo detail(Long id);
-//
-//     /**
-//      * 新增
-//      */
-//     void add(SendMegDto sendMegDto);
-//
-//     /**
-//      * 编辑
-//      */
-//     void edit(SendMegDto sendMegDto);
-//
-//     /**
-//      * 删除
-//      */
-//     void delete(Long id);
-//
-//     /**
-//      * 推送数据
-//      */
-//     void send(SendMeg sendMeg);
-//
-//
-//     void executeSend();
-//
-//
-// }
+package com.fjhx.common.service.send;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.send.dto.SendMegDto;
+import com.fjhx.common.entity.send.dto.SendMegSelectDto;
+import com.fjhx.common.entity.send.po.SendMeg;
+import com.fjhx.common.entity.send.vo.SendMegVo;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-05-22
+ */
+public interface SendMegService extends BaseService<SendMeg> {
+
+    /**
+     * 分页
+     */
+    Page<SendMegVo> getPage(SendMegSelectDto dto);
+
+    /**
+     * 明细
+     */
+    SendMegVo detail(Long id);
+
+    /**
+     * 新增
+     */
+    void add(SendMegDto sendMegDto);
+
+    /**
+     * 编辑
+     */
+    void edit(SendMegDto sendMegDto);
+
+    /**
+     * 删除
+     */
+    void delete(Long id);
+
+    /**
+     * 推送数据
+     */
+    void send(SendMeg sendMeg);
+
+
+    void executeSend();
+
+
+}

+ 166 - 166
hx-common/src/main/java/com/fjhx/common/service/send/impl/SendMegServiceImpl.java

@@ -1,166 +1,166 @@
-// package com.fjhx.common.service.send.impl;
-//
-// import cn.hutool.core.bean.BeanUtil;
-// import cn.hutool.core.convert.Convert;
-// import cn.hutool.core.date.DateUtil;
-// import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
-// import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-// import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-// import com.fjhx.common.constant.SourceConstant;
-// import com.fjhx.common.entity.send.dto.SendMegDto;
-// import com.fjhx.common.entity.send.dto.SendMegSelectDto;
-// import com.fjhx.common.entity.send.po.SendMeg;
-// import com.fjhx.common.entity.send.vo.SendMegVo;
-// import com.fjhx.common.mapper.send.SendMegMapper;
-// import com.fjhx.common.service.send.SendMegService;
-// import com.fjhx.socket.entity.MessageEntity;
-// import com.fjhx.socket.event.WebSocketUserOfflineEvent;
-// import com.fjhx.socket.service.WebSocketServer;
-// import com.ruoyi.common.constant.StatusConstant;
-// import com.ruoyi.common.core.domain.entity.SysUser;
-// import com.ruoyi.common.core.redis.RedisCache;
-// import com.ruoyi.common.utils.wrapper.IWrapper;
-// import com.ruoyi.framework.mybatis.holder.TenantHolder;
-// import com.ruoyi.system.service.ISysUserService;
-// import lombok.extern.slf4j.Slf4j;
-// import org.springframework.beans.factory.annotation.Autowired;
-// import org.springframework.context.event.EventListener;
-// import org.springframework.stereotype.Service;
-//
-// import java.util.Date;
-// import java.util.List;
-// import java.util.Set;
-//
-//
-// /**
-//  * <p>
-//  * 服务实现类
-//  * </p>
-//  *
-//  * @author
-//  * @since 2023-05-22
-//  */
-// @Slf4j
-// @Service
-// public class SendMegServiceImpl extends ServiceImpl<SendMegMapper, SendMeg> implements SendMegService {
-//
-//     @Autowired
-//     private ISysUserService sysUserService;
-//
-//     @Autowired
-//     private RedisCache redisCache;
-//
-//     private static final String sendMessageKey = "sendMessage:";
-//
-//     @Override
-//     public Page<SendMegVo> getPage(SendMegSelectDto dto) {
-//         IWrapper<SendMeg> wrapper = getWrapper();
-//         wrapper.eq("sm", SendMeg::getType, dto.getType());
-//         wrapper.eq("sm", SendMeg::getStatus, dto.getStatus());
-//         wrapper.orderByAsc("sm", SendMeg::getStatus);
-//         wrapper.orderByDesc("sm", SendMeg::getId);
-//         Page<SendMegVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
-//         return page;
-//     }
-//
-//     @Override
-//     public SendMegVo detail(Long id) {
-//         SendMeg SendMeg = this.getById(id);
-//         SendMegVo result = BeanUtil.toBean(SendMeg, SendMegVo.class);
-//         return result;
-//     }
-//
-//     @Override
-//     public void add(SendMegDto sendMegDto) {
-//         Date sendTime = sendMegDto.getSendTime();
-//         if (sendTime.before(DateUtil.endOfMinute(new Date()))) {
-//             sendMegDto.setStatus(StatusConstant.YES);
-//             new Thread(() -> send(sendMegDto)).start();
-//         } else {
-//             sendMegDto.setStatus(StatusConstant.NO);
-//         }
-//
-//         this.save(sendMegDto);
-//     }
-//
-//     @Override
-//     public void edit(SendMegDto sendMegDto) {
-//         sendMegDto.setStatus(StatusConstant.YES);
-//         this.updateById(sendMegDto);
-//     }
-//
-//     @Override
-//     public void delete(Long id) {
-//         this.removeById(id);
-//     }
-//
-//     @Override
-//     public synchronized void send(SendMeg sendMeg) {
-//         DynamicDataSourceContextHolder.push(SourceConstant.BASE);
-//         TenantHolder.setIgnore(true);
-//         List<SysUser> list = sysUserService.list();
-//         DynamicDataSourceContextHolder.poll();
-//
-//         for (SysUser sysUser : list) {
-//             WebSocketServer.sendInfo(sysUser.getUserId(), 0, sendMeg);
-//         }
-//
-//     }
-//
-//     @Override
-//     public void executeSend() {
-//
-//         Set<String> scan = redisCache.scan(sendMessageKey + "**");
-//         for (String key : scan) {
-//             String[] split = key.split(":");
-//             if (split.length != 3) {
-//                 return;
-//             }
-//             String userIdStr = split[2];
-//             Long userId = Convert.toLong(userIdStr);
-//             if (userId == null) {
-//                 return;
-//             }
-//
-//             try {
-//                 SendMeg cacheObject = redisCache.getCacheObject(key);
-//                 redisCache.deleteObject(key);
-//                 WebSocketServer.sendInfo(userId, 0, cacheObject);
-//             } catch (Exception e) {
-//                 log.error("推送异常", e);
-//             }
-//
-//         }
-//
-//
-//         List<SendMeg> list = list(q -> q
-//                 .eq(SendMeg::getStatus, StatusConstant.NO)
-//                 .le(SendMeg::getSendTime, DateUtil.endOfMinute(new Date())));
-//
-//         for (SendMeg sendMeg : list) {
-//             send(sendMeg);
-//             sendMeg.setStatus(StatusConstant.YES);
-//         }
-//         updateBatchById(list);
-//
-//     }
-//
-//     @EventListener
-//     public void userOfflineEvent(WebSocketUserOfflineEvent webSocketUserOfflineEvent) {
-//         MessageEntity messageEntity = webSocketUserOfflineEvent.getMessageEntity();
-//
-//         Object data = messageEntity.getData();
-//
-//         if (messageEntity.getType() != 0 || !(data instanceof SendMeg)) {
-//             return;
-//         }
-//
-//         String key = sendMessageKey + ((SendMeg) data).getId() + ":" + messageEntity.getUserId();
-//         if (((SendMeg) data).getEndTime().after(new Date())) {
-//             redisCache.setCacheObject(key, data);
-//         }
-//
-//     }
-//
-//
-// }
+package com.fjhx.common.service.send.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.date.DateUtil;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.constant.SourceConstant;
+import com.fjhx.common.entity.send.dto.SendMegDto;
+import com.fjhx.common.entity.send.dto.SendMegSelectDto;
+import com.fjhx.common.entity.send.po.SendMeg;
+import com.fjhx.common.entity.send.vo.SendMegVo;
+import com.fjhx.common.mapper.send.SendMegMapper;
+import com.fjhx.common.service.send.SendMegService;
+import com.fjhx.socket.entity.MessageEntity;
+import com.fjhx.socket.event.WebSocketUserOfflineEvent;
+import com.fjhx.socket.service.WebSocketServer;
+import com.ruoyi.common.constant.StatusConstant;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.ruoyi.framework.mybatis.holder.TenantHolder;
+import com.ruoyi.system.service.ISysUserService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.event.EventListener;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-05-22
+ */
+@Slf4j
+@Service
+public class SendMegServiceImpl extends ServiceImpl<SendMegMapper, SendMeg> implements SendMegService {
+
+    @Autowired
+    private ISysUserService sysUserService;
+
+    @Autowired
+    private RedisCache redisCache;
+
+    private static final String sendMessageKey = "sendMessage:";
+
+    @Override
+    public Page<SendMegVo> getPage(SendMegSelectDto dto) {
+        IWrapper<SendMeg> wrapper = getWrapper();
+        wrapper.eq("sm", SendMeg::getType, dto.getType());
+        wrapper.eq("sm", SendMeg::getStatus, dto.getStatus());
+        wrapper.orderByAsc("sm", SendMeg::getStatus);
+        wrapper.orderByDesc("sm", SendMeg::getId);
+        Page<SendMegVo> page = this.baseMapper.getPage(dto.getPage(), wrapper);
+        return page;
+    }
+
+    @Override
+    public SendMegVo detail(Long id) {
+        SendMeg SendMeg = this.getById(id);
+        SendMegVo result = BeanUtil.toBean(SendMeg, SendMegVo.class);
+        return result;
+    }
+
+    @Override
+    public void add(SendMegDto sendMegDto) {
+        Date sendTime = sendMegDto.getSendTime();
+        if (sendTime.before(DateUtil.endOfMinute(new Date()))) {
+            sendMegDto.setStatus(StatusConstant.YES);
+            new Thread(() -> send(sendMegDto)).start();
+        } else {
+            sendMegDto.setStatus(StatusConstant.NO);
+        }
+
+        this.save(sendMegDto);
+    }
+
+    @Override
+    public void edit(SendMegDto sendMegDto) {
+        sendMegDto.setStatus(StatusConstant.YES);
+        this.updateById(sendMegDto);
+    }
+
+    @Override
+    public void delete(Long id) {
+        this.removeById(id);
+    }
+
+    @Override
+    public synchronized void send(SendMeg sendMeg) {
+        DynamicDataSourceContextHolder.push(SourceConstant.BASE);
+        TenantHolder.setIgnore(true);
+        List<SysUser> list = sysUserService.list();
+        DynamicDataSourceContextHolder.poll();
+
+        for (SysUser sysUser : list) {
+            WebSocketServer.sendInfo(sysUser.getUserId(), 0, sendMeg);
+        }
+
+    }
+
+    @Override
+    public void executeSend() {
+
+        Set<String> scan = redisCache.scan(sendMessageKey + "**");
+        for (String key : scan) {
+            String[] split = key.split(":");
+            if (split.length != 3) {
+                return;
+            }
+            String userIdStr = split[2];
+            Long userId = Convert.toLong(userIdStr);
+            if (userId == null) {
+                return;
+            }
+
+            try {
+                SendMeg cacheObject = redisCache.getCacheObject(key);
+                redisCache.deleteObject(key);
+                WebSocketServer.sendInfo(userId, 0, cacheObject);
+            } catch (Exception e) {
+                log.error("推送异常", e);
+            }
+
+        }
+
+
+        List<SendMeg> list = list(q -> q
+                .eq(SendMeg::getStatus, StatusConstant.NO)
+                .le(SendMeg::getSendTime, DateUtil.endOfMinute(new Date())));
+
+        for (SendMeg sendMeg : list) {
+            send(sendMeg);
+            sendMeg.setStatus(StatusConstant.YES);
+        }
+        updateBatchById(list);
+
+    }
+
+    @EventListener
+    public void userOfflineEvent(WebSocketUserOfflineEvent webSocketUserOfflineEvent) {
+        MessageEntity messageEntity = webSocketUserOfflineEvent.getMessageEntity();
+
+        Object data = messageEntity.getData();
+
+        if (messageEntity.getType() != 0 || !(data instanceof SendMeg)) {
+            return;
+        }
+
+        String key = sendMessageKey + ((SendMeg) data).getId() + ":" + messageEntity.getUserId();
+        if (((SendMeg) data).getEndTime().after(new Date())) {
+            redisCache.setCacheObject(key, data);
+        }
+
+    }
+
+
+}

+ 2 - 12
hx-oa/src/main/java/com/fjhx/oa/service/daily/impl/DailyReportDetailsServiceImpl.java

@@ -4,13 +4,11 @@ import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
-import com.fjhx.common.enums.PushBusinessTypeEnum;
 import com.fjhx.oa.entity.daily.po.DailyReportDetails;
 import com.fjhx.oa.entity.daily.vo.DailyReportDetailsVo;
 import com.fjhx.oa.mapper.daily.DailyReportDetailsMapper;
 import com.fjhx.oa.service.daily.DailyReportDetailsService;
-import com.fjhx.socket.core.PushTypeEnum;
-import com.fjhx.socket.core.WebSocketPush;
+import com.fjhx.socket.service.WebSocketServer;
 import com.ruoyi.system.utils.UserUtil;
 import org.springframework.stereotype.Service;
 
@@ -46,15 +44,7 @@ public class DailyReportDetailsServiceImpl extends ServiceImpl<DailyReportDetail
         msgMap.put("businessId", id);
         msgMap.put("msg", "您有未读的日报");
         for (DailyReportDetails dailyReportDetails : list) {
-            // WebSocketServer.sendInfo(dailyReportDetails.getRecipientId(), 1, msgMap);
-
-            WebSocketPush.byUser(
-                    PushTypeEnum.MESSAGE,
-                    dailyReportDetails.getRecipientId(),
-                    "您有未读的日报",
-                    PushBusinessTypeEnum.UNREAD_DAILY.getType(),
-                    msgMap
-            );
+            WebSocketServer.sendInfo(dailyReportDetails.getRecipientId(), 1, msgMap);
         }
     }
 }

+ 3 - 22
hx-oa/src/main/java/com/fjhx/oa/service/daily/impl/DailyReportServiceImpl.java

@@ -7,7 +7,6 @@ import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
-import com.fjhx.common.enums.PushBusinessTypeEnum;
 import com.fjhx.file.utils.ObsFileUtil;
 import com.fjhx.oa.entity.daily.dto.DailyReportDto;
 import com.fjhx.oa.entity.daily.dto.DailyReportSelectDto;
@@ -18,8 +17,7 @@ import com.fjhx.oa.entity.daily.vo.DailyReportVo;
 import com.fjhx.oa.mapper.daily.DailyReportMapper;
 import com.fjhx.oa.service.daily.DailyReportDetailsService;
 import com.fjhx.oa.service.daily.DailyReportService;
-import com.fjhx.socket.core.PushTypeEnum;
-import com.fjhx.socket.core.WebSocketPush;
+import com.fjhx.socket.service.WebSocketServer;
 import com.ruoyi.common.constant.StatusConstant;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.wrapper.IWrapper;
@@ -122,15 +120,7 @@ public class DailyReportServiceImpl extends ServiceImpl<DailyReportMapper, Daily
         msgMap.put("businessId", dailyReportDto.getId());
         msgMap.put("msg", String.format("%s发布了新日志", userName));
         for (DailyReportDetails dailyReportDetails : dailyReportDetailsList) {
-            // WebSocketServer.sendInfo(dailyReportDetails.getRecipientId(), 1, msgMap);
-
-            WebSocketPush.byUser(
-                    PushTypeEnum.MESSAGE,
-                    dailyReportDetails.getRecipientId(),
-                    String.format("%s发布了新日志", userName),
-                    PushBusinessTypeEnum.RELEASE_LOG.getType(),
-                    msgMap
-            );
+            WebSocketServer.sendInfo(dailyReportDetails.getRecipientId(), 1, msgMap);
         }
     }
 
@@ -183,16 +173,7 @@ public class DailyReportServiceImpl extends ServiceImpl<DailyReportMapper, Daily
         msgMap.put("businessId", id);
         msgMap.put("msg", String.format("%s给你分享了日报", username));
         for (Long toUserId : toUserIdList) {
-            // WebSocketServer.sendInfo(toUserId, 1, msgMap);
-
-            WebSocketPush.byUser(
-                    PushTypeEnum.MESSAGE,
-                    toUserId,
-                    String.format("%s给你分享了日报", username),
-                    PushBusinessTypeEnum.SHARE_DAILY.getType(),
-                    msgMap
-            );
-
+            WebSocketServer.sendInfo(toUserId, 1, msgMap);
         }
     }
 

+ 3 - 14
hx-oa/src/main/java/com/fjhx/oa/utils/Notice.java

@@ -2,13 +2,11 @@ package com.fjhx.oa.utils;
 
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.fjhx.common.enums.PushBusinessTypeEnum;
 import com.fjhx.oa.entity.schedule.po.ScheduleDetails;
 import com.fjhx.oa.entity.schedule.po.ScheduleInfo;
 import com.fjhx.oa.service.schedule.ScheduleDetailsService;
 import com.fjhx.oa.service.schedule.ScheduleInfoService;
-import com.fjhx.socket.core.PushTypeEnum;
-import com.fjhx.socket.core.WebSocketPush;
+import com.fjhx.socket.service.WebSocketServer;
 import com.ruoyi.framework.mybatis.holder.TenantHolder;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Configuration;
@@ -87,23 +85,14 @@ public class Notice {
             List<Long> scheduleInfoIds = scheduleInfos.stream().map(ScheduleInfo::getId).collect(Collectors.toList());
             List<ScheduleDetails> scheduleDetailsList = scheduleDetailsService.list(q -> q.in(ScheduleDetails::getScheduleInfoId, scheduleInfoIds));
             for (ScheduleDetails scheduleDetails : scheduleDetailsList) {
-                // 发送消息
+                //发送消息
                 ScheduleInfo scheduleInfo = scheduleInfoMap1.get(scheduleDetails.getScheduleInfoId());
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 String msg = String.format("您的日程<%s>将于%s开始。", scheduleInfo.getTitle(), sdf.format(scheduleInfo.getStartDate()));
-
                 Map<String, Object> msgMap = new HashMap<>();
                 msgMap.put("businessId", scheduleInfo.getId());
                 msgMap.put("msg", msg);
-                // WebSocketServer.sendInfo(scheduleDetails.getParticipantId(), 1, msgMap);
-
-                WebSocketPush.byUser(
-                        PushTypeEnum.PUSH_NOTIFICATION,
-                        scheduleDetails.getParticipantId(),
-                        msg,
-                        PushBusinessTypeEnum.SCHEDULE_REMINDER.getType(),
-                        msgMap
-                );
+                WebSocketServer.sendInfo(scheduleDetails.getParticipantId(), 1, msgMap);
             }
         }
         TenantHolder.clear();

+ 6 - 17
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/abnormal/impl/AbnormalDetailsServiceImpl.java

@@ -7,9 +7,7 @@ import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.fjhx.common.constant.SourceConstant;
-import com.fjhx.common.enums.PushBusinessTypeEnum;
-import com.fjhx.socket.core.PushTypeEnum;
-import com.fjhx.socket.core.WebSocketPush;
+import com.fjhx.socket.service.WebSocketServer;
 import com.fjhx.victoriatourist.entity.abnormal.dto.AbnormalDetailsDto;
 import com.fjhx.victoriatourist.entity.abnormal.dto.AbnormalDetailsSelectDto;
 import com.fjhx.victoriatourist.entity.abnormal.po.AbnormalDetails;
@@ -77,20 +75,11 @@ public class AbnormalDetailsServiceImpl extends ServiceImpl<AbnormalDetailsMappe
 
         //如果下一跟进人不为空 就给下一跟进人发送消息
         if (ObjectUtil.isNotEmpty(abnormalDetailsDto.getNextHandleUser())) {
-            // 给下一个跟进人发消息通知
-            JSONObject message = new JSONObject();
-            message.put("msg", "有异常需要您跟进");
-            message.put("abnormalInfoId", abnormalDetailsDto.getAbnormalInfoId().toString());
-            // WebSocketServer.sendInfo(abnormalDetailsDto.getNextHandleUser(), 1, message);
-
-            WebSocketPush.byUser(
-                    PushTypeEnum.PUSH_NOTIFICATION,
-                    abnormalDetailsDto.getNextHandleUser(),
-                    "有异常需要您跟进",
-                    PushBusinessTypeEnum.EXCEPTION_HANDLING.getType(),
-                    message
-            );
-
+            //给下一个跟进人发消息通知
+            JSONObject meassage = new JSONObject();
+            meassage.put("msg", "有异常需要您跟进");
+            meassage.put("abnormalInfoId", abnormalDetailsDto.getAbnormalInfoId().toString());
+            WebSocketServer.sendInfo(abnormalDetailsDto.getNextHandleUser(), 1, meassage);
         }
 
         this.save(abnormalDetailsDto);

+ 1 - 1
pom.xml

@@ -52,7 +52,7 @@
             <dependency>
                 <groupId>com.fjhx</groupId>
                 <artifactId>hx-base</artifactId>
-                <version>1.0.2</version>
+                <version>1.0.1</version>
             </dependency>
             <dependency>
                 <groupId>com.fjhx</groupId>