小程序订单流程相关接口调整
This commit is contained in:
parent
dd52cc626d
commit
973419a4a3
|
|
@ -7,6 +7,8 @@ import com.ghy.common.enums.OrderStatus;
|
||||||
import com.ghy.common.enums.PayStatus;
|
import com.ghy.common.enums.PayStatus;
|
||||||
import com.ghy.common.utils.StringUtils;
|
import com.ghy.common.utils.StringUtils;
|
||||||
import com.ghy.customer.domain.Customer;
|
import com.ghy.customer.domain.Customer;
|
||||||
|
import com.ghy.customer.domain.CustomerAddress;
|
||||||
|
import com.ghy.customer.service.CustomerAddressService;
|
||||||
import com.ghy.customer.service.CustomerService;
|
import com.ghy.customer.service.CustomerService;
|
||||||
import com.ghy.goods.domain.DeptGoodsCategory;
|
import com.ghy.goods.domain.DeptGoodsCategory;
|
||||||
import com.ghy.goods.domain.Goods;
|
import com.ghy.goods.domain.Goods;
|
||||||
|
|
@ -28,13 +30,16 @@ import com.ghy.payment.domain.FinancialDetail;
|
||||||
import com.ghy.payment.domain.FinancialMaster;
|
import com.ghy.payment.domain.FinancialMaster;
|
||||||
import com.ghy.payment.service.FinancialDetailService;
|
import com.ghy.payment.service.FinancialDetailService;
|
||||||
import com.ghy.payment.service.FinancialMasterService;
|
import com.ghy.payment.service.FinancialMasterService;
|
||||||
import com.ghy.web.pojo.vo.OrderStatisticsRequest;
|
import com.ghy.system.domain.SysArea;
|
||||||
import com.ghy.web.pojo.vo.OrderStatisticsResponse;
|
import com.ghy.system.service.ISysAreaService;
|
||||||
|
import com.ghy.web.pojo.vo.*;
|
||||||
import com.ghy.worker.domain.Worker;
|
import com.ghy.worker.domain.Worker;
|
||||||
import com.ghy.worker.service.WorkerService;
|
import com.ghy.worker.service.WorkerService;
|
||||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||||
|
import nonapi.io.github.classgraph.utils.CollectionUtils;
|
||||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||||
import org.apache.commons.lang3.time.DateUtils;
|
import org.apache.commons.lang3.time.DateUtils;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
@ -87,6 +92,12 @@ public class OrderController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private GoodsStandardService goodsStandardService;
|
private GoodsStandardService goodsStandardService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CustomerAddressService addressService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysAreaService sysAreaService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 可派单商品数量
|
* 可派单商品数量
|
||||||
* */
|
* */
|
||||||
|
|
@ -186,7 +197,7 @@ public class OrderController extends BaseController {
|
||||||
od.setOrderMasterCode(om.getCode());
|
od.setOrderMasterCode(om.getCode());
|
||||||
od.setCustomerId(om.getCustomerId());
|
od.setCustomerId(om.getCustomerId());
|
||||||
od.setOrderType(om.getOrderType());
|
od.setOrderType(om.getOrderType());
|
||||||
od.setOrderStatus(OrderStatus.GOING.code());
|
od.setOrderStatus(request.getWorkerId() == om.getWorkerId() ? OrderStatus.GOING.code() : OrderStatus.RECEIVE.code());
|
||||||
od.setWorkerId(request.getWorkerId());
|
od.setWorkerId(request.getWorkerId());
|
||||||
od.setRevTime(om.getRevTime());
|
od.setRevTime(om.getRevTime());
|
||||||
od.setExpectTimeStart(om.getExpectTimeStart());
|
od.setExpectTimeStart(om.getExpectTimeStart());
|
||||||
|
|
@ -420,4 +431,173 @@ public class OrderController extends BaseController {
|
||||||
return AjaxResult.success(response);
|
return AjaxResult.success(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询主单子单的混合列表,根据预约时间倒序排列,请求参数中的师傅id不能为空
|
||||||
|
* */
|
||||||
|
@PostMapping("/app/mix/order/list")
|
||||||
|
@ResponseBody
|
||||||
|
public AjaxResult appMixOrderList(@RequestBody OrderListRequest orderListRequest) {
|
||||||
|
List<OrderListResponse> orderListResponses = new ArrayList<>();
|
||||||
|
|
||||||
|
// 校验参数
|
||||||
|
Assert.notNull(orderListRequest.getWorkerId(), "师傅id不能为空");
|
||||||
|
|
||||||
|
// 查询主单
|
||||||
|
OrderMaster orderMasterReq = new OrderMaster();
|
||||||
|
BeanUtils.copyProperties(orderListRequest, orderMasterReq);
|
||||||
|
orderListResponses.addAll(this.getMasterList(orderMasterReq));
|
||||||
|
|
||||||
|
// 查询子单
|
||||||
|
OrderDetail orderDetailReq = new OrderDetail();
|
||||||
|
BeanUtils.copyProperties(orderListRequest, orderDetailReq);
|
||||||
|
orderListResponses.addAll(this.getDetailList(orderDetailReq));
|
||||||
|
|
||||||
|
// 根据预约时间倒序排列
|
||||||
|
CollectionUtils.sortIfNotEmpty(orderListResponses, new Comparator<OrderListResponse>() {
|
||||||
|
@Override
|
||||||
|
public int compare(OrderListResponse o1, OrderListResponse o2) {
|
||||||
|
return o1.getExpectTimeStart().compareTo(o2.getExpectTimeStart());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return AjaxResult.success(orderListResponses);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<OrderListResponse> getMasterList(OrderMaster orderMaster) {
|
||||||
|
List<OrderListResponse> orderListResponses = new ArrayList<>();
|
||||||
|
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
|
||||||
|
list.forEach(master -> {
|
||||||
|
// 初始化属性
|
||||||
|
OrderListResponse orderListResponse = new OrderListResponse();
|
||||||
|
List<OrderStandard> standardList = new ArrayList<>();
|
||||||
|
|
||||||
|
// 师傅信息
|
||||||
|
Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null;
|
||||||
|
|
||||||
|
// 消费者信息
|
||||||
|
Customer customer = customerService.selectByCustomerId(master.getCustomerId());
|
||||||
|
|
||||||
|
// 商品规格及信息
|
||||||
|
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
||||||
|
|
||||||
|
// 商品信息
|
||||||
|
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||||
|
|
||||||
|
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
||||||
|
|
||||||
|
// 财务信息
|
||||||
|
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
||||||
|
|
||||||
|
// 地址信息
|
||||||
|
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
||||||
|
|
||||||
|
for (OrderGoods orderGoods : orderStandardList) {
|
||||||
|
OrderStandard orderStandard = new OrderStandard();
|
||||||
|
orderStandard.setStandardName(orderGoods.getGoodsName());
|
||||||
|
orderStandard.setStandardNum(orderGoods.getGoodsNum());
|
||||||
|
standardList.add(orderStandard);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 编辑返回属性
|
||||||
|
orderListResponse.setOrderMasterId(master.getId());
|
||||||
|
orderListResponse.setGoodsName(goods.getGoodsName());
|
||||||
|
orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl());
|
||||||
|
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
|
||||||
|
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
||||||
|
orderListResponse.setPayMoney(financialMaster.getPayMoney());
|
||||||
|
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
||||||
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
|
orderListResponse.setCustomerName(customer.getName());
|
||||||
|
orderListResponse.setCustomerPhone(customer.getPhone());
|
||||||
|
orderListResponse.setServerTime(master.getRevTime());
|
||||||
|
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
||||||
|
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
||||||
|
orderListResponse.setOrderStatus(master.getOrderStatus());
|
||||||
|
orderListResponse.setPayStatus(master.getPayStatus());
|
||||||
|
orderListResponse.setPayType(master.getPayType());
|
||||||
|
orderListResponse.setOrderMasterCode(master.getCode());
|
||||||
|
orderListResponse.setStandardList(standardList);
|
||||||
|
orderListResponse.setAddress(customerAddress.getAddress());
|
||||||
|
orderListResponse.setRemark(goods.getRemark());
|
||||||
|
orderListResponse.setCustomerRemark(master.getRemark());
|
||||||
|
orderListResponses.add(orderListResponse);
|
||||||
|
|
||||||
|
});
|
||||||
|
return orderListResponses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<OrderListResponse> getDetailList(OrderDetail orderDetail) {
|
||||||
|
List<OrderListResponse> orderListResponses = new ArrayList<>();
|
||||||
|
List<OrderDetail> list = orderDetailService.selectOrderDetailList(orderDetail);
|
||||||
|
list.forEach(detail -> {
|
||||||
|
|
||||||
|
// 主单信息
|
||||||
|
OrderMaster orderMaster = orderMasterService.selectById(detail.getOrderMasterId());
|
||||||
|
// 初始化属性
|
||||||
|
OrderListResponse orderListResponse = new OrderListResponse();
|
||||||
|
List<OrderStandard> standardList = new ArrayList<>();
|
||||||
|
|
||||||
|
// 师傅信息
|
||||||
|
Worker worker = workerService.selectById(detail.getWorkerId());
|
||||||
|
|
||||||
|
// 消费者信息
|
||||||
|
Customer customer = customerService.selectByCustomerId(detail.getCustomerId());
|
||||||
|
|
||||||
|
// 商品规格及信息
|
||||||
|
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderDetailId(detail.getId());
|
||||||
|
|
||||||
|
// 商品信息
|
||||||
|
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||||
|
|
||||||
|
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
||||||
|
|
||||||
|
// 财务信息
|
||||||
|
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
||||||
|
|
||||||
|
// 地址信息
|
||||||
|
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
||||||
|
SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
||||||
|
String completeAddress = sysArea.getMergerName().replaceAll(",", "") + customerAddress.getAddress();
|
||||||
|
|
||||||
|
for (OrderGoods orderGoods : orderStandardList) {
|
||||||
|
OrderStandard orderStandard = new OrderStandard();
|
||||||
|
orderStandard.setStandardName(orderGoods.getGoodsName());
|
||||||
|
orderStandard.setStandardNum(orderGoods.getGoodsNum());
|
||||||
|
orderStandard.setServerNum(orderGoods.getServerGoodsNum());
|
||||||
|
orderStandard.setFinishTime(orderGoods.getFinishTime());
|
||||||
|
orderStandard.setWaitServerNum(orderGoods.getGoodsNum() - orderGoods.getServerGoodsNum());
|
||||||
|
standardList.add(orderStandard);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 编辑返回属性
|
||||||
|
orderListResponse.setOrderDetailId(detail.getId());
|
||||||
|
orderListResponse.setOrderDetailCode(detail.getCode());
|
||||||
|
orderListResponse.setOrderMasterId(detail.getOrderMasterId());
|
||||||
|
orderListResponse.setOrderMasterCode(detail.getOrderMasterCode());
|
||||||
|
orderListResponse.setGoodsName(goods.getGoodsName());
|
||||||
|
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.setCustomerName(customer.getName());
|
||||||
|
orderListResponse.setCustomerPhone(customer.getPhone());
|
||||||
|
orderListResponse.setOrderStatus(detail.getOrderStatus());
|
||||||
|
orderListResponse.setPayStatus(orderMaster.getPayStatus());
|
||||||
|
orderListResponse.setPayType(orderMaster.getPayType());
|
||||||
|
orderListResponse.setStandardList(standardList);
|
||||||
|
orderListResponse.setAddress(completeAddress);
|
||||||
|
orderListResponse.setServerTime(detail.getRevTime());
|
||||||
|
orderListResponse.setExpectTimeStart(detail.getExpectTimeStart());
|
||||||
|
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
|
||||||
|
orderListResponse.setWorkBeginTime(detail.getWorkBeginTime());
|
||||||
|
orderListResponse.setWorkFinishTime(detail.getWorkFinishTime());
|
||||||
|
orderListResponse.setRemark(goods.getRemark());
|
||||||
|
orderListResponse.setCustomerRemark(orderMaster.getRemark());
|
||||||
|
orderListResponse.setOrderType(detail.getOrderType());
|
||||||
|
orderListResponses.add(orderListResponse);
|
||||||
|
});
|
||||||
|
return orderListResponses;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -214,7 +214,7 @@ public class OrderMasterController extends BaseController {
|
||||||
orderStandardDetail.setOrderDetailCode(orderDetail.getCode());
|
orderStandardDetail.setOrderDetailCode(orderDetail.getCode());
|
||||||
orderStandardDetail.setWorkBeginTime(orderDetail.getWorkBeginTime());
|
orderStandardDetail.setWorkBeginTime(orderDetail.getWorkBeginTime());
|
||||||
orderStandardDetail.setWorkFinishTime(orderDetail.getWorkFinishTime());
|
orderStandardDetail.setWorkFinishTime(orderDetail.getWorkFinishTime());
|
||||||
orderStandardDetail.setWorkerName(detailWorkerRealInfo.getName());
|
orderStandardDetail.setWorkerName(detailWorkerRealInfo != null ? detailWorkerRealInfo.getName() : detailWorker.getName());
|
||||||
orderStandardDetail.setWorkerPhone(detailWorker.getPhone());
|
orderStandardDetail.setWorkerPhone(detailWorker.getPhone());
|
||||||
orderStandardDetail.setRevTime(orderDetail.getRevTime());
|
orderStandardDetail.setRevTime(orderDetail.getRevTime());
|
||||||
orderStandardDetail.setExpectTimeStart(orderDetail.getExpectTimeStart());
|
orderStandardDetail.setExpectTimeStart(orderDetail.getExpectTimeStart());
|
||||||
|
|
@ -270,7 +270,7 @@ public class OrderMasterController extends BaseController {
|
||||||
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
|
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
|
||||||
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
||||||
orderListResponse.setPayMoney(financialMaster.getPayMoney());
|
orderListResponse.setPayMoney(financialMaster.getPayMoney());
|
||||||
orderListResponse.setWorkerName(workerRealInfo == null ? "" : workerRealInfo.getName());
|
orderListResponse.setWorkerName(workerRealInfo == null ? worker.getName() : workerRealInfo.getName());
|
||||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
orderListResponse.setCustomerName(customer.getName());
|
orderListResponse.setCustomerName(customer.getName());
|
||||||
orderListResponse.setCustomerPhone(customer.getPhone());
|
orderListResponse.setCustomerPhone(customer.getPhone());
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.ghy.web.pojo.vo;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 小程序查询订单列表请求参数对象
|
||||||
|
*
|
||||||
|
* @author ydq
|
||||||
|
* @date : 2022-09-11 15:24
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class OrderListRequest {
|
||||||
|
private Long deptId;
|
||||||
|
|
||||||
|
private Long workerId;
|
||||||
|
|
||||||
|
private Integer orderStatus;
|
||||||
|
|
||||||
|
private Long goodsCategoryId;
|
||||||
|
|
||||||
|
private String goodsName;
|
||||||
|
|
||||||
|
private Long countryId;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue