add 绑定微信和解除绑定微信接口
This commit is contained in:
+48
-38
@@ -69,7 +69,6 @@ public class CompanyLoginController {
|
|||||||
Result<JSONObject> result = new Result<>();
|
Result<JSONObject> result = new Result<>();
|
||||||
String phone = sysLoginModel.getUsername();
|
String phone = sysLoginModel.getUsername();
|
||||||
String password = sysLoginModel.getPassword();
|
String password = sysLoginModel.getPassword();
|
||||||
String openId = sysLoginModel.getOpenId();
|
|
||||||
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
||||||
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
||||||
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
|
//update-begin--Author:scott Date:20190805 for:暂时注释掉密码加密逻辑,有点问题
|
||||||
@@ -96,9 +95,6 @@ public class CompanyLoginController {
|
|||||||
//解密获取密码和用户名
|
//解密获取密码和用户名
|
||||||
password = CommonUtils.decryptBtRsaPriKey(password, rsaPrivateKey);
|
password = CommonUtils.decryptBtRsaPriKey(password, rsaPrivateKey);
|
||||||
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
|
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
|
||||||
if (StringUtils.isNotBlank(openId)){
|
|
||||||
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@@ -151,21 +147,6 @@ public class CompanyLoginController {
|
|||||||
BeanUtils.copyProperties(contactsManagement, 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:登录日志没有记录人员
|
//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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,15 +155,11 @@ public class CompanyLoginController {
|
|||||||
public Result<JSONObject> smsLogin(@RequestBody SysLoginModel sysLoginModel) {
|
public Result<JSONObject> smsLogin(@RequestBody SysLoginModel sysLoginModel) {
|
||||||
Result<JSONObject> result = new Result<>();
|
Result<JSONObject> result = new Result<>();
|
||||||
String phone = sysLoginModel.getUsername();
|
String phone = sysLoginModel.getUsername();
|
||||||
String openId = sysLoginModel.getOpenId();
|
|
||||||
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
||||||
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
||||||
try {
|
try {
|
||||||
//解密获取手机号和openId
|
//解密获取手机号和openId
|
||||||
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
|
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
|
||||||
if (StringUtils.isNotBlank(openId)){
|
|
||||||
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@@ -216,21 +193,6 @@ public class CompanyLoginController {
|
|||||||
BeanUtils.copyProperties(contactsManagement, 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:登录日志没有记录人员
|
//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())){
|
if (Objects.isNull(contactsManagement.getPassword())){
|
||||||
@@ -273,6 +235,54 @@ public class CompanyLoginController {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("微信绑定接口")
|
||||||
|
@PostMapping(value = "/bindWeXin")
|
||||||
|
public Result<String> bindWeXin(@RequestBody SysLoginModel sysLoginModel) {
|
||||||
|
String openId = sysLoginModel.getOpenId();
|
||||||
|
String rsaPublicKey = sysLoginModel.getRsaPublicKey();
|
||||||
|
String rsaPrivateKey = String.valueOf(redisUtil.get(rsaPublicKey));
|
||||||
|
try {
|
||||||
|
//解密获取openId
|
||||||
|
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
PayContactsManagement contactsManagement = payContactsManagementService.getById(loginUser.getId());
|
||||||
|
if (contactsManagement == null){
|
||||||
|
throw new JeroBootException("不是企业联系人");
|
||||||
|
}else if (StringUtils.isNotBlank(contactsManagement.getOpenId())){
|
||||||
|
throw new JeroBootException("已经绑定过微信,请先解除绑定");
|
||||||
|
}
|
||||||
|
//查看微信有没有被绑定过
|
||||||
|
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));
|
||||||
|
payContactsManagementService.updateById(contactsManagement);
|
||||||
|
//绑定过就判断是否是当前用户,如果不是就报错
|
||||||
|
}else if (!Objects.equals(contactsManagement1.getPhone(),contactsManagement.getPhone())){
|
||||||
|
throw new JeroBootException("微信已经绑定过其他账号");
|
||||||
|
}
|
||||||
|
baseCommonService.addLog("手机号: " + contactsManagement.getPhone() + ",绑定微信成功!", CommonConstant.LOG_TYPE_2, CommonConstant.OPERATE_TYPE_3, loginUser);
|
||||||
|
//update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员
|
||||||
|
return Result.OK("绑定微信成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
@ApiOperation("微信绑定接口")
|
||||||
|
@PostMapping(value = "/unbindWeXin")
|
||||||
|
public Result<String> unbindWeXin() {
|
||||||
|
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
PayContactsManagement contactsManagement = payContactsManagementService.getById(loginUser.getId());
|
||||||
|
contactsManagement.setOpenId(null);
|
||||||
|
payContactsManagementService.updateById(contactsManagement);
|
||||||
|
baseCommonService.addLog("手机号: " + contactsManagement.getPhone() + ",解除绑定微信成功!", CommonConstant.LOG_TYPE_2, CommonConstant.OPERATE_TYPE_3, loginUser);
|
||||||
|
//update-end--Author:wangshuai Date:20200714 for:登录日志没有记录人员
|
||||||
|
return Result.OK("解除绑定微信成功");
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 退出登录
|
* 退出登录
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user