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 336c6ae..a70717a 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java @@ -3,15 +3,18 @@ package cc.yunxi.controller; import cc.yunxi.common.domain.CommonResult; import cc.yunxi.common.exception.BizIllegalException; +import cc.yunxi.common.utils.CommonUtil; import cc.yunxi.domain.dto.UserDTO; import cc.yunxi.domain.po.*; import cc.yunxi.domain.vo.device.*; import cc.yunxi.domain.vo.file.FileUploadReqVO; import cc.yunxi.domain.vo.file.FileUploadRespVO; +import cc.yunxi.enums.BusinessCodeEnum; import cc.yunxi.service.*; import cc.yunxi.utils.CustomerMqttClient; import cc.yunxi.utils.RedisTool; import cc.yunxi.utils.UserContext; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import io.swagger.annotations.Api; @@ -23,6 +26,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.math.BigDecimal; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -391,11 +395,30 @@ public class DeviceController { 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); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + try { + if (StrUtil.isNotEmpty(orderVO.getStarTime())) { + Date start = format.parse(orderVO.getStarTime()); + order.setStartTime(start); + } + if (StrUtil.isNotEmpty(orderVO.getReportTime())) { + Date report = format.parse(orderVO.getReportTime()); + order.setReportTime(report); + } + if (StrUtil.isNotEmpty(orderVO.getFinishTime())) { + Date finish = format.parse(orderVO.getFinishTime()); + order.setFinishTime(finish); + } + } catch (Exception e) { + e.printStackTrace(); + } + boolean save = deliveryOrderService.save(order); + // 结算 + if(save){ + deliveryOrderService.settlement(order); + }else { + throw new BizIllegalException("上传失败:订单上传失败!!"); + } return CommonResult.success(orderVO.getDeviceOrderNo()); } @@ -413,17 +436,15 @@ public class DeviceController { RecycleDeviceConfig config = configService.getByCompanyId(user.getCompanyId()); String adjustSet = config.getCleanAdjustSet();//审核配置 //查询桶 -// RecycleBucket bucket = bucketService.getByBucketCode(orderVO.getBucketCode()); RecycleCleanOrder order = new RecycleCleanOrder(); + order.setOrderNo(CommonUtil.getIdNumber(BusinessCodeEnum.CLEAN.getCode())); 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("上传失败:未上传抓拍图片!!"); @@ -435,6 +456,7 @@ public class DeviceController { if ("1".equals(adjustSet)) { order.setAdjustStatus(1); order.setAdjustComm("自动审核"); + order.setEntryStatus(1);//已入库 order.setAdjustWeight(orderVO.getTotalWeight()); order.setAdjustPrice(orderVO.getTotalPrice()); } else { @@ -443,9 +465,16 @@ public class DeviceController { order.setAdjustWeight(BigDecimal.ZERO); order.setAdjustPrice(BigDecimal.ZERO); } -// order.setStartTime(orderVO.getStartTime()); -// order.setFinishTime(orderVO.getFinishTime()); - order.setReportTime(new Date()); + if (StrUtil.isNotEmpty(orderVO.getStartTime())) { + order.setStartTime(DateUtil.parse(orderVO.getStartTime(), "yyyy-MM-dd HH:mm:ss")); + } + if (StrUtil.isNotEmpty(orderVO.getFinishTime())) { + order.setFinishTime(DateUtil.parse(orderVO.getFinishTime(), "yyyy-MM-dd HH:mm:ss")); + } + if (StrUtil.isNotEmpty(orderVO.getReportTime())) { + order.setReportTime(DateUtil.parse(orderVO.getReportTime(), "yyyy-MM-dd HH:mm:ss")); + } + order.setCreatorUserId(orderVO.getUserId()); order.setCreatorTime(new Date()); order.setPhone(orderVO.getPhone()); @@ -465,7 +494,12 @@ public class DeviceController { event.setPhone(eventVO.getPhone()); event.setIsLocal("0"); event.setEventType(eventVO.getEventType()); -// event.setEventTime(eventVO.getEventTime()); + String eventTime = eventVO.getEventTime(); + if (StrUtil.isNotEmpty(eventTime)) { + event.setEventTime(DateUtil.parse(eventTime, "yyyy-MM-dd HH:mm:ss")); + } else { + event.setEventTime(new Date()); + } event.setEventDesc(eventVO.getEventDesc()); event.setDoorNum(eventVO.getDoorNum()); event.setBucketCode(eventVO.getBucketCode()); 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 6de87ce..84f93c0 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 @@ -34,9 +34,9 @@ public class DeliveryOrderVO { @ApiModelProperty("总价") private BigDecimal totalPrice; @ApiModelProperty("开始时间") - private LocalDateTime starTime; + private String starTime; @ApiModelProperty("完成时间") - private LocalDateTime finishTime; + private String finishTime; @ApiModelProperty("用户id") private String userId; @ApiModelProperty("用户手机") @@ -47,7 +47,7 @@ public class DeliveryOrderVO { @ApiModelProperty("登录方式") private String loginType; @ApiModelProperty("上报时间") - private LocalDateTime reportTime; + private String reportTime; @ApiModelProperty("抓拍图片") private List images; @ApiModelProperty("垃圾袋编号") diff --git a/nxhs-service/src/main/java/cc/yunxi/enums/BusinessCodeEnum.java b/nxhs-service/src/main/java/cc/yunxi/enums/BusinessCodeEnum.java index df2fc9d..9fa203e 100644 --- a/nxhs-service/src/main/java/cc/yunxi/enums/BusinessCodeEnum.java +++ b/nxhs-service/src/main/java/cc/yunxi/enums/BusinessCodeEnum.java @@ -13,6 +13,8 @@ import lombok.Getter; public enum BusinessCodeEnum implements BaseEnum { ORDER("RO", "订单业务码"), + CLEAN("CO", "清运业务码"), + DELIVERY("DO", "投递业务码"), BILL("BL", "商户流水业务码"); diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java index a2d1564..dc8a778 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleDeliveryOrderService.java @@ -24,4 +24,6 @@ public interface IRecycleDeliveryOrderService extends IService implements IRecycleDeliveryOrderService { + @Resource + private IClientService clientService; + @Override public Page queryOrderByPage(DeliveryOrderQuery deliveryOrderQuery) { log.info("查询投运订单号,phoneNumber:{}", deliveryOrderQuery.getPhoneNumber()); @@ -35,4 +42,13 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl