package com.product.org.admin.controller;
|
|
import com.product.core.config.CoreConst;
|
import com.product.core.controller.support.AbstractBaseController;
|
import com.product.core.entity.FieldSetEntity;
|
import com.product.core.entity.RequestParameterEntity;
|
import com.product.core.exception.BaseException;
|
import com.product.core.spring.context.SpringMVCContextHolder;
|
import com.product.module.sys.version.ApiVersion;
|
import com.product.org.admin.config.CmnCode;
|
import com.product.org.admin.config.SystemCode;
|
import com.product.org.admin.service.idel.IOrganizationService;
|
import com.product.util.BaseUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
* Copyright © 6c
|
*
|
* @Date: 2021-03-18 15:53
|
* @Author: 6c
|
* @Description:
|
*/
|
@RequestMapping("/api/organization")
|
@RestController
|
public class OrganizationController extends AbstractBaseController {
|
|
@Autowired
|
@Qualifier("organizationServiceV2")
|
private IOrganizationService organizationServiceV2;
|
|
@Autowired
|
@Qualifier("organizationService")
|
private IOrganizationService organizationService;
|
|
/**
|
* 获取组织架构
|
*
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "/get-organization/{version}", method = RequestMethod.POST)
|
@ApiVersion(1)
|
public String getOrganization(HttpServletRequest request) {
|
try {
|
FieldSetEntity fse = null;
|
Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
|
RequestParameterEntity rpe = (RequestParameterEntity) bean;
|
if (null != rpe && null != rpe.getFormData()) {
|
fse = rpe.getFormData();
|
}
|
if (fse == null) {
|
SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
|
return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
|
}
|
Object jsonArray = organizationService.getOrganization(fse);
|
return BaseUtil.success(jsonArray);
|
} catch (BaseException e) {
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(e.getCode(), e.getMessageInfo());
|
} catch (Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(CmnCode.GET_ORGANIZATION_FAIL);
|
}
|
}
|
|
/**
|
* 获取组织架构V2
|
*
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "/get-organization/{version}", method = RequestMethod.POST)
|
@ApiVersion(2)
|
public String getOrganizationV2(HttpServletRequest request) {
|
try {
|
FieldSetEntity fse = null;
|
Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
|
RequestParameterEntity rpe = (RequestParameterEntity) bean;
|
if (null != rpe && null != rpe.getFormData()) {
|
fse = rpe.getFormData();
|
}
|
if (fse == null) {
|
SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
|
return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
|
}
|
Object jsonArray = organizationServiceV2.getOrganization(fse);
|
return BaseUtil.success(jsonArray);
|
} catch (BaseException e) {
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(e.getCode(), e.getMessageInfo());
|
} catch (Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(CmnCode.GET_ORGANIZATION_FAIL);
|
}
|
}
|
|
/**
|
* 获取组织架构V3
|
*
|
* @param request
|
* @return
|
*/
|
@RequestMapping(value = "/get-organization/{version}", method = RequestMethod.POST)
|
@ApiVersion(3)
|
public String getOrganizationV3(HttpServletRequest request) {
|
try {
|
FieldSetEntity fse = null;
|
Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
|
RequestParameterEntity rpe = (RequestParameterEntity) bean;
|
if (null != rpe && null != rpe.getFormData()) {
|
fse = rpe.getFormData();
|
}
|
if (fse == null) {
|
SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
|
return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
|
}
|
Object jsonArray = organizationServiceV2.getOrganization(fse);
|
return BaseUtil.success(jsonArray);
|
} catch (BaseException e) {
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(e.getCode(), e.getMessageInfo());
|
} catch (Exception e) {
|
e.printStackTrace();
|
SpringMVCContextHolder.getSystemLogger().error(e);
|
return this.error(CmnCode.GET_ORGANIZATION_FAIL);
|
}
|
}
|
}
|