Преглед изворни кода

//login

private_deployment
xhxu пре 1 година
родитељ
комит
fd76746693
6 измењених фајлова са 375 додато и 39 уклоњено
  1. +275
    -39
      suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  2. +3
    -0
      suimangService/src/main/java/com/iformall/common/ErrorCode.java
  3. +3
    -0
      suimangService/src/main/java/com/iformall/enums/EnumMsgModel.java
  4. +8
    -0
      suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java
  5. +85
    -0
      suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  6. +1
    -0
      suimangService/src/main/java/com/iformall/utils/Constant.java

+ 275
- 39
suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Прегледај датотеку

@@ -150,7 +150,7 @@ public class WxUserGrantController extends BaseController {
String encryptPassword = new PasswordHelper().encryptPassword(password);

if(!encryptPassword.equals(basicInfo.getPassword())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "手机号或密码错误");
return new ResultData(ErrorCode.USER_PASSWD_ERR.getCode(), "手机号或密码错误");
}
wxCUserBasicInfoService.handleLoginUser(basicInfo);
Map resultMap = new HashMap();
@@ -190,13 +190,13 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
if(EnumCUserBasicInfoStatus.NOT_ACTIVE.getCode().equals(basicInfo.getStatus())){
return new ResultData(ErrorCode.MEMBER_IS_LOCKED.getCode(),"该用户未激活");
return new ResultData(ErrorCode.MEMBER_IS_NOT_ACTIVE);
}

String encryptPassword = new PasswordHelper().encryptPassword(password);

if(!encryptPassword.equals(basicInfo.getPassword())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "邮箱或密码错误");
return new ResultData(ErrorCode.USER_PASSWD_ERR.getCode(), "邮箱或密码错误");
}
wxCUserBasicInfoService.handleLoginUser(basicInfo);
Map resultMap = new HashMap();
@@ -205,6 +205,45 @@ public class WxUserGrantController extends BaseController {
return new ResultData(resultMap);
}

@AuthIgnore
@ApiOperation(value = "手机验证码登录", notes = "{\"phone\",\"string\",\"code\",\"string\"}")
@PostMapping("/doLoginByPhone")
public ResultData doLoginByPhone(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] WxUserGrantController::doLoginByPhone");
// String phone,String code,String pwd
String phone = params.get("phone");
String code = params.get("code");

if (StringUtils.isBlank(phone)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号不能为空");
}
if (StringUtils.isBlank(code)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
}

// check 验证码正确
boolean isValidCode = false;
try {
isValidCode = wxMsgValidationcodeService.checkCodeValid(phone,code);
} catch (Exception e) {
return new ResultData(Result.ERROR, e.getMessage());
}
if(isValidCode) {
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone);
if(basicInfo == null){
basicInfo = wxCUserBasicInfoService.register(getTenantInfo(),phone,null);
}
wxCUserBasicInfoService.handleLoginUser(basicInfo);
Map resultMap = new HashMap();
// resultMap.put("phone", basicInfo.getPhone());
resultMap.put("token", basicInfo.getToken());
return new ResultData(resultMap);
} else {
return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
}
}

@AuthIgnore
@ApiOperation("发送手机验证码")
@GetMapping("sendLoginPhoneCode")
@@ -261,66 +300,73 @@ public class WxUserGrantController extends BaseController {
return wxMsgValidationcodeService.sendvalidationcode(wxMsgValidationcode);
}



@AuthIgnore
@ApiOperation(value = "手机验证码登录", notes = "{\"phone\",\"string\",\"code\",\"string\"}")
@PostMapping("/doLoginByPhone")
public ResultData doLoginByPhone(@RequestBody Map<String, String> params, HttpServletResponse response) {
@ApiOperation(value = "手机号注册", notes = "{\"phone\",\"string\",\"code\",\"string\"}")
@PostMapping("/doRegisterByPhone")
public ResultData doRegisterByPhone(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] WxUserGrantController::doLoginByPhone");
logger.debug("[" + ipaddress + "] WxUserGrantController::doRegisterByPhone");
// String phone,String code,String pwd
String phone = params.get("phone");
String password = params.get("password");
String code = params.get("code");

if (StringUtils.isBlank(phone)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号不能为空");
}
if (StringUtils.isBlank(code)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
if (StringUtils.isBlank(password)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "码不能为空");
}
// if (StringUtils.isBlank(code)) {
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
// }
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone);
if(basicInfo != null){
return new ResultData(ErrorCode.USER_PHONE_IS_FOUND);
}


