1
luodangjia
2025-01-21 5572e46e5bd1acd8ddd819f4105d6feb30eb2552
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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();
    }
}