package org.springblade.code.controller; import com.alibaba.fastjson.JSONObject; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; import com.vci.mdm.dto.datapush.result.ResultJsonDTO; import com.vci.mdm.dto.datapush.result.ResultNodeDataDTO; import com.vci.mdm.dto.datapush.result.ResultNodeObjectDTO; import com.vci.mdm.service.UniversalInterfaceI; import com.vci.starter.web.annotation.controller.VciUnCheckRight; import com.vci.starter.web.annotation.controller.VciUnUseResponseAdvice; import org.slf4j.Logger; import org.slf4j.LoggerFactory; 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 java.util.Arrays; /** * 主题库分类控制器 * * @author weidy * @date 2022-01-20 */ @RestController @VciUnCheckRight @RequestMapping("/codeSyncUniversalControoler") public class CodeApplySyncController { /** * 日志 */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * 接口集成服务 */ @Autowired private UniversalInterfaceI universalInterface; /**** * 申请接口 * @param dataString 属性信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @VciUnCheckRight @VciUnUseResponseAdvice @PostMapping("/applyCode") public String applyCode(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) { String result=""; try { result = universalInterface.applyCode(dataString, dataType); }catch (Throwable e){ e.printStackTrace(); logger.error("applyCode->"+e.getMessage()); } return result; } /**** * 更新/删除/状态接口 * @param dataString 属性信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @VciUnCheckRight @VciUnUseResponseAdvice @PostMapping("/syncData") public String syncData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) { String result=""; try { result= universalInterface.syncEditData(dataString,dataType); }catch (Throwable e){ e.printStackTrace();; logger.error("syncData->"+e.getMessage()); } return result; } /**** * 查询分类口 * @param dataString 属性信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @VciUnCheckRight @VciUnUseResponseAdvice @PostMapping("/queryClassify") public String queryClassify(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) throws Throwable { String result=""; try { result = universalInterface.queryClassify(dataString, dataType); }catch (Throwable e){ e.printStackTrace(); logger.error("queryClassify->"+e.getMessage()); } return result; } /**** * 查询分类口 * @param dataString 属性信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @VciUnCheckRight @VciUnUseResponseAdvice @PostMapping("/queryData") public String queryData(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType) throws Throwable { String result=""; try { result= universalInterface.queryData(dataString,dataType); }catch (Throwable e){ e.printStackTrace(); logger.error("queryData->"+e.getMessage()); } return result; } /**** * 查询分类口 * @param dataString 属性信息 * @param dataType 数据格式类型 * @return * @throws Throwable */ @VciUnCheckRight @VciUnUseResponseAdvice @PostMapping("/testPushData") public String testPushData(@RequestParam("dataString")String dataString, @RequestParam("dataType")String dataType) throws Throwable { String result=""; ResultJsonDTO resultJsonDTO=new ResultJsonDTO(); ResultNodeDataDTO resultNodeDataDTO =new ResultNodeDataDTO(); ResultNodeObjectDTO resultNodeObjectDTO=new ResultNodeObjectDTO(); resultNodeObjectDTO.setCode("01001"); resultNodeObjectDTO.setOid("0001"); resultNodeObjectDTO.setMsg("测试成功"); resultNodeObjectDTO.setErroid("0"); resultNodeDataDTO.setObject(Arrays.asList(resultNodeObjectDTO)); if(dataType.equalsIgnoreCase("json")){ resultJsonDTO.setData(resultNodeDataDTO); Object object = JSONObject.toJSON(resultJsonDTO); result = object.toString(); }else{ //组织返回接口信息 XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(ResultNodeDataDTO.class); xStream.autodetectAnnotations(true); String results=xStream.toXML(resultNodeDataDTO); result ="\n" + results; } //result="\"\\n \\n\""; //组织返回接口信息 /* XStream xStream = new XStream(new DomDriver()); xStream.processAnnotations(ResultNodeDataDTO.class); xStream.autodetectAnnotations(true); ResultNodeDataDTO resultNodeDataDTOs = (ResultNodeDataDTO) xStream.fromXML(result); resultJsonDTO.setData(resultNodeDataDTO);*/ return result; } }