// check 验证码正确
boolean isValidCode = false;
try {
isValidCode = wxMsgValidationcodeService.checkCodeValid(phone,code);
} catch (Exception e) {
return new ResultData(Result.ERROR, e.getMessage());
}
if(isValidCode) {
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone);
if(basicInfo == null){
basicInfo = wxCUserBasicInfoService.register(getTenantInfo(),phone,null);
}
wxCUserBasicInfoService.handleLoginUser(basicInfo);
Map resultMap = new HashMap();
resultMap.put("phone", basicInfo.getPhone());
resultMap.put("token", basicInfo.getToken());
return new ResultData(resultMap);
} else {
return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
}
// boolean isValidCode = false;
// try {
// isValidCode = wxMsgValidationcodeService.checkCodeValid(phone,code);
// } catch (Exception e) {
// return new ResultData(Result.ERROR, e.getMessage());
// }
// if(isValidCode) {
basicInfo = wxCUserBasicInfoService.register(getTenantInfo(),phone,password);
return new ResultData();
// } else {
// return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
// }
}

@AuthIgnore
@ApiOperation(value = "手机号注册", notes = "{\"phone\",\"string\",\"code\",\"string\"}")
@PostMapping("/doRegisterByPhone")
public ResultData doRegisterByPhone(@RequestBody Map<String, String> params, HttpServletResponse response) {
@ApiOperation(value = "邮箱注册", notes = "{\"email\",\"string\",\"code\",\"string\"}")
@PostMapping("/doRegisterByEmail")
public ResultData doRegisterByEmail(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] WxUserGrantController::doRegisterByPhone");
// String phone,String code,String pwd
String phone = params.get("phone");
logger.debug("[" + ipaddress + "] WxUserGrantController::doRegisterByEmail");
// String name,String username,String password
String name = params.get("name");
String email = params.get("email");
String password = params.get("password");
String code = params.get("code");

if (StringUtils.isBlank(phone)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号不能为空");
if (StringUtils.isBlank(email)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "邮箱不能为空");
}
if (StringUtils.isBlank(password)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "密码不能为空");
}

// if (StringUtils.isBlank(code)) {
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
// }
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone);

WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByEmail(getTenantInfo(), email);
if(basicInfo != null){
return new ResultData(ErrorCode.USER_PHONE_IS_FOUND);
}
@@ -334,13 +380,83 @@ public class WxUserGrantController extends BaseController {
// return new ResultData(Result.ERROR, e.getMessage());
// }
// if(isValidCode) {
basicInfo = wxCUserBasicInfoService.register(getTenantInfo(),phone,password);
return new ResultData();
basicInfo = wxCUserBasicInfoService.registerEmail(getTenantInfo(),email,password);
return new ResultData();
// } else {
// return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
// }
}

@AuthIgnore
@ApiOperation(value = "发送激活邮件", notes = "{\"email\",\"string\",\"code\",\"string\"}")
@PostMapping("/sendRegisterEmail")
public ResultData sendRegisterEmail(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] WxUserGrantController::sendRegisterEmail");
// String name,String username,String password
String email = params.get("email");
String code = params.get("code");

if (StringUtils.isBlank(email)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "邮箱不能为空");
}

// if (StringUtils.isBlank(code)) {
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
// }

WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByEmail(getTenantInfo(), email);
if(basicInfo == null){
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
if(!EnumCUserBasicInfoStatus.NOT_ACTIVE.getCode().equals(basicInfo.getStatus())){
return new ResultData(ErrorCode.MEMBER_IS_ACTIVE);
}


// check 验证码正确
// boolean isValidCode = false;
// try {
// isValidCode = wxMsgValidationcodeService.checkCodeValid(phone,code);
// } catch (Exception e) {
// return new ResultData(Result.ERROR, e.getMessage());
// }
// if(isValidCode) {
wxCUserBasicInfoService.sendTicketEmail(basicInfo,EnumMsgModel.EMAIL_ACTIVATION);
return new ResultData();
// } else {
// return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
// }
}

