add 企业用户登录增加openId字段
This commit is contained in:
+77
-8
@@ -69,6 +69,7 @@ public class CompanyLoginController {
|
||||
Result<JSONObject> result = new Result<>();
|
||||
String phone = sysLoginModel.getUsername();
|
||||
String password = sysLoginModel.getPassword();
|
||||
String openId = sysLoginModel.getOpenId();
|
||||
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
||||
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
||||
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
|
||||
@@ -95,6 +96,9 @@ public class CompanyLoginController {
|
||||
//解密获取密码和用户名
|
||||
password = CommonUtils.decryptBtRsaPriKey(password, rsaPrivateKey);
|
||||
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
|
||||
if (StringUtils.isNotBlank(openId)){
|
||||
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -145,8 +149,23 @@ public class CompanyLoginController {
|
||||
//update-begin--Author:wangshuai Date:20200714 for:登录日志没有记录人员
|
||||
LoginUser loginUser = new LoginUser();
|
||||
BeanUtils.copyProperties(contactsManagement, loginUser);
|
||||
baseCommonService.addLog("用户名: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
|
||||
baseCommonService.addLog("手机号: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
|
||||
//update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员
|
||||
//绑定微信openId
|
||||
if (StringUtils.isNotBlank(openId)){
|
||||
LambdaQueryWrapper<PayContactsManagement> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(PayContactsManagement::getOpenId, PasswordUtil.encrypt(openId));
|
||||
PayContactsManagement contactsManagement1 = payContactsManagementService.getOne(queryWrapper1);
|
||||
//没有绑定过就绑定
|
||||
if (contactsManagement1 == null){
|
||||
contactsManagement.setOpenId(PasswordUtil.encrypt(openId));
|
||||
contactsManagement.setPhone(PasswordUtil.encrypt(phone));
|
||||
payContactsManagementService.updateById(contactsManagement);
|
||||
//绑定过就判断是否是当前用户,如果不是就报错
|
||||
}else if (!Objects.equals(contactsManagement1.getPhone(),PasswordUtil.encrypt(phone))){
|
||||
throw new JeroBootException("微信已经绑定过其他账号");
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -155,16 +174,15 @@ public class CompanyLoginController {
|
||||
public Result<JSONObject> smsLogin(@RequestBody SysLoginModel sysLoginModel) {
|
||||
Result<JSONObject> result = new Result<>();
|
||||
String phone = sysLoginModel.getUsername();
|
||||
String openId = sysLoginModel.getOpenId();
|
||||
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
||||
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
||||
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
|
||||
//前端密码加密,后端进行密码解密
|
||||
//password = AesEncryptUtil.desEncrypt(sysLoginModel.getPassword().replaceAll("%2B", "\\+")).trim();//密码解密
|
||||
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
|
||||
//update-begin-author:taoyan date:20190828 for:校验验证码
|
||||
try {
|
||||
//解密获取密码和用户名
|
||||
//解密获取手机号和openId
|
||||
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
|
||||
if (StringUtils.isNotBlank(openId)){
|
||||
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -196,14 +214,65 @@ public class CompanyLoginController {
|
||||
//update-begin--Author:wangshuai Date:20200714 for:登录日志没有记录人员
|
||||
LoginUser loginUser = new LoginUser();
|
||||
BeanUtils.copyProperties(contactsManagement, loginUser);
|
||||
baseCommonService.addLog("用户名: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
|
||||
baseCommonService.addLog("手机号: " + phone + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
|
||||
//update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员
|
||||
//绑定微信openId
|
||||
if (StringUtils.isNotBlank(openId)){
|
||||
LambdaQueryWrapper<PayContactsManagement> queryWrapper1 = new LambdaQueryWrapper<>();
|
||||
queryWrapper1.eq(PayContactsManagement::getOpenId, PasswordUtil.encrypt(openId));
|
||||
PayContactsManagement contactsManagement1 = payContactsManagementService.getOne(queryWrapper1);
|
||||
//没有绑定过就绑定
|
||||
if (contactsManagement1 == null){
|
||||
contactsManagement.setOpenId(PasswordUtil.encrypt(openId));
|
||||
contactsManagement.setPhone(PasswordUtil.encrypt(phone));
|
||||
payContactsManagementService.updateById(contactsManagement);
|
||||
//绑定过就判断是否是当前用户,如果不是就报错
|
||||
}else if (!Objects.equals(contactsManagement1.getPhone(),PasswordUtil.encrypt(phone))){
|
||||
throw new JeroBootException("微信已经绑定过其他账号");
|
||||
}
|
||||
}
|
||||
|
||||
//如果没有密码,返回
|
||||
if (Objects.isNull(contactsManagement.getPassword())){
|
||||
result.setMessage("updatePassword");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
@ApiOperation("微信登录接口")
|
||||
@PostMapping(value = "/WCLogin")
|
||||
public Result<JSONObject> WCLogin(@RequestBody SysLoginModel sysLoginModel) {
|
||||
Result<JSONObject> result = new Result<>();
|
||||
String openId = sysLoginModel.getOpenId();
|
||||
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
||||
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
||||
try {
|
||||
//解密获取openId
|
||||
if (StringUtils.isNotBlank(openId)){
|
||||
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
//1. 校验用户是否有效
|
||||
LambdaQueryWrapper<PayContactsManagement> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(PayContactsManagement::getOpenId, PasswordUtil.encrypt(openId));
|
||||
PayContactsManagement contactsManagement = payContactsManagementService.getOne(queryWrapper);
|
||||
if (Objects.isNull(contactsManagement)) {
|
||||
throw new JeroBootException("暂未授权");
|
||||
}
|
||||
|
||||
//用户登录信息
|
||||
userInfo(contactsManagement, result);
|
||||
//update-begin--Author:wangshuai Date:20200714 for:登录日志没有记录人员
|
||||
LoginUser loginUser = new LoginUser();
|
||||
BeanUtils.copyProperties(contactsManagement, loginUser);
|
||||
baseCommonService.addLog("手机号: " + contactsManagement.getPhone() + ",登录成功!", CommonConstant.LOG_TYPE_1, null, loginUser);
|
||||
//update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 退出登录
|
||||
*
|
||||
|
||||
+7
@@ -121,6 +121,13 @@ public class PayContactsManagement implements Serializable {
|
||||
*/
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String salt;
|
||||
|
||||
/**
|
||||
* openId
|
||||
*/
|
||||
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
|
||||
private String openId;
|
||||
|
||||
/**
|
||||
* 审核状态(1:通过,2:待审核)财务人员添加企业不需要审核默认是通过状态
|
||||
*/
|
||||
|
||||
@@ -27,4 +27,6 @@ public class SysLoginModel {
|
||||
private String checkKey;
|
||||
@ApiModelProperty(value = "RSA公钥")
|
||||
private String rsaPublicKey;
|
||||
@ApiModelProperty(value = "openId")
|
||||
private String openId;
|
||||
}
|
||||
Reference in New Issue
Block a user