Selaa lähdekoodia

短信发送调整

master
zouhantao 1 viikko sitten
vanhempi
commit
86285a954e

+ 10
- 50
gly-base-core/src/main/java/cn/com/taiji/core/model/comm/protocol/ias/message/HltSendShortRequest.java Näytä tiedosto

@@ -13,19 +13,23 @@ import cn.com.taiji.core.model.comm.protocol.valid.GlyServiceError;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.PatternPool;
import cn.hutool.core.util.ReUtil;
import lombok.Getter;
import lombok.Setter;

/***
* 汇联通-短信消息发送
*/
@Getter
@Setter
public class HltSendShortRequest extends AbstractIasRequest<HltSendShortResponse> {

protected HltSendShortRequest() {
super(ChannelServiceCmd.HLTSENDSHORT);
}

private String clientId;
private String smsKeyId; // 密钥id
private String message;
private List<String> mobileList;
private String mobile;
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
private LocalDateTime sendTime;

@@ -36,19 +40,14 @@ public class HltSendShortRequest extends AbstractIasRequest<HltSendShortResponse

final ArrayList<String> failParamInfo = Lists.newArrayList();

if (clientId == null || clientId.trim().isEmpty())
failParamInfo.add("消息客户端id");

if (message == null || message.trim().isEmpty())
failParamInfo.add("短信内容");

if (mobileList == null || mobileList.size() == 0)
failParamInfo.add("手机号码列表");
if (mobile == null)
failParamInfo.add("手机号码");
else {
for (String mobile : mobileList) {
if (!ReUtil.isMatch(PatternPool.MOBILE, mobile))
throw GlyServiceError.RESPONSE_ERROR.toHandleException("请传入正确格式的11位手机号码!");
}
if (!ReUtil.isMatch(PatternPool.MOBILE, mobile))
throw GlyServiceError.RESPONSE_ERROR.toHandleException("请传入正确格式的11位手机号码!");
}

if (title == null || title.trim().isEmpty())
@@ -66,43 +65,4 @@ public class HltSendShortRequest extends AbstractIasRequest<HltSendShortResponse
return this;
}

public String getClientId() {
return clientId;
}

public void setClientId(String clientId) {
this.clientId = clientId;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

public List<String> getMobileList() {
return mobileList;
}

public void setMobileList(List<String> mobileList) {
this.mobileList = mobileList;
}

public LocalDateTime getSendTime() {
return sendTime;
}

public void setSendTime(LocalDateTime sendTime) {
this.sendTime = sendTime;
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}
}

+ 28
- 22
zhywpt-service-ias/src/main/java/cn/com/taiji/ias/manager/clientConfig/HltManagerImpl.java Näytä tiedosto

@@ -1,10 +1,10 @@
package cn.com.taiji.ias.manager.clientConfig;

import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

import cn.com.taiji.core.entity.msgw.MsgwSmsKeyConfig;
import cn.com.taiji.core.repo.jpa.msgw.MsgwSmsKeyConfigRepo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +30,8 @@ public class HltManagerImpl extends AbstractCommManager implements HltManager {
private static final Logger logger = LoggerFactory.getLogger(HltManagerImpl.class);
@Autowired
private ThreadPoolTools threadPoolTools;
@Autowired
private MsgwSmsKeyConfigRepo smsKeyConfigRepo;

private static final String URL_V1 = "http://192.168.100.63:8130/api/v1/execute.html";//
private static final String SENDER_ID_V1 = "5c7c94dc740948f9adcd0a18c1ebfc92";//
@@ -50,25 +52,19 @@ public class HltManagerImpl extends AbstractCommManager implements HltManager {
threadPoolTools.execute(() -> {
logger.info("********** 短信发送 START **********");
int successCount = 0;
String errorReason = "部分短信发送失败!";
List<String> failTouserList = new ArrayList<>();

List<String> mobileList = request.getMobileList();
for (String mobile : mobileList) {
//配置统一会员会员平台的参数
SubmitSmsRequset sendReq =new SubmitSmsRequset();
sendReq.setMobile(mobile);
sendReq.setSms(request.getMessage());
try {
sendHltSmsV1(sendReq);
} catch (Exception e) {
throw new RuntimeException(e);
}
//配置统一会员会员平台的参数
SubmitSmsRequset sendReq =new SubmitSmsRequset();
sendReq.setMobile(request.getMobile());
sendReq.setSms(request.getMessage());
try {
sendHltSmsV1(sendReq, request.getSmsKeyId());
} catch (Exception e) {
throw new RuntimeException(e);
}
logger.info("********** 短信发送 END **********");

//消息发送失败告警
if (successCount != request.getMobileList().size()) {
// if (successCount != request.getMobileList().size()) {
// MessageAlarmRequest alarmRequest = new MessageAlarmRequest(
// message.getId(),
// failTouserList,
@@ -76,16 +72,26 @@ public class HltManagerImpl extends AbstractCommManager implements HltManager {
// successCount,
// errorReason);
// pushMessageAlarmManager.messageAlarm(alarmRequest);
}
// }
});
}


private void sendHltSmsV1(SubmitSmsRequset sendReq) throws Exception {
private void sendHltSmsV1(SubmitSmsRequset sendReq, String smsKey) throws Exception {
MsgwSmsKeyConfig keyConfig = new MsgwSmsKeyConfig();
if (!smsKey.isEmpty()){
keyConfig = smsKeyConfigRepo.findById(smsKey).orElse(null);
}
String smsServerUrl = URL_V1;
sendReq.setSenderId(SENDER_ID_V1);
sendReq.setChannelCode(SMS_CHANNEL_CODE_V1);
sendReq.setSmsTypeCode(SMS_TYPE_CODE_V1);
if (keyConfig == null){
sendReq.setSenderId(SENDER_ID_V1);
sendReq.setChannelCode(SMS_CHANNEL_CODE_V1);
sendReq.setSmsTypeCode(SMS_TYPE_CODE_V1);
}else {
sendReq.setSenderId(keyConfig.getSmsSenderId());
sendReq.setChannelCode(keyConfig.getSmsChannelCode());
sendReq.setSmsTypeCode(keyConfig.getSmsTypeCode());
}
sendReq.setSourceName("统一会员平台");
logger.info(sendReq.toJson(true));


Loading…
Peruuta
Tallenna