From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期五, 17 一月 2025 16:40:43 +0800 Subject: [PATCH] bug修改 --- ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java | 140 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 106 insertions(+), 34 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java index 4a82092..c22c30b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/staff/SysStaffServiceImpl.java @@ -14,19 +14,29 @@ import com.ruoyi.system.api.domain.dto.MerEditUserDto; import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import com.ruoyi.system.api.domain.dto.MgtShopStaffEditDto; +import com.ruoyi.system.api.domain.poji.sys.SysDept; import com.ruoyi.system.api.domain.poji.sys.SysUser; +import com.ruoyi.system.api.domain.vo.MgtUserTaskMsgVo; import com.ruoyi.system.api.service.RemoteShopService; import com.ruoyi.system.domain.dto.MgtStaffEditDto; import com.ruoyi.system.domain.dto.MgtStaffPageDto; import com.ruoyi.system.domain.dto.MgtSysStaffImportDto; -import com.ruoyi.system.domain.pojo.staff.SysStaff; +import com.ruoyi.system.api.domain.poji.sys.SysStaff; +import com.ruoyi.system.domain.dto.MgtWxCPStaffDto; import com.ruoyi.system.domain.vo.DeptSimpleVo; import com.ruoyi.system.domain.vo.MgtDeptStaffListVo; import com.ruoyi.system.domain.vo.MgtStaffPageVo; import com.ruoyi.system.mapper.staff.SysStaffMapper; import com.ruoyi.system.service.staff.SysStaffService; +import com.ruoyi.system.service.staff.SysWxCpService; +import com.ruoyi.system.service.sys.ISysDeptService; import com.ruoyi.system.service.sys.ISysUserService; import com.ruoyi.system.util.QiYeUtils; +import me.chanjar.weixin.common.error.WxErrorException; +import me.chanjar.weixin.cp.api.WxCpService; +import me.chanjar.weixin.cp.bean.message.WxCpMessage; +import me.chanjar.weixin.cp.bean.message.WxCpMessageSendResult; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -60,6 +70,16 @@ @Resource private RemoteShopService remoteShopService; + @Resource + private SysWxCpService sysWxCpService; + + @Resource + private ISysDeptService sysDeptService; + + @Resource + @Qualifier("wxService") + private WxCpService wxCpService; + /** * @description 获取部门员工列表 @@ -69,8 +89,8 @@ * @return List<MgtDeptStaffListVo> */ @Override - public List<MgtDeptStaffListVo> listMgtDeptStaff(){ - return sysStaffMapper.listMgtDeptStaff(); + public List<MgtDeptStaffListVo> listMgtDeptStaff(Long deptId,Long userId, String name){ + return sysStaffMapper.listMgtDeptStaff(deptId,userId, name); } /** @@ -82,16 +102,31 @@ */ @Override public List<MgtDeptStaffListVo>listMgtDeptStaffByPermission(Long userId){ - SysUser sysUser = sysUserService.selectUserById(userId); - String dataScope = sysUser.getDataScope(); List<MgtDeptStaffListVo> deptStaffListVoList; - if(dataScope!=null&&dataScope.equals("4")){ - deptStaffListVoList = sysStaffMapper.listMgtDeptStaffByDept(sysUser.getDeptId(),null); - }else if(dataScope!=null&&dataScope.equals("5")){ - deptStaffListVoList = sysStaffMapper.listMgtDeptStaffByDept(sysUser.getDeptId(),sysUser.getUserId()); - }else{ - deptStaffListVoList = sysStaffMapper.listMgtDeptStaff(); + // 获取当前登陆人的可视权限 + SysUser sysUser = sysUserService.selectUserById(userId); + // 如果当前登陆人权限是查看部门数据 + Long deptId = null; + // 如果当前登陆人是查看个人数据 + Long userId1 = null; + if (sysUser!=null){ + String dataScope = sysUser.getDataScope(); + if (!sysUser.getUserName().equals("admin")){ + if (org.springframework.util.StringUtils.hasLength(dataScope)){ + switch (dataScope){ + case "3": + // 本部门数据 查询当前登陆人属于哪个部门 查询这个部门下所有员工关联的所有店铺 + deptId = sysUser.getDeptId(); + break; + case "5": + // 仅个人数据 查询当前登陆人关联店铺下的用户 + userId1 = sysUser.getUserId(); + break; + } + } + } } + deptStaffListVoList = sysStaffMapper.listMgtDeptStaff(deptId,userId1, null); return deptStaffListVoList; } @@ -126,6 +161,7 @@ queryWrapper.eq(SysStaff::getDelFlag,0); queryWrapper.eq(SysStaff::getStaffMobile,mgtStaffEditDto.getStaffMobile()); SysStaff sysStaffSame = this.getOne(queryWrapper, false); + SysDept sysDept = sysDeptService.selectDeptById(mgtStaffEditDto.getDeptId()); if(StringUtils.isBlank(mgtStaffEditDto.getStaffAvatar())){ mgtStaffEditDto.setStaffAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png"); } @@ -171,12 +207,26 @@ sysStaff.setHeadFlag(mgtStaffEditDto.getHeadFlag()); sysStaff.setWxUserId(mgtStaffEditDto.getWxUserId()); this.saveOrUpdate(sysStaff); + //同步修改商户员工信息 MgtShopStaffEditDto mgtShopStaffEditDto = new MgtShopStaffEditDto(); mgtShopStaffEditDto.setUserId(sysStaff.getUserId()); mgtShopStaffEditDto.setStaffName(sysStaff.getStaffName()); mgtShopStaffEditDto.setStaffMobile(sysStaff.getStaffMobile()); mgtShopStaffEditDto.setStaffAvatar(sysStaff.getStaffAvatar()); remoteShopService.editMgtShopStaff(mgtShopStaffEditDto); + //如果wxUserId和wxDeptId不为空 同步到企业微信 + if(sysStaff.getWxUserId()!=null&&sysDept.getWxDeptId()!=null){ + log.debug("同步员工到企业微信:"+mgtStaffEditDto.getStaffName()); + MgtWxCPStaffDto mgtWxCPStaffDto = new MgtWxCPStaffDto(); + mgtWxCPStaffDto.setWxDeptId(sysDept.getWxDeptId()); + mgtWxCPStaffDto.setWxUserId(mgtStaffEditDto.getWxUserId()); + mgtWxCPStaffDto.setStaffName(mgtStaffEditDto.getStaffName()); + mgtWxCPStaffDto.setStaffMobile(mgtStaffEditDto.getStaffMobile()); + mgtWxCPStaffDto.setStaffPost(mgtStaffEditDto.getStaffPost()); + mgtWxCPStaffDto.setStaffEmail(mgtStaffEditDto.getStaffEmail()); + mgtWxCPStaffDto.setHeadFlag(mgtStaffEditDto.getHeadFlag()); + sysWxCpService.addWxCpStaff(mgtWxCPStaffDto); + } } /** @@ -385,29 +435,6 @@ } } } - /*tagName = entity.getTagName(); - sysTagSame = null; - // 验证是否存在这个用户 - queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.eq(SysTag::getDelFlag, 0) // 查询条件:delFlag=0 - .eq(SysTag::getTagType, tagType) // 查询条件:tagType=mgtTagEditDto的tagType属性 - .eq(SysTag::getTagName, tagName); // 查询条件:tagName=mgtTagEditDto的tagName属性 - // 执行查询,获取与查询条件匹配的SysTag对象 - sysTagSame = this.getOne(queryWrapper); - if (sysTagSame == null) { - sysTagNew = new SysTag(); - sysTagNew.setDelFlag(0); - sysTagNew.setTagType(tagType); - sysTagNew.setTagName(tagName); - sysTagNew.setCreateTime(nowTime); - sysTagNew.setSynFlag(0); - this.save(sysTagNew); - successNum++; - successMsg.append("<br/>" + successNum + "、标签 " + sysTagNew.getTagName() + " 导入成功"); - } else { - failureNum++; - failureMsg.append("<br/>" + failureNum + "、标签 " + sysTagSame.getTagName() + " 已存在"); - }*/ } catch (Exception e) { failureNum++; String msg = "<br/>" + failureNum + "员工 " + entity.getStaffName() + " 导入失败:"; @@ -423,4 +450,49 @@ } return successMsg.toString(); } + + /** + * @description 通过id获取员工列表 + * @author jqs + * @date 2023/9/5 10:02 + * @param userIdList + * @return List<SysStaff> + */ + @Override + public List<SysStaff> listSysStaffByIds(List<Long> userIdList){ + return sysStaffMapper.listSysStaffByIds(userIdList); + } + + /** + * @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 = this.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