| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package com.cyksj.web.controller.advertisement;
- import com.cyksj.common.exception.BusinessRuntimeException;
- import com.cyksj.dto.Result;
- import com.cyksj.enums.GatewayResponse;
- import com.cyksj.model.dto.UserWhoami;
- import com.cyksj.model.entity.AdvertisementUser;
- import com.cyksj.model.request.MiniProgramLoginPost;
- import com.cyksj.service.advertisement.AdvertisementUserService;
- import com.cyksj.web.util.StpUserUtil;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.lang3.StringUtils;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.bind.annotation.*;
- /**
- * @author chan
- * @date 2023/5/16 11:49 AM
- */
- @Slf4j
- @RequiredArgsConstructor
- @RestController
- @RequestMapping("/applets/advertisement/user")
- public class AdvertisementUserController {
- private final AdvertisementUserService advertisementUserService;
- /**
- * 小程序静默授权
- */
- @PostMapping(value = "/login")
- @Transactional(rollbackFor = Exception.class)
- public Result<String> wxlogin(@RequestBody MiniProgramLoginPost miniDataParams) throws Exception{
- String methodName = "小程序静默授权";
- log.info("{}[start] params:{}",methodName,miniDataParams);
- if (StringUtils.isBlank(miniDataParams.getCode())) {
- throw BusinessRuntimeException.getInstance("需要登录凭证code.");
- }
- final String code = miniDataParams.getCode();
- // 用户token
- AdvertisementUser user = advertisementUserService.wxlogin(code,miniDataParams.getAppId());
- StpUserUtil.login(user.getId());
- log.info("{}[end] uuid:{}",methodName, user.getId());
- return GatewayResponse.SUCCESS.newBuilder().toResult(StpUserUtil.getTokenValue());
- }
- @GetMapping(value = "/whoami")
- public Result<UserWhoami> whoami(){
- AdvertisementUser user = advertisementUserService.getById(StpUserUtil.getLoginIdAsLong());
- UserWhoami userWhoami = advertisementUserService.whoami(user.getId());
- return GatewayResponse.SUCCESS.newBuilder().toResult(userWhoami);
- }
- }
|