|  |  | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | 
 |  |  | import com.doumee.biz.system.SystemDictDataBiz; | 
 |  |  | import com.doumee.core.haikang.model.HKConstants; | 
 |  |  | import com.doumee.core.haikang.model.param.BaseResponse; | 
 |  |  | import com.doumee.core.haikang.service.HKService; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.core.utils.DateUtil; | 
 |  |  | import com.doumee.core.utils.HttpsUtil; | 
 |  |  | import com.doumee.dao.business.WxNoticeConfigMapper; | 
 |  |  | import com.doumee.dao.business.model.*; | 
 |  |  | import com.doumee.dao.system.model.SystemDictData; | 
 |  |  | import com.doumee.service.business.third.model.ApiResponse; | 
 |  |  | import com.github.xiaoymin.knife4j.core.util.CollectionUtils; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public String getToken (SystemDictDataBiz systemDictDataBiz){ | 
 |  |  |         String token = null; | 
 |  |  |         BaseResponse<String> result = HKService.wxAccessToken(systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_WXTOKEN_CONFIGID).getCode(), | 
 |  |  |                 systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_WXTOKEN_TAGID).getCode()); | 
 |  |  |         log.warn("获取海康微信token信息", JSONObject.toJSONString(result)); | 
 |  |  |         if(StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE) ){ | 
 |  |  |             token= result.getData(); | 
 |  |  |         } | 
 |  |  |         return token; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 访客申请/报备业务通知 | 
 |  |  |      * @param wxNoticeConfigMapper | 
 |  |  | 
 |  |  |      * @param objCode  visitUpload,visitAuditSuccess,visitWaitAudit,visitWaitAudit,visitReportUpload,visitReportAuditSuccess,visitReportAuditFail, visitReportAuditSuccess | 
 |  |  |      * @param openIds | 
 |  |  |      */ | 
 |  |  |     public void  sendVisitTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, Visits visits, String objCode, String token, List<String> openIds){ | 
 |  |  |     public void  sendVisitTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, Visits visits, String objCode, List<String> openIds){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda() | 
 |  |  | 
 |  |  |                 car_number7.put("value",StringUtils.isNotBlank(visits.getCarNos())?visits.getCarNos():"无"); | 
 |  |  |                 dataMap.put("car_number7",car_number7); | 
 |  |  |                 Map<String, Object> character_string6 = new HashMap<String,Object>(); | 
 |  |  |                 character_string6.put("value","1"); | 
 |  |  |                 character_string6.put("value",Constants.equalsInteger(visits.getType(),Constants.TWO)?visits.getMemberNum()+"":"1"); | 
 |  |  |                 Map<String, Object> thing4 = new HashMap<String,Object>(); | 
 |  |  |                 thing4.put("value",visits.getReason()); | 
 |  |  |                 dataMap.put("const9",const9); | 
 |  |  | 
 |  |  |      * @param openIds | 
 |  |  |      */ | 
 |  |  |     public void  sendHiddenDangerUploadTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, HiddenDanger hiddenDanger, String objCode,String token, List<String> openIds){ | 
 |  |  |         token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.hiddenDanger) | 
 |  |  | 
 |  |  |      * @param openIds | 
 |  |  |      */ | 
 |  |  |     public void  sendHiddenDangerDealTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, HiddenDanger hiddenDanger, String objCode,String token, List<String> openIds){ | 
 |  |  |         token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.hiddenDanger) | 
 |  |  | 
 |  |  |      * @param openIds | 
 |  |  |      * @param sendType 0=申请人;1=审批人 | 
 |  |  |      */ | 
 |  |  |     public void  sendCarUseBookTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, CarUseBook carUseBook, String objCode,String token, | 
 |  |  |     public void  sendCarUseBookTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, CarUseBook carUseBook, String objCode, | 
 |  |  |                                               List<String> openIds,Integer sendType){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try { | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.carUse) | 
 |  |  | 
 |  |  |      * @param openIds | 
 |  |  |      * @param sendType 0=申请人;1=审批人 | 
 |  |  |      */ | 
 |  |  |     public void  sendPlatformBookTemplateNotice(SystemDictDataBiz systemDictDataBiz, WxNoticeConfigMapper wxNoticeConfigMapper, PlatformBooks platformBooks, String objCode, String token, | 
 |  |  |     public void  sendPlatformBookTemplateNotice(SystemDictDataBiz systemDictDataBiz, WxNoticeConfigMapper wxNoticeConfigMapper, PlatformBooks platformBooks, String objCode, | 
 |  |  |                                                 List<String> openIds, Integer sendType){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformBook) | 
 |  |  | 
 |  |  |      * @param objCode   platformJobNewJob | 
 |  |  |      * @param openIds | 
 |  |  |      */ | 
 |  |  |     public void  sendWmsTemplateNotice(SystemDictDataBiz systemDictDataBiz, WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token, | 
 |  |  |     public void  sendWmsTemplateNotice(SystemDictDataBiz systemDictDataBiz, WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode, | 
 |  |  |                                                List<String> openIds){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.visit) | 
 |  |  | 
 |  |  |      * @param objCode   platformJobNewJob | 
 |  |  |      * @param openIds | 
 |  |  |      */ | 
 |  |  |     public void  sendWmsCancelTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token, | 
 |  |  |     public void  sendWmsCancelTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode, | 
 |  |  |                                        List<String> openIds){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob) | 
 |  |  | 
 |  |  |      * @param token | 
 |  |  |      * @param openIds | 
 |  |  |      */ | 
 |  |  |     public void  sendPlatformJobTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token, | 
 |  |  |     public void  sendPlatformJobTemplateNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode, | 
 |  |  |                                        List<String> openIds){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob) | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         }catch (Exception e){ | 
 |  |  |  | 
 |  |  |             e.printStackTrace(); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | 
 |  |  |      * @param token | 
 |  |  |      * @param openIds | 
 |  |  |      */ | 
 |  |  |     public void  sendPlatformJobSignNotice(WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode,String token, | 
 |  |  |     public void  sendPlatformJobSignNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper, PlatformJob platformJob, String objCode, | 
 |  |  |                                                List<String> openIds){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob) | 
 |  |  | 
 |  |  |                 thing2.put("value",platformJob.getDriverName()); | 
 |  |  |                 //签到时间 | 
 |  |  |                 Map<String, Object> time5 = new HashMap<String,Object>(); | 
 |  |  |                 time5.put("value", DateUtil.getFomartDate(platformJob.getSignDate(),"yyyy年MM月dd日 HH:mm:ss")); | 
 |  |  |                 time5.put("value", DateUtil.getFomartDate(new Date(),"yyyy年MM月dd日 HH:mm:ss")); | 
 |  |  |  | 
 |  |  |                 dataMap.put("car_number1",car_number1); | 
 |  |  |                 dataMap.put("thing2",thing2); | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void  sendUnFinishNotice(WxNoticeConfigMapper wxNoticeConfigMapper,Integer unFinishNum,String objCode,String token, | 
 |  |  |  | 
 |  |  |     public static void main(String[] args) { | 
 |  |  |         String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=90_8_a3QDclSc8HTcbgXhSVnijiQdRf4dG5wme29riDIyt3UIi7FpZ_HJyqyEIY-_e2A29jH2fLBKgtuBKtq-cy7DteFg5l9EawoxAwiRis8BMnEl-u01ITtCUVU90XCIjADASXD"; | 
 |  |  |         //整体参数map | 
 |  |  |         Map<String, Object> paramMap = new HashMap<String, Object>(); | 
 |  |  |         //消息主题显示相关map | 
 |  |  |         Map<String, Object> dataMap = new HashMap<String, Object>(); | 
 |  |  |         //车牌号 | 
 |  |  |         Map<String, Object> car_number1 = new HashMap<String,Object>(); | 
 |  |  |         car_number1.put("value","皖A12345"); | 
 |  |  |         //司机姓名 | 
 |  |  |         Map<String, Object> thing2 = new HashMap<String,Object>(); | 
 |  |  |         thing2.put("value","小阿武"); | 
 |  |  |         //签到时间 | 
 |  |  |         Map<String, Object> time5 = new HashMap<String,Object>(); | 
 |  |  |         time5.put("value", DateUtil.getFomartDate(new Date(),"yyyy年MM月dd日 HH:mm:ss")); | 
 |  |  |  | 
 |  |  |         dataMap.put("car_number1",car_number1); | 
 |  |  |         dataMap.put("thing2",thing2); | 
 |  |  |         dataMap.put("time5",time5); | 
 |  |  |         paramMap.clear(); | 
 |  |  |         paramMap.put("template_id", "ZYhHg5eJJim0LR3FLVaqKcVqW3p8GQk8qrTO40ffHXI"); | 
 |  |  |         paramMap.put("touser", "ovmre6RUJJZCDtCyLxWYKSMgt7u8"); | 
 |  |  |         paramMap.put("data", dataMap); | 
 |  |  |         String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); | 
 |  |  |         log.error("·==++--·推送微信模板信息内容:{}", JSONObject.toJSONString(paramMap)); | 
 |  |  |         if(StringUtils.isBlank(response)){ | 
 |  |  |             log.error("·==++--·推送微信模板信息:{}·--++==·", "失败"); | 
 |  |  |         }else{ | 
 |  |  |             JSONObject json = JSONObject.parseObject(response); | 
 |  |  |             log.error("·==++--·推送微信模板信息:{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"成功":"失败"+json.getString("errmsg")); | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void  sendUnFinishNotice(SystemDictDataBiz systemDictDataBiz,WxNoticeConfigMapper wxNoticeConfigMapper,Integer unFinishNum,String objCode, | 
 |  |  |                                            List<String> openIds){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)||Constants.equalsInteger(unFinishNum,Constants.ZERO)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |             if(CollectionUtils.isNotEmpty(openIds)){ | 
 |  |  |                 WxNoticeConfig wxNoticeConfig =  wxNoticeConfigMapper.selectOne(new QueryWrapper<WxNoticeConfig>().lambda().eq(WxNoticeConfig::getObjType,WxPlatConstants.platformJob) | 
 |  |  | 
 |  |  |     } | 
 |  |  |      | 
 |  |  |  | 
 |  |  |     public void  sendMeetTemplateNotice(SystemDictDataBiz systemDictDataBiz,SmsEmail smsEmail,String token){ | 
 |  |  |     public void  sendMeetTemplateNotice(SystemDictDataBiz systemDictDataBiz,SmsEmail smsEmail){ | 
 |  |  |         String token = this.getToken(systemDictDataBiz); | 
 |  |  |         if(StringUtils.isBlank(token)){ | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         try{ | 
 |  |  |                 String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(), | 
 |  |  |                         Constants.WxUrlParams.MEETING,smsEmail.getObjId().toString()); |