|
|
@@ -12,12 +12,14 @@ import cn.iocoder.byzs.module.system.controller.admin.invitecode.vo.InviteCodeRe
|
|
|
import cn.iocoder.byzs.module.system.controller.admin.invitecode.vo.InviteCodeSaveReqVO;
|
|
|
import cn.iocoder.byzs.module.system.dal.dataobject.invitecode.InviteCodeDO;
|
|
|
import cn.iocoder.byzs.module.system.dal.dataobject.permission.RoleDO;
|
|
|
+import cn.iocoder.byzs.module.system.dal.dataobject.sms.SmsLogDO;
|
|
|
import cn.iocoder.byzs.module.system.dal.dataobject.tenant.TenantDO;
|
|
|
import cn.iocoder.byzs.module.system.dal.dataobject.user.AdminUserDO;
|
|
|
import cn.iocoder.byzs.module.system.dal.mysql.invitecode.InviteCodeMapper;
|
|
|
import cn.iocoder.byzs.module.system.dal.mysql.permission.RoleMapper;
|
|
|
import cn.iocoder.byzs.module.system.dal.mysql.tenant.TenantMapper;
|
|
|
import cn.iocoder.byzs.module.system.dal.mysql.user.AdminUserMapper;
|
|
|
+import cn.iocoder.byzs.module.system.service.sms.SmsLogService;
|
|
|
import cn.iocoder.byzs.module.system.service.sms.SmsSendService;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import jakarta.annotation.Resource;
|
|
|
@@ -56,6 +58,8 @@ public class InviteCodeServiceImpl implements InviteCodeService {
|
|
|
|
|
|
@Resource
|
|
|
private SmsSendService smsSendService;
|
|
|
+ @Resource
|
|
|
+ private SmsLogService smsLogService;
|
|
|
|
|
|
@Override
|
|
|
public Long createInviteCode(InviteCodeSaveReqVO createReqVO) {
|
|
|
@@ -398,6 +402,7 @@ public class InviteCodeServiceImpl implements InviteCodeService {
|
|
|
* @param inviteCode 邀请码对象
|
|
|
*/
|
|
|
public void sendInviteCodeSms(InviteCodeDO inviteCode) {
|
|
|
+ inviteCode.setNotifyStatus("0");
|
|
|
try {
|
|
|
// 校验手机号是否为空
|
|
|
if (inviteCode.getOnlyPhone() == null || inviteCode.getOnlyPhone().isEmpty()) {
|
|
|
@@ -415,11 +420,25 @@ public class InviteCodeServiceImpl implements InviteCodeService {
|
|
|
|
|
|
// 发送短信(使用短信模板编码,需要根据实际情况配置)
|
|
|
// 这里假设模板编码为 "invite_code_notify"
|
|
|
- smsSendService.sendSingleSmsToAdmin(inviteCode.getOnlyPhone(), null, ALY_MEMBER_PUSH_INVITATION_CODE.getTemplateCode(), templateParams);
|
|
|
-
|
|
|
+ Long smsLogId = smsSendService.sendSingleSmsToAdmin(inviteCode.getOnlyPhone(), null, ALY_MEMBER_PUSH_INVITATION_CODE.getTemplateCode(), templateParams);
|
|
|
+ if (smsLogId == null) {
|
|
|
+ // 更新通知状态为失败
|
|
|
+ inviteCode.setNotifyStatus("2");
|
|
|
+ inviteCode.setNotifyTime(LocalDateTime.now());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ SmsLogDO smsLog = smsLogService.getSmsLogById(smsLogId);
|
|
|
+ if (smsLog == null) {
|
|
|
+ // 更新通知状态为失败
|
|
|
+ inviteCode.setNotifyStatus("2");
|
|
|
+ inviteCode.setNotifyTime(LocalDateTime.now());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
// 更新通知状态为成功
|
|
|
- inviteCode.setNotifyStatus("1");
|
|
|
- inviteCode.setNotifyTime(LocalDateTime.now());
|
|
|
+ inviteCode.setNotifyStatus(String.valueOf(smsLog.getSendStatus()));
|
|
|
+ inviteCode.setNotifyTime(smsLog.getSendTime());
|
|
|
} catch (Exception e) {
|
|
|
// 更新通知状态为失败
|
|
|
inviteCode.setNotifyStatus("2");
|