程序信息对外接口

This commit is contained in:
xy
2024-09-19 14:25:17 +08:00
parent 46a9922313
commit f86f18817d
8 changed files with 102 additions and 10 deletions

View File

@@ -0,0 +1,27 @@
package com.njcn.csdevice.api;
import com.njcn.common.pojo.constant.ServerInfo;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.csdevice.api.fallback.CsSoftInfoClientFallbackFactory;
import com.njcn.csdevice.pojo.po.CsSoftInfoPO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @author xy
*/
@FeignClient(value = ServerInfo.CS_DEVICE_BOOT, path = "/csSoftInfo", fallbackFactory = CsSoftInfoClientFallbackFactory.class,contextId = "csSoftInfo")
public interface CsSoftInfoFeignClient {
@PostMapping("/findSoftInfo")
HttpResult<CsSoftInfoPO> findSoftInfo(@RequestParam("id") String id);
@PostMapping("/saveSoftInfo")
HttpResult<String> saveSoftInfo(@RequestBody CsSoftInfoPO po);
@PostMapping("/removeSoftInfo")
HttpResult<String> removeSoftInfo(@RequestParam("id") String id);
}

View File

@@ -0,0 +1,46 @@
package com.njcn.csdevice.api.fallback;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.csdevice.api.CsSoftInfoFeignClient;
import com.njcn.csdevice.pojo.po.CsSoftInfoPO;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
/**
* @author xy
*/
@Slf4j
@Component
public class CsSoftInfoClientFallbackFactory implements FallbackFactory<CsSoftInfoFeignClient> {
@Override
public CsSoftInfoFeignClient create(Throwable cause) {
//判断抛出异常是否为解码器抛出的业务异常
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
if (cause.getCause() instanceof BusinessException) {
BusinessException businessException = (BusinessException) cause.getCause();
}
Enum<?> finalExceptionEnum = exceptionEnum;
return new CsSoftInfoFeignClient() {
@Override
public HttpResult<CsSoftInfoPO> findSoftInfo(String id) {
log.error("{}异常,降级处理,异常为:{}","获取装置软件信息",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<String> saveSoftInfo(CsSoftInfoPO po) {
log.error("{}异常,降级处理,异常为:{}","保存软件程序",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
@Override
public HttpResult<String> removeSoftInfo(String id) {
log.error("{}异常,降级处理,异常为:{}","删除软件程序",cause.toString());
throw new BusinessException(finalExceptionEnum);
}
};
}
}

View File

@@ -46,7 +46,7 @@ public class DeviceManagerVO {
private String appVersion;
@ApiModelProperty(value = "应用程序发布日期")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
private LocalDateTime appDate;
@ApiModelProperty(value = "应用程序校验码")

View File

@@ -1,13 +1,14 @@
package com.njcn.csdevice.controller.equipment;
import com.njcn.access.pojo.po.CsSoftInfoPO;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csdevice.mapper.CsSoftInfoMapper;
import com.njcn.csdevice.pojo.po.CsSoftInfoPO;
import com.njcn.csdevice.service.ICsSoftInfoService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -15,10 +16,7 @@ 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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* <p>
@@ -37,6 +35,7 @@ import org.springframework.web.bind.annotation.RestController;
public class CsSoftInfoController extends BaseController {
private final CsSoftInfoMapper csSoftInfoMapper;
private final ICsSoftInfoService csSoftInfoService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/findSoftInfo")
@@ -48,5 +47,26 @@ public class CsSoftInfoController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, po, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/saveSoftInfo")
@ApiOperation("保存程序软件信息")
@ApiImplicitParam(name = "id", value = "id", required = true)
public HttpResult<String> saveSoftInfo(@RequestBody CsSoftInfoPO po){
String methodDescribe = getMethodDescribe("saveSoftInfo");
csSoftInfoService.save(po);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/removeSoftInfo")
@ApiOperation("删除程序软件信息")
@ApiImplicitParam(name = "id", value = "id", required = true)
public HttpResult<String> removeSoftInfo(@RequestParam String id){
String methodDescribe = getMethodDescribe("removeSoftInfo");
csSoftInfoService.removeById(id);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
}

View File

@@ -1,7 +1,7 @@
package com.njcn.csdevice.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.access.pojo.po.CsSoftInfoPO;
import com.njcn.csdevice.pojo.po.CsSoftInfoPO;
/**
* <p>

View File

@@ -1,7 +1,7 @@
package com.njcn.csdevice.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.access.pojo.po.CsSoftInfoPO;
import com.njcn.csdevice.pojo.po.CsSoftInfoPO;
/**
* <p>

View File

@@ -18,7 +18,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.access.api.AskDeviceDataFeignClient;
import com.njcn.access.pojo.po.CsSoftInfoPO;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.csdevice.constant.DataParam;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;

View File

@@ -1,8 +1,8 @@
package com.njcn.csdevice.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.access.pojo.po.CsSoftInfoPO;
import com.njcn.csdevice.mapper.CsSoftInfoMapper;
import com.njcn.csdevice.pojo.po.CsSoftInfoPO;
import com.njcn.csdevice.service.ICsSoftInfoService;
import org.springframework.stereotype.Service;