|
|
@ -13,10 +13,7 @@ import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailCreateVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailUpdateVO;
|
|
|
|
import cc.yunxi.domain.vo.recycleorderdetail.RecycleOrderDetailUpdateVO;
|
|
|
|
import cc.yunxi.enums.*;
|
|
|
|
import cc.yunxi.enums.*;
|
|
|
|
import cc.yunxi.mapper.RecycleOrderMapper;
|
|
|
|
import cc.yunxi.mapper.RecycleOrderMapper;
|
|
|
|
import cc.yunxi.service.IClientService;
|
|
|
|
import cc.yunxi.service.*;
|
|
|
|
import cc.yunxi.service.IRecycleOrderProductService;
|
|
|
|
|
|
|
|
import cc.yunxi.service.IRecycleOrderService;
|
|
|
|
|
|
|
|
import cc.yunxi.service.IRecycleStationService;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
@ -49,6 +46,9 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private IClientService clientService;
|
|
|
|
private IClientService clientService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
|
|
|
private IRecyclerService recyclerService;
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
@Resource
|
|
|
|
private IRecycleOrderProductService recycleOrderProductService;
|
|
|
|
private IRecycleOrderProductService recycleOrderProductService;
|
|
|
|
|
|
|
|
|
|
|
@ -117,6 +117,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
|
|
|
|
recycleOrder.setClientName(client.getNickName());
|
|
|
|
recycleOrder.setClientName(client.getNickName());
|
|
|
|
recycleOrder.setClientMobile(client.getMobilePhone());
|
|
|
|
recycleOrder.setClientMobile(client.getMobilePhone());
|
|
|
|
recycleOrder.setOrderNumber(idNumber);
|
|
|
|
recycleOrder.setOrderNumber(idNumber);
|
|
|
|
|
|
|
|
recycleOrder.setDistance(distance.doubleValue());
|
|
|
|
recycleOrder.setOrderType(OrderTypeEnum.SH_ORDER);
|
|
|
|
recycleOrder.setOrderType(OrderTypeEnum.SH_ORDER);
|
|
|
|
recycleOrder.setOrderStatus(OrderStatusEnum.PENDING);
|
|
|
|
recycleOrder.setOrderStatus(OrderStatusEnum.PENDING);
|
|
|
|
recycleOrder.setCreatorTime(LocalDateTime.now());
|
|
|
|
recycleOrder.setCreatorTime(LocalDateTime.now());
|
|
|
@ -237,13 +238,14 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
|
|
|
|
|
|
|
|
|
|
|
|
// 记录关键信息
|
|
|
|
// 记录关键信息
|
|
|
|
String clientId = recycleOrder.getClientId();
|
|
|
|
String clientId = recycleOrder.getClientId();
|
|
|
|
|
|
|
|
String recyclerId = recycleOrder.getStaffsId();
|
|
|
|
String orderNumber = recycleOrder.getOrderNumber();
|
|
|
|
String orderNumber = recycleOrder.getOrderNumber();
|
|
|
|
String recycleStationId = recycleOrder.getRecycleStationId();
|
|
|
|
String recycleStationId = recycleOrder.getRecycleStationId();
|
|
|
|
|
|
|
|
|
|
|
|
recycleOrder = BeanUtils.copyBean(orderFinishVO, RecycleOrder.class);
|
|
|
|
RecycleOrder recycleOrder1 = BeanUtils.copyBean(orderFinishVO, RecycleOrder.class);
|
|
|
|
recycleOrder.setOrderStatus(OrderStatusEnum.FINISHED);
|
|
|
|
recycleOrder1.setOrderStatus(OrderStatusEnum.FINISHED);
|
|
|
|
recycleOrder.setCompleteTime(LocalDateTime.now());
|
|
|
|
recycleOrder1.setCompleteTime(LocalDateTime.now());
|
|
|
|
log.info("recycleOrder orderFinishVO: {}", recycleOrder);
|
|
|
|
log.info("recycleOrder orderFinishVO: {}", recycleOrder1);
|
|
|
|
|
|
|
|
|
|
|
|
// 订单总金额计算
|
|
|
|
// 订单总金额计算
|
|
|
|
BigDecimal totalAmount = new BigDecimal("0.00");
|
|
|
|
BigDecimal totalAmount = new BigDecimal("0.00");
|
|
|
@ -253,9 +255,13 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
|
|
|
|
totalAmount = totalAmount.add(weight.multiply(price));
|
|
|
|
totalAmount = totalAmount.add(weight.multiply(price));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
recycleOrder.setOrderAmount(totalAmount);
|
|
|
|
recycleOrder1.setOrderAmount(totalAmount);
|
|
|
|
this.updateById(recycleOrder);
|
|
|
|
this.updateById(recycleOrder);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 回收员累计值更新
|
|
|
|
|
|
|
|
Double distance = recycleOrder.getDistance();
|
|
|
|
|
|
|
|
recyclerService.totalTick(recyclerId, distance, totalAmount);
|
|
|
|
|
|
|
|
|
|
|
|
// 增加收入余额 异步? todo
|
|
|
|
// 增加收入余额 异步? todo
|
|
|
|
clientService.addBalance(clientId, totalAmount, orderNumber, recycleStationId);
|
|
|
|
clientService.addBalance(clientId, totalAmount, orderNumber, recycleStationId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|