yangdamao 2 năm trước cách đây
mục cha
commit
b23ecebd62

+ 11 - 0
zhongzheng-api/src/main/java/com/zhongzheng/controller/cmmon/CommonController.java

@@ -13,6 +13,8 @@ import com.zhongzheng.common.utils.ServletUtils;
 import com.zhongzheng.common.utils.ToolsUtils;
 import com.zhongzheng.framework.web.service.WxLoginService;
 import com.zhongzheng.modules.activity.vo.ActivityGoodsPriceVo;
+import com.zhongzheng.modules.alisms.bo.SmsAddBo;
+import com.zhongzheng.modules.alisms.service.IAliSmsService;
 import com.zhongzheng.modules.base.bo.ConfigQueryBo;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
 import com.zhongzheng.modules.course.bo.CourseTopicGoodsQueryBo;
@@ -95,6 +97,8 @@ public class CommonController extends BaseController {
 
     private final IUserService iUserService;
 
+    private final IAliSmsService iSmsService;
+
     @PostMapping("/returnStream")
     public AjaxResult returnStream(MultipartFile file, HttpServletResponse response) throws IOException {
         ServletOutputStream out = null;
@@ -400,4 +404,11 @@ public class CommonController extends BaseController {
         UserLiveAccountLoginVo vo = iUserService.liveUnifyLoginRefresh(bo);
         return AjaxResult.success(vo);
     }
+
+    @ApiOperation("获取登录短信")
+    @PostMapping("/live/sms")
+    public AjaxResult liveSms(@RequestBody SmsAddBo bo) {
+        iSmsService.sendLiveSms(bo.getTel());
+        return AjaxResult.success();
+    }
 }

+ 1 - 1
zhongzheng-framework/src/main/java/com/zhongzheng/framework/web/service/UserServiceImpl.java

@@ -1364,7 +1364,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
             throw new CustomException("手机号不能为空");
         }
         String key = Constants.LOGIN_SMS + bo.getTel();
-        String code =  redisCache.getCacheObject(key);
+        String code =  redisCache.getCacheObjectNoTenant(key);
         if(code==null){
             throw new CustomException("验证码错误");
         }

+ 2 - 2
zhongzheng-system/src/main/java/com/zhongzheng/modules/alisms/service/IAliSmsService.java

@@ -3,8 +3,6 @@ package com.zhongzheng.modules.alisms.service;
 
 import com.zhongzheng.modules.alisms.vo.ResultBean;
 
-import javax.servlet.http.HttpServletRequest;
-
 public interface IAliSmsService {
     ResultBean sendSms(String tel,String param);
 
@@ -26,4 +24,6 @@ public interface IAliSmsService {
     Boolean sendSellerForgetSms(String tel);
 
     Boolean sendSellerLoginSms(String tel);
+
+    Boolean sendLiveSms(String tel);
 }

+ 32 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/alisms/service/impl/AliSmsServiceImpl.java

@@ -349,4 +349,36 @@ public class AliSmsServiceImpl implements IAliSmsService {
         }
         return false;
     }
+
+    @Override
+    public Boolean sendLiveSms(String tel) {
+        if(tel==null){
+            throw new CustomException("手机号码不能为空");
+        }
+        User user = iUserService.getUserByTelNotTenant(tel).stream().findFirst().orElse(null);
+        if(Validator.isEmpty(user)){
+            throw new CustomException("该手机号未注册");
+        }
+        ServletUtils.getResponse().setHeader("TenantId",user.getTenantId().toString());
+        String code = ToolsUtils.getSmsCode();
+        String key = Constants.LOGIN_SMS + tel;
+        redisCache.setCacheObjectTenant(key,code,5, TimeUnit.MINUTES);//5分钟
+        try{
+            Map<String,Object> param = new HashMap<>();
+            param.put("code",code);
+            SendSmsResponse response = SmsUtils.sendSms(tel,SIGNNAME,LOGINTEMPLATECODE, JSON.toJSONString(param),ACCESSKEYID,ACCESSKEYSECRET);
+            if(response.getBody().getMessage().equals("OK")){
+                SmsAddBo smsAddBo = new SmsAddBo();
+                smsAddBo.setCode(code);
+                smsAddBo.setTel(tel);
+                smsAddBo.setType(3L);
+                smsAddBo.setIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
+                iSmsService.insertByAddBo(smsAddBo);
+                return true;
+            }
+        }catch (Exception e){
+            throw new CustomException(e.getMessage());
+        }
+        return false;
+    }
 }