Эх сурвалжийг харах

Merge branch 'test' into dev

# Conflicts:
#	hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountRunningWaterServiceImpl.java
#	hx-common/src/main/java/com/fjhx/common/enums/PushBusinessTypeEnum.java
yzc 1 жил өмнө
parent
commit
2182d418eb

+ 4 - 1
hx-account/src/main/java/com/fjhx/account/entity/account/po/AccountPayment.java

@@ -122,5 +122,8 @@ public class AccountPayment extends BasePo {
      */
     private BigDecimal incomeAmount;
 
-
+    /**
+     * 数据所属人
+     */
+    private Long dataUser;
 }

+ 1 - 1
hx-account/src/main/java/com/fjhx/account/flow/AccountRequestFundsFlow.java

@@ -135,7 +135,7 @@ public class AccountRequestFundsFlow extends FlowDelegate {
         accountPayment.setOpeningBank(accountRequestFunds.getOpeningBank());
         accountPayment.setAccountOpening(accountRequestFunds.getAccountOpening());
         accountPayment.setInterbankNumber(accountRequestFunds.getInterbankNumber());
-        accountPayment.setCreateUser(accountRequestFunds.getCreateUser());
+        accountPayment.setDataUser(accountRequestFunds.getCreateUser());
 
         // 如果是核销 核销数据审批通过后,根据“核销总额 - 预支总额”生成“待打款”数据
         if ("3".equals(accountRequestFunds.getType())) {

+ 1 - 1
hx-account/src/main/java/com/fjhx/account/service/account/impl/AccountPaymentServiceImpl.java

@@ -108,7 +108,7 @@ public class AccountPaymentServiceImpl extends ServiceImpl<AccountPaymentMapper,
         });
 
         // 赋值用户名称
-        UserUtil.assignmentNickName(records, BasePo::getCreateUser, AccountPaymentVo::setUserName);
+        UserUtil.assignmentNickName(records, AccountPayment::getDataUser, AccountPaymentVo::setUserName);
 
         // 赋值部门名称
         DynamicDataSourceContextHolder.push(SourceConstant.BASE);

+ 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();
+    }
+
+}

+ 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();

+ 1 - 1
hx-purchase/src/main/java/com/fjhx/purchase/flow/PayFlow.java

@@ -114,7 +114,7 @@ public class PayFlow extends FlowDelegate {
         payment.setAmount(pay.getAmount());
         payment.setIncomeAmount(pay.getAmount());
         payment.setName(pay.getName());
-        payment.setCreateUser(pay.getCreateUser());
+        payment.setDataUser(pay.getCreateUser());
         payment.setBusinessManagementId(pay.getAccountManagementId());
         payment.setOpeningBank(pay.getOpeningBank());
         payment.setBusinessCurrency(pay.getCurrency());

+ 9 - 0
hx-sale/src/main/java/com/fjhx/sale/controller/contract/ContractController.java

@@ -255,4 +255,13 @@ public class ContractController {
         return contractService.getAccountRunningWaterByContractId(dto.getId());
     }
 
+    /**
+     * 根据合同id获取合同的资金流水信息
+     */
+    @PostMapping("/111")
+    public void tt111(@RequestBody ContractDto dto) {
+        dto.setCreateUser(133333333333333L);
+        contractService.save(dto);
+    }
+
 }

+ 16 - 5
hx-sale/src/main/java/com/fjhx/sale/service/documents/impl/DocumentsServiceImpl.java

@@ -288,6 +288,13 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
             //总箱数
             BigDecimal sumPackQuantity = (BigDecimal) dataMap.get("sumPackQuantity");
 
+            //获取合同其他收费项目
+            List<ContractProject> contractProjectList = contractProjectService.list(q -> q.eq(ContractProject::getContractId, contract.getId()));
+            BigDecimal contractProjectAmountCount = contractProjectList.stream().map(ContractProject::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+            //获取买方 客户信息里面的 国家名称
+            Map<Long, String> buyCountryAreaMapByIds = CustomizeAreaUtil.getAreaMapByIds(Arrays.asList(customer.getCountryId()));
+            String buyCountryName = buyCountryAreaMapByIds.get(customer.getCountryId());
+
             //------------------ 封装页面展示数据 ------------------
             //发件公司清关负责人
             data.put("contacts", contract.getSellContactName());
@@ -326,9 +333,9 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
             //合同协议号(根据合同填写)
             data.put("contractCode", contract.getCode());
             //贸易国(合同买方所在国)
-            data.put("tradingCountry", documents.getCountryName());
+            data.put("tradingCountry", buyCountryName);
             //运抵国
-            data.put("arrivalCountry", documents.getCountryName());
+            data.put("arrivalCountry", buyCountryName);//原来是documents.getCountryName()
             //指运港(不用填写)
             data.put("portOfDestination", "");
             //离境口岸(不用填写)
@@ -346,7 +353,7 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
             //成交方式
             data.put("tradeModeName", contract.getTradeMethods());
             //运费
-            data.put("freightPrice", BigDecimal.ZERO);//暂无
+            data.put("freightPrice", contractProjectAmountCount);//暂无
             // 保费
             data.put("premiumPrice", BigDecimal.ZERO);//暂无
             // 杂费(如有请填写)
@@ -357,6 +364,10 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
             data.put("shippingMark", documents.getRemark());
             // 境内货源地
             data.put("cityChinese", contract.getSellCountryName());
+            //获取卖方公司 多公司信息里的国家信息
+            Map<Long, String> areaMapByIds = CustomizeAreaUtil.getAreaMapByIds(Arrays.asList(corporation.getCountryId()));
+            String sellCountryName = areaMapByIds.get(corporation.getCountryId());
+
             // 产品数据
             if (CollectionUtils.isNotEmpty(products)) {
                 Integer num = 1;
@@ -367,7 +378,7 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
                     // 商品编号(13位)原10位海关编码+3位检验检疫附加编码
                     object.put("customsCode", product.getCustomsCode());
                     // 商品名称
-                    object.put("productName", product.getProductName());
+                    object.put("productName", product.getSubDescribe());
                     //品牌
                     object.put("brand", "");
                     //品牌类型
@@ -385,7 +396,7 @@ public class DocumentsServiceImpl extends ServiceImpl<DocumentsMapper, Documents
                     //成交单位
                     object.put("unit", product.getProductUnit());
                     //原产国(地区)
-                    object.put("countryChinese", contract.getSellCountryName());
+                    object.put("countryChinese", sellCountryName);
                     //总价与币制
                     object.put("sumPrice", "");
                     //成交单价

+ 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>