123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541 |
- package com.xy.dto;
- import com.alibaba.excel.annotation.ExcelProperty;
- import com.fasterxml.jackson.annotation.JsonFormat;
- import com.xy.annotate.DictFormat;
- import com.xy.annotate.NumberChange;
- import com.xy.consts.DictConsts;
- import com.xy.convert.DictConvert;
- import com.xy.utils.DataTime;
- import com.xy.utils.PageBean;
- import io.swagger.annotations.ApiModelProperty;
- import lombok.Data;
- import lombok.experimental.Accessors;
- import javax.validation.constraints.NotNull;
- import java.time.LocalDate;
- import java.time.LocalDateTime;
- import java.util.List;
- @Data
- @Accessors(chain = true)
- public class DeviceInfoDto {
- /**
- * 删除线路\点位时时指定 传入 wherePlaceLineId\wherePlaceId
- */
- public final static String DEL = "del";
- /**
- * 更新线\点位时指定 传入 deviceIds、placeLineId\placeId
- */
- public final static String UPDATE = "update";
- /**
- * 解绑线路、点位时指定 传入 deviceIds
- */
- public final static String CLEAR = "clear";
- @Data
- @Accessors(chain = true)
- public static class Obj {
- @ApiModelProperty("设备id")
- private Long deviceId;
- @ApiModelProperty("门id 0=1号门 1=2号门")
- private Integer door;
- }
- @Data
- @Accessors(chain = true)
- public static class ListDto {
- @ApiModelProperty(value = "设备id批量查", required = false)
- private List<Long> deviceIds;
- }
- @Data
- @Accessors(chain = true)
- public static class ListCommon {
- @ApiModelProperty("设备信息VO")
- Vo vo;
- @ApiModelProperty("线路id多个")
- private List<Long> placeLineIds;
- @ApiModelProperty("id")
- private List<Long> deviceIds;
- @ApiModelProperty("指定字段查询")
- private List<String> columnList;
- @ApiModelProperty(value = "根据名称或编码搜索")
- private String deviceSearch;
- }
- @Data
- @Accessors(chain = true)
- public static class UpdateLine {
- @NotNull(message = "更新类型")
- @ApiModelProperty(value = "更新类型", required = true)
- private String type;
- @NotNull(message = "商户id不能为空")
- @ApiModelProperty(value = "商户id", required = true)
- private Long mercId;
- @ApiModelProperty("设备id集合")
- private List<Long> deviceIds;
- @ApiModelProperty(value = "线路ID")
- private Long placeLineId;
- @ApiModelProperty(value = "原线路ID")
- private Long wherePlaceLineId;
- }
- @Data
- @Accessors(chain = true)
- public static class UpdatePlace {
- @NotNull(message = "更新类型")
- @ApiModelProperty(value = "更新类型", required = true)
- private String type;
- @NotNull(message = "商户id不能为空")
- @ApiModelProperty(value = "商户id", required = true)
- private Long mercId;
- @ApiModelProperty("设备id集合")
- private List<Long> deviceIds;
- @ApiModelProperty(value = "点位ID")
- private Long placeId;
- @ApiModelProperty(value = "原点位ID")
- private Long wherePlaceId;
- }
- @Data
- @Accessors(chain = true)
- public static class Update extends Vo {
- @NotNull(message = "deviceId不能为空")
- @ApiModelProperty("设备id")
- private Long deviceId;
- @ApiModelProperty(value = "系统信息", hidden = true)
- private DeviceSysinfoDto.Vo deviceSysinfo;
- @ApiModelProperty(value = "状态信息", hidden = true)
- private DeviceStatusDto.Vo deviceStatus;
- @ApiModelProperty(value = "注册信息", hidden = true)
- private DeviceRegisterDto.Vo deviceRegister;
- }
- @Data
- @Accessors(chain = true)
- public static class Page extends Vo {
- @ApiModelProperty("是否导出当前页")
- private Boolean exportPage = true;
- @ApiModelProperty(value = "分页对象", required = true)
- private PageBean page;
- /**
- * size -1 不分页
- *
- * @return
- */
- public PageBean getPage() {
- if (!this.exportPage) {
- this.page.setSize(-1L);
- }
- return page;
- }
- @ApiModelProperty("资产/sn/sim号")
- private String no;
- @ApiModelProperty("商户id/商户号/商户名称")
- private String merc;
- @ApiModelProperty("设备id/设备名称")
- private String deviceIdName;
- @ApiModelProperty("联网状态")
- private Integer netState;
- @ApiModelProperty("上位机版本号")
- private String appUpmVersion;
- @ApiModelProperty("下位机版本号")
- private String appDownmVersion;
- @JsonFormat(pattern = "yyyy-MM-dd")
- @ApiModelProperty(value = "激活时间-起")
- private LocalDate beginActiveTime;
- @JsonFormat(pattern = "yyyy-MM-dd")
- @ApiModelProperty(value = "激活时间-始")
- private LocalDate endActiveTime;
- @ApiModelProperty("附近最大距离,单位:米")
- private Integer nearby;
- @ApiModelProperty(value = "系统信息", hidden = true)
- private DeviceSysinfoDto.Vo deviceSysinfo;
- @ApiModelProperty(value = "状态信息", hidden = true)
- private DeviceStatusDto.Vo deviceStatus;
- @ApiModelProperty(value = "注册信息", hidden = true)
- private DeviceRegisterDto.Vo deviceRegister;
- public String getBeginActiveTime() {
- return beginActiveTime == null ? null : DataTime.toString(beginActiveTime.atTime(0, 0, 0));
- }
- public String getEndActiveTime() {
- return endActiveTime == null ? null : DataTime.toString(endActiveTime.atTime(23, 59, 59));
- }
- }
- @Data
- @Accessors(chain = true)
- public static class Vo {
- @ApiModelProperty("设备id")
- private Long deviceId;
- @ApiModelProperty("设备名称")
- private String deviceName;
- @DictFormat(DictConsts.DEVICE_TYPE)
- @ApiModelProperty("设备类型")
- private Integer deviceType;
- @ApiModelProperty("商户设备资产编号")
- private String mercDeviceCode;
- @ApiModelProperty("商户id")
- private Long mercId;
- @ApiModelProperty("商户编码")
- private String mercCode;
- @ApiModelProperty("算法平台id")
- private Long algorithmId;
- @ApiModelProperty("点位id")
- private Long placeId;
- @ApiModelProperty("线路id")
- private Long placeLineId;
- @ApiModelProperty("区域id")
- private Long districtId;
- @DictFormat(DictConsts.DEVICE_ACTIVE_STATUS)
- @ApiModelProperty("激活状态")
- private Integer activeState;
- @ApiModelProperty("激活时间")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime activeTime;
- @DictFormat(DictConsts.DEVICE_BUSY_STATUS)
- @ApiModelProperty("运营状态")
- private Integer busyState;
- @ApiModelProperty("显示状态")
- private Boolean showStatus;
- @DictFormat(DictConsts.DEVICE_FREEZE_STATUS)
- @ApiModelProperty("冻结状态")
- private Integer freezeStatus;
- @ApiModelProperty("设备图片")
- private String deviceImg;
- @ApiModelProperty("经度")
- private String lon;
- @ApiModelProperty("纬度")
- private String lat;
- @DictFormat(DictConsts.DEVICE_FAULT_LEVEL)
- @ApiModelProperty("故障等级")
- private Integer faultLevel;
- @ApiModelProperty("创建时间")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime createTime;
- @ApiModelProperty("更新时间")
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private LocalDateTime updateTime;
- @ApiModelProperty("系统信息")
- private DeviceSysinfoDto.Vo deviceSysinfo;
- @ApiModelProperty("状态信息")
- private DeviceStatusDto.Vo deviceStatus;
- @ApiModelProperty("注册信息")
- private DeviceRegisterDto.Vo deviceRegister;
- }
- @Data
- @Accessors(chain = true)
- public static class Vo2 extends Vo {
- @ApiModelProperty("商户名称")
- private String mercName;
- @ApiModelProperty("距离")
- private Integer m;
- @ApiModelProperty("点位名称")
- private String placeName;
- @ApiModelProperty("线路名称")
- private String placeLineName;
- @ApiModelProperty("区域名称")
- private String districtName;
- }
- @Data
- @Accessors(chain = true)
- public static class DeviceExcelVO {
- @ExcelProperty("所属商户")
- @ApiModelProperty("商户名称")
- private String mercName;
- @ExcelProperty("点位")
- @ApiModelProperty("点位名称")
- private String placeName;
- @ExcelProperty("线路")
- @ApiModelProperty("线路名称")
- private String placeLineName;
- @ExcelProperty("区域")
- @ApiModelProperty("区域名称")
- private String districtName;
- @ExcelProperty("设备编号")
- @ApiModelProperty("设备id")
- private Long deviceId;
- @ExcelProperty("设备名称")
- @ApiModelProperty("设备名称")
- private String deviceName;
- @ExcelProperty(value = "设备类型", converter = DictConvert.class)
- @DictFormat(DictConsts.DEVICE_TYPE)
- @ApiModelProperty("设备类型")
- private Integer deviceType;
- @ExcelProperty("商户设备资产编号")
- @ApiModelProperty("商户设备资产编号")
- private String mercDeviceCode;
- @ApiModelProperty("商户id")
- private Long mercId;
- @ExcelProperty(value = "商户编码")
- @ApiModelProperty("商户编码")
- private String mercCode;
- @ExcelProperty(value = "激活状态", converter = DictConvert.class)
- @DictFormat(DictConsts.DEVICE_ACTIVE_STATUS)
- @ApiModelProperty("激活状态")
- private Integer activeState;
- @ExcelProperty(value = "运营状态", converter = DictConvert.class)
- @DictFormat(DictConsts.DEVICE_BUSY_STATUS)
- @ApiModelProperty("运营状态")
- private Integer busyState;
- @ExcelProperty(value = "冻结状态", converter = DictConvert.class)
- @DictFormat(DictConsts.DEVICE_FREEZE_STATUS)
- @ApiModelProperty("冻结状态")
- private Integer freezeStatus;
- @ExcelProperty(value = "故障等级", converter = DictConvert.class)
- @DictFormat(DictConsts.DEVICE_FAULT_LEVEL)
- @ApiModelProperty("故障等级")
- private Integer faultLevel;
- }
- /**
- * 商户设备授权
- *
- * @author 谭斌
- * @date 2023/02/09
- */
- @Data
- @Accessors(chain = true)
- public static class MercDeviceAuthDto {
- @ApiModelProperty(value = "对应商户的全量设备ID(传空则取消商户所有机器)", required = false)
- private List<Long> deviceIds;
- @ApiModelProperty(value = "商户ID")
- private Long mercId;
- @ApiModelProperty(value = "商户编码", required = true)
- private String mercCode;
- @ApiModelProperty(value = "算法ID")
- private Long algorithmId;
- }
- @Data
- @Accessors(chain = true)
- public static class MercAlgorithmIdListDto {
- @ApiModelProperty(value = "商户ID")
- private Long mercId;
- }
- /**
- * 商户设备首页统计
- *
- * @author 谭斌
- * @date 2023/02/28
- */
- @Data
- @Accessors(chain = true)
- public static class MercHomeStatisticalVO {
- @ApiModelProperty(value = "在线设备数")
- private Integer onlineNum;
- @ApiModelProperty(value = "离线设备数")
- private Integer offlineNum;
- @ApiModelProperty(value = "运营设备数")
- private Integer operatingNum;
- @ApiModelProperty(value = "停业设备数")
- private Integer closedNum;
- @ApiModelProperty(value = "待补货设备数")
- private Integer needToFillNum;
- }
- @Data
- @Accessors(chain = true)
- public static class MercHomeQueryDTO {
-
- @ApiModelProperty(value = "商户id")
- private Long mercId;
- @ApiModelProperty(value = "设备名称")
- private String deviceName;
- @ApiModelProperty("设备编号")
- private Long deviceId;
- }
- @Data
- @Accessors(chain = true)
- public static class MercHomeListVO {
- @ApiModelProperty(value = "线路名称")
- private String placeLineName;
- @ApiModelProperty(value = "线路ID")
- private Long placeLineId;
- @ApiModelProperty(value = "设备数")
- private Integer deviceNum;
- @ApiModelProperty(value = "列表设备信息")
- private List<MercHomeDeviceVo> deviceInfos;
- }
- @Data
- @Accessors(chain = true)
- public static class MercHomeCountVO {
- @ApiModelProperty(value = "线路ID")
- private Long placeLineId;
- @ApiModelProperty(value = "设备数")
- private Integer deviceNum;
- }
- @Data
- @Accessors(chain = true)
- public static class MercHomeDeviceVo {
- @ApiModelProperty("设备id")
- private Long deviceId;
- @ApiModelProperty("设备名称")
- private String deviceName;
- @ApiModelProperty("设备类型")
- private Integer deviceType;
- @ApiModelProperty("设备类型名称")
- private String deviceTypeName;
- @ApiModelProperty("商户设备资产编号")
- private String mercDeviceCode;
- @ApiModelProperty("运营状态")
- private Integer busyState;
- @ApiModelProperty("运营状态名称")
- private String busyStateName;
- @ApiModelProperty("今日订单数")
- private Integer dayOrderNum;
- @NumberChange
- @ApiModelProperty("今日销售额")
- private String daySalesPrice;
- @ApiModelProperty("在售商品数")
- private Integer onSaleNum;
- @ApiModelProperty("补货数")
- private Integer fillNum;
- }
- @Data
- @Accessors(chain = true)
- public static class MercHomeDevicePage extends MercHomeQueryDTO {
- @ApiModelProperty(value = "分页对象", required = true)
- private PageBean page;
- }
- }
|