From c23e793aab1bee979cd9422949f3c648f35b074a Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 10 七月 2023 23:00:22 +0800 Subject: [PATCH] 关于集成接口管理模块的开发 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java | 7 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java | 60 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java | 32 + Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java | 561 +++++++++++++++++++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java | 4 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java | 194 +++++++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java | 11 Source/UBCS/ubcs-service/ubcs-code/pom.xml | 42 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java | 15 Source/UBCS/pom.xml | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java | 2 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java | 73 +++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java | 4 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java | 19 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java | 67 +++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java | 90 +++ Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java | 3 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml | 41 + 19 files changed, 1,187 insertions(+), 42 deletions(-) diff --git a/Source/UBCS/pom.xml b/Source/UBCS/pom.xml index 8d31ce1..5757e07 100644 --- a/Source/UBCS/pom.xml +++ b/Source/UBCS/pom.xml @@ -21,7 +21,7 @@ <spring.cloud.version>2021.0.3</spring.cloud.version> <spring.platform.version>Cairo-SR8</spring.platform.version> <maven.plugin.version>3.8.1</maven.plugin.version> - + <axis2.version>1.7.5</axis2.version> <!-- 鎺ㄨ崘浣跨敤Harbor --> <docker.registry.url>192.168.0.157</docker.registry.url> <docker.registry.host>http://${docker.registry.url}:2375</docker.registry.host> diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java index 8473859..d5d0221 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java @@ -186,7 +186,7 @@ private String classPath; /** - * 鏁版嵁娴佸悜鏂瑰紡 + * 鏁版嵁娴佸悜鏂瑰紡1:鎺ュ彈2锛氬垎鍙� */ private String dataFlowType; diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java new file mode 100644 index 0000000..8d36382 --- /dev/null +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java @@ -0,0 +1,73 @@ +package com.vci.ubcs.code.entity; + + +import com.baomidou.mybatisplus.annotation.TableName; +import com.vci.ubcs.starter.constant.CodeTableNameConstant; +import com.vci.ubcs.starter.revision.model.BaseModel; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/*** + * 寰呴泦鎴愭暟鎹� + */ +@Data +@TableName(CodeTableNameConstant.PL_CODE_DOCKINGPADATA) +@ApiModel(value = "DockingData", description = "寰呴泦鎴愭暟鎹�") +@EqualsAndHashCode(callSuper = true) +public class DockingData extends BaseModel { + + /** + * 搴忓垪鍖� + */ + private static final long serialVersionUID = 5020487634341415429L; + + /** + * 鍥惧彿 + */ + @ApiModelProperty(value = "鍥惧彿") + private String uniqueCode; + + /** + * 绯荤粺鎺ュ彛oid + */ + @ApiModelProperty(value = "鍒嗙被涓婚敭") + private String classifyOid; + + /** + * 涓氬姟绫诲瀷涓婚敭 + */ + @ApiModelProperty(value = "涓氬姟绫诲瀷涓婚敭") + private String btmOid; + + /** + * 涓氬姟绫诲瀷缂栧彿 + */ + @ApiModelProperty(value = "涓氬姟绫诲瀷缂栧彿") + private String btmId; + + /** + * 鍙戦�佺被鍨� + */ + @ApiModelProperty(value = "鍙戦�佺被鍨�") + private String sendType; + + /** + * 浠诲姟鏄惁鐢熸垚 + */ + @ApiModelProperty(value = "浠诲姟鏄惁鐢熸垚") + private String sendFlag; + + /** + * 鍒嗙被缂栧彿 + */ + @ApiModelProperty(value = "鍒嗙被缂栧彿") + private String classifyId; + + /** + * 绯荤粺id + */ + @ApiModelProperty(value = "鍒嗙被鍚嶇О") + private String classifyName; +} diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java index d94e7fc..70efd0f 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java @@ -14,7 +14,7 @@ * 鎺ュ彛澶村崗璁� */ @Data -@TableName(CodeTableNameConstant.PL_CODE_SYSINTPAREMTER) +@TableName(CodeTableNameConstant.PL_CODE_SYSINTHEADER) @ApiModel(value = "DockingSysIntHeader", description = "闆嗘垚鎺ュ彛-鎺ュ彛澶村崗璁璞�") @EqualsAndHashCode(callSuper = true) public class DockingSysIntHeader extends BaseModel { diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java index c18ddf3..393a0ee 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java @@ -284,9 +284,9 @@ /*** - * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ�� + * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ */ - @ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��") + @ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ") private String pushType; /*** * 鎺ㄩ�佺被鍨嬫樉绀哄�� diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java index 9e7d7fe..67c61d6 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java +++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; +import com.vci.ubcs.starter.constant.CodeTableNameConstant; import com.vci.ubcs.starter.revision.model.BaseModel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -12,7 +13,7 @@ * 瀹氭椂鍒嗗彂浠诲姟瀵硅薄 */ @Data -@TableName("PL_CODE_DOCKINGTASK") +@TableName(CodeTableNameConstant.PL_CODE_DOCKINGTASK) @ApiModel(value = "DockingTask", description = "瀹氭椂鍒嗗彂浠诲姟瀵硅薄") @EqualsAndHashCode public class DockingTask extends BaseModel { diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java index 84b8d0f..94db481 100644 --- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java +++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java @@ -118,14 +118,29 @@ public static final String PL_CODE_SYSINTBASE = "PL_CODE_SYSINTBASE"; /** - * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄 + * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛閰嶇疆瀵硅薄 */ public static final String PL_CODE_SYSINTINFO = "PL_CODE_SYSINTINFO"; /** - * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄 + * 闆嗘垚鎺ュ彛-闆嗘垚鍙傛暟绠$悊瀵硅薄 * platformbtm_sysintparemter */ public static final String PL_CODE_SYSINTPAREMTER = "PL_CODE_SYSINTPAREMTER"; + /** + * 鎺ュ彛澶村崗璁� + */ + public static final String PL_CODE_SYSINTHEADER = "PL_CODE_SYSINTHEADER"; + /*** + * 寰呴泦鎴愭暟鎹� + */ + public static final String PL_CODE_DOCKINGPADATA = "PL_CODE_DOCKINGPADATA"; + /*** + * 瀹氭椂鍒嗗彂浠诲姟瀵硅薄 + */ + public static final String PL_CODE_DOCKINGTASK = "PL_CODE_DOCKINGTASK"; + + + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml index ceed936..a6f8417 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml +++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml @@ -97,6 +97,48 @@ <artifactId>DmJdbcDriver18</artifactId> <optional>true</optional> </dependency>--> + + <!--axis2 begin --> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-adb</artifactId> + <version>${axis2.version}</version> + </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-transport-http</artifactId> + <version>${axis2.version}</version> + </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-transport-local</artifactId> + <version>${axis2.version}</version> + </dependency> + <dependency> + <groupId>org.apache.axis2</groupId> + <artifactId>axis2-kernel</artifactId> + <version>${axis2.version}</version> + <exclusions> + <exclusion> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + </exclusion> + <exclusion> + <artifactId>commons-io</artifactId> + <groupId>commons-io</groupId> + </exclusion> + <exclusion> + <artifactId>geronimo-activation_1.1_spec</artifactId> + <groupId>org.apache.geronimo.specs</groupId> + </exclusion> + <exclusion> + <artifactId>commons-logging</artifactId> + <groupId>commons-logging</groupId> + </exclusion> + </exclusions> + </dependency> + <!--axis2 end --> + </dependencies> <build> diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java index 0ddb3ad..c24f718 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java @@ -4,19 +4,19 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import com.vci.ubcs.code.dto.DockingSystemConfigDTO; import com.vci.ubcs.code.dto.DockingSystemDTO; -import com.vci.ubcs.code.entity.CodeRule; +import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO; +import com.vci.ubcs.code.entity.DockingData; import com.vci.ubcs.code.entity.DockingSystem; import com.vci.ubcs.code.entity.DockingSystemConfig; +import com.vci.ubcs.code.service.IDockingDataService; import com.vci.ubcs.code.service.IDockingSystemConfigService; import com.vci.ubcs.code.service.IDockingSystemService; -import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO; +import com.vci.ubcs.code.vo.pagemodel.DockingDataVO; import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO; import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO; -import com.vci.ubcs.code.wrapper.CodeRuleWrapper; -import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper; +import com.vci.ubcs.code.wrapper.DockingDataWrapper; import com.vci.ubcs.code.wrapper.DockingSystemWrapper; import com.vci.ubcs.starter.exception.VciBaseException; -import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -40,12 +40,17 @@ * 闆嗘垚绯荤粺绠$悊鏈嶅姟 */ private final IDockingSystemService dockingSystemService; + /*** * 闆嗘垚鎺ュ彛閰嶇疆鏈嶅姟 */ private final IDockingSystemConfigService dockingSystemConfigService; + /*** + * 寰呴泦鎴愭暟鎹湇鍔� + */ + private final IDockingDataService dockingDataService; /**绯荤粺闆嗘垚鐨勭郴缁熶俊鎭垪琛� @@ -89,8 +94,8 @@ * @param oids 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� */ - @DeleteMapping( "/deleteDataById") - public R deleteDataById( String oids) { + @DeleteMapping( "/deleteSystemsById") + public R deleteSystemsById( String oids) { try { return R.status(dockingSystemService.deleteDataById(oids)); }catch (VciBaseException e){ @@ -100,15 +105,15 @@ } /** * 绯荤粺闆嗘垚鍩虹淇℃伅鍒楄〃 - * @param DockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 + * @param dockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃 */ @GetMapping("/gridSystemConfig") @ApiOperationSupport(order = 3) - @ApiOperation(value = "鍒嗛〉", notes = "DockingSystemConfig") - public R<IPage<DockingSystemConfigVO>> gridSystemConfig(DockingSystemConfig DockingSystemConfig, Query query){ - IPage<DockingSystemConfig> pages = dockingSystemConfigService.page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig)); - return R.data(DockingSystemConfigWrapper.build().pageVO(pages)); + @ApiOperation(value = "鍒嗛〉", notes = "dockingSystemConfig") + public R<IPage<DockingSystemConfigVO>> gridSystemConfig(DockingSystemConfig dockingSystemConfig, Query query){ + IPage<DockingSystemConfigVO> pages=dockingSystemConfigService.page(dockingSystemConfig,query); + return R.data(pages); } /** @@ -125,4 +130,65 @@ return R.fail("淇濆瓨澶辫触!"); } } + + /** + * 澧炲姞 绯荤粺闆嗘垚鍩虹淇℃伅 + * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄 + * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� + */ + @PostMapping( "/editSystemConfig") + public R editSystemConfig(@RequestBody DockingSystemConfigDTO dockingSystemConfigDTO){ + try { + boolean res = dockingSystemConfigService.editSave(dockingSystemConfigDTO); + return R.success("淇濆瓨鎴愬姛!"); + }catch (Throwable e){ + return R.fail("淇濆瓨澶辫触!"); + } + } + /** + * 鍒犻櫎绯荤粺闆嗘垚绯荤粺閰嶇疆淇℃伅 + * @param oids 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈� + * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� + */ + @DeleteMapping( "/deleteSystemConfigsById") + public R deleteSystemConfigsById( String oids) { + try { + return R.status(dockingSystemConfigService.deleteDataById(oids)); + }catch (VciBaseException e){ + R.fail(e.getMessage()); + } + return R.success("鎿嶄綔鎴愬姛"); + } + /*** + * 鎺ュ彛淇℃伅鏄惁鍚敤/鍋滅敤 + * @param sysInfoStatusDTO + * @return + */ + @PostMapping("/updateStatus") + public R updateStatus(@RequestBody UpdateSysInfoStatusDTO sysInfoStatusDTO){ + return dockingSystemConfigService.updateStatus(sysInfoStatusDTO); + } + + /*** + * 鎵嬪姩鎺ㄩ�佸垎绫�/鏁版嵁 + * @param dockingSystemConfigDTO + * @return + */ + @PostMapping("/pushData") + public R pushData(@RequestBody DockingSystemConfigDTO dockingSystemConfigDTO){ + return dockingSystemConfigService.pushData(dockingSystemConfigDTO); + } + + /** + * 寰呴泦鎴愭暟鎹� + * @param dockingData 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 + * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃 + */ + @GetMapping("/gridDockingData") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "鍒嗛〉", notes = "DockingDataVO") + public R<IPage<DockingDataVO>> gridDockingData(DockingData dockingData, Query query){ + IPage<DockingData> pages = dockingDataService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingData)); + return R.data(DockingDataWrapper.build().pageVO(pages)); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java index 316825f..403a381 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java @@ -15,9 +15,9 @@ */ PUSH("push","鎺ㄩ��"), /** - * 閫氱煡鍜屾煡璇� + * 鎺ュ彈 */ - NOTICE_AND_QUERY("noticeAndQuery","閫氱煡鍜屾煡璇�"); + ACCEPT("accept","鎺ユ敹"); /** * 鏋氫妇鐨勫�� diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java new file mode 100644 index 0000000..e177ebd --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java @@ -0,0 +1,7 @@ +package com.vci.ubcs.code.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.vci.ubcs.code.entity.DockingData; + +public interface DockingDataMapper extends BaseMapper<DockingData> { +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java new file mode 100644 index 0000000..64e6361 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java @@ -0,0 +1,11 @@ +package com.vci.ubcs.code.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.vci.ubcs.code.entity.DockingData; + +/*** + * @author xj + * @date 2023-07-10 + */ +public interface IDockingDataService extends IService<DockingData> { +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java index 373ccab..1cee607 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java @@ -1,9 +1,15 @@ package com.vci.ubcs.code.service; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vci.ubcs.code.dto.DockingSystemConfigDTO; +import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO; import com.vci.ubcs.code.entity.DockingSystemConfig; +import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO; import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO; +import com.vci.ubcs.starter.exception.VciBaseException; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; /*** * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟 @@ -12,19 +18,41 @@ */ public interface IDockingSystemConfigService extends IService<DockingSystemConfig> { + + /** + * 绯荤粺闆嗘垚鍩虹淇℃伅鍒楄〃 + * @param dockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑 + * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃 + */ + IPage<DockingSystemConfigVO> page(DockingSystemConfig dockingSystemConfig, Query query); + /** * 澧炲姞 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭� * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞� * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� */ - public boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO); + boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO); /** * 淇敼 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭� * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞� * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� */ - DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemConfigDTO); + boolean editSave(DockingSystemConfigDTO dockingSystemConfigDTO); + + /*** + * 鏇存柊鎺ュ彛閰嶇疆淇℃伅鐘舵�� + * @param sysInfoStatusDTO + * @return + */ + public R updateStatus(UpdateSysInfoStatusDTO sysInfoStatusDTO); + /*** + * 鎵嬪姩鍚屾鎺ュ彛锛屽彧鏈夋帹閫佺殑鎵嶄細 + * @param dockingSystemConfig + * @return + * @throws VciBaseException + */ + R pushData(DockingSystemConfigDTO dockingSystemConfigDTO) throws VciBaseException; boolean deleteDataById(String oids); } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java new file mode 100644 index 0000000..1efcbef --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java @@ -0,0 +1,15 @@ +package com.vci.ubcs.code.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.code.entity.DockingData; +import com.vci.ubcs.code.mapper.DockingDataMapper; +import com.vci.ubcs.code.service.IDockingDataService; +import org.springframework.stereotype.Service; + +/*** + * @author xj + * @date 2023-07-10 + */ +@Service +public class DockingDataServiceImpl extends ServiceImpl<DockingDataMapper, DockingData> implements IDockingDataService { +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java index 4d9af0a..db243fa 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java @@ -1,36 +1,62 @@ package com.vci.ubcs.code.service.impl; +import com.alibaba.cloud.commons.lang.StringUtils; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; +import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO; +import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant; import com.vci.ubcs.code.constant.MdmBtmTypeConstant; import com.vci.ubcs.code.dto.DockingSysIntHeaderDTO; import com.vci.ubcs.code.dto.DockingSystemConfigDTO; import com.vci.ubcs.code.dto.DockingSysIntParamDTO; -import com.vci.ubcs.code.entity.DockingSysIntHeader; -import com.vci.ubcs.code.entity.DockingSysIntParam; -import com.vci.ubcs.code.entity.DockingSystem; -import com.vci.ubcs.code.entity.DockingSystemConfig; -import com.vci.ubcs.code.enumpack.SysIntegrationRequestTypeEnum; -import com.vci.ubcs.code.mapper.DockingSysIntHeaderMapper; -import com.vci.ubcs.code.mapper.DockingSysIntParamMapper; -import com.vci.ubcs.code.mapper.DockingSystemConfigMapper; -import com.vci.ubcs.code.mapper.DockingSystemMapper; -import com.vci.ubcs.code.service.IDockingSysIntHeaderService; -import com.vci.ubcs.code.service.IDockingSysIntParamService; -import com.vci.ubcs.code.service.IDockingSystemConfigService; -import com.vci.ubcs.code.vo.pagemodel.DockingSysIntHeaderVO; -import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO; +import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO; +import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeDataDTO; +import com.vci.ubcs.code.dto.datapush.classify.NodeLibraryDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultJsonDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultNodeDataDTO; +import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO; +import com.vci.ubcs.code.entity.*; +import com.vci.ubcs.code.enumpack.*; +import com.vci.ubcs.code.mapper.*; +import com.vci.ubcs.code.service.*; +import com.vci.ubcs.code.util.HttpUtils; +import com.vci.ubcs.code.util.WsErpClientUtil; +import com.vci.ubcs.code.vo.pagemodel.*; +import com.vci.ubcs.code.wrapper.DockingSysIntHeaderWrapper; +import com.vci.ubcs.code.wrapper.DockingSysIntParamWrapper; +import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper; import com.vci.ubcs.starter.exception.VciBaseException; import com.vci.ubcs.starter.revision.service.RevisionModelUtil; import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil; +import com.vci.ubcs.starter.web.constant.QueryOptionConstant; +import com.vci.ubcs.starter.web.pagemodel.PageHelper; import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; +import com.vci.ubcs.starter.web.util.VciDateUtil; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tool.api.R; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; + +import static com.vci.ubcs.code.constant.MdmDuckingConstant.*; +import static com.vci.ubcs.starter.util.MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD; /*** * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟 @@ -41,6 +67,8 @@ @Service public class DockingSystemConfigServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDockingSystemConfigService{ + @Value("${dataSyncPush.dataParamName:xmlData}") + public String DATA_PARAM_NAME; /*** * 闆嗘垚绯荤粺绠$悊鏈嶅姟 */ @@ -53,8 +81,6 @@ @Autowired(required = false) private IDockingSysIntParamService dockingSysIntParamService; - - /*** * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊鍙傛暟鏈嶅姟 */ @@ -62,17 +88,71 @@ private IDockingSysIntHeaderService dockingSysIntHeaderService; + + /*** * 闆嗘垚鎺ュ彛-闆嗘垚绯荤粺鏈嶅姟 */ @Autowired(required = false) private DockingSystemMapper dockingSystemMapper; + /*** + * 浠诲姟鐢熸垚鏈嶅姟 + */ + @Autowired(required = false) + private IDockingTaskService dockingTaskService; + + /** + * 涓绘暟鎹紩鎿庣殑鏈嶅姟 + */ + @Resource + private MdmEngineService engineService; + + + /** + * 涓婚搴撳垎绫荤殑鏈嶅姟 + */ + @Resource + private ICodeClassifyService classifyService; /** * 瀵硅薄鐨勬搷浣� */ @Autowired private RevisionModelUtil revisionModelUtil; + + /** + * 閫氱敤鏌ヨ + */ + @Resource + private CommonsMapper commonsMapper; + + + /** + * 鏃ュ織鏂囦欢鏈嶅姟 + */ + @Resource + private IDockingLogeService dockingLogeService; + + @Override + public IPage<DockingSystemConfigVO> page(DockingSystemConfig DockingSystemConfig, Query query) { + + IPage<DockingSystemConfig> pages = page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig)); + List<DockingSystemConfig> dockingSystemConfigList= pages.getRecords(); + dockingSystemConfigList.stream().forEach(dockingSystemConfig -> { + dockingSystemConfig.setDataFlowTypeText(SysIntegrationDataFlowTypeEnum.getTextByValue(dockingSystemConfig.getDataFlowType())); + dockingSystemConfig.setAuthorityTypeText(SysIntegrationAuthorityTypeEnum.getTextByValue(dockingSystemConfig.getAuthorityType())); + dockingSystemConfig.setParamTypeText(SysIntegrationParamAndReturnTypeEnum.getTextByValue(dockingSystemConfig.getParamType())); + dockingSystemConfig.setReturnTypeText(SysIntegrationParamAndReturnTypeEnum.getTextByValue(dockingSystemConfig.getReturnType())); + dockingSystemConfig.setInterfaceTypeText(SysIntegrationRequestTypeEnum.getValueByText(dockingSystemConfig.getInterfaceType())); + dockingSystemConfig.setPushTypeText(sysIntegrationPushTypeEnum.getTextByValue(dockingSystemConfig.getPushType())); + dockingSystemConfig.setRequestMethodText(SysIntegrationRequestMethodEnum.getTextByValue(dockingSystemConfig.getRequestMethod())); + //dockingSystemConfig.setSysBaseName(""); + // dockingSystemConfig.setSourceSysName(""); + //dockingSystemConfig.setTargetSysName(""); + }); + return DockingSystemConfigWrapper.build().pageVO(pages); + } + /** * 澧炲姞绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭� * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞� @@ -127,9 +207,154 @@ } + /** + * 淇敼 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭� + * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞� + * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞� + */ + @Transactional(rollbackFor = Exception.class) @Override - public DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemDTO) { - return null; + public boolean editSave(DockingSystemConfigDTO dockingSystemConfigDTO) { + VciBaseUtil.alertNotNull(dockingSystemConfigDTO,"鏁版嵁瀵硅薄",dockingSystemConfigDTO.getOid(),"绯荤粺闆嗘垚鍩虹淇℃伅涓婚敭"); + String sourcesystemoid = dockingSystemConfigDTO.getSourceSystemOid();//.getSourcesystemoid(); + DockingSystem dockingSystem = dockingSystemMapper.selectById(sourcesystemoid); + dockingSystemConfigDTO.setSysBaseOid(sourcesystemoid); + dockingSystemConfigDTO.setSysBaseId(dockingSystem.getId()); + dockingSystemConfigDTO.setBtmname(dockingSystem.getName()); + //灏咲TO杞崲涓篋O + DockingSystemConfig dockingSystemConfig = dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid()); + revisionModelUtil.copyFromDTOIgnore(dockingSystemConfigDTO,dockingSystemConfig); + String sysInfoOid=dockingSystemConfigDTO.getOid(); + List<DockingSysIntParamDTO> dockingSysIntParamDTOS= dockingSystemConfigDTO.getSysIntParamDTOS(); + List<DockingSysIntParam> dockingSysIntParamList=new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingSysIntParamDTOS)) { + dockingSysIntParamDTOS.stream().forEach(dockingSysIntParamDTO -> { + DockingSysIntParam dockingSysIntParam = new DockingSysIntParam(); + BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSysIntParamDTO, dockingSysIntParam); + dockingSysIntParamList.add(dockingSysIntParam); + }); + } + List<DockingSysIntHeaderDTO> dockingSysIntHeaderDTOS= dockingSystemConfigDTO.getSysIntHeaderDTOS(); + List<DockingSysIntHeader> dockingSysIntHeaderList = new ArrayList<>(); + if(!CollectionUtils.isEmpty(dockingSysIntHeaderDTOS)) { + dockingSysIntHeaderDTOS.stream().forEach(dockingSysIntHeaderDTO -> { + DockingSysIntHeader dockingSysIntHeader = new DockingSysIntHeader(); + BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSysIntHeaderDTO, dockingSysIntHeader); + dockingSysIntHeaderList.add(dockingSysIntHeader); + }); + } + + //鎵归噺澶勭悊淇濆瓨header瀵硅薄 + if(!CollectionUtils.isEmpty(dockingSysIntHeaderList)) { + List<String> idList=new ArrayList<>(); + List<DockingSysIntHeader> headers_old =this.dockingSysIntHeaderService.list(Wrappers.<DockingSysIntHeader>query().lambda().eq(DockingSysIntHeader::getInfoOid,sysInfoOid));; + for (DockingSysIntHeader sysIntHeader:headers_old){ + sysIntHeader.setUsedFlag(FLAG_FAIL); + idList.add(sysIntHeader.getOid()); + } + if(idList.size()!=0){ + boolean res=dockingSysIntHeaderService.removeBatchByIds(idList); + } + //鍐嶆柊澧瀐eaders + for(DockingSysIntHeader sysIntHeader:dockingSysIntHeaderList){ + sysIntHeader.setUsedFlag(FLAG_TRUE); + sysIntHeader.setInfoOid(dockingSystemConfig.getOid()); + + } + boolean res= dockingSysIntHeaderService.saveBatch(dockingSysIntHeaderList); + } + //鎵归噺澶勭悊淇濆瓨Param瀵硅薄 + if(!CollectionUtils.isEmpty(dockingSysIntParamList)) { + //鍏堝垹闄arams_old + List<String> idList=new ArrayList<>(); + List<DockingSysIntParam> params_old =this.dockingSysIntParamService.list(Wrappers.<DockingSysIntParam>query().lambda().eq(DockingSysIntParam::getInfoOid,sysInfoOid)); + for (DockingSysIntParam sysIntParamDO:params_old){ + sysIntParamDO.setUsedFlag(FLAG_FAIL); + idList.add(sysIntParamDO.getOid()); + } + if(idList.size()!=0){ + boolean res= dockingSysIntParamService.removeBatchByIds(idList); + } + //鍐嶆柊澧瀙arams + for(DockingSysIntParam sysIntParamDOi:dockingSysIntParamList){ + sysIntParamDOi.setUsedFlag(FLAG_TRUE); + sysIntParamDOi.setInfoOid(dockingSystemConfig.getOid()); + } + dockingSysIntParamService.saveBatch(dockingSysIntParamList); + } + this.dockingSystemConfigMapper.updateById(dockingSystemConfig); + //return changeoDckingSystemEntityVOs(dockingSystemConfig,dockingSysIntHeaderList,dockingSysIntParamList); + return true; + } + /*** + * 鏇存柊鎺ュ彛閰嶇疆淇℃伅鐘舵�� + * @param sysInfoStatusDTO + * @return + */ + @Override + public R updateStatus(UpdateSysInfoStatusDTO sysInfoStatusDTO) { + VciBaseUtil.alertNotNull(sysInfoStatusDTO.getOid(),"鏁版嵁瀵硅薄",sysInfoStatusDTO.getOid(),"绯荤粺闆嗘垚鍩虹淇℃伅涓婚敭"); + DockingSystemConfig dockingSystemConfig = this.dockingSystemConfigMapper.selectById(sysInfoStatusDTO.getOid()); + try { + dockingSystemConfig.setTs(VciDateUtil.str2Date(sysInfoStatusDTO.getTs(), VciDateUtil.DateTimeFormat)); + } catch (Exception e) { + e.printStackTrace(); + } + if(sysInfoStatusDTO.getUpdate().equals("disable")) { + dockingSystemConfig.setUsedFlag("false"); + }else{ + dockingSystemConfig.setUsedFlag("true"); + } + dockingSystemConfigMapper.updateById(dockingSystemConfig); + return R.status(true); + } + + /*** + * 鎵嬪姩鍚屾鎺ュ彛锛屽彧鏈夋帹閫佺殑鎵嶄細 + * @param dockingSystemConfigDTO + * @return + * @throws VciBaseException + */ + @Transactional(rollbackFor = Exception.class) + @Override + public R pushData(DockingSystemConfigDTO dockingSystemConfigDTO) throws VciBaseException { + VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getOid(),"鏁版嵁瀵硅薄",dockingSystemConfigDTO.getOid(),"绯荤粺闆嗘垚閰嶇疆淇℃伅涓婚敭"); + if(dockingSystemConfigDTO.getDataFlowType().equals(SysIntegrationDataFlowTypeEnum.ACCEPT.getValue())){ + throw new VciBaseException("浣犳墍閫夋嫨闆嗘垚閰嶇疆淇℃伅涓嶅睘浜庢帹閫佺被鍨嬬殑鎺ュ彛閰嶇疆锛�"); + } + boolean issuccess=false; + String type="鏁版嵁鎺ㄩ��"; + if(dockingSystemConfigDTO.getPushType().equalsIgnoreCase("1")){//鎺ㄩ�佹暟鎹� + pushDockingTasks(dockingSystemConfigDTO); + }else if(dockingSystemConfigDTO.getPushType().equalsIgnoreCase("2")){//鎺ㄩ�佸垎绫� + issuccess= pushClsfDatas(dockingSystemConfigDTO); + type="鍒嗙被鎺ㄩ��"; + } + return issuccess?R.success(type+"鎴愬姛锛�"):R.fail(type+"澶辫触锛�"); + } + + /** + * + * @param dockingSystemConfig + * @param dockingSysIntHeaderList + * @param dockingSysIntParamList + * @return + */ + private DockingSystemConfigVO changeoDckingSystemEntityVOs(DockingSystemConfig dockingSystemConfig , List<DockingSysIntHeader> dockingSysIntHeaderList , List<DockingSysIntParam> dockingSysIntParamList) { + DockingSystemConfigVO vo = new DockingSystemConfigVO(); + if(dockingSystemConfig != null){ + BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSystemConfig,vo); + //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 + if(!CollectionUtils.isEmpty(dockingSysIntParamList)) { + List<DockingSysIntParamVO> dockingSysIntParamVOList = DockingSysIntParamWrapper.build().entityVOs(dockingSysIntParamList); + vo.setSysIntParamVOs(dockingSysIntParamVOList); + } + if(!CollectionUtils.isEmpty(dockingSysIntHeaderList)){ + List<DockingSysIntHeaderVO> dockingSysIntHeaderVOList= DockingSysIntHeaderWrapper.build().entityVOs(dockingSysIntHeaderList); + vo.setSysIntHeaderVOs(dockingSysIntHeaderVOList); + } + } + return vo; } @Override @@ -153,4 +378,304 @@ VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getClassPath(),"绫昏矾寰�"); } } + + private R pushDockingTasks(DockingSystemConfigDTO dockingSystemConfigDTO) { + String msg="鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟鎴愬姛锛�"; + try { + DockingSystemConfig dockingSystemConfig =dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid()); + String codeClassifyOid = dockingSystemConfig.getClassifyOid(); + CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid); + CodeClassifyVO topClassifyVO = classifyService.getTopClassifyVO(codeClassifyOid); + String btmTypeId = topClassifyVO.getBtmtypeid(); + if (StringUtils.isBlank(btmTypeId)) { + return R.fail("杩欎釜鍒嗙被鎵�灞為《灞傚垎绫绘病鏈夋坊鍔犱笟鍔$被鍨�"); + } + List<CodeClassifyVO> codeClassifyIdPathVOS = classifyService.listChildrenClassify(topClassifyVO.getOid(), true, "id", false); + List<CodeClassifyVO> codeClassifynamePathVOS = classifyService.listChildrenClassify(topClassifyVO.getOid(), true, "name", false); + Map<String/**鍒嗙被oid**/, String/**鍒嗙被浠e彿閾炬帴绗�**/> clsfOidIdMap = codeClassifyIdPathVOS.stream().collect(Collectors.toMap(s -> s.getOid(), t -> reverseOrderByList(t.getPath(), topClassifyVO, 1).toLowerCase(Locale.ROOT), (o1, o2) -> o2)); + Map<String/**鍒嗙被oid**/, String/**鍒嗙被鍚嶇О閾炬帴绗�**/> clsfOidNameMap = codeClassifynamePathVOS.stream().collect(Collectors.toMap(s -> s.getOid(), t -> reverseOrderByList(t.getPath(), topClassifyVO, 2).toLowerCase(Locale.ROOT), (o1, o2) -> o2)); + PageHelper pageHelper = new PageHelper(); + pageHelper.setPage(1); + pageHelper.setLimit(1000000); + pageHelper.setStart(0); + + HashMap<String, String> conditionMap = new HashMap<>(); + if (!classifyService.checkHasChild(codeClassifyOid)) { + conditionMap.put(CODE_CLASSIFY_OID_FIELD, codeClassifyOid); + } else { + conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY) + + " where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED + + "' start with parentCodeClassifyOid = '" + codeClassifyOid + "' CONNECT BY PRIOR OID = parentCodeClassifyOid )"); + } + conditionMap.put("islastr", "1"); + conditionMap.put("islastv", "1"); + List<String> lcstatusList = new ArrayList<>(Arrays.asList(new String[]{"TakeBack", "Released", "Disabled"})); + conditionMap.put("lcstatus", QueryOptionConstant.IN + VciBaseUtil.toInSql(lcstatusList.toArray(new String[0]))); + + CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(btmTypeId, templateVO, conditionMap, pageHelper); + List<Map<String,String>> maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage()); + List<DockingTask> dockingTaskDO_insert = new ArrayList<>(); + if (!CollectionUtils.isEmpty(maps)) { + maps.stream().forEach(map -> { + String btmoid = map.get("oid".toUpperCase(Locale.ROOT)) == null ? "" : map.get("oid".toUpperCase(Locale.ROOT)).toString();//鏁版嵁oid + String sendtype = map.get("lcstatus".toUpperCase(Locale.ROOT)) == null ? "" : map.get("lcstatus".toUpperCase(Locale.ROOT)).toString();//鏁版嵁鎺ㄩ�佺被鍨� + String id = map.get("id".toUpperCase(Locale.ROOT)) == null ? "" : map.get("id".toUpperCase(Locale.ROOT)).toString();//缂栫爜 + String btmid = topClassifyVO.getBtmtypeid();//鏁版嵁涓氬姟绫诲瀷 + String classifyoid = map.get("codeclsfid".toUpperCase(Locale.ROOT)) == null ? "" : map.get("codeclsfid".toUpperCase(Locale.ROOT)).toString();//鏁版嵁鎵�鍦ㄧ殑鍒嗙被id + String date2Str = VciDateUtil.date2Str(new Date(), VciDateUtil.DateTimeFormatStr); + DockingTask dockingTaskDO = new DockingTask(); + dockingTaskDO.setOid(date2Str +"_"+id); + dockingTaskDO.setSendFlag(SEND_FLAG_FALSE); + dockingTaskDO.setId(id);//缂栫爜 + dockingTaskDO.setUniqueCode(""); + dockingTaskDO.setBtmOid(btmoid);//鏁版嵁oid + dockingTaskDO.setBtmId(btmid);//鏁版嵁涓氬姟绫诲瀷id + if (clsfOidIdMap.containsKey(classifyoid)) { + String classifyid = clsfOidIdMap.get(classifyoid); + dockingTaskDO.setClassifyId(classifyid);//鏁版嵁鍦ㄥ垎绫籭d + } + dockingTaskDO.setClassifyOid(classifyoid);//鏁版嵁鎵�鍦ㄥ垎绫籵id + if (clsfOidNameMap.containsKey(classifyoid)) { + String classifyname = clsfOidNameMap.get(classifyoid); + dockingTaskDO.setClassifyName(classifyname);//鏁版嵁鎵�鍦ㄥ垎绫诲悕绉� + } + dockingTaskDO.setSendType(sendtype);//鏁版嵁鎺ㄩ�佺被鍨� + //String dataoid=redisService.getUUIDEveryDay(); + dockingTaskDO.setDataOid(date2Str +"_"+ btmoid); + //intinfo + dockingTaskDO.setSysInfoOid(dockingSystemConfigDTO.getOid());//intinfo鐨刼id + dockingTaskDO.setSystemOid(dockingSystemConfigDTO.getSysBaseOid());//绯荤粺oid + dockingTaskDO.setSystemCode(dockingSystemConfigDTO.getSysBaseId());//绯荤粺缂栫爜 + dockingTaskDO.setSystemName(dockingSystemConfigDTO.getSysBaseName());//绯荤粺name + dockingTaskDO_insert.add(dockingTaskDO); + }); + } + dockingTaskService.saveBatch(dockingTaskDO_insert); + }catch (Throwable e){ + msg="鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟澶辫触!"; + log.error("鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟澶辫触!"+e); + e.printStackTrace(); + }finally { + log.info(msg); + return R.success("鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟鎴愬姛锛�"); + } + } + + /*** + * 鍒嗙被鎺ㄩ�侀泦鎴� + * @param dockingSystemConfigDTO + * @return + */ + private boolean pushClsfDatas(DockingSystemConfigDTO dockingSystemConfigDTO){ + DockingSystemConfig dockingSystemConfig= dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid()); + String classOid= dockingSystemConfig.getClassifyOid(); + List<CodeClassifyVO> listChildrenClassify= classifyService.listChildrenClassify(classOid,true,"id",false); + List<NodeClassifyDTO>nodeClassifyDTOList=new ArrayList<>(); + JsonRootDataDTO jsonRootDataDTO=new JsonRootDataDTO(); + NodeDataDTO nodeDataDTO=new NodeDataDTO(); + //姣忎釜task涓�涓簨鍔★紝寮�鍚� + boolean isSuccess=false; + try { + String sendString = ""; + if (!CollectionUtils.isEmpty(listChildrenClassify)) { + listChildrenClassify.stream().forEach(codeClassifyVO -> { + NodeClassifyDTO nodeClassifyDTO = new NodeClassifyDTO(); + nodeClassifyDTO.setClassCode(codeClassifyVO.getId());//鍒嗙被浠e彿 + nodeClassifyDTO.setDescription(codeClassifyVO.getDescription());//鍒嗙被鎻忚堪 + nodeClassifyDTO.setFullPathName(codeClassifyVO.getPath());//鍏ㄨ矾寰� + nodeClassifyDTO.setLcStatus(codeClassifyVO.getLcStatus());//鐘舵�� + nodeClassifyDTO.setPid(codeClassifyVO.getId());//鐖秈d鑺傜偣 + nodeClassifyDTO.setId(codeClassifyVO.getOid());//鍒嗙被oid + nodeClassifyDTO.setName(codeClassifyVO.getName());//鍒嗙被鍚嶇О + nodeClassifyDTOList.add(nodeClassifyDTO); + }); + NodeLibraryDTO nodeLibraryDTO = new NodeLibraryDTO(); + nodeLibraryDTO.setClassify(nodeClassifyDTOList); + CodeClassifyVO rootClassify = classifyService.getTopClassifyVO(classOid); + nodeLibraryDTO.setId(rootClassify.getOid()); + nodeLibraryDTO.setName(rootClassify.getName()); + nodeDataDTO.setLibrary(nodeLibraryDTO); + jsonRootDataDTO.setData(nodeDataDTO); + String paramType = dockingSystemConfigDTO.getParamType();//xml/json + if (paramType.equals(DATATYPE_JSON)) { + Object object = JSONObject.toJSON(jsonRootDataDTO); + sendString = object.toString(); + } else { + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(NodeDataDTO.class); + xStream.autodetectAnnotations(true); + sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO); + } + //璋冪敤鎺ュ彛 + callInterface(sendString, dockingSystemConfigDTO); + isSuccess=true; + } + }catch (Throwable e){ + e.printStackTrace(); + isSuccess=false; + }finally { + return true; + } + } + + /*** + * 璋冪敤鎺ュ彛 + * @param dockingSystemConfigDTO + * @throws Throwable + */ + private void callInterface(String sendString , DockingSystemConfigDTO dockingSystemConfigDTO) throws Throwable{ + String paramString = ""; + + String backString = ""; + String msg=""; + String url = dockingSystemConfigDTO.getRequestUrl();//url + List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>(); + try { + String type = dockingSystemConfigDTO.getInterfaceType().toLowerCase(Locale.ROOT);//get/post/webserver/corba + String paramType = dockingSystemConfigDTO.getParamType();//xml/json + String returnType = dockingSystemConfigDTO.getReturnType();//xml/json + String requestmethod= dockingSystemConfigDTO.getRequestMethod(); + String interfaceFunction = dockingSystemConfigDTO.getInterfaceFunction();//涓昏鏄痺ebservice鐨勬柟娉曞悕 + String namespace = dockingSystemConfigDTO.getNamespace();//namespace + String soapaction = dockingSystemConfigDTO.getSoapAction();//soapaction + String targName = dockingSystemConfigDTO.getTargetName();//targName + String cxfaxis = dockingSystemConfigDTO.getCxfAxis();//webservice鏄痗xf/axis + //鏌ヨparam + List<DockingSysIntParamDTO> sysIntParamVOList = dockingSystemConfigDTO.getSysIntParamDTOS(); + //鏌ヨheader + List<DockingSysIntHeaderDTO> sysIntHeaderVOList =dockingSystemConfigDTO.getSysIntHeaderDTOS(); + if(type.equals(URLTYPE_HTTP)) { + if (requestmethod.equals(URLTYPE_GET)) {//GET璇锋眰 + String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString; + //鎷兼帴param + for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) { + sendurl = sendurl + "&" + sysIntParamVO.getParamkey() + "=" + sysIntParamVO.getParamvalue(); + } + paramString = sendurl; + backString = HttpUtils.get(sendurl); + } else if (requestmethod.equals(URLTYPE_POST)) {//POST璇锋眰 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + if(!CollectionUtils.isEmpty(sysIntParamVOList)) { + for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) { + params.add(sysIntParamVO.getParamkey(), sysIntParamVO.getParamvalue()); + } + } + params.add(DATA_PARAM_NAME,sendString); + paramString = params.toString(); + MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + if(!CollectionUtils.isEmpty(sysIntHeaderVOList)) { + for (DockingSysIntHeaderDTO sysIntHeaderVO : sysIntHeaderVOList) { + headers.add(sysIntHeaderVO.getHeaderKey(), sysIntHeaderVO.getHeaderValue()); + } + } + backString = HttpUtils.post(url, params, headers); + } + if(backString.startsWith("\"")){ + backString=backString.substring(backString.indexOf("\"")+1); + } + if(backString.endsWith("\"")){ + backString=backString.substring(0,backString.lastIndexOf("\"")); + } + if(backString.contains("\n")){ + String res="\n"; + backString= backString.replaceAll(res,""); + } + if(backString.contains("\\")){ + String res="\\\\\""; + backString= backString.replaceAll(res,"\"").trim(); + } + }else if (type.equals(URLTYPE_WEBSERVICE)) {//webserver璇锋眰 + MultiValueMap<String, String> params = new LinkedMultiValueMap<>(); + for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) { + params.add(sysIntParamVO.getParamkey(), sysIntParamVO.getParamvalue()); + } + paramString = sendString; + MultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); + for (DockingSysIntHeaderDTO sysIntHeaderVO : sysIntHeaderVOList) { + headers.add(sysIntHeaderVO.getHeaderKey(), sysIntHeaderVO.getHeaderValue()); + } + backString = WsErpClientUtil.sendMsg(url, namespace, soapaction, interfaceFunction, targName, sendString, 10000); + + } else {//corba鎺ュ彛 + //paramString=sendString; + // backString = jacorbClient.getBOFactoryService().sendCode(sendString); + } + + ResultJsonDTO resultJsonDTO = new ResultJsonDTO(); + if(returnType.equals(DATATYPE_JSON)){ + resultJsonDTO =JSONObject.toJavaObject(JSONObject.parseObject(backString), ResultJsonDTO.class); + }else { + //缁勭粐杩斿洖鎺ュ彛淇℃伅 + XStream xStream = new XStream(new DomDriver()); + xStream.processAnnotations(ResultNodeDataDTO.class); + xStream.autodetectAnnotations(true); + ResultNodeDataDTO resultNodeDataDTO = (ResultNodeDataDTO) xStream.fromXML(backString); + resultJsonDTO.setData(resultNodeDataDTO); + } + ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData(); + resultNodeObjectDTOS=resultNodeDataDTO.getObject(); + + }catch (Throwable e){ + msg="璋冪敤鎺ュ彛澶辫触:"+e; + e.printStackTrace(); + // throw new Throwable("璋冪敤鎺ュ彛澶辫触:"+e); + ResultNodeObjectDTO resultNodeObjectDTO=new ResultNodeObjectDTO(); + resultNodeObjectDTO.setErroid("1"); + resultNodeObjectDTO.setMsg(msg); + resultNodeObjectDTO.setCode(dockingSystemConfigDTO.getClassifyId()); + resultNodeObjectDTO.setOid(dockingSystemConfigDTO.getClassifyOid()); + resultNodeObjectDTOS.add(resultNodeObjectDTO); + }finally { + boolean isSend = false; + List<DockingLog> dockingLogList=new ArrayList<>(); + for (ResultNodeObjectDTO resultNodeObjectDTO:resultNodeObjectDTOS){ + String erroid = resultNodeObjectDTO.getErroid(); + msg = resultNodeObjectDTO.getMsg(); + if("0".equals(erroid)){ + isSend = true; + }else if("1".equals(erroid)){ + isSend=false; + }else{ + isSend=false; + } + DockingLog dockingLog = new DockingLog(); + String oid=VciBaseUtil.getPk(); + dockingLog.setOid(oid); + dockingLog.setSystemCode(dockingSystemConfigDTO.getSysBaseId()); + dockingLog.setSystemName(dockingSystemConfigDTO.getSysBaseName()); + dockingLog.setSystemOid(dockingSystemConfigDTO.getSysBaseOid()); + dockingLog.setClassifyOid(dockingSystemConfigDTO.getClassifyOid()); + dockingLog.setClassifyId(dockingSystemConfigDTO.getClassifyId()); + dockingLog.setClassifyName(dockingSystemConfigDTO.getClassifyName()); + dockingLog.setId(dockingSystemConfigDTO.getId()); + dockingLog.setUniqueCode(""); + dockingLog.setInterfaceStatus(isSend?"true":"false"); + dockingLog.setParamString(paramString); + dockingLog.setType(DATA_LOGE_OUT); + dockingLog.setReturnString(backString); + dockingLog.setMsg(msg); + dockingLogList.add(dockingLog); + log.info("闆嗘垚鎺ㄩ�佹暟鎹�,systemcode:"+dockingSystemConfigDTO.getSysBaseId()+",systemname:"+dockingSystemConfigDTO.getSysBaseName()+",url:"+url+",param:"+paramString+",e:"+msg); + } + dockingLogeService.saveBatch(dockingLogList); + } + } + + private String reverseOrderByList(String StringValue, CodeClassifyVO topClassifyVO,int type){ + String[] s=StringValue.split("#"); + StringBuffer sb=new StringBuffer(); + List<String> list=new ArrayList<>(Arrays.asList(s)); + Collections.reverse(list); + System.out.println(list.toString()); + for (String o:list){ + if(StringUtils.isNotBlank(o)){ + sb.append(o).append(","); + } + } + sb.append(type==1?topClassifyVO.getId():topClassifyVO.getName()); + System.out.println(sb.toString()); + + return sb.toString(); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java new file mode 100644 index 0000000..89d8c9e --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java @@ -0,0 +1,194 @@ +package com.vci.ubcs.code.util; + +import org.springframework.http.*; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.RestTemplate; + +import javax.servlet.http.HttpServletRequest; + +/** + * http璇锋眰宸ュ叿绫� + * + * @since 2020-03-25 + */ +public class HttpUtils { + + //Content-Type鐨刱ey + public static String CONTENT_TYPE = "Content-Type"; + //json鏁版嵁 + public static String CONTENT_TYPE_JSON = MediaType.APPLICATION_JSON_VALUE; + public static String CONTENT_TYPE_JSON_UTF8 = MediaType.APPLICATION_JSON_UTF8_VALUE; + + //琛ㄥ崟鏍煎紡,榛樿 + public static String CONTENT_TYPE_TEXT = MediaType.APPLICATION_FORM_URLENCODED_VALUE; + + /** + * get璇锋眰 + * + * @param url + * @return + */ + public static String get(String url) { + return get(url, null); + } + + /** + * get璇锋眰 + * + * @param url + * @param headers 璇锋眰澶� + * @return + */ + public static String get(String url, MultiValueMap<String, String> headers) { + return request(url, null, headers, HttpMethod.GET); + } + + /** + * post璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @return + */ + public static String post(String url, MultiValueMap<String, String> params) { + return post(url, params, null); + } + + /** + * post璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @return + */ + public static String post(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) { + return request(url, params, headers, HttpMethod.POST); + } + + /** + * put璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @return + */ + public static String put(String url, MultiValueMap<String, String> params) { + return put(url, params, null); + } + + /** + * put璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @return + */ + public static String put(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) { + return request(url, params, headers, HttpMethod.PUT); + } + + /** + * delete璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @return + */ + public static String delete(String url, MultiValueMap<String, String> params) { + return delete(url, params, null); + } + + /** + * delete璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @return + */ + public static String delete(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) { + return request(url, params, headers, HttpMethod.DELETE); + } + + /** + * 琛ㄥ崟璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @param method 璇锋眰鏂瑰紡 + * @return + */ + public static String request(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers, HttpMethod method) { + if (params == null) { + params = new LinkedMultiValueMap<>(); + } + return request(url, params, headers, method, MediaType.APPLICATION_FORM_URLENCODED); + } + + /** + * http璇锋眰 + * + * @param url + * @param params 璇锋眰鍙傛暟 + * @param headers 璇锋眰澶� + * @param method 璇锋眰鏂瑰紡 + * @param mediaType 鍙傛暟绫诲瀷 + * @return + */ + public static String request(String url, Object params, MultiValueMap<String, String> headers, HttpMethod method, MediaType mediaType) { + if (url == null || url.trim().isEmpty()) { + return null; + } + RestTemplate client = new RestTemplate(); + // header + HttpHeaders httpHeaders = new HttpHeaders(); + if (headers != null) { + httpHeaders.addAll(headers); + } + // 鎻愪氦鏂瑰紡锛氳〃鍗曘�乯son + httpHeaders.setContentType(mediaType); + HttpEntity<Object> httpEntity = new HttpEntity(params, httpHeaders); + ResponseEntity<String> response = client.exchange(url, method, httpEntity, String.class); + return response.getBody(); + } + + public static MultiValueMap<String, String> set_params_headers(String key,String value,MultiValueMap<String, String> map){ + if(map==null){ + map = new LinkedMultiValueMap<>(); + } + map.add(key,value); + return map; + } + /** + * 鑾峰彇ip + * @param request + * @return + */ + public static String getIpAddressFromRequest(HttpServletRequest request){ + String ip = request.getHeader("X-Forwarded-For"); + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_CLIENT_IP"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); + } + if (ip == null || ip.length() == 0 || ip.indexOf("0:0:0:0:0:0:0:1") >-1) { + //0:0:0:0:0:0:0:1鏄湰鏈哄湪璁块棶 + ip = "127.0.0.1"; + } + return ip; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java new file mode 100644 index 0000000..6659503 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java @@ -0,0 +1,60 @@ +package com.vci.ubcs.code.util; + +import com.alibaba.cloud.commons.lang.StringUtils; +import org.apache.axiom.om.OMAbstractFactory; +import org.apache.axiom.om.OMElement; +import org.apache.axiom.om.OMFactory; +import org.apache.axiom.om.OMNamespace; +import org.apache.axiom.soap.SOAP11Constants; +import org.apache.axis2.Constants; +import org.apache.axis2.addressing.EndpointReference; +import org.apache.axis2.client.Options; +import org.apache.axis2.client.ServiceClient; + +public class WsErpClientUtil { + + /** + * axis2璋冪敤瀹㈡埛绔� + * + * @param url 璇锋眰鏈嶅姟鍦板潃 + * @param nameSpace 鍛藉悕绌洪棿 + * @param method 鏂规硶鍚� + * @param tarName 鍙傛暟鍚嶇О + * @param xmlData 璇锋眰鎶ユ枃 + * @param timeOutInMilliSeconds 瓒呮椂鏃堕棿 + * @return String 绫诲瀷鐨勫搷搴旀姤鎭� + */ + public static String sendMsg(String url, String nameSpace,String soapAction, String method, String tarName, String xmlData, long timeOutInMilliSeconds) throws Exception { + ServiceClient serviceClient = new ServiceClient(); + Options option = new Options(); + option.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI); + option.setTransportInProtocol(Constants.TRANSPORT_HTTP); + + // 鍊间负targetNamespace+methodName + if(StringUtils.isEmpty(soapAction)){ + soapAction = nameSpace+method; + } + option.setAction(soapAction); + + EndpointReference epfs = new EndpointReference(url); + option.setTo(epfs); + serviceClient.setOptions(option); + + OMFactory fac = OMAbstractFactory.getOMFactory(); + OMNamespace namespaceOM = fac.createOMNamespace(nameSpace, ""); + OMElement element = fac.createOMElement(method, namespaceOM); + OMElement theCityCode = fac.createOMElement(tarName, namespaceOM); + theCityCode.setText(xmlData); + element.addChild(theCityCode); +// OMElement theUserID = fac.createOMElement("theUserID ", namespace); +// theUserID.setText(""); +// element.addChild(theUserID); + + OMElement resultOM = serviceClient.sendReceive(element); + + String result = resultOM.getFirstElement().getText(); + System.out.println(result); + + return result; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java new file mode 100644 index 0000000..d2c834f --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java @@ -0,0 +1,67 @@ +package com.vci.ubcs.code.wrapper; + +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.vci.ubcs.code.entity.DockingData; +import com.vci.ubcs.code.vo.pagemodel.DockingDataVO; +import org.springblade.core.mp.support.BaseEntityWrapper; +import org.springblade.core.tool.utils.BeanUtil; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Objects; + +public class DockingDataWrapper extends BaseEntityWrapper<DockingData, DockingDataVO> { + public static DockingDataWrapper build() { + return new DockingDataWrapper(); + } + + @Override + public DockingDataVO entityVO(DockingData entity) { + DockingDataVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingDataVO.class)); + return vo; + } + + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param entitys + * @return + */ + public List<DockingDataVO> entityVOs(Collection<DockingData> entitys) { + if(CollectionUtils.isEmpty(entitys)) {return new ArrayList<>();} + List<DockingDataVO> vos=new ArrayList<>(); + if(!CollectionUtils.isEmpty(entitys)) { + entitys.stream().forEach(vo -> { + vos.add(entityVO(vo)); + }); + } + return vos; + } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param vos + * @return + */ + public List<DockingData> voentitys(Collection<DockingDataVO> vos) { + if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();} + List<DockingData>entitys =new ArrayList<>(); + if(!CollectionUtils.isEmpty(vos)) { + vos.stream().forEach(entity -> { + entitys.add(voentity(entity)); + }); + } + return entitys; + } + + /*** + * 鏁扮粍瀵硅薄杞崲 + * @param vo + * @return + */ + public DockingData voentity( DockingDataVO vo) { + DockingData entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingData.class)); + return entity; + } +} diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml new file mode 100644 index 0000000..ff0ef90 --- /dev/null +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.vci.ubcs.code.mapper.DockingDataMapper"> + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="plDockingDataResultMap" type="com.vci.ubcs.code.entity.DockingData"> + <result column="OID" property="oid"/> + <result column="REVISIONOID" property="revisionOid"/> + <result column="NAMEOID" property="nameOid"/> + <result column="BTMNAME" property="btmName"/> + <result column="LASTR" property="lastR"/> + <result column="FIRSTR" property="firstR"/> + <result column="LASTV" property="lastV"/> + <result column="FIRSTV" property="firstV"/> + <result column="CREATOR" property="creator"/> + <result column="CREATETIME" property="createTime"/> + <result column="LASTMODIFIER" property="lastModifier"/> + <result column="LASTMODIFYTIME" property="lastModifyTime"/> + <result column="REVISIONRULE" property="revisionRule"/> + <result column="VERSIONRULE" property="versionRule"/> + <result column="REVISIONSEQ" property="revisionSeg"/> + <result column="REVISIONVALUE" property="revisionValue"/> + <result column="VERSIONSEQ" property="versionSeq"/> + <result column="VERSIONVALUE" property="versionValue"/> + <result column="LCTID" property="lctid"/> + <result column="LCSTATUS" property="lcStatus"/> + <result column="TS" property="ts"/> + <result column="ID" property="id"/> + <result column="NAME" property="name"/> + <result column="DESCRIPTION" property="description"/> + <result column="OWNER" property="owner"/> + <result column="COPYFROMVERSION" property="copyFromVersion"/> + <result column="UNIQUECODE" property="uniqueCode"/> + <result column="CLASSIFYOID" property="classifyOid"/> + <result column="BTMOID" property="btmOid"/> + <result column="BTMID" property="btmId"/> + <result column="SENDTYPE" property="sendType"/> + <result column="SENDFLAG" property="sendFlag"/> + <result column="CLASSIFYID" property="classifyId"/> + <result column="CLASSIFYNAME" property="classifyName"/> + </resultMap> +</mapper> -- Gitblit v1.9.3