83 lines
2.6 KiB
Java
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);
|
|
}
|
|
}
|