Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -1,14 +1,23 @@
package com.vci.ubcs.code.controller;
import com.vci.ubcs.code.service.CodeMdmInfaceI;
import com.vci.ubcs.code.service.UniversalInterfaceI;
import com.vci.ubcs.code.vo.webserviceModel.mdm.MDMData;
import com.vci.ubcs.code.vo.webserviceModel.mdm.MDMParamData;
import com.vci.ubcs.code.vo.webserviceModel.mdm.MdmResultData;
import com.vci.ubcs.code.vo.webserviceModel.person.PersonData;
import com.vci.ubcs.code.vo.webserviceModel.person.ResultOrgData;
import org.apache.tools.ant.taskdefs.condition.Http;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springblade.core.tool.api.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.Context;
import java.util.concurrent.ConcurrentHashMap;
/**
 * 主题库分类控制器
@@ -19,26 +28,36 @@
@RestController
@RequestMapping("/codeSyncUniversalController")
public class CodeSyncUniversalController {
   /**
    * 日志
    */
   private Logger logger = LoggerFactory.getLogger(getClass());
   /**
    * 接口集成服务
    */
   @Autowired
   private UniversalInterfaceI universalInterfaceI;
   /**
    * 接口集成服务
    */
   @Autowired
   private CodeMdmInfaceI codeMdmInfaceI;
   /****
    * 申请接口
    * @param dataString 属性信息
    * @param dataString 数据信息
    * @param dataType 数据格式类型
    * @return
    * @throws Throwable
    */
   @PostMapping("/applyCode")
   public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType)  {
   public String applyCode(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType, HttpServletRequest request)  {
      String result="";
      try {
         this.setHttpToThreadLocal(request);
         result = universalInterfaceI.applyCode(dataString, dataType);
      }catch (Throwable e){
         e.printStackTrace();
@@ -46,37 +65,39 @@
      }
      return result;
   }
   /****
    * 更新/删除/状态接口
    * @param dataString 属性信息
    * @param dataString 数据信息
    * @param dataType 数据格式类型
    * @return
    * @throws Throwable
    */
   @PostMapping("/syncData")
   public String syncData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType)  {
   public String syncData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request)  {
      String result="";
      try {
         this.setHttpToThreadLocal(request);
         result= universalInterfaceI.syncEditData(dataString,dataType);
      }catch (Throwable e){
         e.printStackTrace();;
         e.printStackTrace();
         logger.error("syncData->"+e.getMessage());
      }
      return result;
   }
   /****
    * 查询分类口
    * @param dataString 属性信息
    * @param dataString 数据信息
    * @param dataType 数据格式类型
    * @return
    * @throws Throwable
    */
   @PostMapping("/queryClassify")
   public String queryClassify(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) throws Throwable {
   public String queryClassify(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request) throws Throwable {
      String result="";
      try {
         this.setHttpToThreadLocal(request);
         result = universalInterfaceI.queryClassify(dataString, dataType);
      }catch (Throwable e){
         e.printStackTrace();
@@ -87,15 +108,16 @@
   /****
    * 查询分类口
    * @param dataString 属性信息
    * @param dataString 数据信息
    * @param dataType 数据格式类型
    * @return
    * @throws Throwable
    */
   @PostMapping("/queryData")
   public String queryData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) throws Throwable {
   public String queryData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request) throws Throwable {
      String result="";
      try {
         this.setHttpToThreadLocal(request);
         result= universalInterfaceI.queryData(dataString,dataType);
      }catch (Throwable e){
         e.printStackTrace();
@@ -106,15 +128,16 @@
   /****
    * 查询规则
    * @param dataString 属性信息
    * @param dataString 数据信息
    * @param dataType 数据格式类型
    * @return
    * @throws Throwable
    */
   @PostMapping("/queryClassifyRule")
   public String queryClassifyRule(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) throws Throwable {
   public String queryClassifyRule(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request) throws Throwable {
      String result="";
      try {
         this.setHttpToThreadLocal(request);
         result= universalInterfaceI.queryClassifyRule(dataString,dataType);
      }catch (Throwable e){
         e.printStackTrace();
@@ -123,4 +146,91 @@
      return result;
   }
   /****
    * 标准化申请接口
    * @param dataString 数据信息
    * @param dataType 数据格式类型
    * @return
    * @throws Throwable
    */
   @PostMapping("/applyCodeForBZ")
   public String applyCodeForBZ(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request){
      String result="";
      try {
         this.setHttpToThreadLocal(request);
         result= universalInterfaceI.applyCodeForBZ(dataString,dataType);
      }catch (Throwable e){
         e.printStackTrace();
         logger.error("queryData->"+e.getMessage());
      }
      return result;
   }
   /****
    * 人员集成接口
    * @param personData 数据信息
    * @return
    * @throws Throwable
    */
   @PostMapping("/syncDataForPerson")
   public ResultOrgData syncDataForPerson(@RequestBody PersonData personData,HttpServletRequest request){
      this.setHttpToThreadLocal(request);
      ResultOrgData result = new ResultOrgData();
      try {
         result= universalInterfaceI.syncDataForPerson(personData);
      }catch (Throwable e){
         e.printStackTrace();
         logger.error("ResultOrgData->"+e.getMessage());
      }
      return result;
   }
   /**
    * 接受MDM产品分发数据
    * @param mdmParamData
    * @param request
    * @return
    */
   @PostMapping("/syncDataForProduct")
   public MdmResultData syncDataForProduct(@RequestBody MDMParamData mdmParamData,HttpServletRequest request){
      //this.setHttpToThreadLocal(request);
      ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>();
      threadLocal.set(request);
      codeMdmInfaceI.setThreadLocal(threadLocal);
      MdmResultData result = new MdmResultData();
      try {
         result= codeMdmInfaceI.syncDataForMDM(mdmParamData,"CPXH","CPXH");
      }catch (Throwable e){
         e.printStackTrace();
         logger.error("ResultOrgData->"+e.getMessage());
      }
      return result;
   }
   /**
    * 设置request,到ThreadLocal中
    * @param request
    */
   public void setHttpToThreadLocal(HttpServletRequest request){
      ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>();
      threadLocal.set(request);
      universalInterfaceI.setThreadLocal(threadLocal);
      //codeMdmInfaceI.setThreadLocal(threadLocal);
   }
   /***
    *
    * @param mdmData
    * @param request
    * @return
    */
   @PostMapping("/test")
   public String test(@RequestBody MDMData mdmData, HttpServletRequest request){
      System.out.println("");
      return "";
   }
}