2025-06-16 16:05:36 +08:00

83 lines
2.6 KiB
Java

package com.example.caseData.controller;
import com.example.caseData.common.Response;
import com.example.caseData.config.EnvConfig;
import com.example.caseData.dto.publicDto.GetOssSignDto;
import com.example.caseData.dto.publicDto.LoginDto;
import com.example.caseData.dto.user.UserDto;
import com.example.caseData.extend.aliyun.Oss;
import com.example.caseData.request.publicRequest.GetOssSignRequest;
import com.example.caseData.request.publicRequest.LoginHcpRequest;
import com.example.caseData.request.publicRequest.LoginRequest;
import com.example.caseData.request.UserRequest.UserRequest;
import com.example.caseData.service.UserService;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
@RestController
@RequestMapping("/api")
public class PublicController {
@Resource
private UserService userService;
@Resource
private HttpServletRequest httpServletRequest;
@Resource
private EnvConfig envConfig;
// 登陆
@PostMapping("/login/wechat/mobile")
public Response<LoginDto> loginWechatMobile(@Validated({LoginRequest.Login.class}) @ModelAttribute LoginRequest request) {
// 微信手机号授权登录
// 获取手机号
// 获取用户openid
// 临时测试使用
String phone = "18221234167";
// 用户登陆
LoginDto g = userService.UserLoginWithMobile(phone);
return Response.success(g);
}
// 登陆
@PostMapping("/login/hcp")
public Response<LoginDto> loginHcp(@Validated() @ModelAttribute LoginHcpRequest request) {
// 用户登陆
LoginDto g = userService.UserLoginWithApp(request.getToken());
return Response.success(g);
}
// 获取签名
@GetMapping("/sign/oss")
public Response<GetOssSignDto> GetOssSign(
@Validated()
@ModelAttribute GetOssSignRequest request
) {
String userId = (String) httpServletRequest.getAttribute("userId");
String ossPath = "dev/";
if (Objects.equals(envConfig.getActive(), "prod")){
ossPath = "prod/";
}
if (request.getScene() == 1){
ossPath = ossPath + "static/images/exchange/";
}else if (request.getScene() == 2){
ossPath = ossPath + "static/video/exchange/";
}else{
return Response.error();
}
// 生成签名
GetOssSignDto g = Oss.getOssSign(ossPath);
return Response.success(g);
}
}