|
@@ -1,5 +1,7 @@
|
|
|
package com.ruoyi.web.controller.index;
|
|
|
|
|
|
+import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
|
|
|
+import com.aliyun.teautil.models.RuntimeOptions;
|
|
|
import com.ruoyi.common.annotation.Log;
|
|
|
import com.ruoyi.common.constant.CacheConstants;
|
|
|
import com.ruoyi.common.constant.Constants;
|
|
@@ -7,18 +9,19 @@ import com.ruoyi.common.constant.UserConstants;
|
|
|
import com.ruoyi.common.core.controller.BaseController;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
|
|
+import com.ruoyi.common.core.domain.entity.SysDictData;
|
|
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
import com.ruoyi.common.core.redis.RedisCache;
|
|
|
import com.ruoyi.common.enums.BusinessType;
|
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
|
import com.ruoyi.common.utils.SecurityUtils;
|
|
|
+import com.ruoyi.common.utils.SendSmsUtils;
|
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
import com.ruoyi.framework.web.service.SysLoginService;
|
|
|
import com.ruoyi.system.domain.KaoqinConfig;
|
|
|
import com.ruoyi.system.domain.KaoqinRecord;
|
|
|
-import com.ruoyi.system.service.IKaoqinRecordService;
|
|
|
-import com.ruoyi.system.service.ISysDeptService;
|
|
|
-import com.ruoyi.system.service.ISysUserService;
|
|
|
+import com.ruoyi.system.domain.SendSms;
|
|
|
+import com.ruoyi.system.service.*;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
@@ -32,6 +35,7 @@ import java.text.SimpleDateFormat;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
+import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.ruoyi.common.utils.SecurityUtils.checkStrongPwd;
|
|
@@ -59,6 +63,11 @@ public class IndexController extends BaseController {
|
|
|
@Autowired
|
|
|
private ISysDeptService deptService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ISendSmsService sendSmsService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private ISysDictDataService dictDataService;
|
|
|
|
|
|
/**
|
|
|
* app新增用户
|
|
@@ -86,23 +95,30 @@ public class IndexController extends BaseController {
|
|
|
if (!user.getCode().equals(redisCache.getCacheObject(CacheConstants.SMS_CODE_KEY + user.getPhonenumber()))) {
|
|
|
return error("新增用户'" + user.getUserName() + "'失败,短信验证码错误");
|
|
|
}
|
|
|
- /* else if ("1".equals(checkStrongPwd(user.getPassword()))) {
|
|
|
- return AjaxResult.error("密码必须包含数字、大小写字母、特殊符号且大于8位");
|
|
|
- }*/
|
|
|
user.setCreateBy("APP");
|
|
|
AjaxResult ajax = AjaxResult.success();
|
|
|
// 生成令牌
|
|
|
user.setCreateBy(user.getUserName());
|
|
|
//生成一个密码
|
|
|
- //String password = randomPassword();
|
|
|
- String password = user.getUserName() + "Abc#";
|
|
|
+ String password = randomPassword();
|
|
|
user.setPassword(password);
|
|
|
- //todo 密码 要发送短信给用户
|
|
|
user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
|
|
|
- if (userService.insertUser(user) > 0) {
|
|
|
- String token = loginService.loginZhuCe(user.getUserName(), password);
|
|
|
- ajax.put(Constants.TOKEN, token);
|
|
|
- return ajax;
|
|
|
+ // 密码 要发送短信给用户 SMS_270200447
|
|
|
+ String code = SendSmsUtils.sendPassword(password, user.getPhonenumber());
|
|
|
+ SendSms sendSms = new SendSms();
|
|
|
+ sendSms.setPhone(user.getPhonenumber());
|
|
|
+ sendSms.setContent("【中新云】尊敬的用户您好,您的中新云密码已经默认为"+password+",请妥善保管并且建议修改密码。");
|
|
|
+ if ("OK".equals(code)){
|
|
|
+ sendSms.setStatus("发送成功");
|
|
|
+ sendSmsService.insertSendSms(sendSms);
|
|
|
+ if (userService.insertUser(user) > 0) {
|
|
|
+ String token = loginService.loginZhuCe(user.getUserName(), password);
|
|
|
+ ajax.put(Constants.TOKEN, token);
|
|
|
+ return ajax;
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ sendSms.setStatus("发送失败");
|
|
|
+ sendSmsService.insertSendSms(sendSms);
|
|
|
}
|
|
|
return AjaxResult.error();
|
|
|
}
|