phi-sms-feign/src/main/java/com/hz/sms/dto/MpMessageDto.java
New file @@ -0,0 +1,41 @@ package com.hz.sms.dto; import com.alibaba.fastjson.JSONObject; import com.hx.util.StringUtils; import lombok.Data; /**小程序服务消息*/ @Data public class MpMessageDto { /** 小程序appId - Y*/ private String mpId; /** 所需下发的订阅模板id - Y*/ private String templateId; /** 接口调用凭证,该参数为 URL 参数,非 Body 参数 - Y*/ private String page; /** 接收者(用户)的 openid - Y*/ private String touSer; /** 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版 - Y*/ private String minIpGramState; /** 进入小程序查看”的语言类型,支持zh_CN(简体中文)、en_US(英文)、zh_HK(繁体中文)、zh_TW(繁体中文),默认为zh_CN - Y*/ private String lang = LANGUAGE_ZH_CN; /** 模板内容*/ private JSONObject data; /** 发送模式 (0: 立即发送; 1:异步发送)*/ private Integer sendModel = SEND_TYPE_ASYNCHRONOUS; /**发送类型-立即发送*/ public static final int SEND_TYPE_IMMEDIATELY = 0; /**发送类型-异步发送*/ public static final int SEND_TYPE_ASYNCHRONOUS = 1; /**语言 - 简体中文*/ public static final String LANGUAGE_ZH_CN = "zh_CN"; /**语言 - 英文*/ public static final String LANGUAGE_EN_US = "en_US"; /**语言 - 繁体中文(香港)*/ public static final String LANGUAGE_ZH_HK = "zh_HK"; /**语言 - 繁体中文(台湾)*/ public static final String LANGUAGE_ZH_TW = "zh_TW"; } phi-sms-feign/src/main/java/com/hz/sms/dto/MpTemplateMsg.java
@@ -1,20 +1,23 @@ package com.hz.sms.dto; import com.hz.sms.dto.entity.Miniprogram; import lombok.Data; import java.util.Map; /** * 参数用于下发小程序和公众号统一的服务消息 (参数实体),子模块 */ @Data public class MpTemplateMsg { //公众号appid,要求与小程序有绑定且同主体 /**公众号appid,要求与小程序有绑定且同主体 - Y*/ private String appId; //公众号模板id /**公众号模板id - Y*/ private String templateId; //公众号模板消息所要跳转的url /**公众号模板消息所要跳转的url - N*/ private String url; //公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系 private String minIProgram; //公众号模板消息的数据 private Map<String, Keyword> data;; /**公众号模板消息所要跳转的小程序,小程序的必须与公众号具有绑定关系 - N*/ private Miniprogram minIProgram; /**公众号模板消息的数据 - Y*/ private Map<String, Keyword> data; } phi-sms-feign/src/main/java/com/hz/sms/dto/ResponsesSendMessage.java
File was deleted phi-sms-feign/src/main/java/com/hz/sms/dto/ResponsesWxSendMpDto.java
File was deleted phi-sms-feign/src/main/java/com/hz/sms/dto/SmsGeneralSendDto.java
@@ -1,56 +1,48 @@ package com.hz.sms.dto; import com.hx.util.StringUtils; import lombok.Data; import java.text.SimpleDateFormat; import java.util.Date; @Data public class SmsGeneralSendDto { /**标识 (记录sms_general_item表数据的id)*/ private String id; /**账号*/ private String account; /**密码*/ private String password; /**签名*/ private String sign; /**定时短信时间,格式为yyyyMMddHHmm,值小于或等于当前时间则立即发送,默认立即发送*/ private String timestamp; /**短信内容*/ /**短信类型 - Y*/ private Integer smsType; /**短信内容 - Y*/ private String msg; /**手机号码*/ /**接收人名称 - N*/ private String receiveMan; /**手机号码 - Y*/ private String phone; /**定时发送短信时间*/ private String sendTime; /**定时发送短信时间,值小于或等于当前时间则立即发送,默认立即发送:格式yyyy-MM-dd HH:mm:dd*/ private Date sendTime; /**如需状态报告则传true*/ private String report; /**下发短信号码扩展码*/ /**下发短信号码扩展码 - N*/ private String extend; /**该条短信在您业务系统内的ID*/ /**该条短信在您业务系统内的ID,可不填 - N*/ private String uid; /**短信类型*/ private Integer smsType; /** 发送模式 (0: 立即发送; 1:异步发送)*/ private Integer sendModel; /** 发送模式 (0: 立即发送; 1:异步发送,默认1) - Y*/ private Integer sendModel = SEND_TYPE_ASYNCHRONOUS; /**短信类型-短信验证码*/ public static final int SMS_TYPE_VERIFICATION = 0; /**短信类型-通知短信*/ public static final int SMS_TYPE_NOTICE = 1; /**短信类型-营销短信*/ public static final int SMS_TYPE_MARKETING= 2; /**发送类型-立即发送*/ public static final int SEND_TYPE_IMMEDIATELY = 0; /**发送类型-异步发送*/ public static final int SEND_TYPE_ASYNCHRONOUS = 1; /**数字0*/ public static final int NUMBER_0 = 0; /**数字1*/ public static final int NUMBER_1 = 1; public Date getDateSendTime(){ try { Date dateSendTime = new SimpleDateFormat("yyyyMMddHHmm").parse(sendTime); return dateSendTime; }catch (Exception e){ return null; } } public String getReport() { if (!StringUtils.isEmpty(report) && !"true".equals(report)){ return null; } return report; } } phi-sms-feign/src/main/java/com/hz/sms/dto/TemplateMessageDto.java
@@ -6,57 +6,44 @@ @Data public class TemplateMessageDto { /** 企业微信id*/ /** 企业微信id - Y*/ private String corpId; /** 关联小程序id*/ /** 关联小程序id - Y*/ private String appId; /** 标识 (记录corp_wx_application表数据的id) (不用传)*/ private String id; /** 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个) */ /** 成员ID列表(消息接收者,多个接收者用‘|’分隔,最多支持1000个) - Y*/ private String touSer; /** 部门ID列表,多个接收者用‘|’分隔,最多支持100个。 */ /** 部门ID列表,多个接收者用‘|’分隔,最多支持100个。- O */ private String toParty; /** 标签ID列表,多个接收者用‘|’分隔,最多支持100个。 */ /** 标签ID列表,多个接收者用‘|’分隔,最多支持100个。- O */ private String toTag; /** 消息类型 ,此时固定为:miniprogram_notice */ private String msgType; /** 参数内容 */ /** 消息类型 ,此时固定为:miniprogram_notice - Y*/ private String msgType = "miniprogram_notice"; /** 参数内容 - Y*/ private TemplateMsgDto minIProgramNotice; /** 发送模式 (0: 立即发送; 1:异步发送,默认1) - Y*/ private Integer sendModel = SEND_TYPE_ASYNCHRONOUS; /** 表示是否开启id转译,0表示否,1表示是,默认0 */ private Integer enableIdTrans; /** 表示是否开启重复消息检查,0表示否,1表示是,默认0 */ private Integer enableDuplicateCheck; /** 表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时 */ private Integer duplicateCheckInterval; /** 发送模式 (0: 立即发送; 1:异步发送)*/ private Integer sendModel; /** 表示是否开启id转译,0表示否,1表示是,默认0 - N*/ private Integer enableIdTrans = NUMBER_0; /** 表示是否开启重复消息检查,0表示否,1表示是,默认0 - N*/ private Integer enableDuplicateCheck = NUMBER_0; /** 表示是否重复消息检查的时间间隔,默认1800s,最大不超过4小时 - N*/ private Integer duplicateCheckInterval = REPEAT_TIME_SECOND; public String getMsgType() { if (!StringUtils.isEmpty(msgType) && !"miniprogram_notice".equals(msgType)){ return null; } return msgType; } public Integer getEnable_id_trans() { if (ObjectUtils.isEmpty(enableIdTrans)){ return null; } return enableIdTrans; } /**数字0*/ public static final int NUMBER_0 = 0; /**数字1*/ public static final int NUMBER_1 = 1; public Integer getEnable_duplicate_check() { if (ObjectUtils.isEmpty(enableDuplicateCheck)){ return null; } return enableDuplicateCheck; } /**发送类型-立即发送*/ public static final int SEND_TYPE_IMMEDIATELY = 0; /**发送类型-异步发送*/ public static final int SEND_TYPE_ASYNCHRONOUS = 1; public Integer getDuplicate_check_interval() { if (ObjectUtils.isEmpty(duplicateCheckInterval)){ return null; } return duplicateCheckInterval; } /**重复消息检查的时间间隔 - 秒*/ public static final int REPEAT_TIME_SECOND = 1800; } phi-sms-feign/src/main/java/com/hz/sms/dto/TemplateMsgDto.java
@@ -4,19 +4,22 @@ import java.util.List; public class TemplateMsgDto { /** 小程序appid,必须是与当前应用关联的小程序 */ /** 小程序appid,必须是与当前应用关联的小程序 - Y*/ private String appId; /** 点击消息卡片后的小程序页面,最长1024个字节,仅限本小程序内的页面。该字段不填则消息点击后不跳转。 */ private String page; /** 消息标题,长度限制4-12个汉字(支持id转译)*/ /** 消息标题,长度限制4-12个汉字(支持id转译)- Y*/ private String title; /** 消息描述,长度限制4-12个汉字(支持id转译)*/ /** 消息描述,长度限制4-12个汉字(支持id转译)- Y*/ private String description; /** 是否放大第一个content_item*/ private boolean emphasisFirstItem; /** 是否放大第一个content_item,默认false - N*/ private boolean emphasisFirstItem = BOOLEAN_FALSE; /** 消息内容键值对,最多允许10个item*/ private List<ContentItemDto> contentItem; public static final boolean BOOLEAN_FALSE = false; public static final boolean BOOLEAN_TRUE = false; public String getAppId() { return appId; } phi-sms-feign/src/main/java/com/hz/sms/dto/WeAppTemplateMsg.java
File was deleted phi-sms-feign/src/main/java/com/hz/sms/dto/WeCatMessageDto.java
New file @@ -0,0 +1,26 @@ package com.hz.sms.dto; import lombok.Data; /** * 参数用于下发小程序和公众号统一的服务消息 (参数实体) */ @Data public class WeCatMessageDto { /**公众号 appId*/ private String appId; /**用户openid,可以是小程序的openid,也可以是mp_template_msg.appid对应的公众号的openid - Y*/ private String touSer; /**公众号模板消息相关的信息,可以参考公众号模板消息接口;有此节点并且没有weapp_template_msg节点时,发送公众号模板消息 - Y*/ private MpTemplateMsg mpTemplateMsg; /**发送模式 (0: 立即发送; 1:异步发送,默认1) - Y*/ private Integer sendModel = SEND_TYPE_ASYNCHRONOUS; /**发送类型-立即发送*/ public static final int SEND_TYPE_IMMEDIATELY = 0; /**发送类型-异步发送*/ public static final int SEND_TYPE_ASYNCHRONOUS = 1; } phi-sms-feign/src/main/java/com/hz/sms/dto/entity/Miniprogram.java
New file @@ -0,0 +1,17 @@ package com.hz.sms.dto.entity; import com.hz.sms.dto.TemplateMessageDto; import lombok.Data; /**小程序统一消息-公众号子数据体 * */ @Data public class Miniprogram { /** 小程序appId */ private String appId; /**小程序跳转页面*/ private String pagepath; } phi-sms-feign/src/main/java/com/hz/sms/dto/mq/CorpMessageMqDto.java
New file @@ -0,0 +1,16 @@ package com.hz.sms.dto.mq; import com.hz.sms.dto.TemplateMessageDto; import lombok.Data; @Data public class CorpMessageMqDto { /** 消息标识 */ private String idCode; /**请求平台appId*/ private String platAppId; /**发送消息体*/ private TemplateMessageDto templateMessageDto; } phi-sms-feign/src/main/java/com/hz/sms/dto/mq/MpMessageMqDto.java
New file @@ -0,0 +1,18 @@ package com.hz.sms.dto.mq; import com.alibaba.fastjson.JSONObject; import com.hx.util.StringUtils; import com.hz.sms.dto.MpMessageDto; import lombok.Data; /**小程序服务消息*/ @Data public class MpMessageMqDto { /** 消息标识 */ private String idCode; /**请求平台appId*/ private String platAppId; /**小程序订阅消息实体*/ private MpMessageDto mpMessageDto; } phi-sms-feign/src/main/java/com/hz/sms/dto/mq/SmsMassegeMqDto.java
New file @@ -0,0 +1,18 @@ package com.hz.sms.dto.mq; import com.hz.sms.dto.SmsGeneralSendDto; import lombok.Data; @Data public class SmsMassegeMqDto { /** 消息标识 */ private String idCode; /**请求平台appId*/ private String platAppId; /**发送消息体*/ private SmsGeneralSendDto smsGeneralSendDto; } phi-sms-feign/src/main/java/com/hz/sms/dto/mq/WeCatMessageMqDto.java
New file @@ -0,0 +1,21 @@ package com.hz.sms.dto.mq; import com.hz.sms.dto.WeCatMessageDto; import lombok.Data; /** * 参数用于下发小程序和公众号统一的服务消息 (参数实体) */ @Data public class WeCatMessageMqDto { /** 消息标识 */ private String idCode; /**请求平台appId*/ private String platAppId; /**发送消息体*/ private WeCatMessageDto weCatMessageDto; } phi-sms-feign/src/main/java/com/hz/sms/feign/FWXSendService.java
@@ -2,8 +2,8 @@ import com.hx.resultTool.Result; import com.hz.sms.dto.ResponsesSendMessage; import com.hz.sms.dto.ResponsesWxSendMpDto; import com.hz.sms.dto.WeCatMessageDto; import com.hz.sms.dto.MpMessageDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -17,25 +17,25 @@ /** * 微信小程序下发统一消息 (废除) * @param responsesSendMessage * @param weCatMessageDto * @return */ @PostMapping(value = "/wx/send/applet/message") Result sendAppletMessage(@RequestBody ResponsesSendMessage responsesSendMessage); Result sendAppletMessage(@RequestBody WeCatMessageDto weCatMessageDto); /** * 微信公众号下发统一消息 * @param responsesSendMessage * @param weCatMessageDto * @return */ @PostMapping(value = "/wx/send/wechat/message") Result sendWeChatMessage(@RequestBody ResponsesSendMessage responsesSendMessage); Result sendWeChatMessage(@RequestBody WeCatMessageDto weCatMessageDto); /** * 微信小程序发送订阅消息 * @param responsesWxSendMpDto * @param mpMessageDto * @return */ @RequestMapping(value = "/wx/send/mp/subscribe/message") Result sendMpMessage(@RequestBody ResponsesWxSendMpDto responsesWxSendMpDto); Result sendMpMessage(@RequestBody MpMessageDto mpMessageDto); } phi-sms-feign/src/main/java/com/hz/sms/platform/FCorpWxImmediatelyService.java
@@ -2,6 +2,7 @@ import com.hx.resultTool.Result; import com.hz.sms.dto.TemplateMessageDto; import com.hz.sms.dto.mq.CorpMessageMqDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -14,10 +15,10 @@ /** * 发送企业微信应用消息 * @param templateMessageDto * @param corpMessageMqDto 消息体 * @return */ @PostMapping(value = "/corp-wx/send/application/message") Result sendNoticeSms(@RequestBody TemplateMessageDto templateMessageDto); Result sendNoticeSms(@RequestBody CorpMessageMqDto corpMessageMqDto); } phi-sms-feign/src/main/java/com/hz/sms/platform/FSmsImmediatelyService.java
@@ -2,6 +2,7 @@ import com.hx.resultTool.Result; import com.hz.sms.dto.SmsGeneralSendDto; import com.hz.sms.dto.mq.SmsMassegeMqDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -14,26 +15,26 @@ /** * 发送短信验证码 * @param smsGeneralSendDto * @param smsMassegeMqDto 消息体 * @return */ @PostMapping(value = "/sms/send/verification/code") Result sendVerificationCode(@RequestBody SmsGeneralSendDto smsGeneralSendDto); Result sendVerificationCode(@RequestBody SmsMassegeMqDto smsMassegeMqDto); /** * 发送通知短信 * @param smsGeneralSendDto * @param smsMassegeMqDto * @return */ @PostMapping(value = "/sms/send/notice") Result sendNoticeSms(@RequestBody SmsGeneralSendDto smsGeneralSendDto); Result sendNoticeSms(@RequestBody SmsMassegeMqDto smsMassegeMqDto); /** * 发送营销短信 * @param smsGeneralSendDto * @param smsMassegeMqDto * @return */ @PostMapping(value = "/sms/send/marketing") Result sendMarketingSend(@RequestBody SmsGeneralSendDto smsGeneralSendDto); Result sendMarketingSend(@RequestBody SmsMassegeMqDto smsMassegeMqDto); } phi-sms-feign/src/main/java/com/hz/sms/platform/FWxImmediatelyService.java
@@ -1,8 +1,8 @@ package com.hz.sms.platform; import com.hx.resultTool.Result; import com.hz.sms.dto.ResponsesSendMessage; import com.hz.sms.dto.ResponsesWxSendMpDto; import com.hz.sms.dto.mq.MpMessageMqDto; import com.hz.sms.dto.mq.WeCatMessageMqDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -16,18 +16,18 @@ /** * 微信公众号下发统一消息 * @param responsesSendMessage * @param weCatMessageMqDto 实体 * @return */ @PostMapping(value = "/wx/send/wechat/issue/message") Result sendWeChatMessage(@RequestBody ResponsesSendMessage responsesSendMessage); Result sendWeChatMessage(@RequestBody WeCatMessageMqDto weCatMessageMqDto); /** * 微信小程序发送订阅消息 * @param responsesWxSendMpDto * @param mpMessageMqDto * @return */ @RequestMapping(value = "/wx/send/mp/message") Result sendMpMessage(@RequestBody ResponsesWxSendMpDto responsesWxSendMpDto); Result sendMpMessage(@RequestBody MpMessageMqDto mpMessageMqDto); }