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

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

上级 b72bda14
流水线 #48163 已失败 于阶段
......@@ -11,7 +11,7 @@
<groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-client</artifactId>
<version>1.1.3</version>
<version>1.1.4-SNAPSHOT</version>
<name>pica-cloud-account-client</name>
<packaging>jar</packaging>
......@@ -28,7 +28,7 @@
<dependency>
<groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-common</artifactId>
<version>1.1.3</version>
<version>1.1.4-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
......
package com.pica.cloud.account.account.client;
import com.pica.cloud.account.account.common.req.LoginAppletReq;
import com.pica.cloud.foundation.entity.PicaResponse;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;
......@@ -14,4 +15,7 @@ public interface LoginClient {
@PostMapping("/account/login/QRCode")
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 @@
<groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-common</artifactId>
<version>1.1.3</version>
<version>1.1.4-SNAPSHOT</version>
<name>pica-cloud-account-common</name>
<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 @@
<dependency>
<groupId>com.pica.cloud.account</groupId>
<artifactId>pica-cloud-account-common</artifactId>
<version>1.1.3</version>
<version>1.1.4-SNAPSHOT</version>
</dependency>
<dependency>
......
......@@ -2,6 +2,7 @@ package com.pica.cloud.account.account.server.controller;
import com.alibaba.fastjson.JSON;
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.*;
import com.pica.cloud.account.account.server.enums.AccountExceptionEnum;
......@@ -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.BaseRequest;
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.DoctorService;
import com.pica.cloud.account.account.server.service.LoginService;
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.account.account.server.service.*;
import com.pica.cloud.account.account.server.util.*;
import com.pica.cloud.foundation.completeness.client.utils.IntactUtils;
import com.pica.cloud.foundation.entity.PicaException;
import com.pica.cloud.foundation.entity.PicaResponse;
import com.pica.cloud.foundation.entity.PicaResultCode;
......@@ -39,6 +36,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
import java.util.Map;
@Api(description = "登录资源")
......@@ -72,6 +70,12 @@ public class LoginController extends AccountBaseController {
@Resource
private AccountController accountController;
@Autowired
private AccountService accountService;
@Autowired
private IntactUtil intactUtil;
@Autowired
private TokenUtils tokenUtils;
/**
* 密码登录接口(app、H5、web)
*
......@@ -517,4 +521,39 @@ public class LoginController extends AccountBaseController {
SaasLoginResult login = loginService.saasLoginByAuthCode(request);
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 @@
</if>
</trim>
</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
<set>
<if test="status != null">
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册