From a33b9590e6a3df46fa5d14791cd5d3900a68800a Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Mon, 15 May 2023 20:00:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../algorithm/api/CsEdDataFeignClient.java | 28 ++++++++++++ .../CsEdDataFeignClientFallbackFactory.java | 44 +++++++++++++++++++ .../njcn/algorithm/pojo/po/CsEdDataPO.java | 9 ++++ .../njcn/algorithm/pojo/vo/CsEdDataVO.java | 3 ++ .../EquipmentDeliveryController.java | 4 +- .../project/CsEdDataController.java | 20 +++++++-- .../algorithm/service/CsEdDataService.java | 8 ++++ .../service/impl/CsEdDataServiceImpl.java | 19 ++++++++ .../impl/CsEquipmentDeliveryServiceImpl.java | 2 +- 9 files changed, 130 insertions(+), 7 deletions(-) create mode 100644 pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/api/CsEdDataFeignClient.java create mode 100644 pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/api/fallback/CsEdDataFeignClientFallbackFactory.java diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/api/CsEdDataFeignClient.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/api/CsEdDataFeignClient.java new file mode 100644 index 000000000..c4f6f8a88 --- /dev/null +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/api/CsEdDataFeignClient.java @@ -0,0 +1,28 @@ +package com.njcn.algorithm.api; + +import com.njcn.algorithm.api.fallback.CsEdDataFeignClientFallbackFactory; +import com.njcn.algorithm.pojo.po.CsEdDataPO; +import com.njcn.algorithm.pojo.vo.CsEdDataVO; +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import java.util.List; + +/** + * @author xy + */ +@FeignClient(value = ServerInfo.ALGORITHM_BOOT, path = "/edData", fallbackFactory = CsEdDataFeignClientFallbackFactory.class,contextId = "edData") +public interface CsEdDataFeignClient { + + @PostMapping("/findByDevTypeId") + HttpResult findByDevTypeId(@RequestParam("devType") String devType); + + @PostMapping("/getAll") + HttpResult> getAll(@RequestParam("devType") String devType); +} diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/api/fallback/CsEdDataFeignClientFallbackFactory.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/api/fallback/CsEdDataFeignClientFallbackFactory.java new file mode 100644 index 000000000..e18d7e711 --- /dev/null +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/api/fallback/CsEdDataFeignClientFallbackFactory.java @@ -0,0 +1,44 @@ +package com.njcn.algorithm.api.fallback; + +import com.njcn.algorithm.api.CsEdDataFeignClient; +import com.njcn.algorithm.pojo.po.CsEdDataPO; +import com.njcn.algorithm.pojo.vo.CsEdDataVO; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @author xy + */ +@Slf4j +@Component +public class CsEdDataFeignClientFallbackFactory implements FallbackFactory { + @Override + public CsEdDataFeignClient create(Throwable cause) { + //判断抛出异常是否为解码器抛出的业务异常 + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (cause.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException) cause.getCause(); + } + Enum finalExceptionEnum = exceptionEnum; + return new CsEdDataFeignClient() { + + @Override + public HttpResult findByDevTypeId(String devType) { + log.error("{}异常,降级处理,异常为:{}","根据装置型号获取装置类型",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getAll(String devType) { + log.error("{}异常,降级处理,异常为:{}","根据装置型号获取装置类型",cause.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/po/CsEdDataPO.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/po/CsEdDataPO.java index d38813498..fc2a12542 100644 --- a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/po/CsEdDataPO.java +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/po/CsEdDataPO.java @@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.njcn.db.bo.BaseEntity; import lombok.Data; +import lombok.EqualsAndHashCode; +import java.io.Serializable; import java.util.Date; /** @@ -23,6 +25,7 @@ import java.util.Date; */ @Data @TableName(value = "cs_ed_data") +@EqualsAndHashCode(callSuper = true) public class CsEdDataPO extends BaseEntity { /** * id @@ -78,4 +81,10 @@ public class CsEdDataPO extends BaseEntity { @TableField(value = "file_path") private String filePath; + /** + * 装置类型 + */ + @TableField(value = "type") + private String type; + } \ No newline at end of file diff --git a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/vo/CsEdDataVO.java b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/vo/CsEdDataVO.java index 4fa7af5f4..e5708bb0c 100644 --- a/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/vo/CsEdDataVO.java +++ b/pqs-algorithm/algorithm-api/src/main/java/com/njcn/algorithm/pojo/vo/CsEdDataVO.java @@ -68,4 +68,7 @@ public class CsEdDataVO extends BaseEntity { @ApiModelProperty(value = ".bin文件") private String filePath; + @ApiModelProperty(value = "type") + private String type; + } \ No newline at end of file diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/Equipment/EquipmentDeliveryController.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/Equipment/EquipmentDeliveryController.java index 3258486f1..4c0faf7d8 100644 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/Equipment/EquipmentDeliveryController.java +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/Equipment/EquipmentDeliveryController.java @@ -74,8 +74,8 @@ public class EquipmentDeliveryController extends BaseController { - @OperateInfo(info = LogEnum.BUSINESS_COMMON) - @PostMapping("/queryEquipmentByndid") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/queryEquipmentByndid") @ApiOperation("通过ndid查询出厂设备") @ApiImplicitParam(name = "ndid", value = "网关识别码", required = true) public HttpResult queryEquipmentByndid(@RequestParam("ndid")String ndid){ diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/project/CsEdDataController.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/project/CsEdDataController.java index 7f22b15eb..dd94c7ba6 100644 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/project/CsEdDataController.java +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/controller/project/CsEdDataController.java @@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.njcn.algorithm.pojo.param.CsEdDataAddParm; import com.njcn.algorithm.pojo.param.CsEdDataAuditParm; import com.njcn.algorithm.pojo.param.CsEdDataQueryParm; +import com.njcn.algorithm.pojo.po.CsDictPO; +import com.njcn.algorithm.pojo.po.CsEdDataPO; import com.njcn.algorithm.pojo.vo.CsEdDataVO; import com.njcn.algorithm.service.CsEdDataService; import com.njcn.common.pojo.annotation.OperateInfo; @@ -18,10 +20,10 @@ import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Objects; /** * Description: @@ -72,4 +74,14 @@ public class CsEdDataController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/findByDevTypeId") + @ApiOperation("根据装置型号获取装置类型") + @ApiImplicitParam(name = "devType", value = "装置型号", required = true) + public HttpResult findByDevTypeId(@Validated @RequestParam("devType") String devType){ + String methodDescribe = getMethodDescribe("findByDevTypeId"); + CsEdDataVO vo = csEdDataService.findByDevTypeId(devType); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, vo, methodDescribe); + } + } diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/CsEdDataService.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/CsEdDataService.java index 43b87add1..0e2a14035 100644 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/CsEdDataService.java +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/CsEdDataService.java @@ -8,6 +8,8 @@ import com.njcn.algorithm.pojo.po.CsEdDataPO; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.algorithm.pojo.vo.CsEdDataVO; +import java.util.List; + /** * Description: * 接口文档访问地址:http://serverIP:port/swagger-ui.html @@ -42,5 +44,11 @@ public interface CsEdDataService extends IService { * @Date: 2023/4/7 */ IPage queryEdDataPage(CsEdDataQueryParm csEdDataQueryParm); + + /** + * @Description: 根据装置型号获取装置类型 + * @author: xuyang + */ + CsEdDataVO findByDevTypeId(String devType); } diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsEdDataServiceImpl.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsEdDataServiceImpl.java index 15e051aed..53d40c162 100644 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsEdDataServiceImpl.java +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsEdDataServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.algorithm.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -16,7 +17,10 @@ import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; +import java.util.ArrayList; +import java.util.List; import java.util.Objects; /** @@ -66,5 +70,20 @@ public class CsEdDataServiceImpl extends ServiceImpl returnpage = this.getBaseMapper ().getPage(returnpage,csEdDataQueryParm); return returnpage; } + + @Override + public CsEdDataVO findByDevTypeId(String devType) { + CsEdDataPO csEdDataPo = new CsEdDataPO(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(CsEdDataPO::getDevType,devType); + lambdaQueryWrapper.eq(CsEdDataPO::getStatus,1); + List list = this.baseMapper.selectList(lambdaQueryWrapper); + if (!CollectionUtils.isEmpty(list)){ + csEdDataPo = list.get(0); + } + CsEdDataVO csEdDataVo = new CsEdDataVO(); + BeanUtils.copyProperties(csEdDataPo,csEdDataVo); + return csEdDataVo; + } } diff --git a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsEquipmentDeliveryServiceImpl.java b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsEquipmentDeliveryServiceImpl.java index fe45a2c34..28cd43308 100644 --- a/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/pqs-algorithm/algorithm-boot/src/main/java/com/njcn/algorithm/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -73,7 +73,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl wrapper = new QueryWrapper(); wrapper.eq ("ndid", ndid); - wrapper.eq("status",2); + wrapper.eq("status",1); CsEquipmentDeliveryPO csEquipmentDeliveryPO = this.baseMapper.selectOne (wrapper); return csEquipmentDeliveryPO; }