diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java b/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java
index f4a5aec..b8dbd35 100644
--- a/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java
+++ b/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java
@@ -2,17 +2,17 @@ package cc.yunxi.controller;
import cc.yunxi.common.domain.CommonResult;
-import cc.yunxi.domain.po.RecycleBucket;
-import cc.yunxi.domain.po.RecycleDevice;
-import cc.yunxi.domain.po.RecycleDeviceConfig;
+import cc.yunxi.common.exception.BizIllegalException;
+import cc.yunxi.domain.dto.UserDTO;
+import cc.yunxi.domain.po.*;
import cc.yunxi.domain.vo.device.*;
import cc.yunxi.domain.vo.file.FileUploadRespVO;
-import cc.yunxi.service.IFileService;
-import cc.yunxi.service.IRecycleBucketService;
-import cc.yunxi.service.IRecycleDeviceConfigService;
-import cc.yunxi.service.IRecycleDeviceService;
+import cc.yunxi.service.*;
import cc.yunxi.utils.DeviceStatusManager;
+import cc.yunxi.utils.UserContext;
import cn.hutool.core.util.StrUtil;
+import cn.hutool.http.HttpUtil;
+import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
@@ -24,9 +24,8 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Base64;
-import java.util.List;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
/**
*
@@ -45,13 +44,18 @@ public class DeviceController {
@Resource
private DeviceStatusManager deviceStatusManager;
-
@Resource
- private IRecycleDeviceService recycleDeviceService;
+ private IRecycleDeviceService deviceService;
+ @Resource
+ private IRecycleDeviceConfigService configService;
+ @Resource
+ private IRecycleBucketService bucketService;
@Resource
- private IRecycleDeviceConfigService recycleDeviceConfigService;
+ private IRecycleDeviceEventService eventService;
@Resource
- private IRecycleBucketService recycleBucketService;
+ private IRecycleCleanOrderService cleanOrderService;
+ @Resource
+ private IRecycleDeliveryOrderService deliveryOrderService;
@Resource
private IFileService fileService;
@@ -61,37 +65,51 @@ public class DeviceController {
public CommonResult conf(@RequestBody DeviceVO deviceVO) {
CommonResult result = new CommonResult<>();
DeviceRespVO respVO = new DeviceRespVO();
- RecycleDevice device = recycleDeviceService.getByDeviceCode(deviceVO.getDeviceCode());
+ RecycleDevice device = deviceService.getByDeviceCode(deviceVO.getDeviceCode());
if (device == null) {
- return result.error(400, "设备不存在");
+ return CommonResult.error(404, "设备不存在");
}
String companyId = device.getBeLongCompanyId();
if (StrUtil.isBlank(companyId)) {
- return result.error(400, "设备未绑定公司,还未投用!!");
+ return CommonResult.error(404, "设备未绑定公司,还未投用!!");
}
- RecycleDeviceConfig config = recycleDeviceConfigService.getByCompanyId(companyId);
+ RecycleDeviceConfig config = configService.getByCompanyId(companyId);
if (config == null) {
- return result.error(400, "设备未配置!!");
+ return CommonResult.error(404, "设备未配置配置项!!");
}
- List buckets = recycleBucketService.getByDeviceCode(deviceVO.getDeviceCode());
+ List buckets = bucketService.getByDeviceCode(deviceVO.getDeviceCode());
if (buckets.size() == 0) {
- return result.error(400, "当前设备没有桶配置清单!!");
+ return CommonResult.error(404, "当前设备没有桶配置清单!!");
}
respVO.setDeviceCode(device.getDeviceCode());
respVO.setDeviceName(device.getDeviceName());
respVO.setUserStatus(device.getUseStatus());
respVO.setCleanLock(Integer.valueOf(config.getCleanLock()));
respVO.setUsePhoneLogin(config.getAllowPhoneLogin());
+ //桶配置
+ fillBucketConfig(respVO, buckets, config);
+ //宣传配置
+ respVO.setPromotionSet(config.getPromotionSet());
+ respVO.setSlogan(config.getPromotionSlogans());
+ String pics = config.getPromotionPic1();
+ fillPoster(pics, respVO);
+ result.setData(respVO);
+ result.setMsg("success");
+ return result;
+ }
+
+ private void fillBucketConfig(DeviceRespVO respVO, List buckets, RecycleDeviceConfig config) {
ArrayList list = new ArrayList<>();
for (RecycleBucket bucket : buckets) {
DeviceRespVO.Bucket _bucket = new DeviceRespVO.Bucket();
+ BigDecimal price = calculatePrice(bucket, config);//计算价格
_bucket.setBucketCode(bucket.getBucketCode());
_bucket.setDoorNum(bucket.getDoorNum());
_bucket.setOrdNum(bucket.getShowOrd());
_bucket.setCode(bucket.getProductCode());
_bucket.setSubCode(bucket.getProductSubCode());
_bucket.setShowText(bucket.getShowName());
- _bucket.setPrice(bucket.getPrice());
+ _bucket.setPrice(price);
_bucket.setSingleWeightLimit(BigDecimal.ZERO);
_bucket.setTotalWeightLimit(bucket.getWarningWeight());
_bucket.setSmokeAlarm(bucket.getSmogSet());
@@ -107,10 +125,11 @@ public class DeviceController {
list.add(_bucket);
}
respVO.setBucketList(list);
- respVO.setPromotionSet(config.getPromotionSet());
- respVO.setSlogan(config.getPromotionSlogans());
+
+ }
+
+ private void fillPoster(String pics, DeviceRespVO respVO) {
ArrayList posters = new ArrayList<>();
- String pics = config.getPromotionPic1();
List files = JSONUtil.toList(pics, FileUploadRespVO.class);
for (int i = 0; i < files.size(); i++) {
FileUploadRespVO file = files.get(i);
@@ -122,8 +141,75 @@ public class DeviceController {
posters.add(poster);
}
respVO.setPosterList(posters);
- result.setData(respVO);
- return result;
+ }
+
+ private BigDecimal calculatePrice(RecycleBucket bucket, RecycleDeviceConfig config) {
+ BigDecimal bucketPrice = bucket.getPrice();
+ if (null != bucketPrice && bucketPrice.compareTo(BigDecimal.ZERO) > 0) {
+ return bucketPrice;//优先桶配置
+ }
+
+ BigDecimal price = BigDecimal.ZERO;
+ BigDecimal comm = config.getDeliveryPrice();//统一价格
+ if (comm != null && comm.compareTo(BigDecimal.ZERO) > 0) {
+ price = comm;
+ }
+
+ BigDecimal doorNumPrice = BigDecimal.ZERO;//按编号算价格
+ Integer doorNum = bucket.getDoorNum();
+ switch (doorNum) {
+ case 1:
+ doorNumPrice = config.getBucket1Price();
+ break;
+ case 2:
+ doorNumPrice = config.getBucket2Price();
+ break;
+ case 3:
+ doorNumPrice = config.getBucket3Price();
+ break;
+ case 4:
+ doorNumPrice = config.getBucket4Price();
+ break;
+ case 5:
+ doorNumPrice = config.getBucket5Price();
+ break;
+ case 6:
+ doorNumPrice = config.getBucket6Price();
+ break;
+ case 7:
+ doorNumPrice = config.getBucket7Price();
+ break;
+ case 8:
+ doorNumPrice = config.getBucket8Price();
+ break;
+ case 9:
+ doorNumPrice = config.getBucket9Price();
+ break;
+ case 10:
+ doorNumPrice = config.getBucket10Price();
+ break;
+ case 11:
+ doorNumPrice = config.getBucket11Price();
+ break;
+ case 12:
+ doorNumPrice = config.getBucket12Price();
+ break;
+ default:
+ break;
+ }
+ if (doorNumPrice.compareTo(BigDecimal.ZERO) > 0) {
+ price = doorNumPrice;
+ }
+ return price;
+ }
+
+ private String uploadImages(List snaps) {
+ List list = new ArrayList<>();
+ for (Snap snap : snaps) {
+ FileUploadRespVO uploadRespVO = fileService.uploadImage(snap.getImage(), snap.getFileName());
+ list.add(uploadRespVO);
+ }
+ return JSONUtil.toJsonStr(list);
}
//手机号登录
@@ -131,6 +217,7 @@ public class DeviceController {
@ApiModelProperty("手机号登录")
public CommonResult login(@RequestBody LoginReqVO loginReqVO) {
CommonResult result = new CommonResult<>();
+ //todo
return result;
}
@@ -139,25 +226,134 @@ public class DeviceController {
@PostMapping("/delivery")
@ApiModelProperty("投递订单上传")
public CommonResult delivery(@RequestBody DeliveryOrderVO orderVO) {
+// UserDTO user = UserContext.getUser();
+ RecycleDevice device = deviceService.getByDeviceCode(orderVO.getDeviceCode());
- return null;
+ if (null == device || StrUtil.isEmpty(device.getBeLongCompanyId())) {
+ throw new BizIllegalException("上传失败:根据设备编号,未查询到设备信息!!");
+ }
+ String companyId = device.getBeLongCompanyId();
+ //查询配置
+ RecycleDeviceConfig config = configService.getByCompanyId(companyId);
+ String adjustSet = config.getDeliveryAdjustSet();//审核配置
+
+ RecycleDeliveryOrder order = new RecycleDeliveryOrder();
+ order.setDeviceCode(orderVO.getDeviceCode());
+ order.setBucketCode(orderVO.getBucketCode());
+ order.setDeviceOrderNo(orderVO.getDeviceOrderNo());
+ order.setDoorNum(orderVO.getDoorNum());
+ order.setBagNo(orderVO.getBagNo());
+ order.setOriginalWeight(orderVO.getOriginalWeight());
+ order.setReportWeight(orderVO.getWeight());
+ order.setPrice(orderVO.getPrice());
+ order.setProductCode(orderVO.getProductCode());
+ order.setProductSubCode(orderVO.getProductSubCode());
+ order.setTotalPrice(orderVO.getTotalPrice());
+ if ("1".equals(adjustSet)) {//自动审核
+ order.setAdjustStatus(1);
+ order.setAdjustWeight(orderVO.getWeight());
+ order.setAdjustPrice(orderVO.getTotalPrice());
+ order.setAdjustComm("自动审核");
+ } else {//手动审核
+ order.setAdjustStatus(0);
+ order.setAdjustWeight(BigDecimal.ZERO);
+ order.setAdjustPrice(BigDecimal.ZERO);
+ order.setAdjustComm("");
+ }
+ order.setBagNo(orderVO.getBagNo());
+ order.setDeliverId(orderVO.getUserId());
+ order.setPhone(orderVO.getPhone());
+ // 上传照片
+ List images = orderVO.getImages();
+ String photos = uploadImages(images);
+ order.setPhoto(photos);
+ order.setCompanyId(companyId);//绑定订单对应商户
+ order.setLoginType(orderVO.getLoginType());
+ // order.setStartTime(orderVO.getStartTime());
+// order.setFinishTime(orderVO.getFinishTime());
+ order.setReportTime(new Date());
+
+ deliveryOrderService.save(order);
+ return CommonResult.success(orderVO.getDeviceOrderNo());
}
//清运重量上传
@PostMapping("/clean")
@ApiModelProperty("清运订单上传")
public CommonResult clean(@RequestBody CleanOrderVO orderVO) {
+ UserDTO user = UserContext.getUser();
+ RecycleDevice device = deviceService.getByDeviceCode(orderVO.getDeviceCode());
+ if (null == device) {
+ throw new BizIllegalException("上传失败:根据设备编号,未查询到设备信息!!");
+ }
- return null;
+ //查询配置
+ RecycleDeviceConfig config = configService.getByCompanyId(user.getCompanyId());
+ String adjustSet = config.getCleanAdjustSet();//审核配置
+ //查询桶
+// RecycleBucket bucket = bucketService.getByBucketCode(orderVO.getBucketCode());
+
+ RecycleCleanOrder order = new RecycleCleanOrder();
+ order.setDeviceCode(orderVO.getDeviceCode());
+ order.setBucketCode(orderVO.getBucketCode());
+ order.setDoorNum(orderVO.getDoorNum());
+ order.setProductCode(orderVO.getProductCode());
+ order.setProductSubCode(orderVO.getProductSubCode());
+ order.setPrice(orderVO.getPrice());
+ //开始时间
+ //完成时间
+ List images = orderVO.getImages();
+ if (images == null || images.size() == 0) {
+ throw new BizIllegalException("上传失败:未上传抓拍图片!!");
+ } else {
+ String result = uploadImages(images);
+ order.setPhoto(result);
+ }
+ //审核
+ if ("1".equals(adjustSet)) {
+ order.setAdjustStatus(1);
+ order.setAdjustComm("自动审核");
+ order.setAdjustWeight(orderVO.getTotalWeight());
+ order.setAdjustPrice(orderVO.getTotalPrice());
+ } else {
+ order.setAdjustStatus(0);
+ order.setAdjustComm("");
+ order.setAdjustWeight(BigDecimal.ZERO);
+ order.setAdjustPrice(BigDecimal.ZERO);
+ }
+// order.setStartTime(orderVO.getStartTime());
+// order.setFinishTime(orderVO.getFinishTime());
+ order.setReportTime(new Date());
+ order.setCreatorUserId(orderVO.getUserId());
+ order.setCreatorTime(new Date());
+ order.setPhone(orderVO.getPhone());
+ order.setCompanyId(user.getCompanyId());
+ cleanOrderService.save(order);
+ return CommonResult.success(orderVO.getDeviceOrderNo());
}
//设备事件上报
@PostMapping("/event")
@ApiModelProperty("设备事件上报")
public CommonResult event(@RequestBody DeviceEventVO eventVO) {
- CommonResult result = new CommonResult<>();
+ RecycleDevice device = deviceService.getByDeviceCode(eventVO.getDeviceCode());
- return result;
+ RecycleDeviceEvent event = new RecycleDeviceEvent();
+ event.setDeviceCode(eventVO.getDeviceCode());
+ event.setPhone(eventVO.getPhone());
+ event.setIsLocal("0");
+ event.setEventType(eventVO.getEventType());
+// event.setEventTime(eventVO.getEventTime());
+ event.setEventDesc(eventVO.getEventDesc());
+ event.setDoorNum(eventVO.getDoorNum());
+ event.setBucketCode(eventVO.getBucketCode());
+ event.setOrderNo(eventVO.getOrderNum());
+ event.setOrderType(eventVO.getOrderType());
+ event.setCompanyId(device.getCompanyId());
+ event.setCreateUserId(eventVO.getUserId());//公司
+ event.setCreateTime(new Date());
+ eventService.save(event);
+ return CommonResult.success("事件上报成功");
}
//设备心跳上报
@@ -177,9 +373,65 @@ public class DeviceController {
@ApiModelProperty("设备命令下发")
@PostMapping("/command")
public CommonResult command(@RequestBody CommandVO commandVO) {
+ String deviceCode = commandVO.getDeviceCode();
+ UserDTO user = UserContext.getUser();
+ DeviceStatus status = deviceStatusManager.getDeviceStatus(deviceCode);
+
+ // 判断设备是否在线
+ Boolean online = status.getOnline();
+ if (!online) return CommonResult.error(400, "设备不在线");
+
+ String ip = status.getIp();
+ // 下发指令
+ String res = HttpUtil.post("http://" + ip + "/command", JSONUtil.toJsonStr(commandVO), 1000);
+ // 记录指令下发事件
+ CommonResult _result = JSONUtil.toBean(res, CommonResult.class);
+ RecycleDeviceEvent event = new RecycleDeviceEvent();
+ event.setDeviceCode(deviceCode);
+ event.setBucketCode("");//
+ event.setDoorNum(0);//
+ event.setEventType(deviceCode);
+ event.setEventDesc("设备命令下发");
+ event.setEventTime(new Date());
+ event.setIsLocal("0");//远程调用
- //todo 记录指令下发事件
- return null;
+ if (_result.getCode() != 200) {
+ event.setEventResult("1");
+ } else {
+ event.setEventResult("0");
+ }
+ event.setCreateUserId(user.getId());
+ event.setCreateTime(new Date());
+ event.setCompanyId(user.getCompanyId());
+ event.setOrganizeJsonId("");
+ eventService.save(event);
+
+ return _result;
+ }
+
+ @ApiModelProperty("获取设备状态")
+ @PostMapping("/status")
+ public CommonResult command(@RequestBody DeviceVO deviceVO)
+ {
+ String deviceCode = deviceVO.getDeviceCode();
+ CommandVO cmd = new CommandVO();
+ cmd.setCmd(CMDEnum.status);
+ cmd.setDeviceCode(deviceCode);
+ cmd.setOptTime(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
+ cmd.setRemark("获取设备状态");
+ DeviceStatus status = deviceStatusManager.getDeviceStatus(deviceCode);
+ // 判断设备是否在线
+ Boolean online = status.getOnline();
+ if (!online) return CommonResult.error(400, "设备不在线");
+ String post = HttpUtil.post("http://" + status.getIp() + "/command", JSONUtil.toJsonStr(cmd), 1000);
+ JSONObject json = JSONUtil.parseObj(post);
+ Integer code = json.getInt("code");
+ if (code == 200 || code == 201) {
+
+ } else {
+ return CommonResult.error(400, json.getStr("msg"));
+ }
+ return CommonResult.success("状态已更新", "success");
}
}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleCleanOrder.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleCleanOrder.java
new file mode 100644
index 0000000..afecd44
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleCleanOrder.java
@@ -0,0 +1,115 @@
+package cc.yunxi.domain.po;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 回收柜清运单
+ *
+ * @版本: V3.5
+ * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * @作者: JNPF开发平台组
+ * @日期: 2024-05-29
+ */
+@Data
+@TableName("nx_recycle_clean_order")
+public class RecycleCleanOrder {
+ @TableId(value = "ID", type = IdType.ASSIGN_UUID)
+ private String id;
+ @TableField(value = "ORDER_NO")
+ @ApiModelProperty("订单号")
+ private String orderNo;
+ @TableField(value = "DEVICE_CODE")
+ @ApiModelProperty("设备编码")
+ private String deviceCode;
+ @TableField(value = "BUCKET_CODE")
+ @ApiModelProperty("桶编码")
+ private String bucketCode;
+ @TableField(value = "DOOR_NUM")
+ @ApiModelProperty("总重量")
+ private String doorNum;
+ @TableField(value = "DEVICE_ORDER_NO")
+ @ApiModelProperty("设备订单号")
+ private String deviceOrderNo;
+ @TableField(value = "PRODUCT_CODE")
+ @ApiModelProperty("回收大类")
+ private String productCode;
+ @TableField(value = "PRODUCT_SUB_CODE")
+ @ApiModelProperty("回收子类")
+ private String productSubCode;
+ @TableField(value = "PRICE")
+ @ApiModelProperty("单价")
+ private BigDecimal price;
+ @TableField(value = "WEIGHT")
+ @ApiModelProperty("重量")
+ private BigDecimal weight;
+ @TableField(value = "TOTAL_PRICE")
+ @ApiModelProperty("本单金额")
+ private BigDecimal totalPrice;
+ @TableField(value = "ADJUST_WEIGHT")
+ @ApiModelProperty("审核重量")
+ private BigDecimal adjustWeight;
+ @TableField(value = "ADJUST_PRICE")
+ @ApiModelProperty("本单审核金额")
+ private BigDecimal adjustPrice;
+ @TableField(value = "CLEAN_USER_ID")
+ @ApiModelProperty("清运员")
+ private String cleanUserId;
+ @TableField(value = "PHONE")
+ @ApiModelProperty("清运员手机号")
+ private String phone;
+ @TableField(value = "ENTRY_STATUS")
+ @ApiModelProperty("入库状态 0 待入库 1 已入库")
+ private Integer entryStatus;
+ @TableField(value = "BAG_NO")
+ @ApiModelProperty("垃圾袋编号")
+ private String bagNo;
+ @TableField(value = "ADJUST_STATUS")
+ @ApiModelProperty("审核状态 0 待审核 1 通过 3 调整通过 4 拒绝")
+ private Integer adjustStatus;
+ @TableField(value = "ADJUST_COMM")
+ @ApiModelProperty("审核意见")
+ private String adjustComm;
+ @TableField(value = "PHOTO")
+ @ApiModelProperty("抓拍照片")
+ private String photo;
+ @TableField(value = "F_TENANT_ID")
+ @ApiModelProperty("租户")
+ private String tenantId;
+ @TableField("F_CREATOR_TIME")
+ private Date creatorTime;
+ @TableField("F_CREATOR_USER_ID")
+ private String creatorUserId;
+ @TableField("F_LAST_MODIFY_TIME")
+ private Date lastModifyTime;
+ @TableField("F_LAST_MODIFY_USER_ID")
+ private String lastModifyUserId;
+ @TableField("F_DELETE_TIME")
+ private Date deleteTime;
+ @TableField("F_DELETE_USER_ID")
+ private Integer deleteUserId;
+ @TableField("F_DELETE_MARK")
+ private String deleteMark;
+ @TableField("COMPANY_ID")
+ private String companyId;
+ @TableField("DEPARTMENT_ID")
+ private String departmentId;
+ @TableField("ORGANIZE_JSON_ID")
+ private String organizeJsonId;
+ @TableField("F_VERSION")
+ private Integer version;
+ @TableField("F_FLOW_ID")
+ private String flowId;
+ @TableField(value = "START_TIME" , updateStrategy = FieldStrategy.IGNORED)
+ private Date startTime;
+ @TableField(value = "FINISH_TIME" , updateStrategy = FieldStrategy.IGNORED)
+ private Date finishTime;
+ @TableField(value = "LOGIN_TYPE" , updateStrategy = FieldStrategy.IGNORED)
+ private String loginType;
+ @TableField(value = "REPORT_TIME" , updateStrategy = FieldStrategy.IGNORED)
+ private Date reportTime;
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleCleanOrderEntity.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleCleanOrderEntity.java
deleted file mode 100644
index 9d8250e..0000000
--- a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleCleanOrderEntity.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package cc.yunxi.domain.po;
-
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * 回收柜清运单
- *
- * @版本: V3.5
- * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
- * @作者: JNPF开发平台组
- * @日期: 2024-05-29
- */
-@Data
-@TableName("nx_recycle_clean_order")
-public class RecycleCleanOrderEntity {
- @TableId(value ="ID" )
- private String id;
- @TableField(value = "ORDER_NO" , updateStrategy = FieldStrategy.IGNORED)
- private String orderNo;
- @TableField(value = "DEVICE_CODE" , updateStrategy = FieldStrategy.IGNORED)
- private String deviceCode;
- @TableField(value = "BUCKET_CODE" , updateStrategy = FieldStrategy.IGNORED)
- private String bucketCode;
- @TableField(value = "DOOR_NUM" , updateStrategy = FieldStrategy.IGNORED)
- private String doorNum;
- @TableField(value = "PRODUCT_CODE" , updateStrategy = FieldStrategy.IGNORED)
- private String productCode;
- @TableField(value = "DEVICE_ORDER_NO" , updateStrategy = FieldStrategy.IGNORED)
- private String deviceOrderNo;
- @TableField(value = "PRODUCT_SUB_CODE" , updateStrategy = FieldStrategy.IGNORED)
- private String productSubCode;
- @TableField(value = "PRICE" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal price;
- @TableField(value = "WEIGHT" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal weight;
- @TableField(value = "TOTAL_PRICE" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal totalPrice;
- @TableField(value = "ADJUST_WEIGHT" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal adjustWeight;
- @TableField(value = "ADJUST_PRICE" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal adjustPrice;
- @TableField(value = "CLEAN_USER_ID" , updateStrategy = FieldStrategy.IGNORED)
- private String cleanUserId;
- @TableField(value = "PHONE" , updateStrategy = FieldStrategy.IGNORED)
- private String phone;
- @TableField(value = "ENTRY_STATUS" , updateStrategy = FieldStrategy.IGNORED)
- private Integer entryStatus;
- @TableField(value = "BAG_NO" , updateStrategy = FieldStrategy.IGNORED)
- private String bagNo;
- @TableField(value = "ADJUST_STATUS" , updateStrategy = FieldStrategy.IGNORED)
- private Integer adjustStatus;
- @TableField(value = "ADJUST_COMM" , updateStrategy = FieldStrategy.IGNORED)
- private String adjustComm;
- @TableField(value = "F_TENANT_ID" , updateStrategy = FieldStrategy.IGNORED)
- private String tenantId;
- @TableField("F_CREATOR_TIME")
- private Date creatorTime;
- @TableField("F_CREATOR_USER_ID")
- private String creatorUserId;
- @TableField("F_LAST_MODIFY_TIME")
- private Date lastModifyTime;
- @TableField("F_LAST_MODIFY_USER_ID")
- private String lastModifyUserId;
- @TableField("F_DELETE_TIME")
- private Date deleteTime;
- @TableField("F_DELETE_USER_ID")
- private Integer deleteUserId;
- @TableField("F_DELETE_MARK")
- private String deleteMark;
- @TableField("COMPANY_ID")
- private String companyId;
- @TableField("DEPARTMENT_ID")
- private String departmentId;
- @TableField("ORGANIZE_JSON_ID")
- private String organizeJsonId;
- @TableField("F_VERSION")
- private Integer version;
- @TableField("F_FLOW_ID")
- private String flowId;
-}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeliveryOrder.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeliveryOrder.java
new file mode 100644
index 0000000..fda7862
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeliveryOrder.java
@@ -0,0 +1,131 @@
+package cc.yunxi.domain.po;
+
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 回收柜投递订单
+ *
+ * @版本: V3.5
+ * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
+ * @作者: JNPF开发平台组
+ * @日期: 2024-05-31
+ */
+@Data
+@TableName("nx_recycle_delivery_order")
+public class RecycleDeliveryOrder {
+ @TableId(value = "ID")
+ @ApiModelProperty("主键")
+ private String id;
+ @TableField(value = "ORDER_NO")
+ @ApiModelProperty("订单号")
+ private String orderNo;
+ @TableField(value = "DEVICE_ORDER_NO")
+ @ApiModelProperty("设备订单号")
+ private String deviceOrderNo;
+ @TableField(value = "DEVICE_CODE")
+ @ApiModelProperty("设备编码")
+ private String deviceCode;
+ @TableField(value = "BUCKET_CODE")
+ @ApiModelProperty("桶编号")
+ private String bucketCode;
+ @TableField(value = "DOOR_NUM")
+ @ApiModelProperty("门号")
+ private Integer doorNum;
+ @TableField(value = "BAG_NO")
+ @ApiModelProperty("垃圾袋编号")
+ private String bagNo;
+ @TableField(value = "ORIGINAL_WEIGHT")
+ @ApiModelProperty("桶内原重")
+ private BigDecimal originalWeight;
+ @TableField(value = "REPORT_WEIGHT")
+ @ApiModelProperty("上报重量")
+ private BigDecimal reportWeight;
+ @TableField(value = "ADJUST_WEIGHT")
+ @ApiModelProperty("审核重量")
+ private BigDecimal adjustWeight;
+ @TableField(value = "PRODUCT_CODE")
+ @ApiModelProperty("回收大类")
+ private String productCode;
+ @TableField(value = "PRODUCT_SUB_CODE")
+ @ApiModelProperty("回收子类")
+ private String productSubCode;
+ @TableField(value = "PRICE")
+ @ApiModelProperty("单价")
+ private BigDecimal price;
+ @TableField(value = "TOTAL_PRICE")
+ @ApiModelProperty("总价")
+ private BigDecimal totalPrice;
+ @TableField(value = "ADJUST_PRICE")
+ @ApiModelProperty("审核总价")
+ private BigDecimal adjustPrice;
+ @TableField(value = "ADJUST_SET")
+ @ApiModelProperty("审核设置")
+ private Integer adjustSet;
+ @TableField(value = "ADJUST_STATUS")
+ @ApiModelProperty("审核状态 0:未审核 1:通过 2:调整通过 3:拒绝")
+ private Integer adjustStatus;
+ @TableField(value = "ADJUST_COMM")
+ @ApiModelProperty("审核意见")
+ private String adjustComm;
+ @TableField(value = "DELIVER_ID")
+ @ApiModelProperty("投递员id")
+ private String deliverId;
+ @TableField(value = "PHONE")
+ @ApiModelProperty("投递员手机")
+ private String phone;
+ @TableField(value = "CLEAN_STATUS")
+ @ApiModelProperty("清运状态")
+ private Integer cleanStatus;
+ @TableField(value = "CLEAN_NO")
+ @ApiModelProperty("清运单号")
+ private String cleanNo;
+ @TableField(value = "CLEANER_PHONE")
+ @ApiModelProperty("清运员手机号")
+ private String cleanerPhone;
+ @TableField(value = "LOGIN_TYPE")
+ @ApiModelProperty("登录方式")
+ private String loginType;
+ @TableField(value = "PHOTO")
+ @ApiModelProperty("抓拍")
+ private String photo;
+ @TableField("F_FLOW_ID")
+ private String flowId;
+ @TableField("F_CREATOR_TIME")
+ private Date creatorTime;
+ @TableField("F_CREATOR_USER_ID")
+ private String creatorUserId;
+ @TableField("F_LAST_MODIFY_TIME")
+ private Date lastModifyTime;
+ @TableField("F_LAST_MODIFY_USER_ID")
+ private String lastModifyUserId;
+ @TableField("F_DELETE_TIME")
+ private Date deleteTime;
+ @TableField("F_DELETE_USER_ID")
+ private String deleteUserId;
+ @TableField("F_DELETE_MARK")
+ private String deleteMark;
+ @TableField("F_TENANT_ID")
+ private String tenantId;
+ @TableField("COMPANY_ID")
+ private String companyId;
+ @TableField("DEPARTMENT_ID")
+ private String departmentId;
+ @TableField("ORGANIZE_JSON_ID")
+ private String organizeJsonId;
+ @TableField("F_VERSION")
+ private Integer version;
+ @TableField(value = "START_TIME" , updateStrategy = FieldStrategy.IGNORED)
+ private Date startTime;
+ @TableField(value = "FINISH_TIME" , updateStrategy = FieldStrategy.IGNORED)
+ private Date finishTime;
+ @TableField(value = "REPORT_TIME" , updateStrategy = FieldStrategy.IGNORED)
+ private Date reportTime;
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeliveryOrderEntity.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeliveryOrderEntity.java
deleted file mode 100644
index ec53108..0000000
--- a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeliveryOrderEntity.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package cc.yunxi.domain.po;
-
-import com.baomidou.mybatisplus.annotation.FieldStrategy;
-import com.baomidou.mybatisplus.annotation.TableField;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * 回收柜投递订单
- *
- * @版本: V3.5
- * @版权: 引迈信息技术有限公司(https://www.jnpfsoft.com)
- * @作者: JNPF开发平台组
- * @日期: 2024-05-31
- */
-@Data
-@TableName("nx_recycle_delivery_order")
-public class RecycleDeliveryOrderEntity {
- @TableId(value ="ID" )
- private String id;
- @TableField(value = "ORDER_NO" , updateStrategy = FieldStrategy.IGNORED)
- private String orderNo;
- @TableField(value = "DEVICE_ORDER_NO" , updateStrategy = FieldStrategy.IGNORED)
- private Integer deviceOrderNo;
- @TableField(value = "DEVICE_CODE" , updateStrategy = FieldStrategy.IGNORED)
- private String deviceCode;
- @TableField(value = "BUCKET_CODE" , updateStrategy = FieldStrategy.IGNORED)
- private String bucketCode;
- @TableField(value = "DOOR_NUM" , updateStrategy = FieldStrategy.IGNORED)
- private Integer doorNum;
- @TableField(value = "BAG_NO" , updateStrategy = FieldStrategy.IGNORED)
- private Integer bagNo;
- @TableField(value = "ORIGINAL_WEIGHT" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal originalWeight;
- @TableField(value = "REPORT_WEIGHT" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal reportWeight;
- @TableField(value = "ADJUST_WEIGHT" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal adjustWeight;
- @TableField(value = "PRODUCT_CODE" , updateStrategy = FieldStrategy.IGNORED)
- private String productCode;
- @TableField(value = "PRODUCT_SUB_CODE" , updateStrategy = FieldStrategy.IGNORED)
- private String productSubCode;
- @TableField(value = "PRICE" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal price;
- @TableField(value = "TOTAL_PRICE" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal totalPrice;
- @TableField(value = "ADJUST_PRICE" , updateStrategy = FieldStrategy.IGNORED)
- private BigDecimal adjustPrice;
- @TableField(value = "ADJUST_SET" , updateStrategy = FieldStrategy.IGNORED)
- private Integer adjustSet;
- @TableField(value = "ADJUST_STATUS" , updateStrategy = FieldStrategy.IGNORED)
- private Integer adjustStatus;
- @TableField(value = "ADJUST_COMM" , updateStrategy = FieldStrategy.IGNORED)
- private String adjustComm;
- @TableField(value = "DELIVER_ID" , updateStrategy = FieldStrategy.IGNORED)
- private String deliverId;
- @TableField(value = "PHONE" , updateStrategy = FieldStrategy.IGNORED)
- private String phone;
- @TableField(value = "CLEAN_STATUS" , updateStrategy = FieldStrategy.IGNORED)
- private Integer cleanStatus;
- @TableField(value = "CLEAN_NO" , updateStrategy = FieldStrategy.IGNORED)
- private String cleanNo;
- @TableField(value = "CLEANER_PHONE" , updateStrategy = FieldStrategy.IGNORED)
- private String cleanerPhone;
- @TableField(value = "LOGIN_TYPE" , updateStrategy = FieldStrategy.IGNORED)
- private Integer loginType;
- @TableField(value = "PHOTO" , updateStrategy = FieldStrategy.IGNORED)
- private String photo;
- @TableField("F_FLOW_ID")
- private String flowId;
- @TableField("F_CREATOR_TIME")
- private Date creatorTime;
- @TableField("F_CREATOR_USER_ID")
- private String creatorUserId;
- @TableField("F_LAST_MODIFY_TIME")
- private Date lastModifyTime;
- @TableField("F_LAST_MODIFY_USER_ID")
- private String lastModifyUserId;
- @TableField("F_DELETE_TIME")
- private Date deleteTime;
- @TableField("F_DELETE_USER_ID")
- private String deleteUserId;
- @TableField("F_DELETE_MARK")
- private String deleteMark;
- @TableField("F_TENANT_ID")
- private String tenantId;
- @TableField("COMPANY_ID")
- private String companyId;
- @TableField("DEPARTMENT_ID")
- private String departmentId;
- @TableField("ORGANIZE_JSON_ID")
- private String organizeJsonId;
- @TableField("F_VERSION")
- private Integer version;
-}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeviceEvent.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeviceEvent.java
new file mode 100644
index 0000000..8956807
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/RecycleDeviceEvent.java
@@ -0,0 +1,71 @@
+package cc.yunxi.domain.po;
+
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+
+@Data
+@ApiModel("回收设备事件表")
+@TableName("nx_recycle_device_event")
+public class RecycleDeviceEvent {
+ @TableId(value = "ID",type = IdType.ASSIGN_ID)
+ private String id;
+ @TableField(value = "DEVICE_CODE")
+ @ApiModelProperty("设备编码")
+ private String deviceCode;
+ @TableField(value = "BUCKET_CODE")
+ @ApiModelProperty("桶编码")
+ private String bucketCode;
+ @TableField(value = "DOOR_NUM")
+ @ApiModelProperty("门号")
+ private Integer doorNum;
+ @TableField(value = "EVENT_TYPE")
+ @ApiModelProperty("事件类型")
+ private String eventType;
+ @TableField(value = "EVENT_TIME")
+ @ApiModelProperty("事件时间")
+ private Date eventTime;
+ @TableField(value = "EVENT_DESC")
+ @ApiModelProperty("事件描述")
+ private String eventDesc;
+ @TableField(value = "EVENT_RESULT")
+ @ApiModelProperty("执行结果")
+ private String eventResult;
+ @TableField(value = "IS_LOCAL")
+ @ApiModelProperty("本地调用 0-否 1-是")
+ private String isLocal;
+ @TableField("orderNo")
+ @ApiModelProperty("订单号")
+ private String orderNo;
+ @TableField("orderType")
+ @ApiModelProperty("订单类型")
+ private String orderType;
+ @TableField("phone")
+ @ApiModelProperty("用户手机号")
+ private String phone;
+ @TableField("IMAGES")
+ @ApiModelProperty("抓拍")
+ private String images;
+ @TableField("F_CREATE_USER_ID")
+ private String createUserId;
+ @TableField("F_CREATE_TIME")
+ private Date createTime;
+ @TableField("F_LAST_MODIFY_USER_ID")
+ private String lastModifyUserId;
+ @TableField("F_LAST_MODIFY_TIME")
+ private Date lastModifyTime;
+ @TableField("F_TENANT_ID")
+ private String tenantId;
+ @TableField("COMPANY_ID")
+ private String companyId;
+ @TableField("DEPARTMENT_ID")
+ private String departmentId;
+ @TableField("ORGANIZE_JSON_ID")
+ private String organizeJsonId;
+ @TableField("F_FLOW_ID")
+ private String flowId;
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CMDEnum.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CMDEnum.java
new file mode 100644
index 0000000..0800a36
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CMDEnum.java
@@ -0,0 +1,29 @@
+package cc.yunxi.domain.vo.device;
+
+import cc.yunxi.common.enums.SwaggerDisplayEnum;
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor
+@SwaggerDisplayEnum
+public enum CMDEnum {
+
+ reboot("reboot", "重启设备"),
+ restart("restart", "重启应用"),
+ update("update", "更新应用"),
+ deliveryOpen("deliveryOpen", "投递开门"),
+ deliveryClose("deliveryClose", "投递关门"),
+ delay("delay", "投递延时"),
+ cleanOpen("cleanOpen", "清运开门"),
+ snapshot("snapshot", "抓拍"),
+ adjust("adjust", "远程校准"),
+ clear("clear", "远程清零"),
+ status("status", "获取状态");
+
+ @EnumValue
+ private final String value;
+
+ private final String desc;
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CleanOrderVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CleanOrderVO.java
index 2e85d9b..2890c16 100644
--- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CleanOrderVO.java
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CleanOrderVO.java
@@ -1,26 +1,50 @@
package cc.yunxi.domain.vo.device;
import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import java.math.BigDecimal;
+import java.util.List;
+
@Data
@ApiModel("清运单")
public class CleanOrderVO {
- private String id;
- private String orderNo;
- private String orderType;
- private String orderStatus;
- private String orderTime;
- private String orderAddress;
- private String orderDesc;
- private String orderUser;
- private String orderUserPhone;
- private String orderUserAddress;
- private String orderUserAddressDetail;
- private String orderUserAddressLongitude;
- private String orderUserAddressLatitude;
- private String orderUserAddressArea;
- private String orderUserAddressAreaCode;
- private String orderUserAddressCity;
+ @ApiModelProperty("设备订单号")
+ private String deviceOrderNo;
+ @ApiModelProperty("设备编号")
+ private String deviceCode;
+ @ApiModelProperty("桶编号")
+ private String bucketCode;
+ @ApiModelProperty("门号")
+ private String doorNum;
+ @ApiModelProperty("回收大类")
+ private String productCode;
+ @ApiModelProperty("回收子类")
+ private String productSubCode;
+ @ApiModelProperty("单价")
+ private BigDecimal price;
+ @ApiModelProperty("本单重量")
+ private BigDecimal totalWeight;
+ @ApiModelProperty("总价")
+ private BigDecimal totalPrice;
+ @ApiModelProperty("开始时间")
+ private String startTime;
+ @ApiModelProperty("完成时间")
+ private String finishTime;
+ @ApiModelProperty("投递员id")
+ private String userId;
+ @ApiModelProperty("垃圾袋编号")
+ private String bagNo;
+ @ApiModelProperty("手机号")
+ private String phone;
+ @ApiModelProperty("登录方式")
+ private String loginType;
+ @ApiModelProperty("上报类型")
+ private String reportType;
+ @ApiModelProperty("上报时间")
+ private String reportTime;
+ @ApiModelProperty("抓拍")
+ private List images;
}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CommandVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CommandVO.java
index d747f2b..173038f 100644
--- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CommandVO.java
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/CommandVO.java
@@ -11,15 +11,17 @@ import java.time.LocalDateTime;
@Data
@ApiModel("设备控制命令")
public class CommandVO {
+ @ApiModelProperty(value = "设备编码", required = true, example = "DE00011")
+ @NotBlank(message = "设备编码不能为空")
+ private String deviceCode;
@ApiModelProperty(value = "命令", required = true, example = "reboot")
- @NotBlank(message = "命令不能为空")
- private String cmd;
- @ApiModelProperty(value = "命令参数", required = true, example = "设备编码")
- @NotBlank(message = "命令参数不能为空")
+ @NotNull(message = "命令不能为空")
+ private CMDEnum cmd;
+ @ApiModelProperty(value = "命令参数")
private String data;
@ApiModelProperty(value = "操作时间", required = true, example = "admin")
@NotNull(message = "操作时间不能为空")
- private LocalDateTime optTime;
+ private String optTime;
@ApiModelProperty(value = "备注", example = "重启设备")
private String remark;
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeliveryOrderVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeliveryOrderVO.java
index 6431a24..738a2dc 100644
--- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeliveryOrderVO.java
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeliveryOrderVO.java
@@ -11,22 +11,24 @@ import java.util.List;
@Data
@ApiModel("投递单")
public class DeliveryOrderVO {
- @ApiModelProperty("订单号")
- private String orderNum;
+ @ApiModelProperty("设备订单号")
+ private String deviceOrderNo;
@ApiModelProperty("设备编码")
private String deviceCode;
@ApiModelProperty("桶编码")
private String bucketCode;
@ApiModelProperty("门号")
- private String doorNum;
+ private Integer doorNum;
@ApiModelProperty("回收大类")
- private String code;
+ private String productCode;
@ApiModelProperty("回收子类")
- private String subCode;
+ private String productSubCode;
@ApiModelProperty("回收单价")
private BigDecimal price;
@ApiModelProperty("重量")
private BigDecimal weight;
+ @ApiModelProperty("桶内原重")
+ private BigDecimal originalWeight;
@ApiModelProperty("总价")
private BigDecimal totalPrice;
@ApiModelProperty("开始时间")
@@ -37,10 +39,12 @@ public class DeliveryOrderVO {
private String userId;
@ApiModelProperty("用户手机")
private String phone;
- @ApiModelProperty("上报类型")
- private String reportType;
+ @ApiModelProperty("登录方式")
+ private String loginType;
@ApiModelProperty("上报时间")
private LocalDateTime reportTime;
@ApiModelProperty("抓拍图片")
private List images;
+ @ApiModelProperty("垃圾袋编号")
+ private String bagNo;
}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeviceEventVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeviceEventVO.java
index 6c1f92e..a182be0 100644
--- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeviceEventVO.java
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/DeviceEventVO.java
@@ -4,30 +4,36 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
+import javax.validation.constraints.NotBlank;
+
@Data
@ApiModel("设备事件")
public class DeviceEventVO {
- @ApiModelProperty("设备编码")
+ @ApiModelProperty(value = "设备编码", required = true, example = "DE123")
+ @NotBlank(message = "设备编码不能为空")
private String deviceCode;
@ApiModelProperty("桶编码")
private String bucketCode;
@ApiModelProperty("门号")
- private String doorNum;
+ private Integer doorNum;
+ @NotBlank(message = "事件类型不能为空")
@ApiModelProperty("事件类型")
private String eventType;
+ @NotBlank(message = "事件时间不能为空")
@ApiModelProperty("事件时间")
private String eventTime;
@ApiModelProperty("事件描述")
private String eventDesc;
@ApiModelProperty("订单号")
- private String orderNo;
+ private String orderNum;
@ApiModelProperty("订单类型")
private String orderType;
@ApiModelProperty("用户ID")
private String userId;
@ApiModelProperty("用户手机号")
private String phone;
- @ApiModelProperty("是否本地")
+ @NotBlank(message = "是否本地不能为空")
+ @ApiModelProperty(value = "是否本地", required = true, allowableValues = "0,1", example = "0")
private String isLocal;
}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/Snap.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/Snap.java
index 2b00a88..32bfe24 100644
--- a/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/Snap.java
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/device/Snap.java
@@ -13,6 +13,9 @@ public class Snap {
private String inside;
@ApiModelProperty("抓拍时间")
private String takeTime;
+
+ @ApiModelProperty(value = "文件名",required = true,example = "123.jpg")
+ private String fileName;
@ApiModelProperty("图片")
- private byte[] image;
+ private String image;
}
diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleCleanOrderMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleCleanOrderMapper.java
new file mode 100644
index 0000000..1cca84b
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleCleanOrderMapper.java
@@ -0,0 +1,11 @@
+package cc.yunxi.mapper;
+
+import cc.yunxi.domain.po.RecycleCleanOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RecycleCleanOrderMapper extends BaseMapper {
+
+ // TODO 此处编写RecycleDevice的mapper.xml文件中需要的方法
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleDeliveryOrderMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleDeliveryOrderMapper.java
new file mode 100644
index 0000000..a7cdb44
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleDeliveryOrderMapper.java
@@ -0,0 +1,11 @@
+package cc.yunxi.mapper;
+
+import cc.yunxi.domain.po.RecycleDeliveryOrder;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RecycleDeliveryOrderMapper extends BaseMapper {
+
+ // TODO 此处编写RecycleDevice的mapper.xml文件中需要的方法
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleDeviceEventMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleDeviceEventMapper.java
new file mode 100644
index 0000000..764bd93
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/mapper/RecycleDeviceEventMapper.java
@@ -0,0 +1,11 @@
+package cc.yunxi.mapper;
+
+import cc.yunxi.domain.po.RecycleDeviceEvent;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface RecycleDeviceEventMapper extends BaseMapper {
+
+ // TODO 此处编写RecycleDevice的mapper.xml文件中需要的方法
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleCleanOrderService.java b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleCleanOrderService.java
new file mode 100644
index 0000000..7f64570
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleCleanOrderService.java
@@ -0,0 +1,8 @@
+package cc.yunxi.service;
+
+import cc.yunxi.domain.po.RecycleCleanOrder;
+import cc.yunxi.domain.po.RecycleDeviceEvent;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface IRecycleCleanOrderService extends IService {
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java
new file mode 100644
index 0000000..7e221cd
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java
@@ -0,0 +1,8 @@
+package cc.yunxi.service;
+
+import cc.yunxi.domain.po.RecycleDeliveryOrder;
+import cc.yunxi.domain.po.RecycleDeviceEvent;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface IRecycleDeliveryOrderService extends IService {
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeviceEventService.java b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeviceEventService.java
new file mode 100644
index 0000000..2a149ab
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeviceEventService.java
@@ -0,0 +1,7 @@
+package cc.yunxi.service;
+
+import cc.yunxi.domain.po.RecycleDeviceEvent;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+public interface IRecycleDeviceEventService extends IService {
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/FileServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/FileServiceImpl.java
index 7377a1f..c994ad2 100644
--- a/nxhs-service/src/main/java/cc/yunxi/service/impl/FileServiceImpl.java
+++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/FileServiceImpl.java
@@ -97,7 +97,11 @@ public class FileServiceImpl extends ServiceImpl implements IF
@Override
public byte[] download(String url) {
// 默认为本地存储拉取 todo
- String filePath = basePath + java.io.File.separator + url;
+ String filePath = System.getProperty("user.dir")+ url;
+ String osName = System.getProperty("os.name").toLowerCase();
+ if(osName.contains("win")){
+ filePath = filePath.replace("/","\\");
+ }
if (!FileUtil.exist(filePath)) {
throw new BizIllegalException("下载资源不存在");
}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleCleanOrderServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleCleanOrderServiceImpl.java
new file mode 100644
index 0000000..ad394ca
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleCleanOrderServiceImpl.java
@@ -0,0 +1,11 @@
+package cc.yunxi.service.impl;
+
+import cc.yunxi.domain.po.RecycleCleanOrder;
+import cc.yunxi.mapper.RecycleCleanOrderMapper;
+import cc.yunxi.service.IRecycleCleanOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RecycleCleanOrderServiceImpl extends ServiceImpl implements IRecycleCleanOrderService {
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeliveryOrderServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeliveryOrderServiceImpl.java
new file mode 100644
index 0000000..78b3616
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeliveryOrderServiceImpl.java
@@ -0,0 +1,11 @@
+package cc.yunxi.service.impl;
+
+import cc.yunxi.domain.po.RecycleDeliveryOrder;
+import cc.yunxi.mapper.RecycleDeliveryOrderMapper;
+import cc.yunxi.service.IRecycleDeliveryOrderService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RecycleDeliveryOrderServiceImpl extends ServiceImpl implements IRecycleDeliveryOrderService {
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeviceEventServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeviceEventServiceImpl.java
new file mode 100644
index 0000000..2ca888b
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleDeviceEventServiceImpl.java
@@ -0,0 +1,12 @@
+package cc.yunxi.service.impl;
+
+import cc.yunxi.domain.po.RecycleDeviceEvent;
+import cc.yunxi.mapper.RecycleDeviceEventMapper;
+import cc.yunxi.service.IRecycleDeviceEventService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class RecycleDeviceEventServiceImpl extends ServiceImpl implements IRecycleDeviceEventService {
+
+}
diff --git a/nxhs-service/src/main/resources/mapper/RecycleCleanOrderMapper.xml b/nxhs-service/src/main/resources/mapper/RecycleCleanOrderMapper.xml
new file mode 100644
index 0000000..e8f151a
--- /dev/null
+++ b/nxhs-service/src/main/resources/mapper/RecycleCleanOrderMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/nxhs-service/src/main/resources/mapper/RecycleDeliveryOrderMapper.xml b/nxhs-service/src/main/resources/mapper/RecycleDeliveryOrderMapper.xml
new file mode 100644
index 0000000..29aac71
--- /dev/null
+++ b/nxhs-service/src/main/resources/mapper/RecycleDeliveryOrderMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/nxhs-service/src/main/resources/mapper/RecycleDeviceEventMapper.xml b/nxhs-service/src/main/resources/mapper/RecycleDeviceEventMapper.xml
new file mode 100644
index 0000000..841ce5f
--- /dev/null
+++ b/nxhs-service/src/main/resources/mapper/RecycleDeviceEventMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+