Ver a proveniência

//user

private_deployment
xhxu há 2 anos
ascendente
cometimento
433f442928
6 ficheiros alterados com 125 adições e 39 eliminações
  1. +90
    -22
      suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java
  2. +0
    -16
      suimangCApi/src/main/java/com/iformall/utils/PasswordHelper.java
  3. +4
    -1
      suimangService/src/main/java/com/iformall/domain/po/sm/MouldPatchSign.java
  4. +3
    -0
      suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java
  5. +23
    -0
      suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java
  6. +5
    -0
      suimangService/src/main/java/com/iformall/utils/PasswordHelper.java

+ 90
- 22
suimangCApi/src/main/java/com/iformall/controller/WxUserGrantController.java Ver ficheiro

@@ -54,21 +54,6 @@ public class WxUserGrantController extends BaseController {
@Autowired
private WxMsgValidationcodeService wxMsgValidationcodeService;

@Autowired
private boolean isFmOpen;

@Autowired
private CUserServiceFactory cuserFactory;

@Autowired
private MallCooUserInfoService mallCooUserInfoService;

@Autowired
private WxCUserCarService wxCUserCarService;

@Autowired
private WxScoreRulesService wxScoreRulesService;

@Autowired
WxLevelConfigService wxLevelConfigService;

@@ -162,7 +147,7 @@ public class WxUserGrantController extends BaseController {
return new ResultData(ErrorCode.USER_IS_EMPTY);
}

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

if(!encryptPassword.equals(basicInfo.getPassword())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "手机号或密码错误");
@@ -181,6 +166,48 @@ public class WxUserGrantController extends BaseController {
@ApiImplicitParam(name = "phone", value = "手机号", dataType = "String", paramType = "query", required = true)})
public ResultData sendLoginPhoneCode(String phone) {
logger.debug("[" + getIpAddr() + "] WxUserGrantController::sendlogincode");
if(StringUtils.isBlank(phone)){
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "请输入手机号");
}

WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode();
wxMsgValidationcode.setPhone(phone);
wxMsgValidationcode.setType(EnumMsgModel.VALIDATION_CODE.getCode());
return wxMsgValidationcodeService.sendvalidationcode(wxMsgValidationcode);
}

/**
* 需要效验用户及图片验证码
* @param phone
* @return
*/
@AuthIgnore
@ApiOperation("发送修改密码验证码")
@GetMapping("sendPhoneCode")
@ApiImplicitParams({
@ApiImplicitParam(name = "phone", value = "手机号", dataType = "String", paramType = "query", required = true)})
public ResultData sendPhoneCode(String phone,String code) {
String ipAddr = getIpAddr();
logger.debug("[" + ipAddr + "] WxUserGrantController::sendPhoneCode");
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(), "请输入验证码");
}

String key = Constant.captchaPrev + ":" + ipAddr;
String code1 = RedisCacheUtils.getCacheString(redisTemplate, key);
if(StringUtils.isBlank(code1)){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期");
}
if(!code1.equals(code)){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确");
}
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone);
if(basicInfo == null){
return new ResultData(ErrorCode.USER_IS_EMPTY.getCode(),"该手机号未注册");
}

WxMsgValidationcode wxMsgValidationcode = new WxMsgValidationcode();
wxMsgValidationcode.setPhone(phone);
@@ -215,7 +242,7 @@ public class WxUserGrantController extends BaseController {
if(isValidCode) {
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone);
if(basicInfo == null){
basicInfo = wxCUserBasicInfoService.registerByPhone(getTenantInfo(),phone,null,null,null,null);
basicInfo = wxCUserBasicInfoService.register(getTenantInfo(),phone,null);
}
wxCUserBasicInfoService.handleLoginUser(basicInfo);
Map resultMap = new HashMap();
@@ -227,6 +254,47 @@ public class WxUserGrantController extends BaseController {
}
}

@AuthIgnore
@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::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(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) {
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("/updPass")
@@ -247,6 +315,10 @@ public class WxUserGrantController extends BaseController {
if (StringUtils.isBlank(pwd)) {
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_NOT_FOUND.getCode(), "手机号还未注册");
}

// check 验证码正确
boolean isValidCode = false;
@@ -256,11 +328,7 @@ public class WxUserGrantController extends BaseController {
return new ResultData(Result.ERROR, e.getMessage());
}
if(isValidCode) {
WxCUserBasicInfo basicInfo = wxCUserBasicInfoService.findInfoByPhone(getTenantInfo(), phone);
if(basicInfo == null){
basicInfo = wxCUserBasicInfoService.registerByPhone(getTenantInfo(),phone,null,null,null,null);
}
String encryptPassword = PasswordHelper.encryptPassword(phone, pwd);
String encryptPassword = new PasswordHelper().encryptPassword(phone, pwd);
WxCUserBasicInfo basicInfoUpd = new WxCUserBasicInfo();
basicInfoUpd.setId(basicInfo.getId());
basicInfoUpd.setPassword(encryptPassword);


+ 0
- 16
suimangCApi/src/main/java/com/iformall/utils/PasswordHelper.java Ver ficheiro

@@ -1,16 +0,0 @@
package com.iformall.utils;

import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.util.ByteSource;


public class PasswordHelper {

private static String algorithmName = "md5";
private static int hashIterations = 2;

public static String encryptPassword(String userName,String password) {
return new SimpleHash(algorithmName, password, ByteSource.Util.bytes(userName), hashIterations).toHex();
}

}

+ 4
- 1
suimangService/src/main/java/com/iformall/domain/po/sm/MouldPatchSign.java Ver ficheiro

@@ -7,6 +7,9 @@ import lombok.EqualsAndHashCode;

import java.util.Date;

/**
* 模板标签
*/
@TableName(value = "mould_patch_sign")
@Data
@EqualsAndHashCode(callSuper = true)
@@ -14,7 +17,7 @@ public class MouldPatchSign extends BaseEntity {

protected Long id;

@io.swagger.annotations.ApiModelProperty(value="券类型",name="title")
@io.swagger.annotations.ApiModelProperty(value="",name="title")
private String title;

@io.swagger.annotations.ApiModelProperty(value="创建时间",name="createDate")


+ 3
- 0
suimangService/src/main/java/com/iformall/service/WxCUserBasicInfoService.java Ver ficheiro

@@ -184,5 +184,8 @@ public interface WxCUserBasicInfoService {
void logout(WxCUserBasicInfo basicInfo);

WxCUserBasicInfo getByToken(String token);

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

}


+ 23
- 0
suimangService/src/main/java/com/iformall/service/impl/WxCUserBasicInfoServiceImpl.java Ver ficheiro

@@ -25,6 +25,7 @@ import com.iformall.service.*;
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.compress.utils.Lists;
import org.apache.commons.lang3.StringUtils;
@@ -830,6 +831,28 @@ public class WxCUserBasicInfoServiceImpl implements WxCUserBasicInfoService,IExc
return null;
}

@Override
public WxCUserBasicInfo register(TenantEntity tenantEntity, String phone, String pwd) {
if (StringUtils.isBlank(phone)){
throw new MallinkException(ErrorCode.SYS_PARAMETER_NOT_NULL.getCode(), "手机号为空");
}

WxCUserBasicInfo basicInfo = this.findInfoByPhone(tenantEntity, phone);
if(basicInfo == null){
basicInfo = new WxCUserBasicInfo();
// basicInfo.setTenantId("," + tenantEntity.getTenantId() + ",");
basicInfo.setFinalTenantId(tenantEntity.getFinalTenantId());
basicInfo.setPhone(phone);
if(StringUtils.isNotBlank(pwd)){
String encryptPassword = new PasswordHelper().encryptPassword(phone, pwd);
basicInfo.setPassword(encryptPassword);
}
this.save(basicInfo);
return basicInfo;
}
throw new MallinkException(ErrorCode.USER_PHONE_IS_FOUND);
}


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


+ 5
- 0
suimangService/src/main/java/com/iformall/utils/PasswordHelper.java Ver ficheiro

@@ -19,6 +19,11 @@ public class PasswordHelper {

}

public String encryptPassword(String userName,String password) {
return new SimpleHash(algorithmName, password, ByteSource.Util.bytes(userName), hashIterations).toHex();
}



public static void main(String[] args) {
MallUserInfo user = new MallUserInfo();


Carregando…
Cancelar
Guardar