| | |
| | | package com.smartor.common; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.aliyun.dysmsapi20170525.models.SendSmsResponseBody; |
| | | import com.fasterxml.jackson.core.JsonProcessingException; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.ruoyi.common.utils.http.HttpUtils; |
| | | import com.smartor.domain.*; |
| | | import com.smartor.mapper.PatWildcardMapper; |
| | | import com.smartor.service.DingTalkService; |
| | | import com.smartor.service.ISmsParamService; |
| | | import com.smartor.service.WeChatService; |
| | | import com.smartor.service.impl.BaseSmsaccountServiceImpl; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.UUID; |
| | | |
| | | /** |
| | | * 发送服务工具类 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class SendService { |
| | | @Autowired |
| | |
| | | @Autowired |
| | | private PatWildcardMapper patWildcardMapper; |
| | | |
| | | @Autowired |
| | | private WeChatService weChatService; |
| | | |
| | | @Autowired |
| | | ISmsParamService iSmsParamService; |
| | | |
| | | public Boolean sendMsg(SendMagParam sendMagParam) { |
| | | // 1,多媒体 2,纸质 3,电话 4,短信 5.微信公众号 6.微信小程序 7.支付宝 8.智能小程序 9.钉钉 |
| | | switch (sendMagParam.getType()) { |
| | | case ("多媒体"): |
| | | case ("1"): |
| | | |
| | | case ("纸质"): |
| | | case ("2"): |
| | | |
| | | case ("电话"): |
| | | case ("3"): |
| | | |
| | | case ("短信"): |
| | | BaseSmsRequest baseSmsRequest = new BaseSmsRequest(); |
| | | baseSmsRequest.setPhoneNumber(sendMagParam.getPhone()); |
| | | baseSmsRequest.setTemplateCode("SMS_461860582"); |
| | | |
| | | SendSmsResponseBody sendSmsResponseBody = baseSmsaccountService.sendMsg(baseSmsRequest); |
| | | if (sendSmsResponseBody.getCode().equals("OK")) { |
| | | case ("4"): |
| | | //短信 |
| | | int i = iSmsParamService.sendSmsInfo(sendMagParam.getUrl(), sendMagParam.getPhone()); |
| | | if (i == 1) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | case ("微信公众号"): |
| | | case ("5"): |
| | | //公众号 |
| | | // String params = "service=smarthos.yygh.ApiService.push&idcard=" + sendMagParam.getIdcard() + "&url=" + sendMagParam.getUrl() + "&keyword1=null&keyword2=null&keyword3=null&keyword4=null"; |
| | | // String result = HttpUtils.sendPost("/api", params); |
| | | // JSONObject jsonObject = JSONObject.parseObject(result); |
| | | // String code = (String) jsonObject.get("code"); |
| | | // if (!code.equals(0)) { |
| | | // log.error("微信公众号消息发送失败了:{}", sendMagParam); |
| | | // return false; |
| | | // } |
| | | // return true; |
| | | |
| | | case ("微信小程序"): |
| | | WeChatSendVo weChatSendVo = new WeChatSendVo(); |
| | | weChatSendVo.setUrl(sendMagParam.getUrl()); |
| | | weChatSendVo.setTemplateId(sendMagParam.getTmpCode()); |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | Map map = null; |
| | | try { |
| | | map = objectMapper.readValue(sendMagParam.getContent(), Map.class); |
| | | } catch (JsonProcessingException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | weChatSendVo.setContent(map); |
| | | weChatSendVo.setOpenid(sendMagParam.getOpenid()); |
| | | Boolean aBoolean1 = weChatService.sendMessageToFollowers(weChatSendVo); |
| | | return aBoolean1; |
| | | case ("6"): |
| | | |
| | | case ("支付宝"): |
| | | case ("7"): |
| | | |
| | | case ("智能小程序"): |
| | | case ("8"): |
| | | |
| | | case ("钉钉"): |
| | | case ("9"): |
| | | DingTalkReqVo dingTalkReqVo = new DingTalkReqVo(); |
| | | Boolean aBoolean = dingTalkService.sendNotification(dingTalkReqVo); |
| | | if (aBoolean) { |