## Opt - 手机端奖金明细

This commit is contained in:
sangelxiu1 2025-09-29 15:22:31 +08:00
parent a3aee14a0e
commit aee06c0ef7
5 changed files with 79 additions and 0 deletions

View File

@ -18,4 +18,16 @@ public interface ISmsServiceApi {
*/
R<String> sendAliSms(String phone, String code, EAliSmsTemplate aliSmsTemplate);
/**
* 发送会员注册短信
*
* @param phone
* @param aliSmsTemplate
* @param memberCode
* @param loginPwd
* @param payPwd
* @return
*/
R<String> sendMemberRegister(String phone, EAliSmsTemplate aliSmsTemplate, String memberCode, String loginPwd, String payPwd);
}

View File

@ -49,6 +49,7 @@ import com.hzs.system.base.ICurrencyServiceApi;
import com.hzs.system.base.dto.CurrencyDTO;
import com.hzs.system.config.IAwardsServiceApi;
import com.hzs.system.config.IGradeServiceApi;
import com.hzs.third.sms.ISmsServiceApi;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
@ -105,6 +106,8 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
IMemberServiceApi iMemberServiceApi;
@DubboReference
IMemberAccountServiceApi iMemberAccountServiceApi;
@DubboReference
ISmsServiceApi iSmsServiceApi;
@Override
@ -522,6 +525,10 @@ public class RetailOrderServiceImpl implements IRetailOrderService {
throw new RuntimeException("会员注册失败");
}
// 发送会员注册成功短信
iSmsServiceApi.sendMemberRegister(newMember.getPhone(), EAliSmsTemplate.MEMBER_REGISTER,
newMember.getMemberCode(), newMember.getLoginPassword(), newMember.getPayPassword());
this.pushOrderMq(saOrderExt);
return null;
}

View File

@ -27,6 +27,10 @@ public enum EAliSmsTemplate {
MEMBER_SMS("SMS_485350565"),
// MEMBER_SMS("SMS_476795282"),
// MEMBER_SMS("SMS_474440238"),
/**
* 会员注册成功尊敬的会员,您新注册的会员编号:${memberCode},登录密码:${loginPwd},支付密码:${payPwd},请妥善保管
*/
MEMBER_REGISTER("SMS_491370028"),
;

View File

@ -29,4 +29,19 @@ public class SmsServiceProvider implements ISmsServiceApi {
}
}
@Override
public R<String> sendMemberRegister(String phone, EAliSmsTemplate aliSmsTemplate, String memberCode, String loginPwd, String payPwd) {
try {
String str = SmsUtil.sendMemberRegister(phone, aliSmsTemplate, memberCode, loginPwd, payPwd);
if (null == str) {
return R.ok();
}
log.error("发送会员注册短信失败: {}", str);
return R.fail(str);
} catch (Exception e) {
log.error("发送会员注册短信异常 phone: {}, memberCode: {}", phone, memberCode, e);
return R.fail(e.getMessage());
}
}
}

View File

@ -82,4 +82,45 @@ public class SmsUtil implements InitializingBean {
smsConfig = SpringUtils.getBean(SmsConfig.class);
}
public static String sendMemberRegister(String phone, EAliSmsTemplate aliSmsTemplate, String memberCode, String loginPwd, String payPwd) {
if (StringUtils.isAnyEmpty(phone)) {
return "手机号为空";
}
log.info("注册会员成功,发送手机号:{}, memberCode:{}", phone, memberCode);
if (smsConfig.isEnable()) {
// 只有当开启发送短信才进行发送
try {
Map<String, String> templateParam = new HashMap<>();
templateParam.put("memberCode", memberCode);
templateParam.put("loginPwd", loginPwd);
templateParam.put("payPwd", payPwd);
Client client = new Client(new Config()
.setAccessKeyId(smsConfig.getAliAccessKeyId())
.setAccessKeySecret(smsConfig.getAliAccessKeySecret())
// 短信发送域
.setEndpoint(smsConfig.getAliEndpoint()));
SendSmsRequest sendSmsRequest = new SendSmsRequest()
.setPhoneNumbers(phone)
// 短信签名
.setSignName(smsConfig.getAliSign())
// 短信模板
.setTemplateCode(aliSmsTemplate.getCode())
.setTemplateParam(JSONUtil.toJsonStr(templateParam));
SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
if (Constants.SUCCESS.equals(sendSmsResponse.getStatusCode())) {
if ("OK".equals(sendSmsResponse.getBody().getCode())) {
return null;
}
log.error("阿里云短信发送失败: {}", sendSmsResponse.getBody().getMessage());
}
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
}