package com.vci.ubcs.code.controller; import com.vci.ubcs.code.service.UniversalInterfaceI; 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 javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.core.Context; import java.util.concurrent.ConcurrentHashMap; /** * 主题库分类控制器 * * @author xiejun * @date 2022-01-20 */ @RestController @RequestMapping("/codeSyncUniversalController") public class CodeSyncUniversalController { /** * 日志 */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * 接口集成服务 */ @Autowired private UniversalInterfaceI universalInterfaceI; /**** * 申请接口 * @param dataString 数据信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @PostMapping("/applyCode") 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(); logger.error("applyCode->"+e.getMessage()); } return result; } /**** * 更新/删除/状态接口 * @param dataString 数据信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @PostMapping("/syncData") 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(); logger.error("syncData->"+e.getMessage()); } return result; } /**** * 查询分类口 * @param dataString 数据信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @PostMapping("/queryClassify") 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(); logger.error("queryClassify->"+e.getMessage()); } return result; } /**** * 查询分类口 * @param dataString 数据信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @PostMapping("/queryData") 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(); logger.error("queryData->"+e.getMessage()); } return result; } /**** * 查询规则 * @param dataString 数据信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @PostMapping("/queryClassifyRule") 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(); logger.error("queryData->"+e.getMessage()); } 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; } /** * 设置request,到ThreadLocal中 * @param request */ public void setHttpToThreadLocal(HttpServletRequest request){ ThreadLocal threadLocal = new ThreadLocal<>(); threadLocal.set(request); universalInterfaceI.setThreadLocal(threadLocal); } /*** * * @param dataString * @param dataType * @param request * @return */ @PostMapping("/test") public String test(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType,HttpServletRequest request){ String result="{\"data\": {\"object\": {\"code\": \"0201040133\",\"oid\": \"0000001\",\"erroid\": \"0\",\"msg\": \"测试成功\"}}}"; return result; } }