master
guochaojie 4 months ago
parent d71a4428f2
commit c7d81b5564

@ -3,15 +3,18 @@ package cc.yunxi.controller;
import cc.yunxi.common.domain.CommonResult; import cc.yunxi.common.domain.CommonResult;
import cc.yunxi.common.exception.BizIllegalException; import cc.yunxi.common.exception.BizIllegalException;
import cc.yunxi.common.utils.CommonUtil;
import cc.yunxi.domain.dto.UserDTO; import cc.yunxi.domain.dto.UserDTO;
import cc.yunxi.domain.po.*; import cc.yunxi.domain.po.*;
import cc.yunxi.domain.vo.device.*; import cc.yunxi.domain.vo.device.*;
import cc.yunxi.domain.vo.file.FileUploadReqVO; import cc.yunxi.domain.vo.file.FileUploadReqVO;
import cc.yunxi.domain.vo.file.FileUploadRespVO; import cc.yunxi.domain.vo.file.FileUploadRespVO;
import cc.yunxi.enums.BusinessCodeEnum;
import cc.yunxi.service.*; import cc.yunxi.service.*;
import cc.yunxi.utils.CustomerMqttClient; import cc.yunxi.utils.CustomerMqttClient;
import cc.yunxi.utils.RedisTool; import cc.yunxi.utils.RedisTool;
import cc.yunxi.utils.UserContext; import cc.yunxi.utils.UserContext;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil; import cn.hutool.json.JSONUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -23,6 +26,7 @@ import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
@ -391,11 +395,30 @@ public class DeviceController {
order.setPhoto(photos); order.setPhoto(photos);
order.setCompanyId(companyId);//绑定订单对应商户 order.setCompanyId(companyId);//绑定订单对应商户
order.setLoginType(orderVO.getLoginType()); order.setLoginType(orderVO.getLoginType());
// order.setStartTime(orderVO.getStartTime()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// order.setFinishTime(orderVO.getFinishTime()); try {
order.setReportTime(new Date()); if (StrUtil.isNotEmpty(orderVO.getStarTime())) {
Date start = format.parse(orderVO.getStarTime());
deliveryOrderService.save(order); 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()); return CommonResult.success(orderVO.getDeviceOrderNo());
} }
@ -413,17 +436,15 @@ public class DeviceController {
RecycleDeviceConfig config = configService.getByCompanyId(user.getCompanyId()); RecycleDeviceConfig config = configService.getByCompanyId(user.getCompanyId());
String adjustSet = config.getCleanAdjustSet();//审核配置 String adjustSet = config.getCleanAdjustSet();//审核配置
//查询桶 //查询桶
// RecycleBucket bucket = bucketService.getByBucketCode(orderVO.getBucketCode());
RecycleCleanOrder order = new RecycleCleanOrder(); RecycleCleanOrder order = new RecycleCleanOrder();
order.setOrderNo(CommonUtil.getIdNumber(BusinessCodeEnum.CLEAN.getCode()));
order.setDeviceCode(orderVO.getDeviceCode()); order.setDeviceCode(orderVO.getDeviceCode());
order.setBucketCode(orderVO.getBucketCode()); order.setBucketCode(orderVO.getBucketCode());
order.setDoorNum(orderVO.getDoorNum()); order.setDoorNum(orderVO.getDoorNum());
order.setProductCode(orderVO.getProductCode()); order.setProductCode(orderVO.getProductCode());
order.setProductSubCode(orderVO.getProductSubCode()); order.setProductSubCode(orderVO.getProductSubCode());
order.setPrice(orderVO.getPrice()); order.setPrice(orderVO.getPrice());
//开始时间
//完成时间
List<Snap> images = orderVO.getImages(); List<Snap> images = orderVO.getImages();
if (images == null || images.size() == 0) { if (images == null || images.size() == 0) {
throw new BizIllegalException("上传失败:未上传抓拍图片!!"); throw new BizIllegalException("上传失败:未上传抓拍图片!!");
@ -435,6 +456,7 @@ public class DeviceController {
if ("1".equals(adjustSet)) { if ("1".equals(adjustSet)) {
order.setAdjustStatus(1); order.setAdjustStatus(1);
order.setAdjustComm("自动审核"); order.setAdjustComm("自动审核");
order.setEntryStatus(1);//已入库
order.setAdjustWeight(orderVO.getTotalWeight()); order.setAdjustWeight(orderVO.getTotalWeight());
order.setAdjustPrice(orderVO.getTotalPrice()); order.setAdjustPrice(orderVO.getTotalPrice());
} else { } else {
@ -443,9 +465,16 @@ public class DeviceController {
order.setAdjustWeight(BigDecimal.ZERO); order.setAdjustWeight(BigDecimal.ZERO);
order.setAdjustPrice(BigDecimal.ZERO); order.setAdjustPrice(BigDecimal.ZERO);
} }
// order.setStartTime(orderVO.getStartTime()); if (StrUtil.isNotEmpty(orderVO.getStartTime())) {
// order.setFinishTime(orderVO.getFinishTime()); order.setStartTime(DateUtil.parse(orderVO.getStartTime(), "yyyy-MM-dd HH:mm:ss"));
order.setReportTime(new Date()); }
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.setCreatorUserId(orderVO.getUserId());
order.setCreatorTime(new Date()); order.setCreatorTime(new Date());
order.setPhone(orderVO.getPhone()); order.setPhone(orderVO.getPhone());
@ -465,7 +494,12 @@ public class DeviceController {
event.setPhone(eventVO.getPhone()); event.setPhone(eventVO.getPhone());
event.setIsLocal("0"); event.setIsLocal("0");
event.setEventType(eventVO.getEventType()); 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.setEventDesc(eventVO.getEventDesc());
event.setDoorNum(eventVO.getDoorNum()); event.setDoorNum(eventVO.getDoorNum());
event.setBucketCode(eventVO.getBucketCode()); event.setBucketCode(eventVO.getBucketCode());

@ -34,9 +34,9 @@ public class DeliveryOrderVO {
@ApiModelProperty("总价") @ApiModelProperty("总价")
private BigDecimal totalPrice; private BigDecimal totalPrice;
@ApiModelProperty("开始时间") @ApiModelProperty("开始时间")
private LocalDateTime starTime; private String starTime;
@ApiModelProperty("完成时间") @ApiModelProperty("完成时间")
private LocalDateTime finishTime; private String finishTime;
@ApiModelProperty("用户id") @ApiModelProperty("用户id")
private String userId; private String userId;
@ApiModelProperty("用户手机") @ApiModelProperty("用户手机")
@ -47,7 +47,7 @@ public class DeliveryOrderVO {
@ApiModelProperty("登录方式") @ApiModelProperty("登录方式")
private String loginType; private String loginType;
@ApiModelProperty("上报时间") @ApiModelProperty("上报时间")
private LocalDateTime reportTime; private String reportTime;
@ApiModelProperty("抓拍图片") @ApiModelProperty("抓拍图片")
private List<Snap> images; private List<Snap> images;
@ApiModelProperty("垃圾袋编号") @ApiModelProperty("垃圾袋编号")

@ -13,6 +13,8 @@ import lombok.Getter;
public enum BusinessCodeEnum implements BaseEnum { public enum BusinessCodeEnum implements BaseEnum {
ORDER("RO", "订单业务码"), ORDER("RO", "订单业务码"),
CLEAN("CO", "清运业务码"),
DELIVERY("DO", "投递业务码"),
BILL("BL", "商户流水业务码"); BILL("BL", "商户流水业务码");

@ -24,4 +24,6 @@ public interface IRecycleDeliveryOrderService extends IService<RecycleDeliveryOr
* @return vo * @return vo
*/ */
RecycleDeliveryOrderVO detailById(String id); RecycleDeliveryOrderVO detailById(String id);
void settlement(RecycleDeliveryOrder order);
} }

@ -4,6 +4,7 @@ import cc.yunxi.domain.po.RecycleDeliveryOrder;
import cc.yunxi.domain.query.DeliveryOrderQuery; import cc.yunxi.domain.query.DeliveryOrderQuery;
import cc.yunxi.domain.vo.recycleorder.RecycleDeliveryOrderVO; import cc.yunxi.domain.vo.recycleorder.RecycleDeliveryOrderVO;
import cc.yunxi.mapper.RecycleDeliveryOrderMapper; import cc.yunxi.mapper.RecycleDeliveryOrderMapper;
import cc.yunxi.service.IClientService;
import cc.yunxi.service.IRecycleDeliveryOrderService; import cc.yunxi.service.IRecycleDeliveryOrderService;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -13,10 +14,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
@Service @Service
@Log4j2 @Log4j2
public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDeliveryOrderMapper, RecycleDeliveryOrder> implements IRecycleDeliveryOrderService { public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDeliveryOrderMapper, RecycleDeliveryOrder> implements IRecycleDeliveryOrderService {
@Resource
private IClientService clientService;
@Override @Override
public Page<RecycleDeliveryOrder> queryOrderByPage(DeliveryOrderQuery deliveryOrderQuery) { public Page<RecycleDeliveryOrder> queryOrderByPage(DeliveryOrderQuery deliveryOrderQuery) {
log.info("查询投运订单号phoneNumber{}", deliveryOrderQuery.getPhoneNumber()); log.info("查询投运订单号phoneNumber{}", deliveryOrderQuery.getPhoneNumber());
@ -35,4 +42,13 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
RecycleDeliveryOrder order = this.getById(id); RecycleDeliveryOrder order = this.getById(id);
return BeanUtil.copyProperties(order, RecycleDeliveryOrderVO.class); return BeanUtil.copyProperties(order, RecycleDeliveryOrderVO.class);
} }
@Override
public void settlement(RecycleDeliveryOrder order) {
String client = order.getDeliverId();
String orderNo = order.getOrderNo();
BigDecimal amount = order.getAdjustPrice();
String companyId = order.getCompanyId();
clientService.addBalance(client, amount, orderNo, companyId);
}
} }

Loading…
Cancel
Save