This commit is contained in:
caozehui
2024-11-15 15:57:35 +08:00
parent 61b6b61a46
commit 355ba48418
23 changed files with 163 additions and 99 deletions

View File

@@ -28,6 +28,12 @@
<artifactId>spingboot2.3.12</artifactId>
<version>2.3.12</version>
</dependency>
<dependency>
<groupId>com.njcn.gather</groupId>
<artifactId>system</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>

View File

@@ -75,7 +75,7 @@ public class PqDevController extends BaseController {
}
@OperateInfo(operateType = OperateType.UPDATE)
@PutMapping("/update")
@PostMapping("/update")
@ApiOperation("修改被检设备")
@ApiImplicitParam(name = "updateParam", value = "被检设备", required = true)
public HttpResult<Object> update(@RequestBody @Validated PqDevParam.UpdateParam updateParam) {
@@ -90,7 +90,7 @@ public class PqDevController extends BaseController {
}
@OperateInfo(operateType = OperateType.DELETE)
@DeleteMapping("/delete")
@PostMapping("/delete")
@ApiOperation("删除被检设备")
@ApiImplicitParam(name = "ids", value = "被检设备id", required = true)
public HttpResult<Object> delete(@RequestBody List<String> ids) {
@@ -159,7 +159,7 @@ public class PqDevController extends BaseController {
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/listBoundByPlanId")
@GetMapping("/listBoundByPlanId")
@ApiOperation("根据计划id查询出所有已绑定的设备")
@ApiImplicitParam(name = "planId", value = "计划id", required = true)
public HttpResult<List<PqDev>> listBoundByPlanId(@RequestParam("planId") String planId) {

View File

@@ -7,6 +7,7 @@ import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@@ -76,6 +77,7 @@ public class PqDevParam {
private String ip;
@ApiModelProperty(value = "端口号", required = true)
@Range(min = 1, max = 65535, message = DeviceValidMessage.PORT_RANGE_ERROR)
@NotNull(message = DeviceValidMessage.PORT_NOT_NULL)
private Integer port;

View File

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.db.mybatisplus.constant.DbConstant;
import com.njcn.gather.device.device.mapper.PqDevMapper;
import com.njcn.gather.device.device.pojo.param.PqDevParam;
@@ -14,6 +15,9 @@ import com.njcn.gather.device.device.pojo.po.PqDev;
import com.njcn.gather.device.device.pojo.vo.PqDevExcel;
import com.njcn.gather.device.device.service.IPqDevService;
import com.njcn.gather.device.device.util.DeviceUtil;
import com.njcn.gather.device.pojo.enums.DeviceResponseEnum;
import com.njcn.gather.system.dictionary.pojo.po.DictData;
import com.njcn.gather.system.dictionary.service.IDictDataService;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.utils.ExcelUtil;
import lombok.RequiredArgsConstructor;
@@ -34,6 +38,8 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements IPqDevService {
private final IDictDataService dictDataService;
@Override
public Page<PqDev> listPqDevs(PqDevParam.QueryParam queryParam) {
QueryWrapper<PqDev> queryWrapper = new QueryWrapper<>();
@@ -50,18 +56,29 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
queryWrapper.orderBy(true, false, "pq_dev.Create_Time");
}
queryWrapper.eq("pq_dev.state", DataStateEnum.ENABLE.getCode());
return this.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper);
Page<PqDev> page = this.page(new Page<>(PageFactory.getPageNum(queryParam), PageFactory.getPageSize(queryParam)), queryWrapper);
page.getRecords().forEach(p -> {
if (ObjectUtil.isNotNull(p.getSeries())) {
p.setSeries(DeviceUtil.decoderString(1, p.getSeries()));
}
if (ObjectUtil.isNotNull(p.getDevKey())) {
p.setDevKey(DeviceUtil.decoderString(1, p.getDevKey()));
}
});
return page;
}
@Override
public boolean addPqDev(PqDevParam pqDevParam) {
PqDev pqDev = new PqDev();
BeanUtil.copyProperties(pqDevParam, pqDev);
if (Objects.nonNull(pqDev.getSeries())) {
pqDev.setSeries(DeviceUtil.encodeString(1, pqDev.getSeries()));
}
if (Objects.nonNull(pqDev.getDevKey())) {
pqDev.setDevKey(DeviceUtil.encodeString(1, pqDev.getDevKey()));
if (pqDevParam.getEncryptionFlag() == 1) {
if (StrUtil.isNotBlank(pqDevParam.getSeries()) && StrUtil.isNotBlank(pqDevParam.getDevKey())) {
pqDev.setSeries(DeviceUtil.encodeString(1, pqDev.getSeries()));
pqDev.setDevKey(DeviceUtil.encodeString(1, pqDev.getDevKey()));
} else {
throw new BusinessException(DeviceResponseEnum.SERIES_AND_DEVKEY_NOT_BLANK);
}
}
//todo 比对式设备处理
pqDev.setState(DataStateEnum.ENABLE.getCode());
@@ -124,6 +141,7 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
}
queryWrapper.eq("pq_dev.state", DataStateEnum.ENABLE.getCode());
List<PqDev> pqDevs = this.list(queryWrapper);
this.visualize(pqDevs);
List<PqDevExcel.ExportData> pqDevExcels = BeanUtil.copyToList(pqDevs, PqDevExcel.ExportData.class);
ExcelUtil.exportExcel("被检设备导出数据.xlsx", "被检设备", PqDevExcel.ExportData.class, pqDevExcels);
}
@@ -155,4 +173,24 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
return result1 && result2;
}
//可视化各种id回显字典值解码等操作
private void visualize(List<PqDev> sourceList) {
sourceList.forEach(pqDev -> {
//todo
if (ObjectUtil.isNotNull(pqDev.getDevType())) {
DictData dictData = dictDataService.getDicDataById(pqDev.getDevType());
if(ObjectUtil.isNotNull(dictData)){
pqDev.setDevType(dictData.getName());
}
}
if (Objects.nonNull(pqDev.getSeries())) {
pqDev.setSeries(DeviceUtil.decoderString(1, pqDev.getSeries()));
}
if (Objects.nonNull(pqDev.getDevKey())) {
pqDev.setDevKey(DeviceUtil.decoderString(1, pqDev.getDevKey()));
}
});
}
}

View File

@@ -10,6 +10,8 @@ public interface DeviceValidMessage {
String ID_FORMAT_ERROR = "id格式错误请检查id参数";
String PORT_RANGE_ERROR = "端口号范围错误请检查port参数";
String NAME_NOT_BLANK = "名称不能为空请检查name参数";
String NAME_FORMAT_ERROR = "名称格式错误请检查name参数";

View File

@@ -6,7 +6,8 @@ import lombok.Getter;
public enum DeviceResponseEnum {
//NAME_REPEAT("A001001", "名称重复"),
IMPORT_DATA_FAIL("A001002", "导入数据失败");
IMPORT_DATA_FAIL("A001002", "导入数据失败"),
SERIES_AND_DEVKEY_NOT_BLANK("A001003", "加密设备的序列号和设备密钥不能为空");
private final String code;