package com.stylefeng.guns.modular.api;
|
|
import com.stylefeng.guns.core.util.ToolUtil;
|
import com.stylefeng.guns.modular.system.model.Driver;
|
import com.stylefeng.guns.modular.system.model.DriverService;
|
import com.stylefeng.guns.modular.system.service.IDriverService;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import me.chanjar.weixin.common.api.WxConsts;
|
import me.chanjar.weixin.common.exception.WxErrorException;
|
import me.chanjar.weixin.mp.api.WxMpService;
|
import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.io.UnsupportedEncodingException;
|
import java.net.URLEncoder;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
@RestController
|
@Slf4j
|
@RequestMapping("")
|
public class WinxinController {
|
|
@Autowired
|
private WxMpService wxMpService;
|
|
@Autowired
|
private IDriverService driverService;
|
|
@ResponseBody
|
@PostMapping("/api/wx/getOpenId")
|
@ApiOperation(value = "获取最新openId", tags = {"司机端-个人中心"}, notes = "")
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
|
@ApiImplicitParam(value = "code", name = "code", required = true, dataType = "String"),
|
})
|
public ResultUtil getOpenId(@RequestParam String code, HttpServletRequest request) {
|
try {
|
Integer uid = driverService.getUserIdFormRedis(request);
|
if (ToolUtil.isEmpty(code)) {
|
return ResultUtil.error("参数为空");
|
}
|
// //未登录过获取openId进行授权
|
// String openID = null;
|
// WxMpOAuth2AccessToken accessToken = wxMpService.oauth2getAccessToken(code);
|
// openID = accessToken.getOpenId();
|
Driver driver = driverService.selectById(uid);
|
driver.setAppletsOpenId(code);
|
driverService.updateById(driver);
|
return ResultUtil.success();
|
} catch (Exception e) {
|
e.printStackTrace(); //尽量不要使用这个打印异常,会造成内存锁,使用log日志就
|
return ResultUtil.error("获取openID异常");
|
}
|
|
}
|
}
|