From 3b0c9e51e16619e59b58e4ce9870e8f69e89259b Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期二, 21 十月 2025 17:42:11 +0800 Subject: [PATCH] 月台自动叫号处理问题 --- server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java | 130 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 125 insertions(+), 5 deletions(-) diff --git a/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java index 1228ce3..85565d8 100644 --- a/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java +++ b/server/meeting/meeting_service/src/main/java/com/doumee/core/wx/WxPlatNotice.java @@ -2,15 +2,19 @@ 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.*; /** @@ -70,8 +74,11 @@ * @param token * @param openIds */ - public void sendMeetingBookTemplateNotice(Bookings bookings,String tempId, String token, Set<String> 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>(); @@ -82,7 +89,7 @@ thing1.put("value",bookings.getName()); //浼氳鏃堕棿 Map<String, Object> time2 = new HashMap<String,Object>(); - time2.put("value", DateUtil.getDate(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") ); + 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()); @@ -97,6 +104,7 @@ 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); @@ -111,6 +119,113 @@ } } + 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骞碝M鏈坉d鏃H: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骞碝M鏈坉d鏃H: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)); + } + + /** * 浼氳瀹ゅ彇娑堥�氱煡 @@ -119,8 +234,12 @@ * @param token * @param openIds */ - public void sendMeetingBookCancelTemplateNotice(Bookings bookings,String tempId, String token, Set<String> 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>(); @@ -131,7 +250,7 @@ thing1.put("value",bookings.getName()); //浼氳鏃堕棿 Map<String, Object> time6 = new HashMap<String,Object>(); - time6.put("value", DateUtil.getDate(bookings.getStartTime(),"yyyy-MM-dd HH:mm:ss") ); + 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()); @@ -143,9 +262,10 @@ dataMap.put("time6",time6); dataMap.put("thing2",thing2); dataMap.put("thing4",thing4); - paramMap.put("data", dataMap); 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); -- Gitblit v1.9.3