提交 201369a0 编写于 作者: xinxu.wang's avatar xinxu.wang

小程序授权登录之后,获取用户token

上级 b72bda14
流水线 #48163 已失败 于阶段
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<groupId>com.pica.cloud.account</groupId> <groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-client</artifactId> <artifactId>pica-cloud-account-client</artifactId>
<version>1.1.3</version> <version>1.1.4-SNAPSHOT</version>
<name>pica-cloud-account-client</name> <name>pica-cloud-account-client</name>
<packaging>jar</packaging> <packaging>jar</packaging>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<dependency> <dependency>
<groupId>com.pica.cloud.account</groupId> <groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-common</artifactId> <artifactId>pica-cloud-account-common</artifactId>
<version>1.1.3</version> <version>1.1.4-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.cloud</groupId> <groupId>org.springframework.cloud</groupId>
......
package com.pica.cloud.account.account.client; package com.pica.cloud.account.account.client;
import com.pica.cloud.account.account.common.req.LoginAppletReq;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import org.springframework.cloud.netflix.feign.FeignClient; import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -14,4 +15,7 @@ public interface LoginClient { ...@@ -14,4 +15,7 @@ public interface LoginClient {
@PostMapping("/account/login/QRCode") @PostMapping("/account/login/QRCode")
PicaResponse<String> loginQRCode(@RequestHeader(value = "token") String token,@RequestHeader(value = "user_token_tourist") String user_token_tourist); PicaResponse<String> loginQRCode(@RequestHeader(value = "token") String token,@RequestHeader(value = "user_token_tourist") String user_token_tourist);
@PostMapping("/account/login/applet")
PicaResponse<String> loginApplet(@RequestBody LoginAppletReq req);
} }
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<groupId>com.pica.cloud.account</groupId> <groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-common</artifactId> <artifactId>pica-cloud-account-common</artifactId>
<version>1.1.3</version> <version>1.1.4-SNAPSHOT</version>
<name>pica-cloud-account-common</name> <name>pica-cloud-account-common</name>
<packaging>jar</packaging> <packaging>jar</packaging>
......
package com.pica.cloud.account.account.common.req;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
* @author xinxu.wang
* @create 2022/7/4
*/
@ApiModel
public class LoginAppletReq {
@ApiModelProperty("手机号")
private String mobilePhone;
@ApiModelProperty("微信unionid")
private String unionid;
public String getMobilePhone() {
return mobilePhone;
}
public void setMobilePhone(String mobilePhone) {
this.mobilePhone = mobilePhone;
}
public String getUnionid() {
return unionid;
}
public void setUnionid(String unionid) {
this.unionid = unionid;
}
}
...@@ -167,7 +167,7 @@ ...@@ -167,7 +167,7 @@
<dependency> <dependency>
<groupId>com.pica.cloud.account</groupId> <groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-common</artifactId> <artifactId>pica-cloud-account-common</artifactId>
<version>1.1.3</version> <version>1.1.4-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -2,6 +2,7 @@ package com.pica.cloud.account.account.server.controller; ...@@ -2,6 +2,7 @@ package com.pica.cloud.account.account.server.controller;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.pica.cloud.account.account.common.req.LoginAppletReq;
import com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq; import com.pica.cloud.account.account.server.entity.AesBean.AesAuthCodeReq;
import com.pica.cloud.account.account.server.entity.*; import com.pica.cloud.account.account.server.entity.*;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum; import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
...@@ -13,13 +14,9 @@ import com.pica.cloud.account.account.server.log.AccountLogUtils; ...@@ -13,13 +14,9 @@ import com.pica.cloud.account.account.server.log.AccountLogUtils;
import com.pica.cloud.account.account.server.req.AccountReq; import com.pica.cloud.account.account.server.req.AccountReq;
import com.pica.cloud.account.account.server.req.BaseRequest; import com.pica.cloud.account.account.server.req.BaseRequest;
import com.pica.cloud.account.account.server.req.OneClickLoginReq; import com.pica.cloud.account.account.server.req.OneClickLoginReq;
import com.pica.cloud.account.account.server.service.CaptchaService; import com.pica.cloud.account.account.server.service.*;
import com.pica.cloud.account.account.server.service.DoctorService; import com.pica.cloud.account.account.server.util.*;
import com.pica.cloud.account.account.server.service.LoginService; import com.pica.cloud.foundation.completeness.client.utils.IntactUtils;
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.entity.PicaException; import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResponse; import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode; import com.pica.cloud.foundation.entity.PicaResultCode;
...@@ -39,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -39,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.Map; import java.util.Map;
@Api(description = "登录资源") @Api(description = "登录资源")
...@@ -72,6 +70,12 @@ public class LoginController extends AccountBaseController { ...@@ -72,6 +70,12 @@ public class LoginController extends AccountBaseController {
@Resource @Resource
private AccountController accountController; private AccountController accountController;
@Autowired
private AccountService accountService;
@Autowired
private IntactUtil intactUtil;
@Autowired
private TokenUtils tokenUtils;
/** /**
* 密码登录接口(app、H5、web) * 密码登录接口(app、H5、web)
* *
...@@ -517,4 +521,39 @@ public class LoginController extends AccountBaseController { ...@@ -517,4 +521,39 @@ public class LoginController extends AccountBaseController {
SaasLoginResult login = loginService.saasLoginByAuthCode(request); SaasLoginResult login = loginService.saasLoginByAuthCode(request);
return PicaResponse.toResponse(login); return PicaResponse.toResponse(login);
} }
@ApiOperation("云鹊医助手小程序授权登录")
@PostMapping("/login/applet")
public PicaResponse<String> loginApplet(@RequestBody LoginAppletReq req) {
accountController.checkMobilePhone(req.getMobilePhone());
logger.info("login applet :{}", JSONObject.toJSONString(req));
String batchNo = IntactUtils.getUUID();
intactUtil.sendIntact(batchNo, "login/applet", com.pica.cloud.foundation.completeness.contract.constants.CommonConstants.INTACT_CONTENT_LOG_STATUS_1, "req:" + JSON.toJSONString(req));
Account account = accountService.getByMobilePhone(req.getMobilePhone()); //获取账号信息
if (account == null) {
intactUtil.sendIntact(batchNo, "login/applet", com.pica.cloud.foundation.completeness.contract.constants.CommonConstants.INTACT_CONTENT_LOG_STATUS_3, "未注册,请验证码登录");
return PicaResponse.toResponse(null, PicaResultCode.RESULE_DATA_NONE.code(), "未注册,请验证码登录");
}
//更新最后登录时间
Account update = new Account();
update.setId(account.getId());
update.setLastLoginTime(new Date());
update.setModifyId(account.getId());
update.setModifyTime(new Date());
accountService.updateAccountById(update);
//登录成功,清除旧token,生成新token
Account account1 = new Account();
account1.setId(account.getId());
account1.setAcctId(account.getAcctId());
account1.setCreatTime(new Date());
account1.setMobilePhone(req.getMobilePhone());
account1.setRegisterSource(4);
String newToken = tokenUtils.generateToken(account1);
intactUtil.sendIntact(batchNo, "login/applet", com.pica.cloud.foundation.completeness.contract.constants.CommonConstants.INTACT_CONTENT_LOG_STATUS_3, "req:" + JSON.toJSONString(req));
return PicaResponse.toResponse(newToken);
}
} }
...@@ -226,7 +226,7 @@ ...@@ -226,7 +226,7 @@
</if> </if>
</trim> </trim>
</insert> </insert>
<update id="updateByIdSelective" parameterType="com.pica.cloud.account.account.server.entity.Account"> [<update id="updateByIdSelective" parameterType="com.pica.cloud.account.account.server.entity.Account">
update p_doctor update p_doctor
<set> <set>
<if test="status != null"> <if test="status != null">
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册