fix: 过鱼设施AI自动数据管理

This commit is contained in:
tangwei 2026-08-19 14:20:31 +08:00
parent 4d214f1d03
commit 2e7b6d6650
5 changed files with 90 additions and 18 deletions

View File

@ -108,10 +108,10 @@ public class SdFpssrlAiRController {
SdFpssrlAiR tempEntity = objectMapper.convertValue(engInfo, SdFpssrlAiR.class);
applyUploadedFiles(tempEntity, picFiles, vdFiles);
if (picFiles != null && !picFiles.isEmpty()) {
engInfo.put("firstimgurl", tempEntity.getFirstImgUrl());
engInfo.put("firstimgurl", tempEntity.getFirstimgurl());
}
if (vdFiles != null && !vdFiles.isEmpty()) {
engInfo.put("videourl", tempEntity.getVideoUrl());
engInfo.put("videourl", tempEntity.getVideourl());
}
boolean result = sdFpssrlAiRService.update(engInfo, request.getSource());
@ -240,13 +240,13 @@ public class SdFpssrlAiRController {
if (picFiles != null && !picFiles.isEmpty()) {
List<String> ids = attachmentUploadService.uploadMultipartFiles(picFiles);
if (!ids.isEmpty()) {
entity.setFirstImgUrl(mergeIds(entity.getFirstImgUrl(), ids));
entity.setFirstimgurl(mergeIds(entity.getFirstimgurl(), ids));
}
}
if (vdFiles != null && !vdFiles.isEmpty()) {
List<String> ids = attachmentUploadService.uploadMultipartFiles(vdFiles);
if (!ids.isEmpty()) {
entity.setVideoUrl(mergeIds(entity.getVideoUrl(), ids));
entity.setVideourl(mergeIds(entity.getVideourl(), ids));
}
}
}
@ -272,14 +272,14 @@ public class SdFpssrlAiRController {
if (entity == null) {
return ids;
}
if (StrUtil.isNotBlank(entity.getFirstImgUrl())) {
Arrays.stream(entity.getFirstImgUrl().split(","))
if (StrUtil.isNotBlank(entity.getFirstimgurl())) {
Arrays.stream(entity.getFirstimgurl().split(","))
.map(String::trim)
.filter(StrUtil::isNotBlank)
.forEach(ids::add);
}
if (StrUtil.isNotBlank(entity.getVideoUrl())) {
Arrays.stream(entity.getVideoUrl().split(","))
if (StrUtil.isNotBlank(entity.getVideourl())) {
Arrays.stream(entity.getVideourl().split(","))
.map(String::trim)
.filter(StrUtil::isNotBlank)
.forEach(ids::add);

View File

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfd.platform.annotation.FieldChinese;
import lombok.Data;
import java.io.Serializable;
@ -23,96 +25,131 @@ public class SdFpssrlAiR implements Serializable {
/** 主键ID */
@TableId(type = IdType.ASSIGN_UUID)
@FieldChinese("主键ID")
private String id;
/** 过鱼设施编码 */
@FieldChinese("过鱼设施编码")
private String stcd;
/** 时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@FieldChinese("时间")
private Date tm;
/** 鱼种类 */
@FieldChinese("鱼种类")
private String ftp;
/** 过鱼数量 */
@FieldChinese("过鱼数量")
private Integer fcnt;
/** 鱼尺寸:大/中/小 */
@FieldChinese("鱼尺寸")
private String fsz;
/** 鱼长度 */
@FieldChinese("鱼长度")
private BigDecimal length;
/** 鱼宽度 */
@FieldChinese("鱼宽度")
private BigDecimal width;
/** 鱼速度 */
@FieldChinese("鱼速度")
private String fishspeed;
/** 游向0=上行 1=下行 */
@FieldChinese("游向")
private Integer direction;
/** 鱼位置 */
@FieldChinese("鱼位置")
private Long fishposition;
/** 鱼截图主图片url */
private String firstImgUrl;
@FieldChinese("鱼截图主图片url")
private String firstimgurl;
/** 鱼截图副图片url */
private String secondImgUrl;
@FieldChinese("鱼截图副图片url")
private String secondimgurl;
/** 视频url */
private String videoUrl;
@FieldChinese("视频url")
private String videourl;
/** 水温:单位:℃ */
@FieldChinese("水温")
private BigDecimal temperature;
/** 水位单位m */
@FieldChinese("水位")
private BigDecimal waterlevel;
/** 流速单位m/s */
@FieldChinese("流速")
private BigDecimal speed;
/** 流量单位m3/s */
@FieldChinese("流量")
private BigDecimal q;
/** 溶氧单位mg/L */
@FieldChinese("溶氧")
private BigDecimal dox;
/** 浊度单位NTU */
@FieldChinese("浊度")
private Integer tu;
/** 过鱼通道 */
@FieldChinese("过鱼通道")
private String channelno;
/** AI盒子编码 */
@FieldChinese("AI盒子编码")
private String aiBoxCode;
/** 创建人 */
@FieldChinese("创建人")
private String recordUser;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@FieldChinese("创建时间")
private Date recordTime;
/** 更新人 */
@FieldChinese("更新人")
private String modifyUser;
/** 更新时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@FieldChinese("更新时间")
private Date modifyTime;
/** 是否已删除0=未删除 1=已删除 */
@FieldChinese("是否已删除")
private Integer isDeleted;
/** 删除人 */
@FieldChinese("删除人")
private String deleteUser;
/** 删除时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@FieldChinese("删除时间")
private Date deleteTime;
/** 附件ID */
@FieldChinese("附件ID")
private String fid;
/** 备注 */
@FieldChinese("备注")
private String remark;
/** 鱼种类名称(非表字段,用于列表展示) */

View File

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yfd.platform.annotation.FieldChinese;
import lombok.Data;
import java.io.Serializable;
@ -25,155 +27,188 @@ public class SdFpssrlR implements Serializable {
* 主键ID
*/
@TableId(type = IdType.ASSIGN_UUID)
@FieldChinese("主键ID")
private String id;
/**
* 过鱼设施编码
*/
@FieldChinese("过鱼设施编码")
private String stcd;
/**
* 时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@FieldChinese("时间")
private Date tm;
/**
* 鱼种类
*/
@FieldChinese("鱼种类")
private String ftp;
/**
* 过鱼数量
*/
@FieldChinese("过鱼数量")
private Integer fcnt;
/**
* 鱼尺寸//
*/
@FieldChinese("鱼尺寸")
private String fsz;
/**
* 鱼长度
*/
@FieldChinese("鱼长度")
private BigDecimal length;
/**
* 鱼宽度
*/
@FieldChinese("鱼宽度")
private BigDecimal width;
/**
* 鱼速度
*/
@FieldChinese("鱼速度")
private String fishspeed;
/**
* 游向0=上行 1=下行
*/
@FieldChinese("游向")
private Integer direction;
/**
* 鱼位置
*/
@FieldChinese("鱼位置")
private Long fishposition;
/**
* 鱼截图主图片url
*/
@TableField("FIRSTIMGURL")
@FieldChinese("鱼截图主图片url")
private String firstimgurl;
/**
* 鱼截图副图片url
*/
@TableField("SECONDIMGURL")
@FieldChinese("鱼截图副图片url")
private String secondimgurl;
/**
* 视频url
*/
@TableField("VIDEOURL")
@FieldChinese("视频url")
private String videourl;
/**
* 水温单位
*/
@FieldChinese("水温")
private BigDecimal temperature;
/**
* 水位单位m
*/
@FieldChinese("水位")
private BigDecimal waterlevel;
/**
* 流速单位m/s
*/
@FieldChinese("流速")
private BigDecimal speed;
/**
* 流量单位m3/s
*/
@FieldChinese("流量")
private BigDecimal q;
/**
* 溶氧单位mg/L
*/
@FieldChinese("溶氧")
private BigDecimal dox;
/**
* 浊度单位NTU
*/
@FieldChinese("浊度")
private Integer tu;
/**
* 过鱼通道
*/
@FieldChinese("过鱼通道")
private String channelno;
/**
* 创建人关联SYS_USER.ID
*/
@FieldChinese("创建人")
private String recordUser;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@FieldChinese("创建时间")
private Date recordTime;
/**
* 更新人关联SYS_USER.ID
*/
@FieldChinese("更新人")
private String modifyUser;
/**
* 更新时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@FieldChinese("更新时间")
private Date modifyTime;
/**
* 是否已删除0=未删除 1=已删除
*/
@FieldChinese("是否已删除")
private Integer isDeleted;
/**
* 删除人关联SYS_USER.ID
*/
@FieldChinese("删除人")
private String deleteUser;
/**
* 删除时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@FieldChinese("删除时间")
private Date deleteTime;
/**
* 附件ID
*/
@FieldChinese("附件ID")
private String fid;
/**
* 备注
*/
@FieldChinese("备注")
private String remark;
/**

View File

@ -128,9 +128,9 @@ public class SdFpssrlAiRServiceImpl extends ServiceImpl<SdFpssrlAiRMapper, SdFps
entity.setFishspeed(req.getFishspeed());
entity.setDirection(req.getDirection());
entity.setFishposition(req.getFishposition());
entity.setFirstImgUrl(req.getFirstImgUrl());
entity.setSecondImgUrl(req.getSecondImgUrl());
entity.setVideoUrl(req.getVideoUrl());
entity.setFirstimgurl(req.getFirstImgUrl());
entity.setSecondimgurl(req.getSecondImgUrl());
entity.setVideourl(req.getVideoUrl());
entity.setTemperature(req.getTemperature());
entity.setWaterlevel(req.getWaterlevel());
entity.setSpeed(req.getSpeed());

View File

@ -171,9 +171,9 @@ public class SdFpssrlRServiceImpl extends ServiceImpl<SdFpssrlRMapper, SdFpssrlR
entity.setFishspeed(req.getFishspeed());
entity.setDirection(req.getDirection());
entity.setFishposition(req.getFishposition());
entity.setFirstImgUrl(req.getFirstImgUrl());
entity.setSecondImgUrl(req.getSecondImgUrl());
entity.setVideoUrl(req.getVideoUrl());
entity.setFirstimgurl(req.getFirstImgUrl());
entity.setSecondimgurl(req.getSecondImgUrl());
entity.setVideourl(req.getVideoUrl());
entity.setTemperature(req.getTemperature());
entity.setWaterlevel(req.getWaterlevel());
entity.setSpeed(req.getSpeed());