You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
7.0 KiB
189 lines
7.0 KiB
package com.teaching.backend.controller.umsAdmin; |
|
|
|
import com.teaching.backend.common.CommonResult; |
|
import com.teaching.backend.common.BaseResponse; |
|
import com.teaching.backend.common.ResultUtils; |
|
import com.teaching.backend.model.dto.umsAdmin.UmsUserParam; |
|
import com.teaching.backend.model.dto.umsAdmin.UpdateUserPasswordParam; |
|
import com.teaching.backend.model.dto.umsAdmin.UmsStudentAndTeacherDTO; |
|
import com.teaching.backend.model.entity.umsAdmin.UmsUser; |
|
import com.teaching.backend.model.vo.courses.TeacherInfVO; |
|
import com.teaching.backend.service.umsAdmin.UmsUserService; |
|
import com.teaching.backend.service.umsAdmin.UmsRoleService; |
|
import io.swagger.annotations.Api; |
|
import io.swagger.annotations.ApiOperation; |
|
import lombok.extern.slf4j.Slf4j; |
|
import org.springframework.beans.factory.annotation.Autowired; |
|
import org.springframework.beans.factory.annotation.Value; |
|
import org.springframework.validation.annotation.Validated; |
|
import org.springframework.web.bind.annotation.*; |
|
import javax.servlet.http.HttpServletRequest; |
|
import java.security.Principal; |
|
import java.util.HashMap; |
|
import java.util.List; |
|
import java.util.Map; |
|
|
|
|
|
/** |
|
* @Author:xhn |
|
* @Date:2024-05-30-18:15 |
|
* @Description:login |
|
*/ |
|
@RestController |
|
@Api(tags = "UmsAdminController") |
|
@RequestMapping("/api/user") |
|
@Slf4j |
|
public class UmsUserController { |
|
@Value("${jwt.tokenHeader}") |
|
private String tokenHeader; |
|
@Value("${jwt.tokenHead}") |
|
private String tokenHead; |
|
@Autowired |
|
private UmsUserService umsUserService; |
|
@Autowired |
|
private UmsRoleService umsRoleService; |
|
|
|
|
|
@ApiOperation(value = "用户注册") |
|
@PostMapping("/register") |
|
public CommonResult<UmsUser> register(@Validated @RequestBody UmsUserParam umsUserParam) { |
|
if (umsUserParam == null) { |
|
return CommonResult.failed(); |
|
} |
|
UmsUser umsUser = umsUserService.register(umsUserParam); |
|
return CommonResult.success(umsUser); |
|
} |
|
|
|
@ApiOperation(value = "用户名登录以后返回token") |
|
@PostMapping("/login") |
|
public CommonResult login(@Validated @RequestBody UmsUser umsUser) { |
|
String token = umsUserService.login(umsUser.getUsername(), umsUser.getPassword()); |
|
if (token == null) { |
|
return CommonResult.validateFailed("用户名或密码错误"); |
|
} |
|
Map<String, String> tokenMap = new HashMap<>(); |
|
tokenMap.put("token", token); |
|
tokenMap.put("tokenHead", tokenHead); |
|
return CommonResult.success(tokenMap); |
|
} |
|
|
|
@ApiOperation(value = "手机号登录以后返回token") |
|
@PostMapping("/phone/login") |
|
public CommonResult phoneLogin(@RequestParam("phone")String phone) { |
|
String token = umsUserService.phoneLogin(phone); |
|
if (token == null) { |
|
return CommonResult.validateFailed("手机号不存在!"); |
|
} |
|
Map<String, String> tokenMap = new HashMap<>(); |
|
tokenMap.put("token", token); |
|
tokenMap.put("tokenHead", tokenHead); |
|
return CommonResult.success(tokenMap); |
|
} |
|
|
|
/** |
|
* 发送短信 |
|
* @param phone |
|
* @return |
|
*/ |
|
@ApiOperation(value = "发送短信返回验证码") |
|
@PostMapping("/code") |
|
public CommonResult<String> sendVerifyCode(@RequestParam("phone")String phone){ |
|
return CommonResult.success(umsUserService.sendVerifyCode(phone)); |
|
} |
|
|
|
@ApiOperation(value = "手机号注册") |
|
@PostMapping("/phone/register") |
|
public CommonResult<UmsUser> phoneRegister(@Validated @RequestBody UmsUserParam umsAdminParam) { |
|
if (umsAdminParam == null) { |
|
return CommonResult.failed(); |
|
} |
|
UmsUser umsUser = umsUserService.phoneRegister(umsAdminParam); |
|
return CommonResult.success(umsUser); |
|
} |
|
|
|
@ApiOperation(value = "刷新token") |
|
@GetMapping("/refreshToken") |
|
public CommonResult refreshToken(HttpServletRequest request) { |
|
String token = request.getHeader(tokenHeader); |
|
String refreshToken = umsUserService.refreshToken(token); |
|
if (refreshToken == null) { |
|
return CommonResult.failed("token已经过期!"); |
|
} |
|
Map<String, String> tokenMap = new HashMap<>(); |
|
tokenMap.put("token", refreshToken); |
|
tokenMap.put("tokenHead", tokenHead); |
|
return CommonResult.success(tokenMap); |
|
} |
|
|
|
|
|
@ApiOperation(value = "获取当前登录用户信息") |
|
@GetMapping ("/info") |
|
public CommonResult getAdminInfo(Principal principal) { |
|
if(principal == null){ |
|
return CommonResult.unauthorized("用户名为空"); |
|
} |
|
String username = principal.getName(); |
|
UmsUser umsUser = umsUserService.getUserByUsername(username); |
|
Map<String, Object> data = new HashMap<>(); |
|
data.put("id",umsUser.getId()); |
|
data.put("username", umsUser.getUsername()); |
|
data.put("permissions", umsRoleService.getPermissionList(umsUser.getRoleId())); |
|
data.put("phone", umsUser.getPhone()); |
|
data.put("nickName", umsUser.getNickName()); |
|
data.put("icon", umsUser.getIcon()); |
|
data.put("roles",umsRoleService.getRoleList(umsUser.getRoleId())); |
|
return CommonResult.success(data); |
|
} |
|
|
|
@ApiOperation("修改指定用户信息") |
|
@PostMapping("/update") |
|
public CommonResult updateUms(@RequestBody UmsUser umsUser) { |
|
boolean count = umsUserService.updateUms(umsUser); |
|
if (count == true) { |
|
return CommonResult.success(count); |
|
} |
|
return CommonResult.failed(); |
|
} |
|
|
|
@ApiOperation("修改指定用户密码") |
|
@PostMapping("/updatePassword") |
|
public CommonResult updatePassword(@Validated @RequestBody UpdateUserPasswordParam updatePasswordParam) { |
|
int status = umsUserService.updatePassword(updatePasswordParam); |
|
if (status == 1) { |
|
return CommonResult.success(status); |
|
} else { |
|
return CommonResult.failed(); |
|
} |
|
} |
|
|
|
@ApiOperation("获取指定个人信息") |
|
@PostMapping("/personal/info") |
|
public CommonResult getByIdPersonalInfo(@RequestParam String id) { |
|
if (id == null){ |
|
return CommonResult.failed("参数为空"); |
|
} |
|
Object count = umsUserService.getByIdPersonalInfo(id); |
|
if (count == null) { |
|
return CommonResult.failed(); |
|
} |
|
return CommonResult.success(count); |
|
} |
|
|
|
@ApiOperation("修改指定个人信息") |
|
@PostMapping("/update/PersonalInfo") |
|
public CommonResult updatePersonalInfo(@RequestBody UmsStudentAndTeacherDTO umsStudentAndTeacherDTO) { |
|
boolean count = umsUserService.updatePersonalInfo(umsStudentAndTeacherDTO); |
|
if (count == true) { |
|
return CommonResult.success("修改成功"); |
|
} |
|
return CommonResult.failed(); |
|
} |
|
|
|
@ApiOperation("获取教师信息列表,关联教师的username和name") |
|
@GetMapping("/get_teacherinf_list") |
|
public BaseResponse<List<TeacherInfVO>> getTeacherInfList(){ |
|
List<TeacherInfVO> teacherInfVO = umsUserService.getTeacherInfList(); |
|
return ResultUtils.success(teacherInfVO); |
|
} |
|
|
|
}
|
|
|