package com.ruoyi.company.controller.front;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.ruoyi.common.core.domain.R;
|
import com.ruoyi.common.core.utils.bean.BeanUtils;
|
import com.ruoyi.common.security.annotation.InnerAuth;
|
import com.ruoyi.common.security.utils.SecurityUtils;
|
import com.ruoyi.company.api.domain.User;
|
import com.ruoyi.company.api.domain.dto.MgtCompanyDTO;
|
import com.ruoyi.company.api.model.RegisterUser;
|
import com.ruoyi.company.api.model.UpdatePassword;
|
import com.ruoyi.company.api.model.UserDetail;
|
import com.ruoyi.company.service.CompanyService;
|
import com.ruoyi.company.service.UserService;
|
import com.ruoyi.system.api.model.AppUser;
|
import io.swagger.v3.oas.annotations.Operation;
|
import lombok.RequiredArgsConstructor;
|
import lombok.experimental.StandardException;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.time.LocalDateTime;
|
|
@RestController
|
@RequestMapping("/front/user")
|
@RequiredArgsConstructor(onConstructor_ = {@Lazy})
|
public class UserController {
|
private final UserService userService;
|
private final CompanyService companyService;
|
|
@PostMapping("/register")
|
public R register(@RequestBody MgtCompanyDTO mgtCompanyDTO) {
|
companyService.saveCompany(mgtCompanyDTO);
|
return R.ok();
|
}
|
|
@GetMapping("/getUserDetail")
|
@Operation(summary = "获取用户详情",tags = {"企业端"})
|
public R<UserDetail> getUserDetail() {
|
AppUser appLoginUser = SecurityUtils.getAppLoginUser();
|
User user = userService.getById(appLoginUser.getUserId());
|
UserDetail userDetail = new UserDetail();
|
BeanUtils.copyProperties(user, userDetail);
|
return R.ok(userDetail);
|
}
|
|
@GetMapping("/getUserByAccountName")
|
@InnerAuth
|
public R<User> getUserByAccountName(String accountName) {
|
return R.ok(userService.getOne(new LambdaQueryWrapper<User>()
|
.eq(User::getAccountName,accountName)));
|
}
|
|
@GetMapping("/getUserByPhone")
|
@InnerAuth
|
public R<User> getUserByPhone(String phone){
|
return R.ok(userService.getOne(new LambdaQueryWrapper<User>()
|
.eq(User::getPhone,phone)));
|
}
|
|
@PutMapping("/updateUser")
|
@InnerAuth
|
public R<Void> updateUser(@RequestBody User user){
|
user.setUpdateTime(LocalDateTime.now());
|
userService.updateById(user);
|
return R.ok();
|
}
|
|
/**
|
* 编辑联系人信息
|
*/
|
@PutMapping("/updateUserDetail")
|
@Operation(summary = "编辑联系人信息",tags = {"企业端"})
|
public R<Void> updateUserDetail(@RequestBody UserDetail userDetail) {
|
User user = userService.getById(userDetail.getUserId());
|
BeanUtils.copyProperties(userDetail, user);
|
userService.updateById(user);
|
return R.ok();
|
}
|
|
/**
|
* 修改密码
|
*/
|
@PutMapping("/updatePassword")
|
@Operation(summary = "修改密码",tags = {"企业端"})
|
public R<Void> updatePassword(@RequestBody UpdatePassword updatePassword) {
|
AppUser appLoginUser = SecurityUtils.getAppLoginUser();
|
User user = userService.getById(appLoginUser.getUserId());
|
String oldPassword = SecurityUtils.encryptPassword(updatePassword.getOldPassword());
|
if (!user.getPassword().equals(oldPassword)) {
|
return R.fail("旧密码错误");
|
}
|
if (!updatePassword.getNewPassword().equals(updatePassword.getConfirmPassword())){
|
return R.fail("两次密码不一致");
|
}
|
user.setPassword(SecurityUtils.encryptPassword(updatePassword.getNewPassword()));
|
userService.updateById(user);
|
return R.ok();
|
}
|
}
|