zss
2024-09-27 a14a26c04bc5863248b9a9d387610a143c3a4efd
user-server/src/main/java/com/yuanchu/mom/controller/CompaniesController.java
@@ -1,9 +1,18 @@
package com.yuanchu.mom.controller;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.yuanchu.mom.annotation.ValueAuth;
import com.yuanchu.mom.annotation.ValueClassify;
import com.yuanchu.mom.common.GetLook;
import com.yuanchu.mom.dto.PersonDto;
import com.yuanchu.mom.exception.ErrorException;
import com.yuanchu.mom.mapper.PowerMapper;
import com.yuanchu.mom.mapper.UserMapper;
import com.yuanchu.mom.pojo.Company;
import com.yuanchu.mom.pojo.Person;
import com.yuanchu.mom.pojo.Power;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.UserService;
import com.yuanchu.mom.util.HeaderToken;
import com.yuanchu.mom.vo.Result;
@@ -12,6 +21,7 @@
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
@RestController
@@ -24,11 +34,40 @@
    private UserService userService;
    UserMapper userMapper;
    PowerMapper powerMapper;
    private GetLook getLook;
    @ValueClassify("用户管理")
    @ApiOperation(value = "获取人事系统组织架构")
    @PostMapping("/getSampleUser")
    @ApiOperation(value = "查看指定部门的人事系统组织架构")
    public Result<?> getSampleUser(){
        return Result.success();
    }
    @ValueClassify("用户管理")
    @ApiOperation(value = "查看人事系统组织架构")
    @GetMapping(value = "/selectCompaniesList")
    public Result<List<Company>> selectCompaniesList() {
        return Result.success(headerToken.companyUrl());
        //判断是否有直接获取第三方部门的权限
        Integer userId = getLook.selectPowerByMethodAndUserId(null).get("userId");
        User user = userMapper.selectById(userId);
        Integer roleId = user.getRoleId();
        Power power = powerMapper.selectOne(Wrappers.<Power>lambdaQuery().eq(Power::getRoleId, roleId).eq(Power::getMenuMethod, "getSampleUser"));
        if (ObjectUtils.isNotEmpty(power)){
            List<Company> companies = new ArrayList<>();
            Company company = new Company();
            if (ObjectUtils.isEmpty(user.getCompany())){
                throw new ErrorException("该用户没有所属单位!");
            }
            company.setCompanyId(user.getCompany());
            companies.add(company);
            return Result.success(companies);
        }else {
            return Result.success(headerToken.companyUrl());
        }
    }
    @ValueAuth
@@ -45,4 +84,12 @@
        return Result.success(userService.addPersonUser(personDto));
    }
    @ValueAuth
    @ApiOperation("通过员工号获取员工")
    @PostMapping(value = "/selectPersonUser")
    public Result<?> selectPersonUser(String code) {
        Person person = headerToken.selectPersonUser(code);
        return Result.success(person);
    }
}