add 绑定微信和解除绑定微信接口
This commit is contained in:
+48
-38
@@ -69,7 +69,6 @@ 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:暂时注释掉密码加密逻辑,有点问题
|
||||
@@ -96,9 +95,6 @@ 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();
|
||||
}
|
||||
@@ -151,21 +147,6 @@ public class CompanyLoginController {
|
||||
BeanUtils.copyProperties(contactsManagement, 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;
|
||||
}
|
||||
|
||||
@@ -174,15 +155,11 @@ 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));
|
||||
try {
|
||||
//解密获取手机号和openId
|
||||
phone = CommonUtils.decryptBtRsaPriKey(phone, rsaPrivateKey);
|
||||
if (StringUtils.isNotBlank(openId)){
|
||||
openId = CommonUtils.decryptBtRsaPriKey(openId, rsaPrivateKey);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
@@ -216,21 +193,6 @@ public class CompanyLoginController {
|
||||
BeanUtils.copyProperties(contactsManagement, 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())){
|
||||
@@ -273,6 +235,54 @@ public class CompanyLoginController {
|
||||
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