From 568e38a95cb6fb20fe16b53d17f610aefc6f744f Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期四, 09 十月 2025 18:29:29 +0800 Subject: [PATCH] 钉钉通知 与钥匙柜开发 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 164 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 119 insertions(+), 45 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java index d276e6a..bc8fae7 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.dingTalk.DingTalk; import com.doumee.core.exception.BusinessException; import com.doumee.dao.business.dao.*; import com.doumee.dao.business.vo.GeneralDataVO; @@ -99,6 +100,9 @@ @Autowired private ApproveMapper approveMapper; + @Autowired + private DingTalk dingTalk; + @Override public Integer create(HiddenDanger hiddenDanger) { @@ -108,6 +112,7 @@ || Objects.isNull(hiddenDanger.getCateId()) || Objects.isNull(hiddenDanger.getApplyCheckUserId()) || Objects.isNull(hiddenDanger.getCheckUserId()) + || Objects.isNull(hiddenDanger.getCheckTypeId()) || Objects.isNull(hiddenDanger.getSubmitTime()) || StringUtils.isBlank(hiddenDanger.getContent()) ){ @@ -121,6 +126,10 @@ hiddenDanger.setIsdeleted(Constants.ZERO); hiddenDanger.setCreateDate(new Date()); hiddenDanger.setEditDate(new Date()); + HiddenDangerParam hiddenDangerCheckParam = hiddenDangerParamMapper.selectById(hiddenDanger.getCheckTypeId()); + if(Objects.isNull(hiddenDangerCheckParam)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅妫�鏌ョ被鍨�"); + } HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId()); if(Objects.isNull(hiddenDangerParam)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鍖哄煙"); @@ -208,13 +217,12 @@ notices.setInfo("寰�"+member.getName()+"澶勭悊"); noticesJoinMapper.insert(notices); - if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){ //鍙戦�佺煭淇¢�氱煡 SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz, emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(), SmsConstants.hiddenDangerContent.hiddenDangerDealUser, - Arrays.asList(member.getPhone().split(",")) + Arrays.asList(member.getPhone().split(",")),hiddenDangerCate.getName() ); } @@ -243,6 +251,13 @@ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), Arrays.asList(checkUser.getOpenid().split(","))); } + + if(StringUtils.isNotBlank(member.getDdId())){ + dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()), + member.getDdId(), + dingTalk.getHiddenDangerNoticeMsg(hiddenDanger)); + } + return hiddenDanger.getId(); } @@ -341,12 +356,14 @@ .select("t2.name",HiddenDanger::getCheckorName) .select("t2.phone",HiddenDanger::getCheckorPhone) .select("t5.company_name_path",HiddenDanger::getDutyCompanyName) - .select("t4.company_name_path",HiddenDanger::getCompanyName); + .select("t4.company_name_path",HiddenDanger::getCompanyName) + .select("t6.name", HiddenDanger::getCheckTypeName); queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId) .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId) .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId) .leftJoin("company t4 on t1.company_id=t4.id") - .leftJoin("company t5 on t2.company_id=t5.id"); + .leftJoin("company t5 on t2.company_id=t5.id") + .leftJoin("hidden_danger_param t6 on t.check_type_id=t6.id"); queryWrapper .eq(HiddenDanger::getId, id) .eq(HiddenDanger::getIsdeleted, Constants.ZERO) @@ -434,6 +451,7 @@ queryWrapper.selectAll(HiddenDanger.class) .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName) .select("t1.name", HiddenDanger::getMemberName) + .select("t6.name", HiddenDanger::getCheckTypeName) .select("t1.phone",HiddenDanger::getMemberPhone) .select("t2.name",HiddenDanger::getCheckorName) .select("t2.phone",HiddenDanger::getCheckorPhone) @@ -443,6 +461,7 @@ .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId) .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId) .leftJoin("company t4 on t1.company_id=t4.id") + .leftJoin("hidden_danger_param t6 on t.check_type_id=t6.id") .leftJoin("company t5 on t2.company_id=t5.id"); //鏁版嵁鏉冮檺寮�濮�--------------------start---------------- @@ -484,6 +503,7 @@ .like(pageWrap.getModel().getCompanyName() != null,"t4.company_name_path",pageWrap.getModel().getCompanyName()) .like(pageWrap.getModel().getDutyCompanyName() != null,"t5.company_name_path",pageWrap.getModel().getDutyCompanyName()) + .eq(pageWrap.getModel().getCheckTypeId() != null, HiddenDanger::getCheckTypeId, pageWrap.getModel().getCheckTypeId()) .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), HiddenDanger::getSubmitTime,pageWrap.getModel().getQueryStartTime()) @@ -564,7 +584,7 @@ SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz, emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(), SmsConstants.hiddenDangerContent.hiddenDangerDealOver, - Arrays.asList(memberUser.getMobile().split(",")) + Arrays.asList(memberUser.getMobile().split(",")),hiddenDangerCate.getName() ); } } @@ -772,7 +792,7 @@ SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz, emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(), SmsConstants.hiddenDangerContent.hiddenDangerDealUser, - Arrays.asList(checkUser.getMobile().split(",")) + Arrays.asList(checkUser.getMobile().split(",")),hiddenDangerCate.getName() ); } @@ -785,6 +805,13 @@ systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(), Arrays.asList(checkUser.getOpenid().split(","))); } + + if(StringUtils.isNotBlank(member.getDdId())){ + dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()), + member.getDdId(), + dingTalk.getHiddenDangerNoticeMsg(hiddenDanger)); + } + } @@ -860,48 +887,95 @@ } hiddenDangerDataVO.setCateList(cateGeneralDataList); } - //鍏ㄩ儴闅愭偅鍖哄煙閮ㄩ棬鏁版嵁 - List<HiddenDangerCompanyVO> hiddenDangerCompanyVOList = hiddenDangerAllList.stream(). - filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))) - .map(i->new HiddenDangerCompanyVO(i.getAreaName(),i.getAreaCompanyId())).collect(Collectors.toList()); - if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerCompanyVOList)){ - List<GeneralDataVO> companyGeneralDataList = new ArrayList<>(); - Set<HiddenDangerCompanyVO> companyIdSetList = new HashSet<>(hiddenDangerCompanyVOList); - List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>() - .lambda().eq(Company::getIsdeleted,Constants.ZERO)); - for (HiddenDangerCompanyVO hiddenDangerCompanyVO:companyIdSetList) { - if(Objects.isNull(hiddenDangerCompanyVO) - || Objects.isNull(hiddenDangerCompanyVO.getId()) - || StringUtils.isBlank(hiddenDangerCompanyVO.getCategoryName())){ - continue; - } - Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),hiddenDangerCompanyVO.getId())).findAny(); - if(optionalCompany.isPresent()){ - GeneralDataVO generalDataVO = new GeneralDataVO(); - Company company = optionalCompany.get(); - Integer total = hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))&&Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size(); - generalDataVO.setName(company.getName()); - generalDataVO.setTotal(total); - generalDataVO.setCategoryName(hiddenDangerCompanyVO.getCategoryName()); - companyGeneralDataList.add(generalDataVO); - } - } - hiddenDangerDataVO.setDepartmentList(companyGeneralDataList); - } - if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerDataVO.getDepartmentList())){ - List<GeneralDataVO> topList = hiddenDangerDataVO.getDepartmentList(); - Collections.sort(topList, new Comparator<GeneralDataVO>() { - @Override - public int compare(GeneralDataVO o1, GeneralDataVO o2) { - // 杩斿洖鍊间负int绫诲瀷锛屽ぇ浜�0琛ㄧず姝e簭锛屽皬浜�0琛ㄧず閫嗗簭 - return o2.getTotal() - o1.getTotal(); - } - }); - hiddenDangerDataVO.setDepartmentSortList(topList); - } + //鍏ㄩ儴闅愭偅鍖哄煙閮ㄩ棬鏁版嵁 +// List<HiddenDangerCompanyVO> hiddenDangerCompanyVOList = hiddenDangerAllList.stream(). +// filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))) +// .map(i->new HiddenDangerCompanyVO(i.getAreaName(),i.getAreaCompanyId())).collect(Collectors.toList()); +// if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerCompanyVOList)){ +// List<GeneralDataVO> companyGeneralDataList = new ArrayList<>(); +// Set<HiddenDangerCompanyVO> companyIdSetList = new HashSet<>(hiddenDangerCompanyVOList); +// List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>() +// .lambda().eq(Company::getIsdeleted,Constants.ZERO)); +// for (HiddenDangerCompanyVO hiddenDangerCompanyVO:companyIdSetList) { +// if(Objects.isNull(hiddenDangerCompanyVO) +// || Objects.isNull(hiddenDangerCompanyVO.getId()) +// || StringUtils.isBlank(hiddenDangerCompanyVO.getCategoryName())){ +// continue; +// } +// Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),hiddenDangerCompanyVO.getId())).findAny(); +// if(optionalCompany.isPresent()){ +// GeneralDataVO generalDataVO = new GeneralDataVO(); +// Company company = optionalCompany.get(); +// Integer total = hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM"). +// equals(nowDate.substring(0,7))&&Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size(); +// generalDataVO.setName(company.getName()); +// generalDataVO.setTotal(total); +// generalDataVO.setCategoryName(hiddenDangerCompanyVO.getCategoryName()); +// companyGeneralDataList.add(generalDataVO); +// } +// } +// hiddenDangerDataVO.setDepartmentList(companyGeneralDataList); +// } +// if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerDataVO.getDepartmentList())){ +// List<GeneralDataVO> topList = hiddenDangerDataVO.getDepartmentList(); +// Collections.sort(topList, new Comparator<GeneralDataVO>() { +// @Override +// public int compare(GeneralDataVO o1, GeneralDataVO o2) { +// // 杩斿洖鍊间负int绫诲瀷锛屽ぇ浜�0琛ㄧず姝e簭锛屽皬浜�0琛ㄧず閫嗗簭 +// return o2.getTotal() - o1.getTotal(); +// } +// }); +// hiddenDangerDataVO.setDepartmentSortList(topList); +// } + } + + List<Map<String,Object>> companyMapList = hiddenDangerMapper.selectJoinMaps(new MPJLambdaWrapper<HiddenDanger>() + .select(" t2.name as companyName , count(1) total ") + .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) + .leftJoin(Company.class,Company::getId,HiddenDangerParam::getCompanyId) + .eq(HiddenDanger::getIsdeleted,Constants.ZERO) + .apply(" DATE_FORMAT(t.CREATE_DATE, '%Y%M') = DATE_FORMAT(now(), '%Y%M') ") + .groupBy(" t2.name") + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(companyMapList)){ + List<GeneralDataVO> list = new ArrayList<>(); + for (Map<String,Object> map:companyMapList) { + GeneralDataVO generalDataVO = new GeneralDataVO(); + generalDataVO.setTotal(Integer.valueOf(map.get("total").toString())); + generalDataVO.setName(map.get("companyName").toString()); + list.add(generalDataVO); + } + hiddenDangerDataVO.setDepartmentList(list); + } + + + + List<Map<String,Object>> mapList = hiddenDangerMapper.selectJoinMaps(new MPJLambdaWrapper<HiddenDanger>() + .select(" t1.name as cateName,t2.name as companyName , count(1) total ") + .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) + .leftJoin(Company.class,Company::getId,HiddenDangerParam::getCompanyId) + .eq(HiddenDanger::getIsdeleted,Constants.ZERO) + .apply(" DATE_FORMAT(t.CREATE_DATE, '%Y%M') = DATE_FORMAT(now(), '%Y%M') ") + .groupBy("t1.name , t2.name") + .orderByDesc(" count(1) ") + ); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(mapList)){ + List<GeneralDataVO> topList = new ArrayList<>(); + for (Map<String,Object> map:mapList) { + GeneralDataVO generalDataVO = new GeneralDataVO(); + generalDataVO.setTotal(Integer.valueOf(map.get("total").toString())); + generalDataVO.setName(map.get("companyName").toString()); + generalDataVO.setCategoryName(map.get("cateName").toString()); + topList.add(generalDataVO); + } + hiddenDangerDataVO.setDepartmentSortList(topList); + } + + + return hiddenDangerDataVO; } -- Gitblit v1.9.3