|  |  |  | 
|---|
|  |  |  | 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.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public void  sendMeetingBookTemplateNotice(SystemDictDataBiz systemDictDataBiz,Bookings bookings,String tempId, String token, Set<String> openIds){ | 
|---|
|  |  |  | if(CollectionUtils.isNotEmpty(openIds)){ | 
|---|
|  |  |  | String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(), | 
|---|
|  |  |  | String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(), | 
|---|
|  |  |  | Constants.WxUrlParams.MEETING,bookings.getId().toString()); | 
|---|
|  |  |  | String jumpUrl = systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode().replace( "${param}", url); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; | 
|---|
|  |  |  | //整体参数map | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 会议室取消通知 | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public void  sendMeetingBookCancelTemplateNotice(SystemDictDataBiz systemDictDataBiz,Bookings bookings, String tempId, String token, Set<String> openIds){ | 
|---|
|  |  |  | if(CollectionUtils.isNotEmpty(openIds)){ | 
|---|
|  |  |  | String url = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(), | 
|---|
|  |  |  | String jumpUrl = Constants.getWxUrl(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.WX_REDIRECT_URL).getCode(), | 
|---|
|  |  |  | Constants.WxUrlParams.MEETING,bookings.getId().toString()); | 
|---|
|  |  |  | String jumpUrl = systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.SIGN_IN_QRCODE_PREFIX).getCode().replace( "${param}", url); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String postUrL = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+token; | 
|---|