package com.ym.mec.web.controller.education;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.ym.mec.auth.api.client.SysUserFeignService;
import com.ym.mec.auth.api.entity.SysUser;
import com.ym.mec.biz.dal.entity.CooperationOrgan;
import com.ym.mec.biz.dal.entity.Organization;
import com.ym.mec.biz.service.CooperationOrganService;
import com.ym.mec.biz.service.OrganizationService;
import com.ym.mec.common.controller.BaseController;
import com.ym.mec.common.entity.HttpResponseResult;

@RequestMapping("eduOrganization")
@Api(tags = "分部服务")
@RestController
public class EduOrganizationController extends BaseController {

    @Autowired
    private OrganizationService organizationService;
    @Autowired
    private CooperationOrganService cooperationOrganService;
    
	@Autowired
	private SysUserFeignService sysUserFeignService;

    @ApiOperation(value = "获取员工所在分部列表")
    @GetMapping("/queryAllOrgan")
    public HttpResponseResult<List<Organization>> queryAllOrgan() throws Exception {

		SysUser sysUser = sysUserFeignService.queryUserInfo();
		if(sysUser == null || sysUser.getId() == null){
	    	Integer tenantId = 1;
	        return succeed(organizationService.queryAllOrganWithNoAuth(tenantId));
		}else{
			String organIds = organizationService.getEmployeeOrgan(sysUser.getId(), "", sysUser.getIsSuperAdmin());
	        return succeed(organizationService.queryEmployeeOrgan(organIds));
		}
    	
    }

    @ApiOperation(value = "获取员工所在分部列表")
    @GetMapping("/queryEmployeeOrgan")
    public HttpResponseResult<List<Organization>> queryEmployeeOrgan() throws Exception {
        return succeed(organizationService.queryEmployeeOrgan());
    }

    @ApiOperation(value = "根据分部id获取合作单位(学校)列表")
    @GetMapping("/getOrganCooperation")
    public HttpResponseResult<List<CooperationOrgan>> getOrganCooperation(String organId) {
        return succeed(cooperationOrganService.queryByOrganId(organId));
    }
}
