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.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<Snap> 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());

@ -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<Snap> images;
@ApiModelProperty("垃圾袋编号")

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

@ -24,4 +24,6 @@ public interface IRecycleDeliveryOrderService extends IService<RecycleDeliveryOr
* @return vo
*/
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.vo.recycleorder.RecycleDeliveryOrderVO;
import cc.yunxi.mapper.RecycleDeliveryOrderMapper;
import cc.yunxi.service.IClientService;
import cc.yunxi.service.IRecycleDeliveryOrderService;
import cn.hutool.core.bean.BeanUtil;
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 org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
@Service
@Log4j2
public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDeliveryOrderMapper, RecycleDeliveryOrder> implements IRecycleDeliveryOrderService {
@Resource
private IClientService clientService;
@Override
public Page<RecycleDeliveryOrder> queryOrderByPage(DeliveryOrderQuery deliveryOrderQuery) {
log.info("查询投运订单号phoneNumber{}", deliveryOrderQuery.getPhoneNumber());
@ -35,4 +42,13 @@ public class RecycleDeliveryOrderServiceImpl extends ServiceImpl<RecycleDelivery
RecycleDeliveryOrder order = this.getById(id);
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