@AuthIgnore
@ApiOperation(value = "激活", notes = "")
@PostMapping("/doActivation")
public ResultData doActivation(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] WxUserGrantController::doActivation");
//
String ticket = params.get("ticket");
String key = Constant.ticketPrev + ticket;
Long userId = RedisCacheUtils.getCacheLong(redisTemplate, key);
if(userId == null){
return new ResultData(ErrorCode.NET_TICKET_INVALID.getCode(),"ticket已过期");
}
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(userId, getTenantInfo().getFinalTenantId());
if(basicInfo == null){
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
if(!EnumCUserBasicInfoStatus.NOT_ACTIVE.getCode().equals(basicInfo.getStatus())){
return new ResultData(ErrorCode.MEMBER_IS_ACTIVE);
}

wxCUserBasicInfoService.handleLoginUser(basicInfo);
Map resultMap = new HashMap();
// resultMap.put("username", basicInfo.getEmail());
resultMap.put("token", basicInfo.getToken());
return new ResultData(resultMap);
}

@AuthIgnore
@ApiOperation(value = "手机验证码修改密码", notes = "{\"phone\",\"string\",\"code\",\"string\"}")
@PostMapping("/updPass")
@@ -385,6 +501,126 @@ public class WxUserGrantController extends BaseController {
}
}

@ApiOperation(value = "旧密码修改密码", notes = "{\"oldpwd\",\"string\",\"newpwd\",\"string\"}")
@PostMapping("/oldUpdPass")
public ResultData oldUpdPass(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] WxUserGrantController::oldUpdPass");

WxCUserBasicInfo basicInfo = getCUser();
//
String oldpwd = params.get("oldpwd");
// String code = params.get("code");
String newpwd = params.get("newpwd");

if (StringUtils.isBlank(oldpwd)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "旧密码不能为空");
}
// if (StringUtils.isBlank(code)) {
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
// }
if (StringUtils.isBlank(newpwd)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "新密码不能为空");
}

String encryptPassword = new PasswordHelper().encryptPassword(oldpwd);

if(!encryptPassword.equals(basicInfo.getPassword())){
return new ResultData(ErrorCode.PASSWORD_ERROR.getCode(), "旧密码错误");
}


// check 验证码正确
// boolean isValidCode = false;
// try {
// isValidCode = wxMsgValidationcodeService.checkCodeValid(phone,code);
// } catch (Exception e) {
// return new ResultData(Result.ERROR, e.getMessage());
// }
// if(isValidCode) {
String newEncryptPassword = new PasswordHelper().encryptPassword(newpwd);
WxCUserBasicInfo basicInfoUpd = new WxCUserBasicInfo();
basicInfoUpd.setId(basicInfo.getId());
basicInfoUpd.setPassword(newEncryptPassword);
wxCUserBasicInfoService.update(basicInfoUpd);
return new ResultData();
// } else {
// return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
// }
}

@AuthIgnore
@ApiOperation(value = "发送修改密码邮件", notes = "{\"email\",\"string\",\"code\",\"string\"}")
@PostMapping("/sendUpdPwdEmail")
public ResultData sendUpdPwdEmail(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] WxUserGrantController::sendUpdPwdEmail");
// String name,String username,String password
String email = params.get("email");
String code = params.get("code");

if (StringUtils.isBlank(email)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "邮箱不能为空");
}

// if (StringUtils.isBlank(code)) {
// return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "验证码不能为空");
// }

WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByEmail(getTenantInfo(), email);
if(basicInfo == null){
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
if(EnumCUserBasicInfoStatus.NOT_ACTIVE.getCode().equals(basicInfo.getStatus())){
return new ResultData(ErrorCode.MEMBER_IS_NOT_ACTIVE);
}


// check 验证码正确
// boolean isValidCode = false;
// try {
// isValidCode = wxMsgValidationcodeService.checkCodeValid(phone,code);
// } catch (Exception e) {
// return new ResultData(Result.ERROR, e.getMessage());
// }
// if(isValidCode) {
wxCUserBasicInfoService.sendTicketEmail(basicInfo,EnumMsgModel.EMAIL_UPD_PWD);
return new ResultData();
// } else {
// return new ResultData(ErrorCode.MSG_VERIFY_CODE_NOT_FOUND);
// }
}

@AuthIgnore
@ApiOperation(value = "修改密码", notes = "{\"username\",\"string\",\"code\",\"string\"}")
@PostMapping("/doUpdPass")
public ResultData doUpdPass(@RequestBody Map<String, String> params, HttpServletResponse response) {
String ipaddress = getIpAddr();
logger.debug("[" + ipaddress + "] WxUserGrantController::doUpdPass");
//
String ticket = params.get("ticket");
String key = Constant.ticketPrev + ticket;
Long userId = RedisCacheUtils.getCacheLong(redisTemplate, key);
if(userId == null){
return new ResultData(ErrorCode.NET_TICKET_INVALID.getCode(),"已过期");
}
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.getById(userId, getTenantInfo().getFinalTenantId());
if(basicInfo == null){
return new ResultData(ErrorCode.USER_IS_EMPTY);
}
String pwd = params.get("pwd");
if (StringUtils.isBlank(pwd)) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "密码不能为空");
}

String encryptPassword = new PasswordHelper().encryptPassword(pwd);
WxCUserBasicInfo basicInfoUpd = new WxCUserBasicInfo();
basicInfoUpd.setId(basicInfo.getId());
basicInfoUpd.setPassword(encryptPassword);
wxCUserBasicInfoService.update(basicInfoUpd);
return new ResultData();
}

@ApiOperation("登出")
@GetMapping("/logout")
public ResultData logout() {


+ 3
- 0
suimangService/src/main/java/com/iformall/common/ErrorCode.java Прегледај датотеку

@@ -61,6 +61,7 @@ public enum ErrorCode{
LOGIN_DENIED(1051, "登录失败"),
NET_TOKEN_INVALID(1052, "TOKEN无效"),
NET_TOKEN_EMPTY(1053, "TOKEN不能为空"),
NET_TICKET_INVALID(1054, "ticket已过期"),

/**
* 第三方开发者
@@ -99,6 +100,8 @@ public enum ErrorCode{
USER_BIRTHDATE_AFTER(2109, "出生日期大于当前日期"),
USER_APPINFO_NOT_EXIST(2110,"当前登录用户APP为空"),
USER_APPINFO_NOFUND_PAYACCOUNT(2111,"当前app找不到payAccount"),
MEMBER_IS_NOT_ACTIVE(2112, "当前会员未激活"),
MEMBER_IS_ACTIVE(2113, "当前会员已激活"),

/**
* 商场/商户


+ 3
- 0
suimangService/src/main/java/com/iformall/enums/EnumMsgModel.java Прегледај датотеку

@@ -41,6 +41,9 @@ public enum EnumMsgModel {

COUPON_ORDER_SUCCESS(32,"购买成功提醒"),
COUPON_ORDER_REFUND(33,"提交退款提醒"),

EMAIL_ACTIVATION(66, "会员邮箱激活"),
EMAIL_UPD_PWD(67, "会员忘记密码"),
;

public static EnumMsgModel getEnum(Integer code) {


+ 8
- 0
suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java Прегледај датотеку

@@ -10,6 +10,7 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.CUserBaseInfoT;
import com.iformall.domain.vo.UserCountVo;
import com.iformall.domain.vo.WxTagsGroupVo;
import com.iformall.enums.EnumMsgModel;
import com.iformall.enums.EnumScoreType;

import javax.servlet.http.HttpServletRequest;
@@ -189,5 +190,12 @@ public interface WxCUserBasicInfoService {

WxCUserBasicInfo register(TenantEntity tenantInfo, String phone, String pwd);

WxCUserBasicInfo registerEmail(TenantEntity tenantInfo, String email, String password);

/**
* 发送激活邮件,修改密码邮件
*/
void sendTicketEmail(WxCUserBasicInfo basicInfo, EnumMsgModel type);

}


+ 85
- 0
suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java Прегледај датотеку

@@ -27,6 +27,7 @@ import cn.afterturn.easypoi.handler.inter.IExcelExportServer;
import com.iformall.utils.Constant;
import com.iformall.utils.PasswordHelper;
import com.iformall.utils.RedisCacheUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -34,10 +35,17 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
@@ -109,6 +117,14 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc
@Autowired
private MqBaseProducer mqBaseProducer;

@Autowired
WxMsgValidationcodeModelMapper wxMsgValidationcodeModelMapper;

@Autowired
private JavaMailSender sender;
@Value("${spring.mail.username}")
private String from;

@Autowired
@Qualifier("objectCommonRedisTemplate")
RedisTemplate<String, Object> redisTemplate;
@@ -802,12 +818,18 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc
Date now = new Date();
WxCUserBasicInfo basicInfoUpd = new WxCUserBasicInfo();
basicInfoUpd.setId(basicInfo.getId());
if(EnumCUserBasicInfoStatus.NOT_ACTIVE.getCode().equals(basicInfo.getStatus())){
basicInfoUpd.setStatus(EnumCUserBasicInfoStatus.NORMAL.getCode());
}
basicInfoUpd.createToken(now);
basicInfoUpd.setLoginCount(basicInfo.getLoginCount()+1);
basicInfoUpd.setActiveTime(now);
basicInfoUpd.setUpdateDate(now);
wxCUserBasicInfoMapper.updateById(basicInfoUpd);

if(basicInfoUpd.getStatus() != null){
basicInfo.setStatus(basicInfoUpd.getStatus());
}
basicInfo.setToken(basicInfoUpd.getToken());
// basicInfo.setExpireTime(basicInfoUpd.getExpireTime());
basicInfo.setLoginCount(basicInfoUpd.getLoginCount());
@@ -860,6 +882,69 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc
throw new MallinkException(ErrorCode.USER_PHONE_IS_FOUND);
}

