feat: 重构代码。

This commit is contained in:
tianyongbao
2025-10-21 10:00:26 +08:00
parent 7f40a94819
commit f50ee440ef
916 changed files with 4485 additions and 4536 deletions

View File

@@ -0,0 +1,111 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 养殖用户管理对象 aqu_user
*
* @author intc
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_user")
public class AquUser extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 用户名
*/
private String userName;
/**
* 手机号
*/
private String mobilePhone;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 区县
*/
private String district;
/**
* 报警电话列表json
*/
private String warnPhoneJson;
/**
* 访问Token
*/
private String accessToken;
/**
* 刷新Token
*/
private String refreshToken;
/**
* 小程序的openId
*/
private String wxOpenId;
/**
* 微信SessionKey
*/
private String wxSessionKey;
/**
* 是否管理员
*/
private Long isManager;
/**
* 微信unionId
*/
private String wxUnionId;
/**
* 公众号的openId
*/
private String tecentOpenId;
/**
* 展示标题
*/
private String title;
/**
* 是否拥有大屏
*/
private Long hasScreen;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,242 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.io.Serial;
/**
* 设备管理对象 aqu_device
*
* @author intc
* @date 2025-10-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_device")
public class Device extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 物联网IotId
*/
private String iotId;
/**
* 设备编号
*/
private String serialNum;
/**
* 设备名称
*/
private String deviceName;
/**
* 设备类型
*/
private Integer deviceType;
/**
* 绑定时间
*/
private Date bindTime;
/**
* 服务到期
*/
private Date deadTime;
/**
* 塘口id
*/
private Long pondId;
/**
* 溶解氧参数配置开关
*/
private Integer isOxygenUsed;
/**
* 溶解氧
*/
private Double valueDissolvedOxygen;
/**
* 是否已触发溶解氧报警
*/
private Integer isOxygenWarnExist;
/**
* 水温
*/
private Double valueTemperature;
/**
* 是否已触发温度报警
*/
private Integer isTempWarnExist;
/**
* 饱和度
*/
private Double valueSaturability;
/**
* PH
*/
private Double valuePh;
/**
* 盐度
*/
private Double valueSalinity;
/**
* 溶解氧电话告警开关
*/
private Integer oxyWarnCallOpen;
/**
* 低溶氧告警免打扰
*/
private Integer oxyWarnCallNoDis;
/**
* 上次溶解氧电话告警时间
*/
private Date oxyWarnCallLastTime;
/**
* 溶解氧电话告警下限
*/
private Double oxyWarnLower;
/**
* 温度电话告警开关
*/
private Integer tempWarnCallOpen;
/**
* 温度告警免打扰
*/
private Integer tempWarnCallNoDis;
/**
* 上次温度电话告警时间
*/
private Date tempWarnCallLastTime;
/**
* 温度电话告警上限
*/
private Double tempWarnUpper;
/**
* 温度电话告警下限
*/
private Double tempWarnLower;
/**
* 设置的盐度补偿
*/
private Double salinityCompensation;
/**
* 输入额定电压
*/
private Integer inputVoltage;
/**
* 设备告警状态码
*/
private Integer warnCode;
/**
* 物联网卡号
*/
private String iccId;
/**
* 相位差
*/
private Double phaseDifference;
/**
* 荧光值
*/
private Double tfluorescence;
/**
* 参比值
*/
private Double treference;
/**
* 线性系数补偿
*/
private Double phaseCompensation;
/**
* 相位差补偿
*/
private Double phasedifCompensation;
/**
* 温度补偿
*/
private Double temperatureCompensation;
/**
* 电压告警开关
*/
private Integer voltageWarnOpen;
/**
* 备注
*/
private String remark;
/**
* 设备分类
*/
private String category;
/**
* 电量电话告警开关
*/
private Long batteryWarnCallOpen;
/**
* 电量告警免打扰
*/
private Long batteryWarnCallNoDis;
/**
* 上次电量电话告警时间
*/
private Date batteryWarnCallLastTime;
/**
* 电量电话告警下限
*/
private Long batteryWarnLower;
}

View File

@@ -0,0 +1,56 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 设备绑定记录对象 aqu_device_bind_record
*
* @author intc
* @date 2025-10-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_device_bind_record")
public class DeviceBindRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 物联网IotId
*/
private String iotId;
/**
* 设备类型
*/
private Long deviceType;
/**
* 设备编号
*/
private String serialNum;
/**
* 用户id
*/
private Long userId;
/**
* 绑定/解绑
*/
private Integer isBind;
}

View File

