| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.doumee.core.wx; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.doumee.biz.system.SystemDictDataBiz; |
| | | import com.doumee.core.utils.Constants; |
| | | import com.doumee.core.utils.DateUtil; |
| | | import com.doumee.core.utils.HttpsUtil; |
| | | import com.doumee.dao.business.dao.SmsEmailMapper; |
| | | import com.doumee.dao.business.model.Bookings; |
| | | import com.doumee.dao.business.model.SmsEmail; |
| | | import com.github.xiaoymin.knife4j.core.util.CollectionUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.awt.print.Book; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 微信å
¬ä¼å·éç¥ |
| | | * |
| | | * @Author : Rk |
| | | * @create 2023/12/27 9:19 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class WxPlatNotice { |
| | | |
| | | public void testSendNotice(List<String> openIds,String token){ |
| | | if(CollectionUtils.isNotEmpty(openIds)){ |
| | | String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; |
| | | //æ´ä½åæ°map |
| | | Map<String, Object> paramMap = new HashMap<String, Object>(); |
| | | //æ¶æ¯ä¸»é¢æ¾ç¤ºç¸å
³map |
| | | Map<String, Object> dataMap = new HashMap<String, Object>(); |
| | | Map<String, Object> const9 = new HashMap<String,Object>(); |
| | | const9.put("value","ç³è¯·å¾
æ¨å®¡æ¹"); |
| | | Map<String, Object> thing1 = new HashMap<String,Object>(); |
| | | thing1.put("value", "æµè¯åç§°"); |
| | | Map<String, Object> car_number7 = new HashMap<String,Object>(); |
| | | car_number7.put("value","çAP12345"); |
| | | Map<String, Object> character_string6 = new HashMap<String,Object>(); |
| | | character_string6.put("value","1"); |
| | | Map<String, Object> thing4 = new HashMap<String,Object>(); |
| | | thing4.put("value","çç±"); |
| | | dataMap.put("const9",const9); |
| | | dataMap.put("thing1",thing1); |
| | | dataMap.put("car_number7",car_number7); |
| | | dataMap.put("character_string6",character_string6); |
| | | dataMap.put("thing4",thing4); |
| | | paramMap.put("data", dataMap); |
| | | for (String openId:openIds) { |
| | | paramMap.clear(); |
| | | paramMap.put("template_id", "SPwvgtASkm1aMDBsYhX2wHKdL2JBEGPknDkgniSza2Y"); |
| | | paramMap.put("touser", openId); |
| | | paramMap.put("data", dataMap); |
| | | String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); |
| | | if(StringUtils.isBlank(response)){ |
| | | log.warn("·==++--·æ¨é微信模æ¿ä¿¡æ¯ï¼{}·--++==·", "失败"); |
| | | }else{ |
| | | JSONObject json = JSONObject.parseObject(response); |
| | | log.warn("·==++--·æ¨é微信模æ¿ä¿¡æ¯ï¼{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"æå":"失败"+json.getString("errmsg")); |
| | | } |
| | | } |
| | | // log.warn("·==++--·æ¨é微信模æ¿ä¿¡æ¯ï¼{}·--++==·", msgId != null ? "æå" : "失败"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * ä¼è®®å®¤é¢çº¦éç¥ |
| | | * @param bookings |
| | | * @param tempId CuoDoxOl6SFwi4NhNgOQgKSJVjDD4VCIaPYlnbv_zdY |
| | | * @param token |
| | | * @param openIds |
| | | */ |
| | | public void sendMeetingBookTemplateNotice(SystemDictDataBiz systemDictDataBiz,Bookings bookings,String tempId, String token, Set<String> openIds){ |
| | | if(CollectionUtils.isNotEmpty(openIds)){ |
| | | String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(), |
| | | Constants.WxUrlParams.MEETING,bookings.getId().toString()); |
| | | |
| | | String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; |
| | | //æ´ä½åæ°map |
| | | Map<String, Object> paramMap = new HashMap<String, Object>(); |
| | | //æ¶æ¯ä¸»é¢æ¾ç¤ºç¸å
³map |
| | | Map<String, Object> dataMap = new HashMap<String, Object>(); |
| | | //ä¼è®®åç§° |
| | | Map<String, Object> thing1 = new HashMap<String,Object>(); |
| | | thing1.put("value",bookings.getName()); |
| | | //ä¼è®®æ¶é´ |
| | | Map<String, Object> time2 = new HashMap<String,Object>(); |
| | | time2.put("value", DateUtil.getFomartDate(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") ); |
| | | //ä¼è®®å°ç¹ |
| | | Map<String, Object> thing3 = new HashMap<String,Object>(); |
| | | thing3.put("value",bookings.getRoomName()); |
| | | //å起人 |
| | | Map<String, Object> thing6 = new HashMap<String,Object>(); |
| | | thing6.put("value",bookings.getManagerInfo()); |
| | | |
| | | dataMap.put("thing1",thing1); |
| | | dataMap.put("time2",time2); |
| | | dataMap.put("thing3",thing3); |
| | | dataMap.put("thing6",thing6); |
| | | paramMap.put("data", dataMap); |
| | | for (String openId:openIds) { |
| | | paramMap.clear(); |
| | | paramMap.put("url", jumpUrl); |
| | | paramMap.put("template_id", tempId); |
| | | paramMap.put("touser", openId); |
| | | paramMap.put("data", dataMap); |
| | | String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); |
| | | if(StringUtils.isBlank(response)){ |
| | | log.warn("·==++--·æ¨é微信模æ¿ä¿¡æ¯ï¼{}·--++==·", "失败"); |
| | | }else{ |
| | | JSONObject json = JSONObject.parseObject(response); |
| | | log.warn("·==++--·æ¨é微信模æ¿ä¿¡æ¯ï¼{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"æå":"失败"+json.getString("errmsg")); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | public void createBeginWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings, String openId){ |
| | | Map<String,Object> map = new HashMap<>(); |
| | | |
| | | //æ´ä½åæ°map |
| | | Map<String, Object> paramMap = new HashMap<String, Object>(); |
| | | //æ¶æ¯ä¸»é¢æ¾ç¤ºç¸å
³map |
| | | Map<String, Object> dataMap = new HashMap<String, Object>(); |
| | | //ä¼è®®åç§° |
| | | Map<String, Object> thing1 = new HashMap<String,Object>(); |
| | | thing1.put("value",bookings.getName()); |
| | | //ä¼è®®å°ç¹ |
| | | Map<String, Object> thing2 = new HashMap<String,Object>(); |
| | | thing2.put("value",bookings.getRoomName()); |
| | | //ä¼è®®æ¶é´ |
| | | Map<String, Object> thing3 = new HashMap<String,Object>(); |
| | | thing3.put("value", DateUtil.getFomartDate(bookings.getStartTime(),"yyyyå¹´MMæddæ¥HH:mm")+"è³"+DateUtil.getFomartDate(bookings.getEndTime(),"HH:mm")); |
| | | |
| | | Integer earlyMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.EARLY_START_WX_NOTICE).getCode()); |
| | | |
| | | Map<String, Object> thing5 = new HashMap<String,Object>(); |
| | | thing5.put("value","æ¨æé¢å®çä¼è®®å®¤å³å°å¨"+earlyMin+"åéåå¼å§ï¼è¯·åæ¶åå "); |
| | | |
| | | dataMap.put("thing1",thing1); |
| | | dataMap.put("thing2",thing2); |
| | | dataMap.put("thing3",thing3); |
| | | dataMap.put("thing5",thing5); |
| | | paramMap.put("data", dataMap); |
| | | |
| | | paramMap.put("template_id", "xGFnbHwe8W9sIGlD75XROrbKpzV-6HSRqfRHRfxRR6k"); |
| | | paramMap.put("touser", openId); |
| | | paramMap.put("data", dataMap); |
| | | |
| | | smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda() |
| | | .eq(SmsEmail::getObjType,Constants.FIVE.toString()) |
| | | .eq(SmsEmail::getStatus,Constants.TWO) |
| | | .eq(SmsEmail::getType,Constants.TWO) |
| | | .eq(SmsEmail::getObjId,bookings.getId()) |
| | | ); |
| | | |
| | | SmsEmail smsEmail = new SmsEmail(); |
| | | smsEmail.setPhone(openId); |
| | | smsEmail.setRemark("çå¾
åé"); |
| | | smsEmail.setStatus(Constants.TWO); |
| | | smsEmail.setIsdeleted(Constants.ZERO); |
| | | smsEmail.setType(Constants.TWO); |
| | | smsEmail.setObjType(Constants.FIVE.toString()); |
| | | smsEmail.setObjId(bookings.getId()); |
| | | smsEmail.setCreateDate(new Date()); |
| | | smsEmail.setTitle("ä¼è®®å³å°å¼å§æé"); |
| | | smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getStartTime(),-earlyMin),"yyyy-MM-dd HH:mm:ss")); |
| | | smsEmail.setContent(JSONObject.toJSONString(map)); |
| | | } |
| | | |
| | | |
| | | public void createEndWxNotice(SystemDictDataBiz systemDictDataBiz, SmsEmailMapper smsEmailMapper, Bookings bookings, String openId){ |
| | | Map<String,Object> map = new HashMap<>(); |
| | | |
| | | //æ´ä½åæ°map |
| | | Map<String, Object> paramMap = new HashMap<String, Object>(); |
| | | //æ¶æ¯ä¸»é¢æ¾ç¤ºç¸å
³map |
| | | Map<String, Object> dataMap = new HashMap<String, Object>(); |
| | | //ä¼è®®åç§° |
| | | Map<String, Object> thing1 = new HashMap<String,Object>(); |
| | | thing1.put("value",bookings.getName()); |
| | | //ä¼è®®å°ç¹ |
| | | Map<String, Object> thing6 = new HashMap<String,Object>(); |
| | | thing6.put("value",bookings.getRoomName()); |
| | | //ä¼è®®æ¶é´ |
| | | Map<String, Object> date4 = new HashMap<String,Object>(); |
| | | date4.put("value", DateUtil.getFomartDate(bookings.getEndTime(),"yyyyå¹´MMæddæ¥HH:mm")); |
| | | |
| | | Map<String, Object> thing7 = new HashMap<String,Object>(); |
| | | thing7.put("value","æ¨çä¼è®®å³å°ç»æï¼å¦éç»§ç»ä½¿ç¨è¯·å³ä½¿ç»è®¢"); |
| | | |
| | | dataMap.put("thing1",thing1); |
| | | dataMap.put("thing6",thing6); |
| | | dataMap.put("date4",date4); |
| | | dataMap.put("thing7",thing7); |
| | | paramMap.put("data", dataMap); |
| | | |
| | | paramMap.put("template_id", "vdIPfwvDCrXOHgQnB6sdE1lGEsJm1oUURfLx6SoLdk0"); |
| | | paramMap.put("touser", openId); |
| | | paramMap.put("data", dataMap); |
| | | |
| | | smsEmailMapper.delete(new QueryWrapper<SmsEmail>().lambda() |
| | | .eq(SmsEmail::getObjType,Constants.FIVE.toString()) |
| | | .eq(SmsEmail::getStatus,Constants.TWO) |
| | | .eq(SmsEmail::getType,Constants.TWO) |
| | | .eq(SmsEmail::getObjId,bookings.getId()) |
| | | ); |
| | | |
| | | SmsEmail smsEmail = new SmsEmail(); |
| | | smsEmail.setPhone(openId); |
| | | smsEmail.setRemark("çå¾
åé"); |
| | | smsEmail.setStatus(Constants.TWO); |
| | | smsEmail.setIsdeleted(Constants.ZERO); |
| | | smsEmail.setType(Constants.TWO); |
| | | smsEmail.setObjType(Constants.FIVE.toString()); |
| | | smsEmail.setObjId(bookings.getId()); |
| | | smsEmail.setCreateDate(new Date()); |
| | | smsEmail.setTitle("ä¼è®®å³å°å¼å§æé"); |
| | | Integer endMin= Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.OVER_NOTICE_WX).getCode()); |
| | | smsEmail.setInfo(DateUtil.getFomartDate(DateUtil.getXMinuteAfterDate(bookings.getEndTime(),-endMin),"yyyy-MM-dd HH:mm:ss")); |
| | | smsEmail.setContent(JSONObject.toJSONString(map)); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * ä¼è®®å®¤åæ¶éç¥ |
| | | * @param bookings |
| | | * @param tempId CiB6vCT2InovAoQfudY-lvzLSV0-3lfz3a5GsSFCzd8 |
| | | * @param token |
| | | * @param openIds |
| | | */ |
| | | public void sendMeetingBookCancelTemplateNotice(SystemDictDataBiz systemDictDataBiz,Bookings bookings, String tempId, String token, Set<String> openIds){ |
| | | if(CollectionUtils.isNotEmpty(openIds)){ |
| | | String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(), |
| | | Constants.WxUrlParams.MEETING,bookings.getId().toString()); |
| | | |
| | | |
| | | String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; |
| | | //æ´ä½åæ°map |
| | | Map<String, Object> paramMap = new HashMap<String, Object>(); |
| | | //æ¶æ¯ä¸»é¢æ¾ç¤ºç¸å
³map |
| | | Map<String, Object> dataMap = new HashMap<String, Object>(); |
| | | //ä¼è®®åç§° |
| | | Map<String, Object> thing1 = new HashMap<String,Object>(); |
| | | thing1.put("value",bookings.getName()); |
| | | //ä¼è®®æ¶é´ |
| | | Map<String, Object> time6 = new HashMap<String,Object>(); |
| | | time6.put("value", DateUtil.getFomartDate(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") ); |
| | | //ä¼è®®å°ç¹ |
| | | Map<String, Object> thing2 = new HashMap<String,Object>(); |
| | | thing2.put("value",bookings.getRoomName()); |
| | | //é¢çº¦äººå |
| | | Map<String, Object> thing4 = new HashMap<String,Object>(); |
| | | thing4.put("value",bookings.getManagerInfo()); |
| | | |
| | | dataMap.put("thing1",thing1); |
| | | dataMap.put("time6",time6); |
| | | dataMap.put("thing2",thing2); |
| | | dataMap.put("thing4",thing4); |
| | | for (String openId:openIds) { |
| | | paramMap.clear(); |
| | | paramMap.put("url", jumpUrl); |
| | | paramMap.put("data", dataMap); |
| | | paramMap.put("template_id", tempId); |
| | | paramMap.put("touser", openId); |
| | | paramMap.put("data", dataMap); |
| | | String response = HttpsUtil.postJson(postUrL, JSONObject.toJSONString(paramMap)); |
| | | if(StringUtils.isBlank(response)){ |
| | | log.warn("·==++--·æ¨é微信模æ¿ä¿¡æ¯ï¼{}·--++==·", "失败"); |
| | | }else{ |
| | | JSONObject json = JSONObject.parseObject(response); |
| | | log.warn("·==++--·æ¨é微信模æ¿ä¿¡æ¯ï¼{}·--++==·", Constants.equalsInteger(json.getInteger("errcode"),Constants.ZERO)?"æå":"失败"+json.getString("errmsg")); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |