huanghongfa
2020-12-09 4231221cc96b5a7d192422aee8866e4d87bd3d72
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java
@@ -6,6 +6,7 @@
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.panzhihua.applets.config.WxMaConfiguration;
import com.panzhihua.applets.model.vos.LoginRequest;
import com.panzhihua.common.model.vos.LoginReturnVO;
import com.panzhihua.common.service.auth.TokenService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.controller.BaseController;
@@ -13,9 +14,7 @@
import com.panzhihua.common.exceptions.WeiXinException;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
@@ -39,9 +38,9 @@
    @Resource
    private TokenService tokenService;
    @ApiOperation(value = "登录")
    @ApiOperation(value = "登录" ,response =LoginReturnVO.class )
    @PostMapping("login")
    public R<String> login(@RequestBody LoginRequest loginRequest) {
    public R login(@RequestBody LoginRequest loginRequest) {
        String code = loginRequest.getCode();
        if (ObjectUtils.isEmpty(code)) {
            return R.fail("缺少登录参数");
@@ -61,8 +60,8 @@
        String sessionKey = sessionInfo.getSessionKey();
        String unionid = sessionInfo.getUnionid();
        userService.addOrUpdate(openid,sessionKey,unionid);
        R login = tokenService.loginApplets(openid);
        return login;
        R r = tokenService.loginApplets(openid);
        return r;
    }
    @ApiOperation(value = "维护用户基本信息(昵称、性别、头像)")
@@ -81,8 +80,8 @@
        if (empty2) {
            throw new UnAuthenticationException();
        }
        R<LoginUserInfoVO> userInfoByUserId = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = userInfoByUserId.getData();
        R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO =r.getData();
        WxMaUserInfo wxUserInfo = maService.getUserService().getUserInfo(loginUserInfoVO.getSessionKey(),
                encryptedData, iv);
        if (null == wxUserInfo) {
@@ -91,8 +90,8 @@
        String avatarUrl = wxUserInfo.getAvatarUrl();
        String gender = wxUserInfo.getGender();
        String nickName = wxUserInfo.getNickName();
        R r=userService.updateUserWeiXinInfo(userId,nickName,Integer.parseInt(gender),avatarUrl);
        return r;
        R r1=userService.updateUserWeiXinInfo(userId,nickName,Integer.parseInt(gender),avatarUrl);
        return r1;
    }
    @ApiOperation(value = "维护微信用户手机号")
@@ -111,16 +110,16 @@
        if (empty2) {
            throw new UnAuthenticationException();
        }
        R<LoginUserInfoVO> userInfoByUserId = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = userInfoByUserId.getData();
        R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = r.getData();
        WxMaPhoneNumberInfo wxMaPhoneNumberInfo = maService.getUserService().getPhoneNoInfo(loginUserInfoVO.getSessionKey(),
                encryptedData, iv);
        if (ObjectUtils.isEmpty(wxMaPhoneNumberInfo) || ObjectUtils.isEmpty(wxMaPhoneNumberInfo.getPhoneNumber())) {
            throw new WeiXinException("微信解析手机号失败");
        }
        String purePhoneNumber = wxMaPhoneNumberInfo.getPurePhoneNumber();
        R r=userService.updateUserWeiXinPhone(userId,purePhoneNumber);
        return r;
        R r1=userService.updateUserWeiXinPhone(userId,purePhoneNumber);
        return r1;
    }
    @ApiOperation(value = "用户登出")
@@ -135,7 +134,7 @@
        return r;
    }
    @ApiOperation(value = "刷新token")
    @ApiOperation(value = "刷新token",response = LoginReturnVO.class)
    @GetMapping("refreshToken")
    @ApiImplicitParam(name ="refreshToken",value = "登录返回的刷新token")
    public R refreshToken(@RequestParam("refreshToken")String refreshToken){