package com.vci.ubcs.code.controller;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.nacos.shaded.com.google.gson.JsonObject;
|
import com.vci.ubcs.code.service.UniversalInterfaceI;
|
import com.vci.ubcs.code.vo.webserviceModel.person.*;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springblade.core.tool.utils.Func;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.util.List;
|
|
/**
|
* 申请人员部门控制器
|
*
|
* @author xiejun
|
* @date 2023-09-06
|
*/
|
@RestController
|
@RequestMapping("/codeApplyOrgPersonController")
|
public class CodeApplyOrgPersonController {
|
|
/**
|
* 日志
|
*/
|
private Logger logger = LoggerFactory.getLogger(getClass());
|
|
/**
|
* 接口集成服务
|
*/
|
@Autowired
|
private UniversalInterfaceI universalInterfaceI;
|
|
/****
|
* 人员数据同步
|
* @param personDataVO
|
* @return
|
* @throws Throwable
|
*/
|
@PostMapping("/syncDataForPerson")
|
public ResultOrgData syncDataForPerson(@RequestBody PersonDataVO personDataVO, HttpServletRequest request) {
|
this.setHttpToThreadLocal(request);
|
try {
|
PersonData personData = new PersonData();
|
Func.copy(personDataVO,personData);
|
List<PersonMasterData> personMasterData = JSONObject.parseArray(personDataVO.getMasterData(), PersonMasterData.class);
|
personData.setMasterData(personMasterData);
|
return universalInterfaceI.syncDataForPerson(personData);
|
}catch (Throwable e){
|
e.printStackTrace();
|
logger.error("applyCodeForPerson->"+e.getMessage());
|
return new ResultOrgData();
|
}
|
}
|
|
/****
|
* 部门数据同步
|
* @param orgDataVO 部门数据
|
* @return
|
* @throws Throwable
|
*/
|
@PostMapping("/syncDataForOrg")
|
public ResultOrgData syncDataForOrg(@RequestBody OrgDataVO orgDataVO, HttpServletRequest request) {
|
this.setHttpToThreadLocal(request);
|
try {
|
OrgData orgData = new OrgData();
|
Func.copy(orgDataVO,orgData);
|
List<OrgMasterData> orgMasterData = JSONObject.parseArray(orgDataVO.getMasterData(), OrgMasterData.class);
|
orgData.setMasterData(orgMasterData);
|
return universalInterfaceI.syncDataForOrg(orgData);
|
}catch (Throwable e){
|
e.printStackTrace();
|
logger.error("applyCodeForOrg->"+e.getMessage());
|
return new ResultOrgData();
|
}
|
}
|
|
/**
|
* 设置request,到ThreadLocal中
|
* @param request
|
*/
|
public void setHttpToThreadLocal(HttpServletRequest request){
|
ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>();
|
threadLocal.set(request);
|
universalInterfaceI.setThreadLocal(threadLocal);
|
}
|
|
}
|