From dbff53150cdc807faa56c0d1a947d24b69f372b9 Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 31 八月 2023 18:43:20 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java |   89 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 69 insertions(+), 20 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
index 9e9fe58..5763a73 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysWxCpServiceImpl.java
@@ -1,6 +1,11 @@
 package com.ruoyi.system.service.impl.staff;
 
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.system.api.domain.poji.sys.SysDept;
+import com.ruoyi.system.api.domain.vo.MgtUserTaskMsgVo;
+import com.ruoyi.system.api.service.RemoteShopService;
+import com.ruoyi.system.domain.pojo.staff.SysStaff;
+import com.ruoyi.system.service.staff.SysStaffService;
 import com.ruoyi.system.service.staff.SysWxCpService;
 import com.ruoyi.system.service.sys.ISysDeptService;
 import lombok.extern.log4j.Log4j2;
@@ -8,6 +13,8 @@
 import me.chanjar.weixin.cp.api.WxCpDepartmentService;
 import me.chanjar.weixin.cp.api.WxCpService;
 import me.chanjar.weixin.cp.bean.WxCpDepart;
+import me.chanjar.weixin.cp.bean.message.WxCpMessage;
+import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -28,7 +35,13 @@
     private WxCpService wxCpService;
 
     @Resource
+    private RemoteShopService remoteShopService;
+
+    @Resource
     private ISysDeptService  sysDeptService;
+
+    @Resource
+    private SysStaffService sysStaffService;
     /**
      * @description
      * @author  jqs
@@ -62,28 +75,31 @@
             List<WxCpDepart> wxCpDepartList = wxCpDepartmentService.list(null);
             if(wxCpDepartList!=null&&wxCpDepartList.size()>0){
                 for(WxCpDepart wxCpDepart : wxCpDepartList){
-                    //获取系统内对应部门
-                    SysDept sysDept = sysDeptService.getByWxDeptId(wxCpDepart.getId());
-                    //判断是否有该部门,没有则新建
-                    if(sysDept!=null){
-                        //判断是否有变化
-                        if(!sysDept.getDeptName().equals(wxCpDepart.getName())||sysDept.getOrderNum()!=wxCpDepart.getOrder().intValue()){
-                            sysDept.setDeptName(wxCpDepart.getName());
+                    if(wxCpDepart.getParentId().compareTo(24L)<0){
+                        //获取系统内对应部门
+                        SysDept sysDept = sysDeptService.getByWxDeptId(wxCpDepart.getId());
+                        //判断是否有该部门,没有则新建
+                        if(sysDept!=null){
+                            //判断是否有变化
+                            if(!sysDept.getDeptName().equals(wxCpDepart.getName())||sysDept.getOrderNum()!=wxCpDepart.getOrder().intValue()){
+                                sysDept.setDeptName(wxCpDepart.getName());
+                                sysDept.setOrderNum(wxCpDepart.getOrder().intValue());
+                                sysDept.setUpdateBy("企业微信同步");
+                                sysDeptService.updateDept(sysDept);
+                                log.info("企业微信同步更新部门:"+wxCpDepart.getName());
+                            }
+                        }else{
+                            sysDept = new SysDept();
+                            sysDept.setDelFlag("0");
+                            sysDept.setStatus("0");
+                            sysDept.setParentId(100L);
                             sysDept.setOrderNum(wxCpDepart.getOrder().intValue());
-                            sysDept.setUpdateBy("企业微信同步");
-                            sysDeptService.updateDept(sysDept);
-                            log.info("企业微信同步更新部门:"+wxCpDepart.getName());
+                            sysDept.setCreateBy("企业微信同步");
+                            sysDept.setDeptName(wxCpDepart.getName());
+                            sysDept.setWxDeptId(wxCpDepart.getId());
+                            sysDeptService.insertDept(sysDept);
+                            log.info("企业微信同步新增部门:"+wxCpDepart.getName());
                         }
-                    }else{
-                        sysDept = new SysDept();
-                        sysDept.setDelFlag("0");
-                        sysDept.setStatus("0");
-                        sysDept.setParentId(100L);
-                        sysDept.setOrderNum(wxCpDepart.getOrder().intValue());
-                        sysDept.setCreateBy("企业微信同步");
-                        sysDept.setDeptName(wxCpDepart.getName());
-                        sysDeptService.insertDept(sysDept);
-                        log.info("企业微信同步新增部门:"+wxCpDepart.getName());
                     }
                 }
             }
@@ -91,4 +107,37 @@
             throw new RuntimeException(e);
         }
     }
+
+    /**
+     * @description  企业微信消息推送
+     * @author  jqs
+     * @date    2023/8/29 11:05
+     * @return  void
+     */
+    @Override
+    public void sendTaskMessage(){
+        //获取员工任务列表
+        List<MgtUserTaskMsgVo> userTaskMsgVoList = remoteShopService.getTaskMsgList().getData();
+        WxCpMessage message;
+        SysStaff sysStaff;
+        if(userTaskMsgVoList!=null&&!userTaskMsgVoList.isEmpty()){
+            //循环发送消息
+            for(MgtUserTaskMsgVo mgtUserTaskMsgVo : userTaskMsgVoList){
+                sysStaff = sysStaffService.getByUserId(mgtUserTaskMsgVo.getUserId());
+                if(sysStaff!=null&& StringUtils.isNotBlank(sysStaff.getWxUserId())){
+                    message = new WxCpMessage();
+                    message.setAgentId(1000024);
+                    message.setToUser(sysStaff.getWxUserId());
+                    message.setMsgType("text");
+                    message.setContent(mgtUserTaskMsgVo.getTaskTitle()+"今日需要任务跟进,请注意!");
+                    try {
+                        WxCpMessageSendResult result = wxCpService.getMessageService().send(message);
+                        System.out.println(result);
+                    } catch (WxErrorException e) {
+                        throw new RuntimeException(e);
+                    }
+                }
+            }
+        }
+    }
 }

--
Gitblit v1.7.1