小程序订单流程相关接口调整
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.utils.StringUtils;
|
||||
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.goods.domain.DeptGoodsCategory;
|
||||
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.service.FinancialDetailService;
|
||||
import com.ghy.payment.service.FinancialMasterService;
|
||||
import com.ghy.web.pojo.vo.OrderStatisticsRequest;
|
||||
import com.ghy.web.pojo.vo.OrderStatisticsResponse;
|
||||
import com.ghy.system.domain.SysArea;
|
||||
import com.ghy.system.service.ISysAreaService;
|
||||
import com.ghy.web.pojo.vo.*;
|
||||
import com.ghy.worker.domain.Worker;
|
||||
import com.ghy.worker.service.WorkerService;
|
||||
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.time.DateUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
|
@ -87,6 +92,12 @@ public class OrderController extends BaseController {
|
|||
@Autowired
|
||||
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.setCustomerId(om.getCustomerId());
|
||||
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.setRevTime(om.getRevTime());
|
||||
od.setExpectTimeStart(om.getExpectTimeStart());
|
||||
|
|
@ -420,4 +431,173 @@ public class OrderController extends BaseController {
|
|||
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.setWorkBeginTime(orderDetail.getWorkBeginTime());
|
||||
orderStandardDetail.setWorkFinishTime(orderDetail.getWorkFinishTime());
|
||||
orderStandardDetail.setWorkerName(detailWorkerRealInfo.getName());
|
||||
orderStandardDetail.setWorkerName(detailWorkerRealInfo != null ? detailWorkerRealInfo.getName() : detailWorker.getName());
|
||||
orderStandardDetail.setWorkerPhone(detailWorker.getPhone());
|
||||
orderStandardDetail.setRevTime(orderDetail.getRevTime());
|
||||
orderStandardDetail.setExpectTimeStart(orderDetail.getExpectTimeStart());
|
||||
|
|
@ -270,7 +270,7 @@ public class OrderMasterController extends BaseController {
|
|||
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
|
||||
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
||||
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.setCustomerName(customer.getName());
|
||||
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