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