提交 168f9260 编写于 作者: yongbo.wang's avatar yongbo.wang

Merge branch 'release' into 'master'

Release



See merge request !64
流水线 #32780 已失败 于阶段
in 0 second
......@@ -11,7 +11,7 @@
<groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-client</artifactId>
<version>1.0.4.1</version>
<version>1.0.4.3</version>
<name>pica-cloud-account-client</name>
<packaging>jar</packaging>
......
package com.pica.cloud.account.account.client;
import com.pica.cloud.foundation.entity.PicaResponse;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* @author andong
* @create 2019/7/19
*/
@FeignClient(name = "13201-pica-cloud-account")
public interface LoginClient {
@PostMapping("/account/login/QRCode")
PicaResponse<String> loginQRCode(@RequestHeader(value = "token") String token,@RequestHeader(value = "user_token_tourist") String user_token_tourist);
}
package com.pica.cloud.account.account.server.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.server.entity.*;
import com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq;
......@@ -18,11 +19,17 @@ import com.pica.cloud.account.account.server.service.TokenService;
import com.pica.cloud.account.account.server.util.AccountUtils;
import com.pica.cloud.account.account.server.util.CryptoUtil;
import com.pica.cloud.account.account.server.util.RSAUtil;
import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants;
import com.pica.cloud.foundation.encryption.util.EncryptUtils;
import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode;
import com.pica.cloud.foundation.entity.PicaWarnException;
import com.pica.cloud.foundation.redis.CacheClient;
import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.annotation.LoginPermission;
import com.pica.cloud.foundation.utils.entity.PicaUser;
import com.pica.cloud.foundation.utils.utils.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.catalina.servlet4preview.http.HttpServletRequest;
......@@ -216,6 +223,9 @@ public class LoginController extends AccountBaseController {
} catch (Exception e) {
cacheClient.del(cache_prifix + request.getWeChatCode());
logger.error("bindWeChat-" + e.getMessage(), e);
if(e instanceof PicaException) {
throw new PicaException(((PicaException) e).getCode(), ((PicaException) e).getMsg());
}
throw new PicaWarnException(AccountExceptionEnum.PICA_BIND_WECHAT_FAIL.getCode(), AccountExceptionEnum.PICA_BIND_WECHAT_FAIL.getMessage());
}
} else {
......@@ -414,4 +424,19 @@ public class LoginController extends AccountBaseController {
return PicaResponse.toResponse(login);
}
@ApiOperation(value = "二维码扫码登录")
@PostMapping("/login/QRCode")
@LoginPermission
public PicaResponse<String> loginQRCode() {
BaseRequest request = new BaseRequest();
request.setProductType(1);
request.setSourceType(6);
request.setLoginIp(super.getIpAddr());
request.setUserTokenTourist(super.getUserTokenTourist());
request.setMobile(this.fetchPicaUser().getMobile());
LoginResult login = loginService.loginQRCode(request);
return PicaResponse.toResponse(login.getToken());
}
}
......@@ -65,6 +65,7 @@ public enum AccountExceptionEnum {
PAT_MEMBER_HAS_BINDED_SELF("216556","该成员已被账户绑定为家庭成员,不需要再次绑定"),
PAT_HAS_CREATE_ACCT("216557","初始居民已存在主账户"),
PAT_QUERY_MAX("216558","查询参数过多"),
PICA_PASSWORD_RESET("216559", "您尚未设置密码,请退出登录后使用密码方式登录进行密码设置"),
xxx_xxx("","");
......
......@@ -98,4 +98,6 @@ public interface LoginService {
LoginResult appleSkipRegister(BaseRequest request);
int insertLoginAesLog(LogLoginAes aes);
LoginResult loginQRCode(BaseRequest request);
}
......@@ -337,6 +337,13 @@ public class LoginServiceImpl implements LoginService {
return processLogin(baseRequest, acctId, loginType, null);
}
@Override
public LoginResult loginQRCode(BaseRequest request){
AccountInfoEntity accountInfoEntity = accountInfoDetailMapper.selectByMobile(request.getMobile());
request.setMobile(EncryptUtils.decryptContent(request.getMobile(), EncryptConstants.ENCRYPT_TYPE_MOBILE, EncryptConstants.ENCRYPT_DECRYPT_KEY));
return processLogin(request, accountInfoEntity.getId(), 8);
}
private LoginResult processLogin(BaseRequest baseRequest, Integer acctId, Integer loginType, QueryMobileEntity queryMobileEntity) {
//接入新旭事务一致性
String batchNo = IntactUtils.getUUID();
......
......@@ -17,6 +17,9 @@ import com.pica.cloud.account.account.server.util.TokenUtils;
import com.pica.cloud.foundation.encryption.common.constants.EncryptConstants;
import com.pica.cloud.foundation.encryption.util.EncryptUtils;
import com.pica.cloud.foundation.redis.ICacheClient;
import com.pica.cloud.foundation.utils.utils.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
......@@ -51,12 +54,19 @@ public class PasswordServiceImpl implements PasswordService {
@Autowired
private ICacheClient cacheClient;
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Override
@Transactional
public void modifyPassword(String mobile, String oldPwd, String pwd) {
AccountInfoEntity entity = accountInfoDetailMapper.selectByMobile(mobile);
if (entity != null) {
//added by joy begin 晓庆说 这批空密码用户不应该在设置密码处 修改密码,提示:引导客户去密码登录;
if(StringUtil.isEmpty(entity.getPassword())){
throw new AccountException(AccountExceptionEnum.PICA_PASSWORD_RESET);
}
//added by joy end
if (entity.getPassword().equals(oldPwd)) {
Date currentTime = new Date();
AccountInfoEntity accountInfoEntity = new AccountInfoEntity();
......
......@@ -112,6 +112,9 @@ public class AccountUtils {
case 5:
sourceType = "admin";
break;
case 6:
sourceType = "pcc";
break;
default:
sourceType = "app";
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册