diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java index d49dd15b..e3781a58 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderDetailController.java @@ -30,8 +30,10 @@ import com.ghy.order.service.IAfterServiceRecordService; import com.ghy.order.service.OrderDetailService; import com.ghy.order.service.OrderGoodsService; import com.ghy.order.service.OrderMasterService; +import com.ghy.payment.domain.FinancialChangeRecord; import com.ghy.payment.domain.FinancialDetail; import com.ghy.payment.domain.OrderTimeoutRecord; +import com.ghy.payment.service.FinancialChangeRecordService; import com.ghy.payment.service.FinancialDetailService; import com.ghy.payment.service.OrderFineRecordService; import com.ghy.system.domain.SysArea; @@ -40,8 +42,11 @@ import com.ghy.web.pojo.vo.OrderChangePriceRequest; import com.ghy.web.pojo.vo.OrderListResponse; import com.ghy.web.pojo.vo.OrderStandard; import com.ghy.worker.domain.Worker; +import com.ghy.worker.domain.WorkerCertification; +import com.ghy.worker.service.IWorkerCertificationService; import com.ghy.worker.service.WorkerService; import com.huifu.adapay.core.exception.BaseAdaPayException; +import org.apache.commons.collections.CollectionUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.util.Assert; import org.springframework.beans.factory.annotation.Autowired; @@ -53,6 +58,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -93,6 +99,10 @@ public class OrderDetailController extends BaseController { private OrderFineRecordService orderFineRecordService; @Autowired private IAfterServiceRecordService afterServiceRecordService; + @Autowired + private FinancialChangeRecordService financialChangeRecordService; + @Autowired + private IWorkerCertificationService workerCertificationService; @RequiresPermissions("order:detail:view") @GetMapping() @@ -123,6 +133,22 @@ public class OrderDetailController extends BaseController { // 师傅信息 Worker worker = workerService.selectById(detail.getWorkerId()); + WorkerCertification workerRealInfo = null; + String workerName = ""; + String masterWorkerName = ""; + if (worker != null) { + // 师傅实名信息 + workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); + workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getName(); + } + workerRealInfo = null; + // 大师傅信息 + Worker masterWorker = workerService.selectById(orderMaster.getWorkerId()); + if (masterWorker != null) { + // 大师傅实名信息 + workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); + masterWorkerName = workerRealInfo == null ? masterWorker.getName() : workerRealInfo.getName(); + } // 消费者信息 // Customer customer = customerService.selectByCustomerId(detail.getCustomerId()); @@ -137,6 +163,14 @@ public class OrderDetailController extends BaseController { // 财务信息 FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId()); + BigDecimal detailPayMoney = financialDetail.getPayMoney(); + // 查询子单加价记录 + FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); + changeRecordQry.setOrderDetailId(detail.getId()); + List financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); + if (CollectionUtils.isNotEmpty(financialChangeRecords)) { + detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney()); + } // 地址信息 CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); @@ -172,9 +206,11 @@ public class OrderDetailController extends BaseController { orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); orderListResponse.setDiscountMoney(financialDetail.getDiscountMoney()); orderListResponse.setTotalMoney(financialDetail.getTotalMoney()); - orderListResponse.setPayMoney(financialDetail.getPayMoney()); - orderListResponse.setWorkerName(worker.getName()); - orderListResponse.setWorkerPhone(worker.getPhone()); + orderListResponse.setPayMoney(detailPayMoney); + orderListResponse.setWorkerName(workerName); + orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); + orderListResponse.setMasterWorkerName(masterWorkerName); + orderListResponse.setMasterWorkerPhone(masterWorker == null ? "" : masterWorker.getPhone()); orderListResponse.setCustomerName(customerAddress.getName()); orderListResponse.setCustomerPhone(customerAddress.getPhone()); orderListResponse.setOrderStatus(detail.getOrderStatus()); @@ -218,6 +254,13 @@ public class OrderDetailController extends BaseController { // 师傅信息 Worker worker = workerService.selectById(detail.getWorkerId()); + WorkerCertification workerRealInfo = null; + String workerName = ""; + if (worker != null) { + // 师傅实名信息 + workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); + workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getName(); + } // 消费者信息 // Customer customer = customerService.selectByCustomerId(detail.getCustomerId()); @@ -232,6 +275,14 @@ public class OrderDetailController extends BaseController { // 财务信息 FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId()); + BigDecimal detailPayMoney = financialDetail.getPayMoney(); + // 查询子单加价记录 + FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); + changeRecordQry.setOrderDetailId(detail.getId()); + List financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); + if (CollectionUtils.isNotEmpty(financialChangeRecords)) { + detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney()); + } // 地址信息 CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); @@ -261,9 +312,9 @@ public class OrderDetailController extends BaseController { orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); orderListResponse.setDiscountMoney(financialDetail.getDiscountMoney()); orderListResponse.setTotalMoney(financialDetail.getTotalMoney()); - orderListResponse.setPayMoney(financialDetail.getPayMoney()); - orderListResponse.setWorkerName(worker.getName()); - orderListResponse.setWorkerPhone(worker.getPhone()); + orderListResponse.setPayMoney(detailPayMoney); + orderListResponse.setWorkerName(workerName); + orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); orderListResponse.setCustomerName(customerAddress.getName()); orderListResponse.setCustomerPhone(customerAddress.getPhone()); orderListResponse.setOrderStatus(detail.getOrderStatus()); @@ -315,6 +366,13 @@ public class OrderDetailController extends BaseController { // 师傅信息 Worker worker = workerService.selectById(detail.getWorkerId()); + WorkerCertification workerRealInfo = null; + String workerName = ""; + if (worker != null) { + // 师傅实名信息 + workerRealInfo = workerCertificationService.selectByWorkerId(orderMaster.getWorkerId()); + workerName = workerRealInfo == null ? worker.getName() : workerRealInfo.getName(); + } // 消费者信息 // Customer customer = customerService.selectByCustomerId(detail.getCustomerId()); @@ -329,6 +387,14 @@ public class OrderDetailController extends BaseController { // 财务信息 FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId()); + BigDecimal detailPayMoney = financialDetail.getPayMoney(); + // 查询子单加价记录 + FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); + changeRecordQry.setOrderDetailId(detail.getId()); + List financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); + if (CollectionUtils.isNotEmpty(financialChangeRecords)) { + detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney()); + } // 地址信息 CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); @@ -358,9 +424,9 @@ public class OrderDetailController extends BaseController { orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); orderListResponse.setDiscountMoney(financialDetail.getDiscountMoney()); orderListResponse.setTotalMoney(financialDetail.getTotalMoney()); - orderListResponse.setPayMoney(financialDetail.getPayMoney()); - orderListResponse.setWorkerName(worker.getName()); - orderListResponse.setWorkerPhone(worker.getPhone()); + orderListResponse.setPayMoney(detailPayMoney); + orderListResponse.setWorkerName(workerName); + orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); orderListResponse.setCustomerName(customerAddress.getName()); orderListResponse.setCustomerPhone(customerAddress.getPhone()); orderListResponse.setOrderStatus(detail.getOrderStatus()); diff --git a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java index 4916d2f8..7a689ae5 100644 --- a/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java +++ b/ghy-admin/src/main/java/com/ghy/web/controller/order/OrderMasterController.java @@ -261,6 +261,9 @@ public class OrderMasterController extends BaseController { List orderListResponses = new ArrayList<>(); List list = orderMasterService.selectOrderMasterList(orderMaster); list.forEach(master -> { + //子单 + List detailList = orderDetailService.selectByOrderMasterId(master.getId()); + // 初始化属性 OrderListResponse orderListResponse = new OrderListResponse(); List standardList = new ArrayList<>(); @@ -281,6 +284,18 @@ public class OrderMasterController extends BaseController { // 财务信息 FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId()); + BigDecimal totalPayMoney = financialMaster.getPayMoney(); + BigDecimal totalChangeMoney = new BigDecimal(0); + for (OrderDetail detail: detailList) { + // 查询子单加价记录 + FinancialChangeRecord changeRecordQry = new FinancialChangeRecord(); + changeRecordQry.setOrderDetailId(detail.getId()); + List financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry); + if (CollectionUtils.isNotEmpty(financialChangeRecords)) { + totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney()); + } + } + totalPayMoney = totalPayMoney.add(totalChangeMoney); // 地址信息 CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId()); @@ -310,7 +325,8 @@ public class OrderMasterController extends BaseController { orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl()); orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney()); orderListResponse.setTotalMoney(financialMaster.getTotalMoney()); - orderListResponse.setPayMoney(financialMaster.getPayMoney()); + orderListResponse.setPayMoney(totalPayMoney); + orderListResponse.setChangeMoney(totalChangeMoney); orderListResponse.setWorkerName(worker == null ? "" : worker.getName()); orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone()); orderListResponse.setCustomerName(customerAddress.getName()); @@ -418,6 +434,7 @@ public class OrderMasterController extends BaseController { orderStandardDetail.setRemark(orderDetail.getRemark()); orderStandardDetail.setPayMoney(detailPayMoney); orderStandardDetail.setFinancialChangeRecord(financialChangeRecord); + orderStandardDetail.setOrderStatus(orderDetail.getOrderStatus()); AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); afterServiceRecord.setOrderDetailId(orderDetail.getId()); diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java index 7dae90b4..77ca92b0 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderListResponse.java @@ -25,6 +25,10 @@ public class OrderListResponse { private String workerPhone; + private String masterWorkerName; + + private String masterWorkerPhone; + private String customerName; private String customerPhone; diff --git a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java index 9d78ae3e..2e91b5ba 100644 --- a/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java +++ b/ghy-admin/src/main/java/com/ghy/web/pojo/vo/OrderStandardDetail.java @@ -1,5 +1,6 @@ package com.ghy.web.pojo.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.ghy.order.domain.AfterServiceRecord; import com.ghy.payment.domain.FinancialChangeRecord; import lombok.Data; @@ -21,8 +22,10 @@ public class OrderStandardDetail { private Date revTime; + @JsonFormat(pattern = "YYYY-MM-dd HH:mm") private Date expectTimeStart; + @JsonFormat(pattern = "HH:mm") private Date expectTimeEnd; private Date workBeginTime; @@ -41,4 +44,6 @@ public class OrderStandardDetail { private List afterServiceRecordList; + private Integer orderStatus; + }