diff --git a/bd-api/bd-api-third/src/main/java/com/hzs/third/sms/ISmsServiceApi.java b/bd-api/bd-api-third/src/main/java/com/hzs/third/sms/ISmsServiceApi.java index d8e34a8b..c6bcfa9c 100644 --- a/bd-api/bd-api-third/src/main/java/com/hzs/third/sms/ISmsServiceApi.java +++ b/bd-api/bd-api-third/src/main/java/com/hzs/third/sms/ISmsServiceApi.java @@ -18,4 +18,17 @@ public interface ISmsServiceApi { */ R sendAliSms(String phone, String code, EAliSmsTemplate aliSmsTemplate); + /** + * 发送会员注册短信 + * + * @param phone + * @param aliSmsTemplate + * @param memberCode + * @param loginPwd + * @param payPwd + * @return + */ + R sendMemberRegister(String phone, EAliSmsTemplate aliSmsTemplate, String memberCode, String loginPwd, String payPwd); + + } diff --git a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java index ee238cc1..9c412f08 100644 --- a/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java +++ b/bd-business/bd-business-sale/src/main/java/com/hzs/sale/order/service/impl/SaOrderServiceImpl.java @@ -762,8 +762,9 @@ public class SaOrderServiceImpl extends ServiceImpl impl // 推送秒结数据处理 -- 注册订单 rabbitTemplate.convertAndSend(RabbitMqConstants.ORDER_SECOND_EXCHANGE, RabbitMqConstants.ORDER_SECOND_KEY, saOrderExt); - - newCuMember.getMemberCode(); + // 发送会员注册成功短信 + iSmsServiceApi.sendMemberRegister(newCuMember.getPhone(), EAliSmsTemplate.MEMBER_REGISTER, + newCuMember.getMemberCode(), newCuMember.getLoginPassword(), newCuMember.getPayPassword()); // if (EOrderType.REGISTER_ORDER.getValue() == saOrderExt.getOrderType()) { // // 推送会员续约处理MQ diff --git a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAliSmsTemplate.java b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAliSmsTemplate.java index 1d232176..f1445756 100644 --- a/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAliSmsTemplate.java +++ b/bd-common/bd-common-core/src/main/java/com/hzs/common/core/enums/EAliSmsTemplate.java @@ -20,6 +20,11 @@ public enum EAliSmsTemplate { */ MEMBER_SMS("SMS_485350565"), + /** + * 会员注册成功(尊敬的会员,您新注册的会员编号:${memberCode},登录密码:${loginPwd},支付密码:${payPwd},请妥善保管) + */ + MEMBER_REGISTER("SMS_491370028"), + ; /** diff --git a/bd-third/src/main/java/com/hzs/third/sms/provider/SmsServiceProvider.java b/bd-third/src/main/java/com/hzs/third/sms/provider/SmsServiceProvider.java index f5bf997a..b3bbdc6c 100644 --- a/bd-third/src/main/java/com/hzs/third/sms/provider/SmsServiceProvider.java +++ b/bd-third/src/main/java/com/hzs/third/sms/provider/SmsServiceProvider.java @@ -21,12 +21,26 @@ public class SmsServiceProvider implements ISmsServiceApi { if (null == str) { return R.ok(); } - log.error("发送阿里短信失败: {}", str); + log.error("发送短信验证码失败: {}", str); return R.fail(str); } catch (Exception e) { - log.error("发送阿里短信异常 phone: {}, code: {}", phone, code, e); + log.error("发送短信验证码异常 phone: {}, code: {}", phone, code, e); return R.fail(e.getMessage()); } } + @Override + public R 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()); + } + } } diff --git a/bd-third/src/main/java/com/hzs/third/sms/util/SmsUtil.java b/bd-third/src/main/java/com/hzs/third/sms/util/SmsUtil.java index 215f2f19..3968cb8f 100644 --- a/bd-third/src/main/java/com/hzs/third/sms/util/SmsUtil.java +++ b/bd-third/src/main/java/com/hzs/third/sms/util/SmsUtil.java @@ -77,6 +77,48 @@ public class SmsUtil implements InitializingBean { return null; } + 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 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; + } + @Override public void afterPropertiesSet() { smsConfig = SpringUtils.getBean(SmsConfig.class);