From b1b6a1b849b337769049d484f97990eb6e7bac13 Mon Sep 17 00:00:00 2001 From: anthonywj Date: Tue, 10 Jan 2023 11:39:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=AC=AC=E4=B8=89=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E8=AE=BE=E7=BD=AE=E4=BB=A5=E5=8F=8A=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/InvWarehouseController.java | 2 +- .../thrsys/ThrSystemController.java | 318 ++++++++++++++++++ .../glxp/api/dao/system/BasicThirdSysDao.java | 52 --- .../api/dao/thrsys/ThrSystemBusApiDao.java | 39 +++ .../com/glxp/api/dao/thrsys/ThrSystemDao.java | 40 +++ .../api/dao/thrsys/ThrSystemDetailDao.java | 20 ++ .../entity/thrsys/ThrSystemBusApiEntity.java | 26 ++ .../entity/thrsys/ThrSystemDetailEntity.java | 30 ++ .../ThrSystemEntity.java} | 4 +- .../com/glxp/api/http/ErpBasicClient.java | 131 ++++++++ .../java/com/glxp/api/http/HttpOkClient.java | 58 ++++ .../FilterBasicThirdSysDetailRequest.java | 2 +- .../FilterBasicThirdSysRequest.java | 2 +- .../api/res/thrsys/BasicThirdSysResponse.java | 19 ++ .../auth/impl/InvWarehouseServiceImpl.java | 12 +- .../service/system/BasicThirdSysService.java | 31 -- .../thrsys/ThrSystemBusApiService.java | 26 ++ .../thrsys/ThrSystemDetailService.java | 24 ++ .../api/service/thrsys/ThrSystemService.java | 31 ++ .../impl/ThrSystemBusApiServiceImpl.java | 61 ++++ .../impl/ThrSystemDetailServiceImpl.java | 64 ++++ .../impl/ThrSystemServiceImpl.java} | 42 +-- .../mapper/thrsys/ThrSystemBusApiDao.xml | 100 ++++++ .../ThrSystemDao.xml} | 28 +- .../mapper/thrsys/ThrSystemDetailDao.xml | 47 +++ src/main/resources/schemas/init.sql | 4 +- 26 files changed, 1082 insertions(+), 131 deletions(-) create mode 100644 src/main/java/com/glxp/api/controller/thrsys/ThrSystemController.java delete mode 100644 src/main/java/com/glxp/api/dao/system/BasicThirdSysDao.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrSystemBusApiDao.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrSystemDao.java create mode 100644 src/main/java/com/glxp/api/dao/thrsys/ThrSystemDetailDao.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrSystemBusApiEntity.java create mode 100644 src/main/java/com/glxp/api/entity/thrsys/ThrSystemDetailEntity.java rename src/main/java/com/glxp/api/entity/{system/BasicThirdSysEntity.java => thrsys/ThrSystemEntity.java} (89%) create mode 100644 src/main/java/com/glxp/api/http/ErpBasicClient.java create mode 100644 src/main/java/com/glxp/api/http/HttpOkClient.java rename src/main/java/com/glxp/api/req/{system => thrsys}/FilterBasicThirdSysDetailRequest.java (90%) rename src/main/java/com/glxp/api/req/{system => thrsys}/FilterBasicThirdSysRequest.java (91%) create mode 100644 src/main/java/com/glxp/api/res/thrsys/BasicThirdSysResponse.java delete mode 100644 src/main/java/com/glxp/api/service/system/BasicThirdSysService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrSystemBusApiService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrSystemDetailService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/ThrSystemService.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemBusApiServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemDetailServiceImpl.java rename src/main/java/com/glxp/api/service/{system/impl/BasicThirdSysServiceImpl.java => thrsys/impl/ThrSystemServiceImpl.java} (55%) create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrSystemBusApiDao.xml rename src/main/resources/mybatis/mapper/{system/BasicThirdSysDao.xml => thrsys/ThrSystemDao.xml} (81%) create mode 100644 src/main/resources/mybatis/mapper/thrsys/ThrSystemDetailDao.xml diff --git a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java index 07e43044c..d6f4c7fbc 100644 --- a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java +++ b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java @@ -17,7 +17,7 @@ import com.glxp.api.req.auth.FilterInvLinkDataRequest; import com.glxp.api.req.auth.FilterInvSubWarehouseRequest; import com.glxp.api.req.auth.FilterInvWarehouseRequest; import com.glxp.api.req.system.DeleteRequest; -import com.glxp.api.req.system.FilterBasicThirdSysRequest; +import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.auth.InvSubWarehouseResponse; import com.glxp.api.res.auth.InvWarehouseThirdSysResponse; diff --git a/src/main/java/com/glxp/api/controller/thrsys/ThrSystemController.java b/src/main/java/com/glxp/api/controller/thrsys/ThrSystemController.java new file mode 100644 index 000000000..aa791dde7 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/thrsys/ThrSystemController.java @@ -0,0 +1,318 @@ +package com.glxp.api.controller.thrsys; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.http.ErpBasicClient; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; +import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.thrsys.BasicThirdSysResponse; +import com.glxp.api.service.thrsys.ThrSystemBusApiService; +import com.glxp.api.service.thrsys.ThrSystemDetailService; +import com.glxp.api.service.thrsys.ThrSystemService; +import org.springframework.beans.BeanUtils; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.stream.Collectors; + +@RestController +public class ThrSystemController { + + + @Resource + private ThrSystemService thrSystemService; + @Resource + private ThrSystemDetailService thrSystemDetailService; + // @Resource +// UdiRelevanceService udiRelevanceService; +// @Resource +// UnitMaintainService unitMaintainService; + @Resource + ThrSystemBusApiService thrSystemBusApiService; +// @Resource +// private BussinessOriginTypeService bussinessOriginTypeService; + + + @GetMapping("/udiwms/basic/thirdsys/filter") + public BaseResponse filter(FilterBasicThirdSysRequest filterBasicThirdSysRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicThirdSysEntities; + + basicThirdSysEntities = thrSystemService.filterBasicThiSys(filterBasicThirdSysRequest); + + PageInfo pageInfo; + pageInfo = new PageInfo<>(basicThirdSysEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicThirdSysEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 扫码精灵获取第三方系统列表 + */ + @AuthRuleAnnotation("") + @GetMapping("/udiwms/basic/thirdsys/get") + public BaseResponse get(FilterBasicThirdSysRequest filterBasicThirdSysRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicThirdSysEntities; + basicThirdSysEntities = thrSystemService.filterBasicThiSys(filterBasicThirdSysRequest); + List basicThirdSysResponses = basicThirdSysEntities.stream().map(item -> + { + BasicThirdSysResponse basicThirdSysResponse = new BasicThirdSysResponse(); + BeanUtils.copyProperties(item, basicThirdSysResponse); + return basicThirdSysResponse; + }).collect(Collectors.toList()); + basicThirdSysResponses.add(new BasicThirdSysResponse("ybbm", "医保编码")); + basicThirdSysResponses.add(new BasicThirdSysResponse("sptm", "商品条码")); + basicThirdSysResponses.add(new BasicThirdSysResponse("udiCode", "UDI最小销售标识")); + return ResultVOUtils.success(basicThirdSysResponses); + } + + + @GetMapping("/udiwms/basic/thirdsys/selectIp") + public BaseResponse selectIp(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ThrSystemEntity thrSystemEntity = thrSystemService.selectByThirdId(filterBasicThirdSysDetailRequest.getThirdSysFk()); + return ResultVOUtils.success(thrSystemEntity); + } + + @PostMapping("/udiwms/basic/thirdsys/update") + public BaseResponse save(@RequestBody @Valid ThrSystemEntity thrSystemEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (thrSystemEntity != null) { + //校验系统名称 + if (StrUtil.isBlank(thrSystemEntity.getThirdName())) { + return ResultVOUtils.error(500, "系统名称不能为空"); + } + //校验系统名称是否重复 + boolean exists = thrSystemService.selectThirdNameExists(thrSystemEntity.getThirdId(), thrSystemEntity.getThirdName()); + if (exists) { + return ResultVOUtils.error(500, "第三方系统名称重复"); + } + + ThrSystemEntity temp = thrSystemService.selectByThirdId(thrSystemEntity.getThirdId()); + + if (!thrSystemEntity.getEnabled()) { + //如操作为禁用第三方系统,则需要判断是否是最后一个启用的第三方系统,需要保留至少启用一个第三方系统 + FilterBasicThirdSysRequest filterBasicThirdSysRequest = new FilterBasicThirdSysRequest(); + filterBasicThirdSysRequest.setEnabled(true); + int count = thrSystemService.countThirdSys(filterBasicThirdSysRequest); + if (count == 1) { + return ResultVOUtils.error(500, "至少需需用一个第三方系统!"); + } + } + + + if (thrSystemEntity.getMainSys() && !thrSystemEntity.getEnabled()) { + return ResultVOUtils.error(500, "主系统必须启用"); + } + + //todo 耗材字典还未完成 +// if (!temp.getMainSys().equals(basicThirdSysEntity.getMainSys())) { +// if (udiRelevanceService.isExit() || unitMaintainService.isExit()) { +// return ResultVOUtils.error(999, "产品信息已经关联,无法取消主系统!"); +// } +// if ((!temp.getEnabled()) && basicThirdSysEntity.getMainSys()) { +// if (!basicThirdSysEntity.getEnabled()) { +// return ResultVOUtils.error(999, "请先启用系统!"); +// } +// } +// if (!basicThirdSysEntity.getEnabled() && basicThirdSysEntity.getMainSys()) { +// return ResultVOUtils.error(999, "请先启用系统!"); +// } +// } + if (thrSystemEntity.getMainSys()) { + List basicThirdSysEntities = thrSystemService.filterBasicThiSys(new FilterBasicThirdSysRequest()); + for (ThrSystemEntity thrSystemEntity1 : basicThirdSysEntities) { + thrSystemEntity1.setMainSys(false); + thrSystemService.updateBasicThiSys(thrSystemEntity1); + } + } + thrSystemService.updateBasicThiSys(thrSystemEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + + @GetMapping("/udiwms/basic/thirdsys/filterDetail") + public BaseResponse filterDetail(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicThirdSysEntities; + basicThirdSysEntities = thrSystemDetailService.filterBasicThirdSysDetail(filterBasicThirdSysDetailRequest); + PageInfo pageInfo; + pageInfo = new PageInfo<>(basicThirdSysEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicThirdSysEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + @GetMapping("/udiwms/basic/thirdsys/filterDetailByKey") + public BaseResponse filterDetailByKey(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + ThrSystemDetailEntity thrSystemDetailEntity = thrSystemDetailService. + selectByKey(filterBasicThirdSysDetailRequest.getKey(), filterBasicThirdSysDetailRequest.getThirdSysFk()); + return ResultVOUtils.success(thrSystemDetailEntity); + } + + @PostMapping("/udiwms/basic/thirdsys/saveDetail") + public BaseResponse saveDetail(@RequestBody @Valid ThrSystemDetailEntity thrSystemDetailEntity, + BindingResult bindingResult) { + + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (thrSystemDetailEntity != null) { + thrSystemDetailService.updateBasicThirdSysDetail(thrSystemDetailEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + /** + * 启用第三方系统接口 + * + * @param list + * @return + */ + @PostMapping("/udiwms/basic/thirdsys/updateInterfaceStatus") + public BaseResponse updateInterfaceStatus(@RequestBody List list) { + if (CollUtil.isEmpty(list)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + thrSystemDetailService.updateInterfaceStatus(list); + return ResultVOUtils.success("添加成功"); + } + + + @GetMapping("/udiwms/basic/thirdsys/filterBusTypeDetail") + public BaseResponse filterBusTypeDetail(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + List basicThirdSysEntities = thrSystemBusApiService.filterSysBusApi(filterBasicThirdSysDetailRequest); + + PageInfo pageInfo; + pageInfo = new PageInfo<>(basicThirdSysEntities); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(basicThirdSysEntities); + return ResultVOUtils.success(pageSimpleResponse); + } + + + @PostMapping("/udiwms/basic/thirdsys/saveBusTypeDetail") + public BaseResponse saveBusTypeDetail(@RequestBody @Valid ThrSystemBusApiEntity thrSystemBusApiEntity, + BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (thrSystemBusApiEntity != null) { + thrSystemBusApiService.updateSysBusApi(thrSystemBusApiEntity); + } else { + ResultVOUtils.error(999, "参数错误"); + } + return ResultVOUtils.success("更新成功"); + } + + + /** + * 第三方系统 业务单据提交接口添加/更新单据类型 + * + * @param thrSystemBusApiEntity + * @return + */ + @PostMapping("/udiwms/basic/thirdsys/saveBusTypes") + public BaseResponse saveBusTypes(@RequestBody ThrSystemBusApiEntity thrSystemBusApiEntity) { + if (null == thrSystemBusApiEntity || null == thrSystemBusApiEntity.getType()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + + //todo 第三方单据类型还未完成 +// BussinessOriginTypeResponse bussinessOriginTypeResponse = bussinessOriginTypeService.finByLocalAction(basicThirdSysBusApiEntity.getCode()); +// if (bussinessOriginTypeResponse != null) { +// basicThirdSysBusApiEntity.setThirdBuyCode(bussinessOriginTypeResponse.getThirdAction()); +// basicThirdSysBusApiEntity.setThirdBuyName(bussinessOriginTypeResponse.getThirdName()); +// } + + boolean result = thrSystemBusApiService.saveBusTypes(thrSystemBusApiEntity); + if (result) { + return ResultVOUtils.success(); + } + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + @GetMapping("/udiwms/basic/thirdsys/delete") + public BaseResponse delete(Integer id) { + if (null == id) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + boolean result = thrSystemBusApiService.delete(id); + if (result) { + return ResultVOUtils.success(); + } + return ResultVOUtils.error(ResultEnum.NOT_NETWORK); + } + + /** + * 测试第三方服务连通性 + * + * @return + */ + @PostMapping("/udiwms/basic/thirdsys/testThirdService") + public BaseResponse testThirdService(@RequestBody ThrSystemEntity thrSystemEntity) { + return thrSystemDetailService.testThirdService(thrSystemEntity); + } + + @Resource + ErpBasicClient erpBasicClient; + + @PostMapping("/udiwms/basic/thirdsys/testThirdInter") + public BaseResponse testThirdInter(@RequestBody ThrSystemEntity thrSystemEntity) { + return erpBasicClient.testThridConnect(thrSystemEntity); + } + +} diff --git a/src/main/java/com/glxp/api/dao/system/BasicThirdSysDao.java b/src/main/java/com/glxp/api/dao/system/BasicThirdSysDao.java deleted file mode 100644 index 35f53d693..000000000 --- a/src/main/java/com/glxp/api/dao/system/BasicThirdSysDao.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.glxp.api.dao.system; - -import com.glxp.api.entity.system.BasicThirdSysEntity; -import com.glxp.api.req.system.FilterBasicThirdSysRequest; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -@Mapper -public interface BasicThirdSysDao { - - boolean updateBasicThiSys(BasicThirdSysEntity basicThirdSysEntity); - - BasicThirdSysEntity selectByThirdId(@Param("thirdId") String thirdId); - - List filterBasicThiSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); - - /** - * 查询启用的第三方系统的ID - * - * @return - */ - List selectEnabledThirdId(); - - /** - * 查询第三方系统名称数量 - * - * @param thirdName - * @return - */ - int selectCountByThirdName(@Param("thirdName") String thirdName); - - /** - * 根据系统ID和名称查询第三方系统配置信息 - * - * @param thirdId - * @param thirdName - * @return - */ - BasicThirdSysEntity selectByThirdIdAndThirdName(@Param("thirdId") String thirdId, @Param("thirdName") String thirdName); - - /** - * 根据第三方系统ID查询第三方系统名称 - * - * @param thirdSysFk - * @return - */ - String selectThirdNameByThirdId(@Param("thirdId") String thirdId); - - int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); -} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrSystemBusApiDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrSystemBusApiDao.java new file mode 100644 index 000000000..1ca20ca40 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrSystemBusApiDao.java @@ -0,0 +1,39 @@ +package com.glxp.api.dao.thrsys; + +import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrSystemBusApiDao { + + boolean insertSysBusApi(ThrSystemBusApiEntity basicThirdSysEntity); + + boolean updateSysBusApi(ThrSystemBusApiEntity basicThirdSysEntity); + + List filterSysBusApi(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest); + + /** + * 批量保存 + */ + boolean saveBusTypes(@Param("list") List list); + + boolean deleteById(@Param("id") Integer id); + + ThrSystemBusApiEntity selectByCode(@Param("code") String code); + + /** + * 查询所有编码 + * + * @return + */ + List selectAllCode(); + + /** + * 根据系统ID和类型,统计单据类型数量 + */ + int countByThirdSysAndType(@Param("thirdSys") String thirdSys, @Param("type") int type); +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDao.java new file mode 100644 index 000000000..c7a9c412e --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDao.java @@ -0,0 +1,40 @@ +package com.glxp.api.dao.thrsys; + +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrSystemDao { + + boolean updateBasicThiSys(ThrSystemEntity thrSystemEntity); + + ThrSystemEntity selectByThirdId(@Param("thirdId") String thirdId); + + List filterBasicThiSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); + + /** + * 查询启用的第三方系统的ID + */ + List selectEnabledThirdId(); + + /** + * 查询第三方系统名称数量 + */ + int selectCountByThirdName(@Param("thirdName") String thirdName); + + /** + * 根据系统ID和名称查询第三方系统配置信息 + */ + ThrSystemEntity selectByThirdIdAndThirdName(@Param("thirdId") String thirdId, @Param("thirdName") String thirdName); + + /** + * 根据第三方系统ID查询第三方系统名称 + */ + String selectThirdNameByThirdId(@Param("thirdId") String thirdId); + + int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); +} diff --git a/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDetailDao.java b/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDetailDao.java new file mode 100644 index 000000000..25cac9758 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/thrsys/ThrSystemDetailDao.java @@ -0,0 +1,20 @@ +package com.glxp.api.dao.thrsys; + +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface ThrSystemDetailDao { + + + boolean updateBasicThirdSysDetail(ThrSystemDetailEntity basicThirdSysEntity); + + ThrSystemDetailEntity selectByKey(@Param("key") String key, @Param("thirdSys") String thirdSys); + + List filterBasicThirdSysDetail(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest); + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrSystemBusApiEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemBusApiEntity.java new file mode 100644 index 000000000..449429225 --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemBusApiEntity.java @@ -0,0 +1,26 @@ +package com.glxp.api.entity.thrsys; + +import lombok.Data; + +@Data +public class ThrSystemBusApiEntity { + + private Integer id; + private String code; + private String name; + private String thirdBuyName; //第三方系统单据类型名称 + private String thirdBuyCode; //第三方系统单据类型代码 + private String thirdSys; + private String url; + private Integer type; + private String remark; + private Integer inoutType; + + //扩展字段 暂未启用 + private String filed; + private String filed1; + private String filed2; + private String filed3; + private String filed4; + +} diff --git a/src/main/java/com/glxp/api/entity/thrsys/ThrSystemDetailEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemDetailEntity.java new file mode 100644 index 000000000..e0918c8bb --- /dev/null +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemDetailEntity.java @@ -0,0 +1,30 @@ +package com.glxp.api.entity.thrsys; + +import lombok.Data; + +@Data +public class ThrSystemDetailEntity { + + private Integer id; + private String key; + private String value; + private Boolean enabled; + private Boolean itrCache; + private String guideUrl; + private String thridUrl; + private String remark; + private String thirdSysFk; + private String name; + private Integer fromType; + private String localAction; + private String thirdAction; + + public String getValue() { + if (value == null) + return null; + else if (thridUrl != null) + return thridUrl + value; + else + return value; + } +} diff --git a/src/main/java/com/glxp/api/entity/system/BasicThirdSysEntity.java b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemEntity.java similarity index 89% rename from src/main/java/com/glxp/api/entity/system/BasicThirdSysEntity.java rename to src/main/java/com/glxp/api/entity/thrsys/ThrSystemEntity.java index bd7807bfe..78d91f964 100644 --- a/src/main/java/com/glxp/api/entity/system/BasicThirdSysEntity.java +++ b/src/main/java/com/glxp/api/entity/thrsys/ThrSystemEntity.java @@ -1,9 +1,9 @@ -package com.glxp.api.entity.system; +package com.glxp.api.entity.thrsys; import lombok.Data; @Data -public class BasicThirdSysEntity { +public class ThrSystemEntity { private String id; private String thirdId; private String thirdName; diff --git a/src/main/java/com/glxp/api/http/ErpBasicClient.java b/src/main/java/com/glxp/api/http/ErpBasicClient.java new file mode 100644 index 000000000..7bac156d2 --- /dev/null +++ b/src/main/java/com/glxp/api/http/ErpBasicClient.java @@ -0,0 +1,131 @@ +package com.glxp.api.http; + +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.service.thrsys.ThrSystemService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * 第三方服务HttpClient + */ +@Slf4j +@Service +public class ErpBasicClient { + @Resource + HttpOkClient httpOkClient; + @Resource + private ThrSystemService basicThirdSysService; + + + //todo 基础信息相关接口还未完成 +// //获取往来单位 +// public BaseResponse> getErpCrop(BasicUnitMaintainFilterRequest unitMaintainFilterRequest) { +// UdiwmsUnitRequest udiwmsUnitRequest = new UdiwmsUnitRequest(); +// BeanUtils.copyProperties(unitMaintainFilterRequest, udiwmsUnitRequest); +// udiwmsUnitRequest.setUnitId(unitMaintainFilterRequest.getErpId()); +// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(unitMaintainFilterRequest.getThirdSys()); +// +// try { +// String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getUnits"; +// String response = httpOkClient.uCloudPost(url, udiwmsUnitRequest, basicThirdSysEntity); +// BaseResponse> udiDlDeviceResponse = +// JSONObject.parseObject(response, new TypeReference>>() { +// }); +// return udiDlDeviceResponse; +// } catch (Exception e) { +// log.error("获取往来单位异常", e); +// return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); +// } +// } +// +// //获取产品信息 +// public BaseResponse> getErpProducts(FilterErpGoodsRequest filterErpGoodsRequest) { +// +// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterErpGoodsRequest.getThirdSys()); +// String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getProducts"; +// +// try { +// String response = httpOkClient.uCloudPost(url, filterErpGoodsRequest, basicThirdSysEntity); +// BaseResponse> udiDlDeviceResponse = +// JSONObject.parseObject(response, new TypeReference>>() { +// }); +// return udiDlDeviceResponse; +// } catch (Exception e) { +// log.error("获取产品信息异常", e); +// return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); +// } +// } +// +// //获取单据类型 +// public BaseResponse> getBusTypes(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest) { +// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(filterBasicThirdSysDetailRequest.getThirdSysFk()); +// String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getOrderType"; +// UdiwmsBusTypeRequest udiwmsBusTypeRequest = new UdiwmsBusTypeRequest(); +// udiwmsBusTypeRequest.setThirdSys(filterBasicThirdSysDetailRequest.getThirdSysFk()); +// udiwmsBusTypeRequest.setPage(filterBasicThirdSysDetailRequest.getPage()); +// udiwmsBusTypeRequest.setLimit(filterBasicThirdSysDetailRequest.getLimit()); +// try { +// String response = httpOkClient.uCloudPost(url, udiwmsBusTypeRequest, basicThirdSysEntity); +// log.info(response); +// BaseResponse> udiDlDeviceResponse = +// JSONObject.parseObject(response, new TypeReference>>() { +// }); +// return udiDlDeviceResponse; +// } catch (Exception e) { +// log.error("获取单据类型异常", e); +// return ResultVOUtils.error(500, "连接第三方系统接口服务出错!"); +// } +// } +// +// //查询仓库货位号 +// public BaseResponse> getWarehouse(UdiwmsWarehouseRequest udiwmsWarehouseRequest) { +// BasicThirdSysEntity basicThirdSysEntity = basicThirdSysService.selectByThirdId(udiwmsWarehouseRequest.getThirdSys()); +// String url = basicThirdSysEntity.getThridUrl() + "/udiwms/erp/getWarehouse"; +// try { +// String response = httpOkClient.uCloudPost(url, udiwmsWarehouseRequest); +// BaseResponse> listBaseResponse = +// JSONObject.parseObject(response, new TypeReference>>() { +// }); +// +// return listBaseResponse; +// } catch (Exception e) { +// log.error("获取第三方系统的仓库货位码异常", e); +// return ResultVOUtils.error(500, "连接第三方系统接口服务出错"); +// } +// } + + //测试连通性 + public BaseResponse testConnection(ThrSystemEntity thrSystemEntity) { + String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udispsync/sync/testConnection", "{}"); + log.info(response); + if (StrUtil.isBlank(response)) { + return ResultVOUtils.error(500, "连接失败"); + } + try { + return JSONObject.parseObject(response, BaseResponse.class); + } catch (Exception e) { + log.info("测试第三方服务连通性失败"); + return ResultVOUtils.error(500, "连接失败"); + } + } + + //测试连通性 + public BaseResponse testThridConnect(ThrSystemEntity thrSystemEntity) { + String response = httpOkClient.uCloudPost(thrSystemEntity.getThridUrl() + "/udiwms/erp/testThirdSys", "{}"); + log.info(response); + try { + return JSONObject.parseObject(response, BaseResponse.class); + } catch (Exception e) { + log.info("测试第三方服务接口连通性失败"); + return ResultVOUtils.error(500, "连接失败"); + } + } + + +} diff --git a/src/main/java/com/glxp/api/http/HttpOkClient.java b/src/main/java/com/glxp/api/http/HttpOkClient.java new file mode 100644 index 000000000..191711590 --- /dev/null +++ b/src/main/java/com/glxp/api/http/HttpOkClient.java @@ -0,0 +1,58 @@ +package com.glxp.api.http; + +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONUtil; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.util.OkHttpCli; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + +@Slf4j +@Service +public class HttpOkClient { + + @Resource + OkHttpCli okHttpCli; + + public String uCloudPost(String url, Object object) { + + String json = JSONUtil.toJsonStr(object); + log.info(url + "\n" + json); + String response = okHttpCli.doPostJson(url, json, "Content-Type", "application/json"); + return response; + } + + + public String uCloudPost(String url, Object object, ThrSystemEntity thrSystemEntity) { + String json = JSONUtil.toJsonStr(object); + log.info(url + "\n" + json); + List header = new ArrayList<>(); + header.add("Content-Type"); + header.add("application/json"); + if (null != thrSystemEntity) { + + if (StrUtil.isNotEmpty(thrSystemEntity.getApikey())) { + header.add("api_key"); + header.add(thrSystemEntity.getApikey()); + } + + + if (StrUtil.isNotEmpty(thrSystemEntity.getSecretkey())) { + header.add("secret_key"); + header.add(thrSystemEntity.getSecretkey()); + } + + + } + + String[] strArray = new String[header.size()]; + header.toArray(strArray); + + return okHttpCli.doPostJson(url, json, strArray); + } + +} diff --git a/src/main/java/com/glxp/api/req/system/FilterBasicThirdSysDetailRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterBasicThirdSysDetailRequest.java similarity index 90% rename from src/main/java/com/glxp/api/req/system/FilterBasicThirdSysDetailRequest.java rename to src/main/java/com/glxp/api/req/thrsys/FilterBasicThirdSysDetailRequest.java index a105f3188..93e41b26e 100644 --- a/src/main/java/com/glxp/api/req/system/FilterBasicThirdSysDetailRequest.java +++ b/src/main/java/com/glxp/api/req/thrsys/FilterBasicThirdSysDetailRequest.java @@ -1,4 +1,4 @@ -package com.glxp.api.req.system; +package com.glxp.api.req.thrsys; import com.glxp.api.req.ListPageRequest; import lombok.Data; diff --git a/src/main/java/com/glxp/api/req/system/FilterBasicThirdSysRequest.java b/src/main/java/com/glxp/api/req/thrsys/FilterBasicThirdSysRequest.java similarity index 91% rename from src/main/java/com/glxp/api/req/system/FilterBasicThirdSysRequest.java rename to src/main/java/com/glxp/api/req/thrsys/FilterBasicThirdSysRequest.java index 08fbb4962..767b0e61c 100644 --- a/src/main/java/com/glxp/api/req/system/FilterBasicThirdSysRequest.java +++ b/src/main/java/com/glxp/api/req/thrsys/FilterBasicThirdSysRequest.java @@ -1,4 +1,4 @@ -package com.glxp.api.req.system; +package com.glxp.api.req.thrsys; import com.glxp.api.req.ListPageRequest; import lombok.Data; diff --git a/src/main/java/com/glxp/api/res/thrsys/BasicThirdSysResponse.java b/src/main/java/com/glxp/api/res/thrsys/BasicThirdSysResponse.java new file mode 100644 index 000000000..fd4916c36 --- /dev/null +++ b/src/main/java/com/glxp/api/res/thrsys/BasicThirdSysResponse.java @@ -0,0 +1,19 @@ +package com.glxp.api.res.thrsys; + +import lombok.Data; + +@Data +public class BasicThirdSysResponse { + public BasicThirdSysResponse() { + + } + + public BasicThirdSysResponse(String thirdId, String thirdName) { + this.thirdId = thirdId; + this.thirdName = thirdName; + } + + private String thirdId; + private String thirdName; + +} diff --git a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java index 29c313bb0..010c66bb6 100644 --- a/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java +++ b/src/main/java/com/glxp/api/service/auth/impl/InvWarehouseServiceImpl.java @@ -4,12 +4,12 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.auth.InvSubWarehouseDao; -import com.glxp.api.dao.system.BasicThirdSysDao; +import com.glxp.api.dao.thrsys.ThrSystemDao; import com.glxp.api.entity.auth.InvWarehouseEntity; -import com.glxp.api.entity.system.BasicThirdSysEntity; +import com.glxp.api.entity.thrsys.ThrSystemEntity; import com.glxp.api.req.auth.FilterInvSubWarehouseRequest; import com.glxp.api.req.auth.FilterInvWarehouseRequest; -import com.glxp.api.req.system.FilterBasicThirdSysRequest; +import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; import com.glxp.api.res.auth.InvSubWarehouseResponse; import com.glxp.api.res.auth.InvWarehouseThirdSysResponse; import com.glxp.api.service.auth.InvWarehouseService; @@ -27,7 +27,7 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { @Resource InvSubWarehouseDao invSubWarehouseDao; @Resource - private BasicThirdSysDao basicThirdSysDao; + private ThrSystemDao thrSystemDao; @Override public InvWarehouseEntity findById(String id) { @@ -133,14 +133,14 @@ public class InvWarehouseServiceImpl implements InvWarehouseService { public List getThirdSysDetail(String id) { FilterBasicThirdSysRequest sysRequest = new FilterBasicThirdSysRequest(); sysRequest.setEnabled(true); - List data = basicThirdSysDao.filterBasicThiSys(sysRequest); + List data = thrSystemDao.filterBasicThiSys(sysRequest); if (CollUtil.isEmpty(data)) return null; FilterInvSubWarehouseRequest tempReqeust = new FilterInvSubWarehouseRequest(); tempReqeust.setCode(id); InvWarehouseEntity invWarehouseEntity = invSubWarehouseDao.selectJoinThirdSys(tempReqeust); List invWarehouseThirdSysResponses = new ArrayList<>(); - for (BasicThirdSysEntity sys : data) { + for (ThrSystemEntity sys : data) { InvWarehouseThirdSysResponse invWarehouseThirdSysResponse = new InvWarehouseThirdSysResponse(); invWarehouseThirdSysResponse.setSysId(sys.getThirdId()); invWarehouseThirdSysResponse.setSysName(sys.getThirdName()); diff --git a/src/main/java/com/glxp/api/service/system/BasicThirdSysService.java b/src/main/java/com/glxp/api/service/system/BasicThirdSysService.java deleted file mode 100644 index 52d741c8f..000000000 --- a/src/main/java/com/glxp/api/service/system/BasicThirdSysService.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.glxp.api.service.system; - - -import com.glxp.api.entity.system.BasicThirdSysEntity; -import com.glxp.api.req.system.FilterBasicThirdSysRequest; - -import java.util.List; - -public interface BasicThirdSysService { - - - boolean updateBasicThiSys(BasicThirdSysEntity basicThirdSysEntity); - - BasicThirdSysEntity selectByThirdId(String thirdId); - - List filterBasicThiSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); - - BasicThirdSysEntity selectMainThrSys(); - - /** - * 校验第三方系统名称是否重复 - * - * @param thirdId 第三方系统ID - * @param thirdName 第三方系统名称 - * @return - */ - boolean selectThirdNameExists(String thirdId, String thirdName); - - int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); - -} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrSystemBusApiService.java b/src/main/java/com/glxp/api/service/thrsys/ThrSystemBusApiService.java new file mode 100644 index 000000000..34ac2de2e --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrSystemBusApiService.java @@ -0,0 +1,26 @@ +package com.glxp.api.service.thrsys; + + +import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; + +import java.util.List; + +public interface ThrSystemBusApiService { + + boolean insertSysBusApi(ThrSystemBusApiEntity basicThirdSysEntity); + + boolean updateSysBusApi(ThrSystemBusApiEntity basicThirdSysEntity); + + ThrSystemBusApiEntity selectByKey(String key, String thirdSys); + + List filterSysBusApi(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest); + + + /** + * 第三方系统 业务单据提交接口添加单据类型 + */ + boolean saveBusTypes(ThrSystemBusApiEntity thrSystemBusApiEntity); + + boolean delete(Integer id); +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrSystemDetailService.java b/src/main/java/com/glxp/api/service/thrsys/ThrSystemDetailService.java new file mode 100644 index 000000000..76a6cf887 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrSystemDetailService.java @@ -0,0 +1,24 @@ +package com.glxp.api.service.thrsys; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; + +import java.util.List; + +public interface ThrSystemDetailService { + + boolean updateBasicThirdSysDetail(ThrSystemDetailEntity basicThirdSysEntity); + + ThrSystemDetailEntity selectByKey(String key, String thirdSys); + + List filterBasicThirdSysDetail(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest); + + void updateInterfaceStatus(List list); + + /** + * 测试第三方服务连通性 + */ + BaseResponse testThirdService(ThrSystemEntity thrSystemEntity); +} diff --git a/src/main/java/com/glxp/api/service/thrsys/ThrSystemService.java b/src/main/java/com/glxp/api/service/thrsys/ThrSystemService.java new file mode 100644 index 000000000..4359c9c35 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/ThrSystemService.java @@ -0,0 +1,31 @@ +package com.glxp.api.service.thrsys; + + +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; + +import java.util.List; + +public interface ThrSystemService { + + + boolean updateBasicThiSys(ThrSystemEntity thrSystemEntity); + + ThrSystemEntity selectByThirdId(String thirdId); + + List filterBasicThiSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); + + ThrSystemEntity selectMainThrSys(); + + /** + * 校验第三方系统名称是否重复 + * + * @param thirdId 第三方系统ID + * @param thirdName 第三方系统名称 + * @return + */ + boolean selectThirdNameExists(String thirdId, String thirdName); + + int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest); + +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemBusApiServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemBusApiServiceImpl.java new file mode 100644 index 000000000..318ee12b6 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemBusApiServiceImpl.java @@ -0,0 +1,61 @@ +package com.glxp.api.service.thrsys.impl; + +import cn.hutool.core.collection.CollUtil; +import com.glxp.api.dao.thrsys.ThrSystemBusApiDao; +import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; +import com.glxp.api.service.thrsys.ThrSystemBusApiService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +@Service +public class ThrSystemBusApiServiceImpl implements ThrSystemBusApiService { + + @Resource + ThrSystemBusApiDao thrSystemBusApiDao; + + @Override + public boolean insertSysBusApi(ThrSystemBusApiEntity basicThirdSysEntity) { + return thrSystemBusApiDao.insertSysBusApi(basicThirdSysEntity); + } + + @Override + public boolean updateSysBusApi(ThrSystemBusApiEntity basicThirdSysEntity) { + return thrSystemBusApiDao.updateSysBusApi(basicThirdSysEntity); + } + + @Override + public ThrSystemBusApiEntity selectByKey(String key, String thirdSys) { + FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest = new FilterBasicThirdSysDetailRequest(); + filterBasicThirdSysDetailRequest.setThirdSysFk(thirdSys); + filterBasicThirdSysDetailRequest.setKey(key); + List basicThirdSysBusApiEntities = thrSystemBusApiDao.filterSysBusApi(filterBasicThirdSysDetailRequest); + if (CollUtil.isNotEmpty(basicThirdSysBusApiEntities)) { + return basicThirdSysBusApiEntities.get(0); + } + return null; + } + + @Override + public List filterSysBusApi(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest) { + return thrSystemBusApiDao.filterSysBusApi(filterBasicThirdSysDetailRequest); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean saveBusTypes(ThrSystemBusApiEntity thrSystemBusApiEntity) { + if (null != thrSystemBusApiEntity.getId()) { + return thrSystemBusApiDao.updateSysBusApi(thrSystemBusApiEntity); + } + return thrSystemBusApiDao.insertSysBusApi(thrSystemBusApiEntity); + } + + @Transactional(rollbackFor = Exception.class) + @Override + public boolean delete(Integer id) { + return thrSystemBusApiDao.deleteById(id); + } +} diff --git a/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemDetailServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemDetailServiceImpl.java new file mode 100644 index 000000000..e77bcb874 --- /dev/null +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemDetailServiceImpl.java @@ -0,0 +1,64 @@ +package com.glxp.api.service.thrsys.impl; + +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.dao.thrsys.ThrSystemDetailDao; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.entity.thrsys.ThrSystemDetailEntity; +import com.glxp.api.http.ErpBasicClient; +import com.glxp.api.req.thrsys.FilterBasicThirdSysDetailRequest; +import com.glxp.api.service.thrsys.ThrSystemDetailService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +public class ThrSystemDetailServiceImpl implements ThrSystemDetailService { + + @Resource + ThrSystemDetailDao thrSystemDetailDao; + @Resource + private ErpBasicClient erpBasicClient; + + @Override + public boolean updateBasicThirdSysDetail(ThrSystemDetailEntity basicThirdSysEntity) { + return thrSystemDetailDao.updateBasicThirdSysDetail(basicThirdSysEntity); + } + + @Override + public ThrSystemDetailEntity selectByKey(String key, String thirdSys) { + return thrSystemDetailDao.selectByKey(key, thirdSys); + } + + @Override + public List filterBasicThirdSysDetail(FilterBasicThirdSysDetailRequest filterBasicThirdSysDetailRequest) { + if (filterBasicThirdSysDetailRequest == null) { + return Collections.emptyList(); + } + + if (filterBasicThirdSysDetailRequest.getPage() != null) { + int offset = (filterBasicThirdSysDetailRequest.getPage() - 1) * filterBasicThirdSysDetailRequest.getLimit(); + PageHelper.offsetPage(offset, filterBasicThirdSysDetailRequest.getLimit()); + } + List data = thrSystemDetailDao.filterBasicThirdSysDetail(filterBasicThirdSysDetailRequest); + return data; + } + + @Transactional(rollbackFor = Exception.class) + @Override + public void updateInterfaceStatus(List list) { + for (ThrSystemDetailEntity thrSystemDetailEntity : list) { + thrSystemDetailDao.updateBasicThirdSysDetail(thrSystemDetailEntity); + } + } + + @Override + public BaseResponse testThirdService(ThrSystemEntity thrSystemEntity) { + return erpBasicClient.testThridConnect(thrSystemEntity); + } +} diff --git a/src/main/java/com/glxp/api/service/system/impl/BasicThirdSysServiceImpl.java b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemServiceImpl.java similarity index 55% rename from src/main/java/com/glxp/api/service/system/impl/BasicThirdSysServiceImpl.java rename to src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemServiceImpl.java index d38175b9c..5d07c5e85 100644 --- a/src/main/java/com/glxp/api/service/system/impl/BasicThirdSysServiceImpl.java +++ b/src/main/java/com/glxp/api/service/thrsys/impl/ThrSystemServiceImpl.java @@ -1,13 +1,13 @@ -package com.glxp.api.service.system.impl; +package com.glxp.api.service.thrsys.impl; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageHelper; import com.glxp.api.dao.auth.AuthLicenseDao; -import com.glxp.api.dao.system.BasicThirdSysDao; +import com.glxp.api.dao.thrsys.ThrSystemDao; import com.glxp.api.entity.auth.AuthLicense; -import com.glxp.api.entity.system.BasicThirdSysEntity; -import com.glxp.api.req.system.FilterBasicThirdSysRequest; -import com.glxp.api.service.system.BasicThirdSysService; +import com.glxp.api.entity.thrsys.ThrSystemEntity; +import com.glxp.api.req.thrsys.FilterBasicThirdSysRequest; +import com.glxp.api.service.thrsys.ThrSystemService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -17,21 +17,21 @@ import java.util.List; @Slf4j @Service -public class BasicThirdSysServiceImpl implements BasicThirdSysService { +public class ThrSystemServiceImpl implements ThrSystemService { @Resource - BasicThirdSysDao basicThirdSysDao; + ThrSystemDao thrSystemDao; @Resource private AuthLicenseDao authLicenseDao; @Override - public boolean updateBasicThiSys(BasicThirdSysEntity basicThirdSysEntity) { + public boolean updateBasicThiSys(ThrSystemEntity thrSystemEntity) { try { //同步更新本系统的授权码和秘钥 - if (StrUtil.isNotBlank(basicThirdSysEntity.getLicenseApikey()) || StrUtil.isNotBlank(basicThirdSysEntity.getLicenseSecretkey())) { - authLicenseDao.updateLicenseByName(basicThirdSysEntity.getLicenseApikey(), basicThirdSysEntity.getLicenseSecretkey(), "UDI管理系统"); + if (StrUtil.isNotBlank(thrSystemEntity.getLicenseApikey()) || StrUtil.isNotBlank(thrSystemEntity.getLicenseSecretkey())) { + authLicenseDao.updateLicenseByName(thrSystemEntity.getLicenseApikey(), thrSystemEntity.getLicenseSecretkey(), "UDI管理系统"); } - basicThirdSysDao.updateBasicThiSys(basicThirdSysEntity); + thrSystemDao.updateBasicThiSys(thrSystemEntity); } catch (Exception e) { log.error("更新第三方系统信息异常", e); } @@ -39,12 +39,12 @@ public class BasicThirdSysServiceImpl implements BasicThirdSysService { } @Override - public BasicThirdSysEntity selectByThirdId(String thirdId) { - return basicThirdSysDao.selectByThirdId(thirdId); + public ThrSystemEntity selectByThirdId(String thirdId) { + return thrSystemDao.selectByThirdId(thirdId); } @Override - public List filterBasicThiSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest) { + public List filterBasicThiSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest) { if (filterBasicThirdSysRequest == null) { return Collections.emptyList(); } @@ -53,7 +53,7 @@ public class BasicThirdSysServiceImpl implements BasicThirdSysService { int offset = (filterBasicThirdSysRequest.getPage() - 1) * filterBasicThirdSysRequest.getLimit(); PageHelper.offsetPage(offset, filterBasicThirdSysRequest.getLimit()); } - List data = basicThirdSysDao.filterBasicThiSys(filterBasicThirdSysRequest); + List data = thrSystemDao.filterBasicThiSys(filterBasicThirdSysRequest); //查询本系统的授权码 AuthLicense license = authLicenseDao.selectLicenseByName("UDI管理系统"); if (null != license) { @@ -66,10 +66,10 @@ public class BasicThirdSysServiceImpl implements BasicThirdSysService { } @Override - public BasicThirdSysEntity selectMainThrSys() { + public ThrSystemEntity selectMainThrSys() { FilterBasicThirdSysRequest filterBasicThirdSysRequest = new FilterBasicThirdSysRequest(); filterBasicThirdSysRequest.setMainSys(true); - List data = basicThirdSysDao.filterBasicThiSys(filterBasicThirdSysRequest); + List data = thrSystemDao.filterBasicThiSys(filterBasicThirdSysRequest); if (data != null && data.size() > 0) { return data.get(0); } @@ -78,9 +78,9 @@ public class BasicThirdSysServiceImpl implements BasicThirdSysService { @Override public boolean selectThirdNameExists(String thirdId, String thirdName) { - BasicThirdSysEntity basicThirdSysEntity = basicThirdSysDao.selectByThirdIdAndThirdName(thirdId, thirdName); - if (null == basicThirdSysEntity) { - int count = basicThirdSysDao.selectCountByThirdName(thirdName); + ThrSystemEntity thrSystemEntity = thrSystemDao.selectByThirdIdAndThirdName(thirdId, thirdName); + if (null == thrSystemEntity) { + int count = thrSystemDao.selectCountByThirdName(thirdName); return count > 0; } return false; @@ -88,6 +88,6 @@ public class BasicThirdSysServiceImpl implements BasicThirdSysService { @Override public int countThirdSys(FilterBasicThirdSysRequest filterBasicThirdSysRequest) { - return basicThirdSysDao.countThirdSys(filterBasicThirdSysRequest); + return thrSystemDao.countThirdSys(filterBasicThirdSysRequest); } } diff --git a/src/main/resources/mybatis/mapper/thrsys/ThrSystemBusApiDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrSystemBusApiDao.xml new file mode 100644 index 000000000..96adac443 --- /dev/null +++ b/src/main/resources/mybatis/mapper/thrsys/ThrSystemBusApiDao.xml @@ -0,0 +1,100 @@ + + + + + + + UPDATE thr_system_bus_api + + code=#{code}, + `name`=#{name}, + `thirdBuyName`=#{thirdBuyName}, + `thirdBuyCode`=#{thirdBuyCode}, + thirdSys=#{thirdSys}, + url=#{url}, + `type`=#{type}, + remark=#{remark}, + + WHERE id=#{id} + + + + + + + insert + ignore + INTO thr_system_bus_api + (`code`, `name`, thirdBuyName, thirdBuyCode, `thirdSys`, url, `type`, remark) + values ( + #{code}, + #{name}, + #{thirdBuyName}, + #{thirdBuyCode}, + #{thirdSys}, + #{url}, + #{type}, + #{remark} + ) + + + + insert into thr_system_bus_api (code, `name`, thirdBuyName, thirdBuyCode, thirdSys, type) + values + + ( + #{item.code}, + #{item.name}, + #{item.thirdBuyName}, + #{item.thirdBuyCode}, + #{item.thirdSys}, + #{item.type} + ) + + + + + delete + from thr_system_bus_api + where id = #{id} + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/system/BasicThirdSysDao.xml b/src/main/resources/mybatis/mapper/thrsys/ThrSystemDao.xml similarity index 81% rename from src/main/resources/mybatis/mapper/system/BasicThirdSysDao.xml rename to src/main/resources/mybatis/mapper/thrsys/ThrSystemDao.xml index db535c5b9..e1e43f29d 100644 --- a/src/main/resources/mybatis/mapper/system/BasicThirdSysDao.xml +++ b/src/main/resources/mybatis/mapper/thrsys/ThrSystemDao.xml @@ -1,10 +1,10 @@ - + - - UPDATE basic_third_sys + + UPDATE thr_system thirdId=#{thirdId}, thirdName=#{thirdName}, @@ -20,9 +20,9 @@ WHERE id=#{id} - + SELECT * FROM thr_system AND thirdId like concat('%',#{thirdId},'%') @@ -38,36 +38,36 @@ - select * - FROM basic_third_sys + FROM thr_system WHERE thirdId = #{thirdId} - select * - from basic_third_sys + from thr_system where thirdId = #{thirdId} and thirdName = #{thirdName} + SELECT * + FROM thr_system_detail + + + AND thr_system_detail.key = #{key} + + + AND thirdSysFk = #{thirdSysFk} + + + AND enabled = #{enabled} + + + order by id + + + \ No newline at end of file diff --git a/src/main/resources/schemas/init.sql b/src/main/resources/schemas/init.sql index a76e3fa91..8fa4b229a 100644 --- a/src/main/resources/schemas/init.sql +++ b/src/main/resources/schemas/init.sql @@ -1,7 +1,7 @@ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -DROP TABLE IF EXISTS `db_version`; -CREATE TABLE `db_version` ( +DROP TABLE IF EXISTS `sys_db_version`; +CREATE TABLE `sys_db_version` ( `id` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, `version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '版本号', `created` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',