@@ -0,0 +1,71 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 设备校准记录对象 aqu_device_correct_record
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_device_correct_record")
public class DeviceCorrectRecord extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 设备id
*/
private Long deviceId;
/**
* 用户id
*/
private Long userId;
/**
* 设备序列号
*/
private String serialNum;
/**
* 设备类型
*/
private Integer deviceType;
/**
* 溶解氧
*/
private Double valueDissolvedOxygen;
/**
* 水温
*/
private Double valueTemperature;
/**
* 饱和度
*/
private Double valueSaturability;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,51 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 设备故障码对象 aqu_device_error_code
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_device_error_code")
public class DeviceErrorCode extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 设备id
*/
private Long deviceId;
/**
* 开关序号
*/
private Integer switchIndex;
/**
* 故障码
*/
private Integer errorCode;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,97 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.io.Serial;
/**
* 测控一体机开关对象 aqu_device_switch
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_device_switch")
public class DeviceSwitch extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 设备id
*/
private Long deviceId;
/**
* 序号
*/
private Integer index;
/**
* 名称
*/
private String switchName;
/**
* 当前测定电流
*/
private Double detectElectricValue;
/**
* 当前测定电压
*/
private Double detectVoltageValue;
/**
* 接线方式
*/
private Integer connectVoltageType;
/**
* 塘口id
*/
private Long pondId;
/**
* 额定电流设置
*/
private Double rateElectricValue;
/**
* 当前开关状态
*/
private Integer isOpen;
/**
* 联动控制id
*/
private Long linkedCtrlId;
/**
* 电流告警开关
*/
private Integer electricWarnOpen;
/**
* 上次操作开关时间
*/
private Date lastTurnTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,56 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 设备阈值管理对象 mgr_device_threshold
*
* @author intc
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("mgr_device_threshold")
public class DeviceThreshold extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 参数类型
*/
private Long thresholdType;
/**
* 阈值名称
*/
private String thresholdName;
/**
* 最大值
*/
private Double limitUpper;
/**
* 最小值
*/
private Double limitLower;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,46 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 鱼类管理对象 aqu_fish
*
* @author intc
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_fish")
public class Fish extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 鱼类类型
*/
private Long fishType;
/**
* 鱼类名称
*/
private String fishName;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,82 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.io.Serial;
/**
* 设备充值记录对象 aqu_pay_device
*
* @author intc
* @date 2025-10-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_pay_device")
public class PayDevice extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 用户Id
*/
private Long userId;
/**
* 设备编号
*/
private String serialNum;
/**
* 设备类型
*/
private Integer deviceType;
/**
* 续费时长(月)
*/
private Integer addMonth;
/**
* 最新到期时间
*/
private Date deadTime;
/**
* 续费金额(分)
*/
private Integer payAmount;
/**
* 订单id
*/
private Long orderId;
/**
* 续费方式
*/
private Integer payType;
/**
* 分润状态
*/
private Integer profitStatus;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,147 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.io.Serial;
/**
* 充值订单对象 aqu_pay_order
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_pay_order")
public class PayOrder extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 充值总金额(分)
*/
private Integer totalAmount;
/**
* 有效期增加月数
*/
private Integer addMonth;
/**
* 附加数据
*/
private String attachment;
/**
* 付款银行类型
*/
private String bankType;
/**
* 币种
*/
private String currency;
/**
* 订单描述
*/
private String description;
/**
* 设备数量
*/
private Long deviceCount;
/**
* 支付的设备编号json格式
*/
private String isonDeviceSerialNum;
/**
* 支付回调通知URL
*/
private String notifyUrl;
/**
* 商户系统内部订单号
*/
private String outTradeNumber;
/**
* 用户支付币种
*/
private String payerCurrency;
/**
* 用户支付金额(分)
*/
private Integer payerTotal;
/**
* 微信预交易订单号
*/
private String prepayId;
/**
* 支付完成时间
*/
private Date successTime;
/**
* 交易状态
*/
private String tradeState;
/**
* 交易状态描述
*/
private String tradeStateDescription;
/**
* 交易类型
*/
private String tradeType;
/**
* 微信支付订单号
*/
private String transactionId;
/**
* 用户开放id
*/
private String wxOpenId;
/**
* 订单状态
*/
private Integer orderStatus;
/**
* 分润状态
*/
private Integer profitStatus;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,72 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import java.io.Serial;
/**
* 塘口管理对象 aqu_pond
*
* @author intc
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_pond")
public class Pond extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 塘口名称
*/
private String pondName;
/**
* 鱼品种列表
*/
private String fishKindIds;
/**
* 面积
*/
private Double area;
/**
* 密度
*/
private Double density;
/**
* 投苗日期
*/
private Date placeTime;
/**
* 夜间防止误关
*/
private Integer keepNightOpen;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,46 @@
package com.intc.fishery.domain;
import com.intc.common.tenant.core.TenantEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 养殖用户子账号对象 aqu_user_relation
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("aqu_user_relation")
public class UserRelation extends TenantEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 父级账号id
*/
private Long parentUserId;
/**
* 子账号id
*/
private Long childUserId;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,112 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.AquUser;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 养殖用户管理业务对象 aqu_user
*
* @author intc
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = AquUser.class, reverseConvertGenerate = false)
public class AquUserBo extends BaseEntity {
/**
* 主键id
*/
private Long id;
/**
* 用户名
*/
@NotBlank(message = "用户名不能为空", groups = { AddGroup.class, EditGroup.class })
private String userName;
/**
* 手机号
*/
@NotBlank(message = "手机号不能为空", groups = { AddGroup.class, EditGroup.class })
private String mobilePhone;
/**
* 省份
*/
private String province;
/**
* 城市
*/
private String city;
/**
* 区县
*/
private String district;
/**
* 报警电话
*/
@NotBlank(message = "报警电话不能为空", groups = { AddGroup.class, EditGroup.class })
private String warnPhoneJson;
/**
* 访问Token
*/
private String accessToken;
/**
* 刷新Token
*/
private String refreshToken;
/**
* 小程序的openId
*/
private String wxOpenId;
/**
* 微信SessionKey
*/
private String wxSessionKey;
/**
* 是否管理员
*/
private Long isManager;
/**
* 微信unionId
*/
private String wxUnionId;
/**
* 公众号的openId
*/
private String tecentOpenId;
/**
* 展示标题
*/
private String title;
/**
* 是否拥有大屏
*/
private Long hasScreen;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,60 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.DeviceBindRecord;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 设备绑定记录业务对象 aqu_device_bind_record
*
* @author intc
* @date 2025-10-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DeviceBindRecord.class, reverseConvertGenerate = false)
public class DeviceBindRecordBo extends BaseEntity {
/**
* 主键id
*/
// @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 物联网IotId
*/
@NotBlank(message = "物联网IotId不能为空", groups = { AddGroup.class, EditGroup.class })
private String iotId;
/**
* 设备类型
*/
@NotNull(message = "设备类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Long deviceType;
/**
* 设备编号
*/
@NotBlank(message = "设备编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String serialNum;
/**
* 用户id
*/
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 绑定/解绑
*/
@NotNull(message = "绑定/解绑不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer isBind;
}

View File

@@ -0,0 +1,274 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.Device;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
* 设备管理业务对象 aqu_device
*
* @author intc
* @date 2025-10-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = Device.class, reverseConvertGenerate = false)
public class DeviceBo extends BaseEntity {
/**
* 主键id
*/
// @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户id
*/
private Long userId;
/**
* 物联网IotId
*/
@NotBlank(message = "物联网IotId不能为空", groups = { AddGroup.class, EditGroup.class })
private String iotId;
/**
* 设备编号
*/
@NotBlank(message = "设备编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String serialNum;
/**
* 设备名称
*/
@NotBlank(message = "设备名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String deviceName;
/**
* 设备类型
*/
@NotNull(message = "设备类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer deviceType;
/**
* 绑定时间
*/
@NotNull(message = "绑定时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date bindTime;
/**
* 服务到期
*/
@NotNull(message = "服务到期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date deadTime;
/**
* 塘口id
*/
private Long pondId;
/**
* 溶解氧参数配置开关
*/
// @NotNull(message = "溶解氧参数配置开关不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer isOxygenUsed;
/**
* 溶解氧
*/
// @NotNull(message = "溶解氧不能为空", groups = { AddGroup.class, EditGroup.class })
private Double valueDissolvedOxygen;
/**
* 是否已触发溶解氧报警
*/
// @NotNull(message = "是否已触发溶解氧报警不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer isOxygenWarnExist;
/**
* 水温
*/
// @NotNull(message = "水温不能为空", groups = { AddGroup.class, EditGroup.class })
private Double valueTemperature;
/**
* 是否已触发温度报警
*/
// @NotNull(message = "是否已触发温度报警不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer isTempWarnExist;
/**
* 饱和度
*/
// @NotNull(message = "饱和度不能为空", groups = { AddGroup.class, EditGroup.class })
private Double valueSaturability;
/**
* PH
*/
// @NotNull(message = "PH不能为空", groups = { AddGroup.class, EditGroup.class })
private Double valuePh;
/**
* 盐度
*/
// @NotNull(message = "盐度不能为空", groups = { AddGroup.class, EditGroup.class })
private Double valueSalinity;
/**
* 溶解氧电话告警开关
*/
// @NotNull(message = "溶解氧电话告警开关不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer oxyWarnCallOpen;
/**
* 低溶氧告警免打扰
*/
// @NotNull(message = "低溶氧告警免打扰不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer oxyWarnCallNoDis;
/**
* 上次溶解氧电话告警时间
*/
// @NotNull(message = "上次溶解氧电话告警时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date oxyWarnCallLastTime;
/**
* 溶解氧电话告警下限
*/
// @NotNull(message = "溶解氧电话告警下限不能为空", groups = { AddGroup.class, EditGroup.class })
private Double oxyWarnLower;
/**
* 温度电话告警开关
*/
// @NotNull(message = "温度电话告警开关不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer tempWarnCallOpen;
/**
* 温度告警免打扰
*/
// @NotNull(message = "温度告警免打扰不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer tempWarnCallNoDis;
/**
* 上次温度电话告警时间
*/
// @NotNull(message = "上次温度电话告警时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date tempWarnCallLastTime;
/**
* 温度电话告警上限
*/
// @NotNull(message = "温度电话告警上限不能为空", groups = { AddGroup.class, EditGroup.class })
private Double tempWarnUpper;
/**
* 温度电话告警下限
*/
// @NotNull(message = "温度电话告警下限不能为空", groups = { AddGroup.class, EditGroup.class })
private Double tempWarnLower;
/**
* 设置的盐度补偿
*/
// @NotNull(message = "设置的盐度补偿不能为空", groups = { AddGroup.class, EditGroup.class })
private Double salinityCompensation;
/**
* 输入额定电压
*/
// @NotNull(message = "输入额定电压不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer inputVoltage;
/**
* 设备告警状态码
*/
// @NotNull(message = "设备告警状态码不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer warnCode;
/**
* 物联网卡号
*/
private String iccId;
/**
* 相位差
*/
// @NotNull(message = "相位差不能为空", groups = { AddGroup.class, EditGroup.class })
private Double phaseDifference;
/**
* 荧光值
*/
// @NotNull(message = "荧光值不能为空", groups = { AddGroup.class, EditGroup.class })
private Double tfluorescence;
/**
* 参比值
*/
// @NotNull(message = "参比值不能为空", groups = { AddGroup.class, EditGroup.class })
private Double treference;
/**
* 线性系数补偿
*/
// @NotNull(message = "线性系数补偿不能为空", groups = { AddGroup.class, EditGroup.class })
private Double phaseCompensation;
/**
* 相位差补偿
*/
// @NotNull(message = "相位差补偿不能为空", groups = { AddGroup.class, EditGroup.class })
private Double phasedifCompensation;
/**
* 温度补偿
*/
// @NotNull(message = "温度补偿不能为空", groups = { AddGroup.class, EditGroup.class })
private Double temperatureCompensation;
/**
* 电压告警开关
*/
// @NotNull(message = "电压告警开关不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer voltageWarnOpen;
/**
* 备注
*/
private String remark;
/**
* 设备分类
*/
private String category;
/**
* 电量电话告警开关
*/
private Long batteryWarnCallOpen;
/**
* 电量告警免打扰
*/
private Long batteryWarnCallNoDis;
/**
* 上次电量电话告警时间
*/
private Date batteryWarnCallLastTime;
/**
* 电量电话告警下限
*/
private Long batteryWarnLower;
}

View File

@@ -0,0 +1,75 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.DeviceCorrectRecord;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 设备校准记录业务对象 aqu_device_correct_record
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DeviceCorrectRecord.class, reverseConvertGenerate = false)
public class DeviceCorrectRecordBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 设备id
*/
private Long deviceId;
/**
* 用户id
*/
private Long userId;
/**
* 设备序列号
*/
@NotBlank(message = "设备序列号不能为空", groups = { AddGroup.class, EditGroup.class })
private String serialNum;
/**
* 设备类型
*/
@NotNull(message = "设备类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer deviceType;
/**
* 溶解氧
*/
@NotNull(message = "溶解氧不能为空", groups = { AddGroup.class, EditGroup.class })
private Double valueDissolvedOxygen;
/**
* 水温
*/
@NotNull(message = "水温不能为空", groups = { AddGroup.class, EditGroup.class })
private Double valueTemperature;
/**
* 饱和度
*/
@NotNull(message = "饱和度不能为空", groups = { AddGroup.class, EditGroup.class })
private Double valueSaturability;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,53 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.DeviceErrorCode;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 设备故障码业务对象 aqu_device_error_code
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DeviceErrorCode.class, reverseConvertGenerate = false)
public class DeviceErrorCodeBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 设备id
*/
@NotNull(message = "设备id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long deviceId;
/**
* 开关序号
*/
@NotNull(message = "开关序号不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer switchIndex;
/**
* 故障码
*/
@NotNull(message = "故障码不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer errorCode;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,106 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.DeviceSwitch;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
* 测控一体机开关业务对象 aqu_device_switch
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DeviceSwitch.class, reverseConvertGenerate = false)
public class DeviceSwitchBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 设备id
*/
@NotNull(message = "设备id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long deviceId;
/**
* 序号
*/
@NotNull(message = "序号不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer index;
/**
* 名称
*/
@NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String switchName;
/**
* 当前测定电流
*/
@NotNull(message = "当前测定电流不能为空", groups = { AddGroup.class, EditGroup.class })
private Double detectElectricValue;
/**
* 当前测定电压
*/
@NotNull(message = "当前测定电压不能为空", groups = { AddGroup.class, EditGroup.class })
private Double detectVoltageValue;
/**
* 接线方式
*/
@NotNull(message = "接线方式不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer connectVoltageType;
/**
* 塘口id
*/
private Long pondId;
/**
* 额定电流设置
*/
@NotNull(message = "额定电流设置不能为空", groups = { AddGroup.class, EditGroup.class })
private Double rateElectricValue;
/**
* 当前开关状态
*/
@NotNull(message = "当前开关状态不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer isOpen;
/**
* 联动控制id
*/
private Long linkedCtrlId;
/**
* 电流告警开关
*/
@NotNull(message = "电流告警开关不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer electricWarnOpen;
/**
* 上次操作开关时间
*/
@NotNull(message = "上次操作开关时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date lastTurnTime;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,59 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.DeviceThreshold;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 设备阈值管理业务对象 mgr_device_threshold
*
* @author intc
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = DeviceThreshold.class, reverseConvertGenerate = false)
public class DeviceThresholdBo extends BaseEntity {
/**
* 主键id
*/
// @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 参数类型
*/
@NotNull(message = "参数类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Long thresholdType;
/**
* 阈值名称
*/
@NotBlank(message = "阈值名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String thresholdName;
/**
* 最大值
*/
@NotNull(message = "最大值不能为空", groups = { AddGroup.class, EditGroup.class })
private Double limitUpper;
/**
* 最小值
*/
@NotNull(message = "最小值不能为空", groups = { AddGroup.class, EditGroup.class })
private Double limitLower;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,47 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.Fish;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 鱼类管理业务对象 aqu_fish
*
* @author intc
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = Fish.class, reverseConvertGenerate = false)
public class FishBo extends BaseEntity {
/**
* 主键id
*/
// @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 鱼类类型
*/
@NotNull(message = "鱼类类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Long fishType;
/**
* 鱼类名称
*/
@NotBlank(message = "鱼类名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String fishName;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,88 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.PayDevice;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
* 设备充值记录业务对象 aqu_pay_device
*
* @author intc
* @date 2025-10-16
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PayDevice.class, reverseConvertGenerate = false)
public class PayDeviceBo extends BaseEntity {
/**
* 主键id
*/
// @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户Id
*/
// @NotNull(message = "用户Id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 设备编号
*/
@NotBlank(message = "设备编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String serialNum;
/**
* 设备类型
*/
@NotNull(message = "设备类型不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer deviceType;
/**
* 续费时长(月)
*/
// @NotNull(message = "续费时长(月)不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer addMonth;
/**
* 最新到期时间
*/
@NotNull(message = "最新到期时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date deadTime;
/**
* 续费金额(分)
*/
// @NotNull(message = "续费金额(分)不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer payAmount;
/**
* 订单id
*/
private Long orderId;
/**
* 续费方式
*/
// @NotNull(message = "续费方式不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer payType;
/**
* 分润状态
*/
private Integer profitStatus;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,155 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.PayOrder;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
* 充值订单业务对象 aqu_pay_order
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = PayOrder.class, reverseConvertGenerate = false)
public class PayOrderBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户id
*/
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 充值总金额(分)
*/
@NotNull(message = "充值总金额(分)不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer totalAmount;
/**
* 有效期增加月数
*/
@NotNull(message = "有效期增加月数不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer addMonth;
/**
* 附加数据
*/
private String attachment;
/**
* 付款银行类型
*/
private String bankType;
/**
* 币种
*/
private String currency;
/**
* 订单描述
*/
@NotBlank(message = "订单描述不能为空", groups = { AddGroup.class, EditGroup.class })
private String description;
/**
* 设备数量
*/
@NotNull(message = "设备数量不能为空", groups = { AddGroup.class, EditGroup.class })
private Long deviceCount;
/**
* 支付的设备编号json格式
*/
@NotBlank(message = "支付的设备编号json格式不能为空", groups = { AddGroup.class, EditGroup.class })
private String isonDeviceSerialNum;
/**
* 支付回调通知URL
*/
@NotBlank(message = "支付回调通知URL不能为空", groups = { AddGroup.class, EditGroup.class })
private String notifyUrl;
/**
* 商户系统内部订单号
*/
@NotBlank(message = "商户系统内部订单号不能为空", groups = { AddGroup.class, EditGroup.class })
private String outTradeNumber;
/**
* 用户支付币种
*/
private String payerCurrency;
/**
* 用户支付金额(分)
*/
private Integer payerTotal;
/**
* 微信预交易订单号
*/
@NotBlank(message = "微信预交易订单号不能为空", groups = { AddGroup.class, EditGroup.class })
private String prepayId;
/**
* 支付完成时间
*/
private Date successTime;
/**
* 交易状态
*/
private String tradeState;
/**
* 交易状态描述
*/
private String tradeStateDescription;
/**
* 交易类型
*/
private String tradeType;
/**
* 微信支付订单号
*/
private String transactionId;
/**
* 用户开放id
*/
private String wxOpenId;
/**
* 订单状态
*/
private Integer orderStatus;
/**
* 分润状态
*/
private Integer profitStatus;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,87 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.Pond;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
/**
* 塘口管理业务对象 aqu_pond
*
* @author intc
* @date 2025-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = Pond.class, reverseConvertGenerate = false)
public class PondBo extends BaseEntity {
/**
* 主键id
*/
// @NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 用户id
*/
@NotNull(message = "用户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long userId;
/**
* 塘口名称
*/
@NotBlank(message = "塘口名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String pondName;
/**
* 鱼品种列表
*/
@NotBlank(message = "鱼品种列表不能为空", groups = { AddGroup.class, EditGroup.class })
private String fishKindIds;
/**
* 面积
*/
@NotNull(message = "面积不能为空", groups = { AddGroup.class, EditGroup.class })
private Double area;
/**
* 密度
*/
@NotNull(message = "密度不能为空", groups = { AddGroup.class, EditGroup.class })
private Double density;
/**
* 投苗日期
*/
private Date placeTime;
/**
* 夜间防止误关
*/
@NotNull(message = "夜间防止误关不能为空", groups = { AddGroup.class, EditGroup.class })
private Integer keepNightOpen;
/**
* 备注
*/
private String remark;
/**
* 提报时间开始
*/
private String startTime;
/**
* 提报时间结束
*/
private String endTime;
}

View File

@@ -0,0 +1,47 @@
package com.intc.fishery.domain.bo;
import com.intc.fishery.domain.UserRelation;
import com.intc.common.mybatis.core.domain.BaseEntity;
import com.intc.common.core.validate.AddGroup;
import com.intc.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 养殖用户子账号业务对象 aqu_user_relation
*
* @author intc
* @date 2025-10-17
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = UserRelation.class, reverseConvertGenerate = false)
public class UserRelationBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 父级账号id
*/
@NotNull(message = "父级账号id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long parentUserId;
/**
* 子账号id
*/
@NotNull(message = "子账号id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long childUserId;
/**
* 备注
*/
private String remark;
}

View File

@@ -0,0 +1,136 @@
package com.intc.fishery.domain.vo;
import com.intc.fishery.domain.AquUser;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 养殖用户管理视图对象 aqu_user
*
* @author intc
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = AquUser.class)
public class AquUserVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 用户名
*/
@ExcelProperty(value = "用户名")
private String userName;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String mobilePhone;
/**
* 省份
*/
@ExcelProperty(value = "省份")
private String province;
/**
* 城市
*/
@ExcelProperty(value = "城市")
private String city;
/**
* 区县
*/
@ExcelProperty(value = "区县")
private String district;
/**
* 报警电话列表json
*/
@ExcelProperty(value = "报警电话列表json")
private String warnPhoneJson;
/**
* 访问Token
*/
@ExcelProperty(value = "访问Token")
private String accessToken;
/**
* 刷新Token
*/
@ExcelProperty(value = "刷新Token")
private String refreshToken;
/**
* 小程序的openId
*/
@ExcelProperty(value = "小程序的openId")
private String wxOpenId;
/**
* 微信SessionKey
*/
@ExcelProperty(value = "微信SessionKey")
private String wxSessionKey;
/**
* 是否管理员
*/
@ExcelProperty(value = "是否管理员")
private Long isManager;
/**
* 微信unionId
*/
@ExcelProperty(value = "微信unionId")
private String wxUnionId;
/**
* 公众号的openId
*/
@ExcelProperty(value = "公众号的openId")
private String tecentOpenId;
/**
* 展示标题
*/
@ExcelProperty(value = "展示标题")
private String title;
/**
* 是否拥有大屏
*/
@ExcelProperty(value = "是否拥有大屏")
private Long hasScreen;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,86 @@
package com.intc.fishery.domain.vo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import com.intc.fishery.domain.DeviceBindRecord;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
/**
* 设备绑定记录视图对象 aqu_device_bind_record
*
* @author intc
* @date 2025-10-14
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DeviceBindRecord.class)
public class DeviceBindRecordVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 物联网IotId
*/
@ExcelProperty(value = "物联网IotId")
private String iotId;
/**
* 设备类型
*/
@ExcelProperty(value = "设备类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "aqu_device_type")
private Long deviceType;
/**
* 设备编号
*/
@ExcelProperty(value = "设备编号")
private String serialNum;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 绑定/解绑
*/
@ExcelProperty(value = "绑定/解绑", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "is_bind")
private Integer isBind;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String mobilePhone;
/**
* 用户名
*/
@ExcelProperty(value = "用户名")
private String userName;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,116 @@
package com.intc.fishery.domain.vo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import com.intc.common.json.handler.DoubleSerializer;
import com.intc.fishery.domain.DeviceCorrectRecord;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
/**
* 设备校准记录视图对象 aqu_device_correct_record
*
* @author intc
* @date 2025-10-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DeviceCorrectRecord.class)
public class DeviceCorrectRecordVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 设备id
*/
@ExcelProperty(value = "设备id")
private Long deviceId;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 设备序列号
*/
@ExcelProperty(value = "设备序列号")
private String serialNum;
/**
* 设备类型
*/
@ExcelProperty(value = "设备类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "aqu_device_type")
private Integer deviceType;
/**
* 溶解氧
*/
@ExcelProperty(value = "溶解氧")
@JsonSerialize(using = DoubleSerializer.class)
private Double valueDissolvedOxygen;
/**
* 水温
*/
@ExcelProperty(value = "水温")
@JsonSerialize(using = DoubleSerializer.class)
private Double valueTemperature;
/**
* 饱和度
*/
@ExcelProperty(value = "饱和度")
@JsonSerialize(using = DoubleSerializer.class)
private Double valueSaturability;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 用户名
*/
@ExcelProperty(value = "用户名")
private String userName;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String mobilePhone;
/**
* 设备名称
*/
@ExcelProperty(value = "设备名称")
private String deviceName;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,94 @@
package com.intc.fishery.domain.vo;
import com.intc.fishery.domain.DeviceErrorCode;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 设备故障码视图对象 aqu_device_error_code
*
* @author intc
* @date 2025-10-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DeviceErrorCode.class)
public class DeviceErrorCodeVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 设备id
*/
@ExcelProperty(value = "设备id")
private Long deviceId;
/**
* 开关序号
*/
@ExcelProperty(value = "开关序号")
private Integer switchIndex;
/**
* 开关名称
*/
@ExcelProperty(value = "开关名称")
private String switchName;
/**
* 故障码
*/
@ExcelProperty(value = "故障码")
private Integer errorCode;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 设备名称
*/
@ExcelProperty(value = "设备名称")
private String deviceName;
/**
* 设备编号
*/
@ExcelProperty(value = "设备编号")
private String serialNum;
/**
* 用户名
*/
@ExcelProperty(value = "用户名")
private String userName;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String mobilePhone;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,139 @@
package com.intc.fishery.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.intc.common.json.handler.DoubleSerializer;
import com.intc.fishery.domain.DeviceSwitch;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 测控一体机开关视图对象 aqu_device_switch
*
* @author intc
* @date 2025-10-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DeviceSwitch.class)
public class DeviceSwitchVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 设备id
*/
@ExcelProperty(value = "设备id")
private Long deviceId;
/**
* 序号
*/
@ExcelProperty(value = "序号")
private Integer index;
/**
* 名称
*/
@ExcelProperty(value = "名称")
private String switchName;
/**
* 当前测定电流
*/
@ExcelProperty(value = "当前测定电流")
@JsonSerialize(using = DoubleSerializer.class)
private Double detectElectricValue;
/**
* 当前测定电压
*/
@ExcelProperty(value = "当前测定电压")
@JsonSerialize(using = DoubleSerializer.class)
private Double detectVoltageValue;
/**
* 接线方式
*/
@ExcelProperty(value = "接线方式")
private Integer connectVoltageType;
/**
* 塘口id
*/
@ExcelProperty(value = "塘口id")
private Long pondId;
/**
* 额定电流设置
*/
@ExcelProperty(value = "额定电流设置")
private Double rateElectricValue;
/**
* 当前开关状态
*/
@ExcelProperty(value = "当前开关状态")
private Integer isOpen;
/**
* 电流告警开关
*/
@ExcelProperty(value = "电流告警开关")
private Integer electricWarnOpen;
/**
* 上次操作开关时间
*/
@ExcelProperty(value = "上次操作开关时间")
private Date lastTurnTime;
/**
* 联动控制id
*/
private Long linkedCtrlId;
/**
* 设备名称
*/
@ExcelProperty(value = "设备名称")
private String deviceName;
/**
* 设备编号
*/
@ExcelProperty(value = "设备编号")
private String serialNum;
/**
* 塘口名称
*/
@ExcelProperty(value = "塘口名称")
private String pondName;
/**
* 是否有联动控制0-否1-是)
*/
@ExcelProperty(value = "是否联动控制")
private Integer isLinkedCtrl;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,70 @@
package com.intc.fishery.domain.vo;
import com.intc.fishery.domain.DeviceThreshold;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 设备阈值管理视图对象 mgr_device_threshold
*
* @author intc
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DeviceThreshold.class)
public class DeviceThresholdVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 参数类型
*/
@ExcelProperty(value = "参数类型")
private Long thresholdType;
/**
* 阈值名称
*/
@ExcelProperty(value = "阈值名称")
private String thresholdName;
/**
* 最大值
*/
@ExcelProperty(value = "最大值")
private Double limitUpper;
/**
* 最小值
*/
@ExcelProperty(value = "最小值")
private Double limitLower;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,344 @@
package com.intc.fishery.domain.vo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import com.intc.common.json.handler.DoubleSerializer;
import com.intc.fishery.domain.Device;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
/**
* 设备管理视图对象 aqu_device
*
* @author intc
* @date 2025-10-14
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Device.class)
public class DeviceVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 物联网IotId
*/
@ExcelProperty(value = "物联网IotId")
private String iotId;
/**
* 设备编号
*/
@ExcelProperty(value = "设备编号")
private String serialNum;
/**
* 设备名称
*/
@ExcelProperty(value = "设备名称")
private String deviceName;
/**
* 设备类型
*/
@ExcelProperty(value = "设备类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "aqu_device_type")
private Integer deviceType;
/**
* 绑定时间
*/
@ExcelProperty(value = "绑定时间")
private Date bindTime;
/**
* 服务到期
*/
@ExcelProperty(value = "服务到期")
private Date deadTime;
/**
* 塘口id
*/
@ExcelProperty(value = "塘口id")
private Long pondId;
/**
* 溶解氧参数配置开关
*/
@ExcelProperty(value = "溶解氧参数配置开关")
private Integer isOxygenUsed;
/**
* 溶解氧
*/
@ExcelProperty(value = "溶解氧")
@JsonSerialize(using = DoubleSerializer.class)
private Double valueDissolvedOxygen;
/**
* 是否已触发溶解氧报警
*/
@ExcelProperty(value = "是否已触发溶解氧报警")
private Integer isOxygenWarnExist;
/**
* 水温
*/
@ExcelProperty(value = "水温")
@JsonSerialize(using = DoubleSerializer.class)
private Double valueTemperature;
/**
* 是否已触发温度报警
*/
@ExcelProperty(value = "是否已触发温度报警")
private Integer isTempWarnExist;
/**
* 饱和度
*/
@ExcelProperty(value = "饱和度")
@JsonSerialize(using = DoubleSerializer.class)
private Double valueSaturability;
/**
* PH
*/
@ExcelProperty(value = "PH")
@JsonSerialize(using = DoubleSerializer.class)
private Double valuePh;
/**
* 盐度
*/
@ExcelProperty(value = "盐度")
@JsonSerialize(using = DoubleSerializer.class)
private Double valueSalinity;
/**
* 溶解氧电话告警开关
*/
@ExcelProperty(value = "溶解氧电话告警开关")
private Integer oxyWarnCallOpen;
/**
* 低溶氧告警免打扰
*/
@ExcelProperty(value = "低溶氧告警免打扰")
private Integer oxyWarnCallNoDis;
/**
* 上次溶解氧电话告警时间
*/
@ExcelProperty(value = "上次溶解氧电话告警时间")
private Date oxyWarnCallLastTime;
/**
* 溶解氧电话告警下限
*/
@ExcelProperty(value = "溶解氧电话告警下限")
@JsonSerialize(using = DoubleSerializer.class)
private Double oxyWarnLower;
/**
* 温度电话告警开关
*/
@ExcelProperty(value = "温度电话告警开关")
private Integer tempWarnCallOpen;
/**
* 温度告警免打扰
*/
@ExcelProperty(value = "温度告警免打扰")
private Integer tempWarnCallNoDis;
/**
* 上次温度电话告警时间
*/
@ExcelProperty(value = "上次温度电话告警时间")
private Date tempWarnCallLastTime;
/**
* 温度电话告警上限
*/
@ExcelProperty(value = "温度电话告警上限")
@JsonSerialize(using = DoubleSerializer.class)
private Double tempWarnUpper;
/**
* 温度电话告警下限
*/
@ExcelProperty(value = "温度电话告警下限")
@JsonSerialize(using = DoubleSerializer.class)
private Double tempWarnLower;
/**
* 设置的盐度补偿
*/
@ExcelProperty(value = "设置的盐度补偿")
@JsonSerialize(using = DoubleSerializer.class)
private Double salinityCompensation;
/**
* 输入额定电压
*/
@ExcelProperty(value = "输入额定电压")
private Integer inputVoltage;
/**
* 设备告警状态码
*/
@ExcelProperty(value = "设备告警状态码")
private Integer warnCode;
/**
* 物联网卡号
*/
@ExcelProperty(value = "物联网卡号")
private String iccId;
/**
* 相位差
*/
@ExcelProperty(value = "相位差")
@JsonSerialize(using = DoubleSerializer.class)
private Double phaseDifference;
/**
* 荧光值
*/
@ExcelProperty(value = "荧光值")
@JsonSerialize(using = DoubleSerializer.class)
private Double tfluorescence;
/**
* 参比值
*/
@ExcelProperty(value = "参比值")
@JsonSerialize(using = DoubleSerializer.class)
private Double treference;
/**
* 线性系数补偿
*/
@ExcelProperty(value = "线性系数补偿")
@JsonSerialize(using = DoubleSerializer.class)
private Double phaseCompensation;
/**
* 相位差补偿
*/
@ExcelProperty(value = "相位差补偿")
@JsonSerialize(using = DoubleSerializer.class)
private Double phasedifCompensation;
/**
* 温度补偿
*/
@ExcelProperty(value = "温度补偿")
@JsonSerialize(using = DoubleSerializer.class)
private Double temperatureCompensation;
/**
* 电压告警开关
*/
@ExcelProperty(value = "电压告警开关")
private Integer voltageWarnOpen;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 设备分类
*/
@ExcelProperty(value = "设备分类")
private String category;
/**
* 电量电话告警开关
*/
@ExcelProperty(value = "电量电话告警开关")
private Long batteryWarnCallOpen;
/**
* 电量告警免打扰
*/
@ExcelProperty(value = "电量告警免打扰")
private Long batteryWarnCallNoDis;
/**
* 上次电量电话告警时间
*/
@ExcelProperty(value = "上次电量电话告警时间")
private Date batteryWarnCallLastTime;
/**
* 电量电话告警下限
*/
@ExcelProperty(value = "电量电话告警下限")
private Long batteryWarnLower;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String mobilePhone;
/**
* 用户名
*/
@ExcelProperty(value = "用户名")
private String userName;
/**
* 塘口名称
*/
@ExcelProperty(value = "塘口名称")
private String pondName;
/**
* 是否过期0-未过期1-已过期)
*/
@ExcelProperty(value = "是否过期")
private Integer isExpired;
/**
* 过期天数(正数表示已过期天数,负数表示距离过期还有多少天)
*/
@ExcelProperty(value = "过期天数")
private Long expiredDays;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,61 @@
package com.intc.fishery.domain.vo;
import com.intc.fishery.domain.Fish;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 鱼类管理视图对象 aqu_fish
*
* @author intc
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Fish.class)
public class FishVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 鱼类类型
*/
@ExcelProperty(value = "鱼类类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "fish_type")
private Long fishType;
/**
* 鱼类名称
*/
@ExcelProperty(value = "鱼类名称")
private String fishName;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,111 @@
package com.intc.fishery.domain.vo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import com.intc.fishery.domain.PayDevice;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
/**
* 设备充值记录视图对象 aqu_pay_device
*
* @author intc
* @date 2025-10-16
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PayDevice.class)
public class PayDeviceVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 用户Id
*/
@ExcelProperty(value = "用户Id")
private Long userId;
/**
* 设备编号
*/
@ExcelProperty(value = "设备编号")
private String serialNum;
/**
* 设备类型
*/
@ExcelProperty(value = "设备类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "aqu_device_type")
private Integer deviceType;
/**
* 续费时长(月)
*/
@ExcelProperty(value = "续费时长", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "月=")
private Integer addMonth;
/**
* 最新到期时间
*/
@ExcelProperty(value = "最新到期时间")
private Date deadTime;
/**
* 续费金额(分)
*/
@ExcelProperty(value = "续费金额", converter = ExcelDictConvert.class)
private Integer payAmount;
/**
* 续费金额(元)
*/
@ExcelProperty(value = "续费金额(元)")
private Double payAmountYuan;
/**
* 续费方式
*/
@ExcelProperty(value = "续费方式", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "pay_type")
private Integer payType;
/**
* 分润状态
*/
@ExcelProperty(value = "分润状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "profit_status")
private Integer profitStatus;
/**
* 用户名
*/
@ExcelProperty(value = "用户名")
private String userName;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String mobilePhone;
/**
* 订单id
*/
private Long orderId;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,119 @@
package com.intc.fishery.domain.vo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.intc.common.excel.annotation.ExcelDictFormat;
import com.intc.common.excel.convert.ExcelDictConvert;
import com.intc.fishery.domain.PayOrder;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
/**
* 充值订单视图对象 aqu_pay_order
*
* @author intc
* @date 2025-10-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PayOrder.class)
public class PayOrderVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
// @ExcelProperty(value = "主键id")
private Long id;
/**
* 用户id
*/
// @ExcelProperty(value = "用户id")
private Long userId;
/**
* 充值总金额(分)
*/
// @ExcelProperty(value = "充值总金额", converter = ExcelDictConvert.class)
private Integer totalAmount;
/**
* 用户名
*/
@ExcelProperty(value = "用户名")
private String userName;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String mobilePhone;
/**
* 充值总金额(元)
*/
@ExcelProperty(value = "充值总金额(元)")
private Double totalAmountYuan;
/**
* 有效期增加月数
*/
@ExcelProperty(value = "有效期增加月数")
private Integer addMonth;
/**
* 设备数量
*/
@ExcelProperty(value = "设备数量")
private Long deviceCount;
/**
* 用户支付金额(分)
*/
// @ExcelProperty(value = "用户支付金额", converter = ExcelDictConvert.class)
private Integer payerTotal;
/**
* 用户支付金额(元)
*/
@ExcelProperty(value = "用户支付金额(元)")
private Double payerTotalYuan;
/**
* 支付完成时间
*/
@ExcelProperty(value = "支付完成时间")
private Date successTime;
/**
* 订单状态
*/
@ExcelProperty(value = "订单状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "order_status")
private Integer orderStatus;
/**
* 分润状态
*/
@ExcelProperty(value = "分润状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(dictType = "profit_status")
private Integer profitStatus;
@ExcelProperty(value = "创建时间")
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,101 @@
package com.intc.fishery.domain.vo;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import com.intc.fishery.domain.Pond;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
/**
* 塘口管理视图对象 aqu_pond
*
* @author intc
* @date 2025-10-11
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Pond.class)
public class PondVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 用户id
*/
@ExcelProperty(value = "用户id")
private Long userId;
/**
* 塘口名称
*/
@ExcelProperty(value = "塘口名称")
private String pondName;
/**
* 鱼品种列表
*/
@ExcelProperty(value = "鱼品种列表")
private String fishKindIds;
/**
* 面积
*/
@ExcelProperty(value = "面积")
private Double area;
/**
* 密度
*/
@ExcelProperty(value = "密度")
private Double density;
/**
* 投苗日期
*/
@ExcelProperty(value = "投苗日期")
private Date placeTime;
/**
* 夜间防止误关
*/
@ExcelProperty(value = "夜间防止误关")
private Integer keepNightOpen;
/**
* 鱼品种列表
*/
@ExcelProperty(value = "鱼品种列表")
private String fishKindNames;
/**
* 用户名
*/
@ExcelProperty(value = "用户名")
private String userName;
/**
* 手机号
*/
@ExcelProperty(value = "手机号")
private String mobilePhone;
private Date createTime;
private Date updateTime;
}

View File

@@ -0,0 +1,52 @@
package com.intc.fishery.domain.vo;
import com.intc.fishery.domain.UserRelation;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 养殖用户子账号视图对象 aqu_user_relation
*
* @author intc
* @date 2025-10-17
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = UserRelation.class)
public class UserRelationVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 父级账号id
*/
@ExcelProperty(value = "父级账号id")
private Long parentUserId;
/**
* 子账号id
*/
@ExcelProperty(value = "子账号id")
private Long childUserId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}