package com.vci.ubcs.code.controller; import com.alibaba.fastjson.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 = 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 = 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 threadLocal = new ThreadLocal<>(); threadLocal.set(request); universalInterfaceI.setThreadLocal(threadLocal); } }