@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = {Exception.class})
public WxCUserBasicInfo registerEmail(TenantEntity tenantInfo, String email, String pwd) {
if (StringUtils.isBlank(email)){
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "邮箱为空");
}

WxCUserBasicInfo basicInfo = this.findInfoByEmail(tenantInfo, email);
if(basicInfo == null){
basicInfo = new WxCUserBasicInfo();
// basicInfo.setTenantId("," + tenantEntity.getTenantId() + ",");
basicInfo.setFinalTenantId(tenantInfo.getFinalTenantId());
basicInfo.setEmail(email);
if(StringUtils.isNotBlank(pwd)){
String encryptPassword = new PasswordHelper().encryptPassword(email, pwd);
basicInfo.setPassword(encryptPassword);
}
basicInfo.setStatus(EnumCUserBasicInfoStatus.NOT_ACTIVE.getCode());//未激活
this.save(basicInfo);

this.sendTicketEmail(basicInfo,EnumMsgModel.EMAIL_ACTIVATION);

return basicInfo;
}
throw new MallinkException(ErrorCode.USER_NAME_IS_FOUND);
}

@Override
public void sendTicketEmail(WxCUserBasicInfo basicInfo,EnumMsgModel type){
//ticket
String ticket = UUID.randomUUID().toString();
String key = Constant.ticketPrev + ticket;
RedisCacheUtils.cache(redisTemplate, key, basicInfo.getId(), Constant.H_EXPIRE);

WxMsgValidationcodeModel wxMsgValidationcodeModel = new WxMsgValidationcodeModel();
wxMsgValidationcodeModel.setType(type.getCode());
wxMsgValidationcodeModel.setOpen(EnumMsgOpen.OPEN.getCode());
List<WxMsgValidationcodeModel> modelList = wxMsgValidationcodeModelMapper.findList(wxMsgValidationcodeModel);
if(CollectionUtils.isEmpty(modelList)){
throw new MallinkException(ErrorCode.TEMPLATE_NOT_FOUND.getCode(),"邮件模板未找到");
}
wxMsgValidationcodeModel = modelList.get(0);

String msg = wxMsgValidationcodeModel.getContent();

msg = msg.replace("{ticket}", ticket);//
msg = msg.replace("{bg}", wxMsgValidationcodeModel.getEmailBgImg());

try{
MimeMessage message = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message, true);
helper.setFrom(from);
helper.setTo(basicInfo.getEmail());
helper.setSubject(wxMsgValidationcodeModel.getSignature());
helper.setText(msg, true);
sender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
throw new MallinkException(ErrorCode.SYS_SERVER_ERROR.getCode(),"发送邮件失败");
}

}


@Override
public WxCUserBasicInfo getById(Long id,String finalTenantId) {


+ 1
- 0
suimangService/src/main/java/com/iformall/utils/Constant.java Прегледај датотеку

@@ -43,6 +43,7 @@ public class Constant {
public static final String tokenPrev = "weapp:token:";
public static final String captchaPrev = "weapp:captcha:";
public static final String codePrev = "weapp:code:";
public static final String ticketPrev = "weapp:ticket:";

// 微信C授权积分状态缓存
public static final String wx_user_authorize_state = "weapp:wxuser:authorizestate:";


Loading…
Откажи
Сачувај