Commit 3a0dcbbf authored by danfuman's avatar danfuman

Merge branch 'zuhuduan' of http://192.168.60.201/root/dsk-operate-sys into zuhuduan

parents cd7d63d5 6c0c5b7f
...@@ -5,7 +5,6 @@ import cn.hutool.captcha.AbstractCaptcha; ...@@ -5,7 +5,6 @@ import cn.hutool.captcha.AbstractCaptcha;
import cn.hutool.captcha.generator.CodeGenerator; import cn.hutool.captcha.generator.CodeGenerator;
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import com.dsk.common.constant.CacheConstants;
import com.dsk.common.constant.Constants; import com.dsk.common.constant.Constants;
import com.dsk.common.constant.GlobalConstants; import com.dsk.common.constant.GlobalConstants;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
...@@ -13,8 +12,6 @@ import com.dsk.common.enums.CaptchaType; ...@@ -13,8 +12,6 @@ import com.dsk.common.enums.CaptchaType;
import com.dsk.common.exception.user.CaptchaException; import com.dsk.common.exception.user.CaptchaException;
import com.dsk.common.exception.user.CaptchaExpireException; import com.dsk.common.exception.user.CaptchaExpireException;
import com.dsk.common.helper.LoginHelper; import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.DingTalkUtil;
import com.dsk.common.utils.MessageUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.common.utils.email.MailUtils; import com.dsk.common.utils.email.MailUtils;
import com.dsk.common.utils.redis.RedisUtils; import com.dsk.common.utils.redis.RedisUtils;
...@@ -82,14 +79,13 @@ public class CaptchaController { ...@@ -82,14 +79,13 @@ public class CaptchaController {
// 验证码模板id 自行处理 (查数据库或写死均可) // 验证码模板id 自行处理 (查数据库或写死均可)
LinkedHashMap<String, String> map = new LinkedHashMap<>(1); LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
map.put("code", code); map.put("code", code);
// SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA); SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA);
// SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map); SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map);
// if (!"OK".equals(smsResponse.getCode())) { if (!"OK".equals(smsResponse.getCode())) {
// log.error("验证码短信发送异常 => {}", smsResponse); log.error("验证码短信发送异常 => {}", smsResponse);
// return R.fail(smsResponse.getMessage()); return R.fail(smsResponse.getMessage());
// } }
DingTalkUtil.sendDingTalkMsg("短信通知:"+phonenumber+"登录验证码:"+code+",请尽快输入验证码完成验证,勿将验证码透露给他人,如非本人操作,请忽略本条短信。"); //DingTalkUtil.sendDingTalkMsg("短信通知:"+phonenumber+"登录验证码:"+code+",请尽快输入验证码完成验证,勿将验证码透露给他人,如非本人操作,请忽略本条短信。");
return R.ok(); return R.ok();
} }
...@@ -108,19 +104,30 @@ public class CaptchaController { ...@@ -108,19 +104,30 @@ public class CaptchaController {
} }
/** /**
* 开发需要,临时发送短信验证码 * 发送短信验证码
*/ */
@GetMapping("/getTempSmsCode") @GetMapping("/getTempSmsCode")
public R<Void> getTempSmsCode() { public R<Void> getTempSmsCode() {
SysUser sysUser = userMapper.selectUserById(LoginHelper.getUserId()); SysUser sysUser = userMapper.selectUserById(LoginHelper.getUserId());
String key = GlobalConstants.CAPTCHA_CODE_KEY + sysUser.getPhonenumber(); String phonenumber = sysUser.getPhonenumber();
String key = GlobalConstants.CAPTCHA_CODE_KEY + phonenumber;
String code = RandomUtil.randomNumbers(6); String code = RandomUtil.randomNumbers(6);
RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION)); RedisUtils.setCacheObject(key, code, Duration.ofMinutes(Constants.CAPTCHA_EXPIRATION));
return R.ok("验证码:" + code); // 验证码模板id 自行处理 (查数据库或写死均可)
LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
map.put("code", code);
SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA);
SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, "SMS_170345261", map);
if (!"OK".equals(smsResponse.getCode())) {
log.error("验证码短信发送异常 => {}", smsResponse);
return R.fail(smsResponse.getMessage());
}
//DingTalkUtil.sendDingTalkMsg("短信通知:"+phonenumber+"登录验证码:"+code+",请尽快输入验证码完成验证,勿将验证码透露给他人,如非本人操作,请忽略本条短信。");
return R.ok();
} }
/** /**
* 开发需要,临时校验短信验证码 * 校验短信验证码
* *
* @param smsCode 验证码 * @param smsCode 验证码
*/ */
......
...@@ -37,10 +37,7 @@ import org.springframework.web.bind.annotation.*; ...@@ -37,10 +37,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/** /**
* 用户信息 * 用户信息
...@@ -209,7 +206,7 @@ public class SysUserController extends BaseController { ...@@ -209,7 +206,7 @@ public class SysUserController extends BaseController {
public R<Void> resetPwd(@RequestBody SysUser user) { public R<Void> resetPwd(@RequestBody SysUser user) {
userService.checkUserAllowed(user); userService.checkUserAllowed(user);
userService.checkUserDataScope(user.getUserId()); userService.checkUserDataScope(user.getUserId());
user.setPassword(BCrypt.hashpw(user.getPassword())); user.setPassword(BCrypt.hashpw(new String(Base64.getDecoder().decode(user.getPassword()))));
return toAjax(userService.resetPwd(user)); return toAjax(userService.resetPwd(user));
} }
......
...@@ -61,7 +61,7 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -61,7 +61,7 @@ public class CustomerServiceImpl implements ICustomerService {
dto.setUserId(LoginHelper.getUserId()); dto.setUserId(LoginHelper.getUserId());
dto.setStatus(ObjectUtils.isEmpty(dto.getStatus()) ? 0 : dto.getStatus()); dto.setStatus(ObjectUtils.isEmpty(dto.getStatus()) ? 0 : dto.getStatus());
final TableDataInfo<CustomerListVo> result = TableDataInfo.build(baseMapper.selectList(pageQuery.build(), dto)); final TableDataInfo<CustomerListVo> result = TableDataInfo.build(baseMapper.selectList(pageQuery.build(), dto));
if(!ObjectUtils.isEmpty(result.getRows()) && !ObjectUtils.isEmpty(dto.getCompanyName())){ if (!ObjectUtils.isEmpty(result.getRows()) && !ObjectUtils.isEmpty(dto.getCompanyName())) {
for (CustomerListVo vo : result.getRows()) { for (CustomerListVo vo : result.getRows()) {
vo.setCompanyName(StringUtils.markInRed(vo.getCompanyName(), dto.getCompanyName())); vo.setCompanyName(StringUtils.markInRed(vo.getCompanyName(), dto.getCompanyName()));
} }
...@@ -121,7 +121,7 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -121,7 +121,7 @@ public class CustomerServiceImpl implements ICustomerService {
public TableDataInfo<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto, PageQuery pageQuery) { public TableDataInfo<CustomerBusinessListVo> selectBusinessList(CustomerBusinessSearchDto dto, PageQuery pageQuery) {
if (ObjectUtils.isEmpty(dto.getCustomerId())) throw new BeanException("客户id不能为空"); if (ObjectUtils.isEmpty(dto.getCustomerId())) throw new BeanException("客户id不能为空");
dto.setUserId(LoginHelper.getUserId()); dto.setUserId(LoginHelper.getUserId());
return businessInfoService.selectCustomerBusinessList(dto,pageQuery); return businessInfoService.selectCustomerBusinessList(dto, pageQuery);
} }
@Override @Override
...@@ -197,7 +197,14 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -197,7 +197,14 @@ public class CustomerServiceImpl implements ICustomerService {
customer.setLegalPerson(MapUtil.getStr(data, "legalPerson")); customer.setLegalPerson(MapUtil.getStr(data, "legalPerson"));
} }
if (ObjectUtils.isEmpty(customer.getRegisterCapital())) { if (ObjectUtils.isEmpty(customer.getRegisterCapital())) {
customer.setRegisterCapital(MapUtil.getStr(data, "registeredCapitalStr")); String registeredCapitalStr = MapUtil.getStr(data, "registeredCapitalStr");
if (!ObjectUtils.isEmpty(registeredCapitalStr)) {
int length = registeredCapitalStr.indexOf(".0");
if (length == registeredCapitalStr.length() - 2) {
registeredCapitalStr = registeredCapitalStr.replace(".0", "");
}
}
customer.setRegisterCapital(registeredCapitalStr);
} }
if (ObjectUtils.isEmpty(customer.getProvinceId())) { if (ObjectUtils.isEmpty(customer.getProvinceId())) {
customer.setProvinceId(MapUtil.getInt(data, "provinceId")); customer.setProvinceId(MapUtil.getInt(data, "provinceId"));
...@@ -213,11 +220,11 @@ public class CustomerServiceImpl implements ICustomerService { ...@@ -213,11 +220,11 @@ public class CustomerServiceImpl implements ICustomerService {
customer.setRegisterAddress(MapUtil.getStr(data, "domicile")); customer.setRegisterAddress(MapUtil.getStr(data, "domicile"));
} else { } else {
String address = null; String address = null;
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "province"))) { if (!ObjectUtils.isEmpty(MapUtil.getStr(data, "province"))) {
address = MapUtil.getStr(data, "province"); address = MapUtil.getStr(data, "province");
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "city"))) { if (!ObjectUtils.isEmpty(MapUtil.getStr(data, "city"))) {
address = address.concat("-").concat(MapUtil.getStr(data, "city")); address = address.concat("-").concat(MapUtil.getStr(data, "city"));
if (ObjectUtils.isEmpty(MapUtil.getStr(data, "county"))) { if (!ObjectUtils.isEmpty(MapUtil.getStr(data, "county"))) {
address = address.concat("-").concat(MapUtil.getStr(data, "county")); address = address.concat("-").concat(MapUtil.getStr(data, "county"));
} }
} }
......
...@@ -319,7 +319,6 @@ ...@@ -319,7 +319,6 @@
delete i,b,co,f,l,r,u delete i,b,co,f,l,r,u
from business_info i from business_info i
left join business_backlog b on b.business_id = i.id left join business_backlog b on b.business_id = i.id
left join business_contacts co on co.business_id = i.id
left join business_follow_record f on f.business_id = i.id left join business_follow_record f on f.business_id = i.id
left join business_label l on l.business_id = i.id left join business_label l on l.business_id = i.id
left join business_relate_company r on r.business_id = i.id left join business_relate_company r on r.business_id = i.id
......
...@@ -101,8 +101,10 @@ export default { ...@@ -101,8 +101,10 @@ export default {
const index = val.path.indexOf('/', val.path.indexOf('/') + 1) const index = val.path.indexOf('/', val.path.indexOf('/') + 1)
const parentPath = val.path.slice(0, index) const parentPath = val.path.slice(0, index)
const currentRoute = this.$router.options.routes.find(item => item.path === parentPath) const currentRoute = this.$router.options.routes.find(item => item.path === parentPath)
currentIcon = currentRoute.meta && currentRoute.meta.icon if(currentRoute){
icon = this.isActive(val) ? currentIcon+'Tags' : currentIcon+'Tag' currentIcon = currentRoute.meta && currentRoute.meta.icon
icon = this.isActive(val) ? currentIcon+'Tags' : currentIcon+'Tag'
}
} }
icon = (svgIcon && svgIcon != '#') || (currentIcon && svgIcon != '#') ? icon : this.isActive(val) ? 'defaultTags' : 'defaultTag' icon = (svgIcon && svgIcon != '#') || (currentIcon && svgIcon != '#') ? icon : this.isActive(val) ? 'defaultTags' : 'defaultTag'
return `#icon-${icon}` return `#icon-${icon}`
......
...@@ -132,7 +132,7 @@ ...@@ -132,7 +132,7 @@
@pagination="getList" @pagination="getList"
/> />
<!-- 添加或修改角色配置对话框 --> <!-- 添加或修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row> <el-row>
......
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<img class="img" slot="prefix" src="../assets/images/validCode.png"/> <img class="img" slot="prefix" src="../assets/images/validCode.png"/>
</el-input> </el-input>
<div class="login-code"> <div class="login-code">
<div class="hqyzm" @click="getsms">{{smstitle}}</div> <div class="hqyzm" @click="getsms" :class="{'disableds':smstitle!='获取验证码'}">{{smstitle}}</div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item style="width:100%;margin-top: 42px"> <el-form-item style="width:100%;margin-top: 42px">
...@@ -151,7 +151,7 @@ ...@@ -151,7 +151,7 @@
<img class="img" slot="prefix" src="../assets/images/validCode.png"/> <img class="img" slot="prefix" src="../assets/images/validCode.png"/>
</el-input> </el-input>
<div class="login-code"> <div class="login-code">
<div class="hqyzm" @click="getsms">{{smstitle}}</div> <div class="hqyzm" @click="getsms" :class="{'disableds':smstitle!='获取验证码'}">{{smstitle}}</div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item style="width:100%;margin-top: 42px"> <el-form-item style="width:100%;margin-top: 42px">
...@@ -280,7 +280,7 @@ ...@@ -280,7 +280,7 @@
_this.smstitle = _this.smstime +'秒后重试' _this.smstitle = _this.smstime +'秒后重试'
_this.smstime--; _this.smstime--;
if(_this.smstime <= 0){ if(_this.smstime <= 0){
_this.smstitle = '发送验证码' _this.smstitle = '获取验证码'
clearInterval(_this.timers) clearInterval(_this.timers)
_this.nosend = false _this.nosend = false
} }
...@@ -529,11 +529,14 @@ ...@@ -529,11 +529,14 @@
border-radius: 4px; border-radius: 4px;
border: 1px solid #EFEFEF; border: 1px solid #EFEFEF;
text-align: center; text-align: center;
color: rgba(35, 35, 35, 0.40); color: rgba(35, 35, 35, 0.80);
font-size: 14px; font-size: 14px;
cursor: pointer; cursor: pointer;
line-height: 48px; line-height: 48px;
} }
.disableds{
color: rgba(35, 35, 35, 0.40);
}
} }
.el-login-footer { .el-login-footer {
height: 40px; height: 40px;
......
...@@ -122,6 +122,7 @@ ...@@ -122,6 +122,7 @@
created(){ created(){
this.getList() this.getList()
this.getCount() this.getCount()
console.log(777)
}, },
methods:{ methods:{
getCount(){ getCount(){
...@@ -190,11 +191,11 @@ ...@@ -190,11 +191,11 @@
if(result.code == 200){ if(result.code == 200){
this.$message.success('修改成功!') this.$message.success('修改成功!')
this.getList() this.getList()
this.getCount()
}else{ }else{
this.$message.error(result.msg) this.$message.error(result.msg)
} }
}) })
this.getCount()
}, },
getYQ(){ getYQ(){
let state = this.searchPram.state let state = this.searchPram.state
...@@ -206,6 +207,9 @@ ...@@ -206,6 +207,9 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.app-container{
background: #fff;
}
.records{ .records{
.tasklist{ .tasklist{
.select{ .select{
......
...@@ -16,7 +16,6 @@ import com.dsk.common.core.domain.entity.SysDictData; ...@@ -16,7 +16,6 @@ import com.dsk.common.core.domain.entity.SysDictData;
import com.dsk.common.core.domain.entity.SysDictType; import com.dsk.common.core.domain.entity.SysDictType;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.utils.DingTalkUtil;
import com.dsk.common.utils.PasswordUtils; import com.dsk.common.utils.PasswordUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
import com.dsk.system.domain.*; import com.dsk.system.domain.*;
...@@ -25,15 +24,17 @@ import com.dsk.system.domain.vo.SysTenantVo; ...@@ -25,15 +24,17 @@ import com.dsk.system.domain.vo.SysTenantVo;
import com.dsk.system.mapper.*; import com.dsk.system.mapper.*;
import com.dsk.system.service.ISysTenantService; import com.dsk.system.service.ISysTenantService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.SmsBlend;
import org.dromara.sms4j.api.entity.SmsResponse;
import org.dromara.sms4j.core.factory.SmsFactory;
import org.dromara.sms4j.provider.enumerate.SupplierType;
import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.*;
import java.util.Collection;
import java.util.Date;
import java.util.List;
/** /**
* 企业Service业务层处理 * 企业Service业务层处理
...@@ -43,6 +44,7 @@ import java.util.List; ...@@ -43,6 +44,7 @@ import java.util.List;
*/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
@Slf4j
public class ISysTenantServiceImpl implements ISysTenantService { public class ISysTenantServiceImpl implements ISysTenantService {
private final SysTenantMapper baseMapper; private final SysTenantMapper baseMapper;
...@@ -236,14 +238,23 @@ public class ISysTenantServiceImpl implements ISysTenantService { ...@@ -236,14 +238,23 @@ public class ISysTenantServiceImpl implements ISysTenantService {
} }
configMapper.insertBatch(sysConfigList); configMapper.insertBatch(sysConfigList);
////此处暂用钉钉机器人模拟发送短信
//String content = "【短信通知】:"
// + bo.getContactUserName()
// + ",您好,您已经成功开通数字化经营管理系统,请使用手机号码登录,初始密码为"
// + password
// + "。友情提示:为了您的账号安全,请勿泄露密码。";
//DingTalkUtil.sendDingTalkMsg(content);
//租户新增成功,发送短信通知租户 //租户新增成功,发送短信通知租户
//此处暂用钉钉机器人模拟发送短信 LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
String content = "【短信通知】:" map.put("company", bo.getContactUserName());
+ bo.getContactUserName() map.put("pwd",password);
+ ",您好,您已经成功开通数字化经营管理系统,请使用手机号码登录,初始密码为" SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA);
+ password SmsResponse smsResponse = smsBlend.sendMessage(bo.getContactPhone(), "SMS_463175230", map);
+ "。友情提示:为了您的账号安全,请勿泄露密码。"; if (!"OK".equals(smsResponse.getCode())) {
DingTalkUtil.sendDingTalkMsg(content); log.error("新增租户通知短信发送异常 => {}", smsResponse);
}
return true; return true;
} }
......
...@@ -18,7 +18,6 @@ import com.dsk.common.core.service.UserService; ...@@ -18,7 +18,6 @@ import com.dsk.common.core.service.UserService;
import com.dsk.common.exception.ServiceException; import com.dsk.common.exception.ServiceException;
import com.dsk.common.helper.DataBaseHelper; import com.dsk.common.helper.DataBaseHelper;
import com.dsk.common.helper.LoginHelper; import com.dsk.common.helper.LoginHelper;
import com.dsk.common.utils.DingTalkUtil;
import com.dsk.common.utils.PasswordUtils; import com.dsk.common.utils.PasswordUtils;
import com.dsk.common.utils.StreamUtils; import com.dsk.common.utils.StreamUtils;
import com.dsk.common.utils.StringUtils; import com.dsk.common.utils.StringUtils;
...@@ -27,11 +26,16 @@ import com.dsk.system.mapper.*; ...@@ -27,11 +26,16 @@ import com.dsk.system.mapper.*;
import com.dsk.system.service.ISysUserService; import com.dsk.system.service.ISysUserService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.SmsBlend;
import org.dromara.sms4j.api.entity.SmsResponse;
import org.dromara.sms4j.core.factory.SmsFactory;
import org.dromara.sms4j.provider.enumerate.SupplierType;
import org.springframework.cache.annotation.Cacheable; import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -273,13 +277,23 @@ public class SysUserServiceImpl implements ISysUserService, UserService { ...@@ -273,13 +277,23 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
// 新增用户信息 // 新增用户信息
int rows = baseMapper.insert(user); int rows = baseMapper.insert(user);
if (rows > 0) { if (rows > 0) {
//租户新增成功,发送短信通知租户
//此处暂用钉钉机器人模拟发送短信 //此处暂用钉钉机器人模拟发送短信
String content = "短信通知:"+user.getNickName() //String content = "短信通知:"+user.getNickName()
+ "您好,您已经成功开通数字化经营管理系统,请使用手机号码登录,初始密码为" // + "您好,您已经成功开通数字化经营管理系统,请使用手机号码登录,初始密码为"
+ password // + password
+ "。友情提示:为了您的账号安全,请勿泄露密码。"; // + "。友情提示:为了您的账号安全,请勿泄露密码。";
DingTalkUtil.sendDingTalkMsg(content); //DingTalkUtil.sendDingTalkMsg(content);
//租户新增成功,发送短信通知租户
LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
map.put("company", user.getNickName());
map.put("pwd",password);
SmsBlend smsBlend = SmsFactory.createSmsBlend(SupplierType.ALIBABA);
SmsResponse smsResponse = smsBlend.sendMessage(user.getPhonenumber(), "SMS_463175230", map);
if (!"OK".equals(smsResponse.getCode())) {
log.error("新增用户通知短信发送异常 => {}", smsResponse);
}
} }
// 新增用户岗位关联 // 新增用户岗位关联
insertUserPost(user); insertUserPost(user);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment