package com.doumee.api.web; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.Jwt.JwtPayLoad; import com.doumee.core.Jwt.JwtTokenUtil; import com.doumee.core.annotation.LoginRequired; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.constants.Constants; import com.doumee.core.model.ApiResponse; import com.doumee.core.wx.WxMiniUtilService; import com.doumee.dao.business.model.Locks; import com.doumee.dao.business.web.request.RegisterRequest; import com.doumee.dao.business.web.request.WxPhoneRequest; import com.doumee.dao.business.web.response.AccountResponse; import com.doumee.dao.business.web.response.UserResponse; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.MemberService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2023/5/5 16:02 */ @Api(tags = "1、登录业务") @Trace(exclude = true) @RestController @RequestMapping("/web/account") @Slf4j public class AccountApi extends ApiController{ @Autowired private MemberService memberService; @Autowired private WxMiniUtilService wxMiniUtilService; @Autowired private SystemDictDataBiz systemDictDataBiz; // @ApiOperation(value = "用户注册", notes = "小程序端") // @PostMapping("/userRegister") // public ApiResponse userRegister(@RequestBody RegisterRequest registerRequest) { // return ApiResponse.success("操作成功",memberService.userRegister(registerRequest)); // } // // @Trace // @LoginRequired // @ApiOperation(value = "微信授权(登录后)", notes = "小程序端") // @GetMapping("/wxEmpower") // @ApiImplicitParams({ // @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), // @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "微信code", required = true) // }) // public ApiResponse wxEmpower(@RequestParam String code) { // memberService.wxEmpower(code,getMemberId()); // return ApiResponse.success("操作成功"); // } @Trace @ApiOperation(value = "微信授权", notes = "小程序端") @GetMapping("/wxLogin") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "微信code", required = true) }) public ApiResponse wxLogin(@RequestParam String code) { return ApiResponse.success("操作成功",memberService.wxLogin(code)); } public static void main(String[] args) { JwtPayLoad payLoad = new JwtPayLoad("07a9f07178864e57bf1fb34e7a321f08"); System.out.println(JwtTokenUtil.generateToken(payLoad)); } @LoginRequired @ApiOperation(value = "解析微信手机号", notes = "小程序端") @PostMapping("/wxPhone") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true) }) public ApiResponse wxPhone(@RequestBody WxPhoneRequest wxPhoneRequest) { wxPhoneRequest.setMemberId(getMemberId()); return ApiResponse.success("操作成功",memberService.wxPhone(wxPhoneRequest)); } @LoginRequired @ApiOperation(value = "获取用户信息", notes = "小程序端") @GetMapping("/getUserInfo") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), }) public ApiResponse getUserInfo() { UserResponse userResponse = memberService.getUserInfo(getMemberId()); return ApiResponse.success("查询成功",userResponse); } @ApiOperation(value = "测试生成二维码", notes = "小程序端") @GetMapping("/generateWXMiniCode") public ApiResponse generateWXMiniCode() { Locks locks = new Locks(); locks.setCode(12); locks.setSiteId("1005"); SystemDictData systemDictData = systemDictDataBiz.queryByCode(Constants.MINI_PROGRAMME,Constants.ACCESS_TOKEN); wxMiniUtilService.generateWXMiniCode(locks,systemDictData); return ApiResponse.success("操作成功",locks); } }