package com.jilongda.optometry.controller;
|
|
|
import com.jilongda.common.basic.ApiResult;
|
import com.jilongda.common.redis.RedisAutoTemplate;
|
import com.jilongda.common.security.SecurityUtils;
|
import com.jilongda.common.utils.WebUtils;
|
import com.jilongda.optometry.model.TAppUser;
|
import com.jilongda.optometry.service.SecUserService;
|
import com.jilongda.optometry.service.TAppUserService;
|
import com.jilongda.optometry.wx.body.resp.Code2SessionRespBody;
|
import com.jilongda.optometry.wx.body.resq.Code2SessionResqBody;
|
import com.jilongda.optometry.wx.pojo.AppletUserDecodeData;
|
import com.jilongda.optometry.wx.pojo.AppletUserEncrypteData;
|
import com.jilongda.optometry.wx.utils.WeixinProperties;
|
import com.jilongda.optometry.wx.utils.WxAppletTools;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.security.authentication.AuthenticationManager;
|
import org.springframework.util.StringUtils;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.client.RestTemplate;
|
|
import java.util.Map;
|
|
/**
|
* <p>
|
* 会员表 前端控制器
|
* </p>
|
*
|
* @author xiaochen
|
* @since 2021-07-28
|
*/
|
@Slf4j
|
@Api(tags = "用户登录相关")
|
@RestController
|
@RequestMapping("/")
|
public class LoginController {
|
@Autowired
|
private SecurityUtils securityUtils;
|
@Autowired
|
private AuthenticationManager authenticationManager;
|
@Autowired
|
private RedisAutoTemplate redisAutoTemplate;
|
@Autowired
|
private TAppUserService appUserService;
|
@Autowired
|
private WeixinProperties wxConfig;
|
@Autowired
|
private RestTemplate wxRestTemplate;
|
@Autowired
|
private SecUserService secUserService;
|
|
@ApiOperation(value = "通过code获得openid,获取用户信息",tags = {"微信小程序登录"})
|
@PostMapping("/openIdByJsCode")
|
public ApiResult<Map<String, Object>> openIdByJsCode(@RequestBody AppletUserEncrypteData data) {
|
// secUserService.lambdaQuery().eq(TAppUser::getOpenId, data.getOpenId()).one();
|
Map<String, Object> tokenInfos = securityUtils.login(null, null, authenticationManager, TAppUser.class, 3);
|
return ApiResult.success(tokenInfos);
|
}
|
|
@ApiOperation("退出登录")
|
@GetMapping("logout")
|
public ApiResult<String> logout() {
|
boolean flag = securityUtils.invalidateToken(WebUtils.request());
|
if (flag) {
|
return ApiResult.success("退出成功");
|
}
|
return ApiResult.success();
|
}
|
|
|
|
|
}
|