消费者订单信息查询

This commit is contained in:
kuang.yifei@iwhalecloud.com 2022-06-18 00:10:54 +08:00
parent fea41cfc8f
commit 10af3b417c
3 changed files with 149 additions and 20 deletions

View File

@ -6,6 +6,7 @@ import com.ghy.common.core.controller.BaseController;
import com.ghy.common.core.domain.AjaxResult;
import com.ghy.common.core.page.TableDataInfo;
import com.ghy.common.enums.BusinessType;
import com.ghy.common.utils.ExceptionUtil;
import com.ghy.common.utils.ObjectUtils;
import com.ghy.common.utils.poi.ExcelUtil;
import com.ghy.customer.domain.Customer;
@ -29,6 +30,7 @@ import com.ghy.payment.service.FinancialMasterService;
import com.ghy.web.pojo.vo.OrderDetailsResponseVo;
import com.ghy.web.pojo.vo.OrderListResponse;
import com.ghy.web.pojo.vo.OrderStandard;
import com.ghy.web.pojo.vo.OrderStandardDetail;
import com.ghy.worker.domain.Worker;
import com.ghy.worker.service.WorkerService;
import com.github.pagehelper.PageInfo;
@ -90,11 +92,11 @@ public class OrderMasterController extends BaseController {
@PostMapping("/app/list")
@ResponseBody
public TableDataInfo appList(@RequestBody OrderMaster orderMaster){
public TableDataInfo appList(@RequestBody OrderMaster orderMaster) {
startPage();
List<OrderListResponse> orderListResponses = new ArrayList<>();
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
list.forEach(master->{
list.forEach(master -> {
// 初始化属性
OrderListResponse orderListResponse = new OrderListResponse();
List<OrderStandard> standardList = new ArrayList<>();
@ -119,7 +121,7 @@ public class OrderMasterController extends BaseController {
// 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
for(OrderGoods orderGoods : orderStandardList){
for (OrderGoods orderGoods : orderStandardList) {
OrderStandard orderStandard = new OrderStandard();
orderStandard.setStandardName(orderGoods.getGoodsName());
orderStandard.setStandardNum(orderGoods.getGoodsNum());
@ -150,6 +152,104 @@ public class OrderMasterController extends BaseController {
return voDataTable(orderListResponses, list);
}
@PostMapping("/app/detail")
@ResponseBody
public AjaxResult appDetail(@RequestBody OrderMaster request) {
try {
// 主单信息
OrderMaster orderMaster = orderMasterService.selectById(request.getId());
List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(orderMaster.getId());
List<OrderStandardDetail> orderStandardDetails = new ArrayList<>();
orderDetailList.forEach(orderDetail -> {
List<OrderStandard> standardList = new ArrayList<>();
// 子单施工师傅信息
Worker detailWorker = workerService.selectById(orderDetail.getWorkerId());
// 子单商品规格及信息
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderDetailId(orderDetail.getId());
for (OrderGoods orderGoods : orderStandardList) {
OrderStandard orderStandard = new OrderStandard();
orderStandard.setStandardName(orderGoods.getGoodsName());
orderStandard.setStandardNum(orderGoods.getGoodsNum());
orderStandard.setServerNum(orderGoods.getServerGoodsNum() == null ? 0 : orderGoods.getServerGoodsNum());
orderStandard.setWaitServerNum(orderStandard.getStandardNum() - orderStandard.getServerNum());
standardList.add(orderStandard);
}
OrderStandardDetail orderStandardDetail = new OrderStandardDetail();
orderStandardDetail.setOrderDetailId(orderDetail.getId());
orderStandardDetail.setOrderDetailCode(orderDetail.getCode());
orderStandardDetail.setWorkBeginTime(orderDetail.getWorkBeginTime());
orderStandardDetail.setWorkFinishTime(orderDetail.getWorkFinishTime());
orderStandardDetail.setWorkerName(detailWorker.getName());
orderStandardDetail.setWorkerPhone(detailWorker.getPhone());
orderStandardDetail.setOrderStandardList(standardList);
orderStandardDetails.add(orderStandardDetail);
});
// 初始化属性
OrderListResponse orderListResponse = new OrderListResponse();
List<OrderStandard> standardList = new ArrayList<>();
// 师傅信息
Worker worker = workerService.selectById(orderMaster.getWorkerId());
// 消费者信息
Customer customer = customerService.selectByCustomerId(orderMaster.getCustomerId());
// 商品规格及信息
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(orderMaster.getId());
// 商品信息
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
// 财务信息
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderMaster.getId());
// 地址信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
for (OrderGoods orderGoods : orderStandardList) {
OrderStandard orderStandard = new OrderStandard();
orderStandard.setStandardName(orderGoods.getGoodsName());
orderStandard.setStandardNum(orderGoods.getGoodsNum());
orderStandard.setServerNum(orderGoods.getServerGoodsNum() == null ? 0 : orderGoods.getServerGoodsNum());
orderStandard.setWaitServerNum(orderStandard.getStandardNum() - orderStandard.getServerNum());
standardList.add(orderStandard);
}
// 编辑返回属性
orderListResponse.setOrderMasterId(orderMaster.getId());
orderListResponse.setOrderMasterCode(orderMaster.getCode());
orderListResponse.setGoodsName(goods.getGoodsName());
orderListResponse.setGoodsLogoUrl(goods.getGoodsImgUrl());
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
orderListResponse.setPayMoney(financialMaster.getPayMoney());
orderListResponse.setWorkerName(worker.getName());
orderListResponse.setWorkerPhone(worker.getPhone());
orderListResponse.setCustomerName(customer.getName());
orderListResponse.setCustomerPhone(customer.getPhone());
orderListResponse.setOrderStatus(orderMaster.getOrderStatus());
orderListResponse.setPayStatus(orderMaster.getPayStatus());
orderListResponse.setPayType(orderMaster.getPayType());
orderListResponse.setStandardList(standardList);
orderListResponse.setAddress(customerAddress.getAddress());
orderListResponse.setServerTime(orderMaster.getRevTime());
orderListResponse.setCreateTime(orderMaster.getCreateTime());
orderListResponse.setOrderStandardDetailList(orderStandardDetails);
return AjaxResult.success(orderListResponse);
} catch (Exception e) {
e.printStackTrace();
return AjaxResult.error(ExceptionUtil.getExceptionMessage(e));
}
}
@RequiresPermissions("order:master:list")
@PostMapping("/list")
@ResponseBody
@ -159,7 +259,7 @@ public class OrderMasterController extends BaseController {
// 数据处理待返回的数据信息
List<OrderDetailsResponseVo> orderDetailsResponseVoList = new ArrayList<>();
// 存在数据在进行数据查询处理
if(orderMasterList != null && orderMasterList.size() > 0){
if (orderMasterList != null && orderMasterList.size() > 0) {
// 第一次循环 进行拿到对应用户数据集合信息与实体集合数据信息
// 消费者相关集合
List<Long> customIdList = new ArrayList<>();
@ -167,22 +267,22 @@ public class OrderMasterController extends BaseController {
List<Long> workerIdList = new ArrayList<>();
// 订单编号数据信息
List<Long> orderIdList = new ArrayList<>();
for(OrderMaster orderMasterByListData : orderMasterList){
for (OrderMaster orderMasterByListData : orderMasterList) {
// 订单Id
if(ObjectUtils.isNotNull(orderMasterByListData.getId())){
if (ObjectUtils.isNotNull(orderMasterByListData.getId())) {
orderIdList.add(orderMasterByListData.getId());
}
// 消费者id
if(ObjectUtils.isNotNull(orderMasterByListData.getCustomerId())){
if (ObjectUtils.isNotNull(orderMasterByListData.getCustomerId())) {
customIdList.add(orderMasterByListData.getCustomerId());
}
// 师傅id
if(ObjectUtils.isNotNull(orderMasterByListData.getWorkerId())){
if (ObjectUtils.isNotNull(orderMasterByListData.getWorkerId())) {
workerIdList.add(orderMasterByListData.getWorkerId());
}
}
// 消费者
Map<Long, Customer> longCustomerMap = customerService.byCustomerUseridInMap(customIdList);
Map<Long, Customer> longCustomerMap = customerService.byCustomerUseridInMap(customIdList);
// 师傅
Map<Long, Worker> longWorkerMap = workerService.byWorkUserIdInMap(workerIdList);
// 订单数据
@ -191,26 +291,26 @@ public class OrderMasterController extends BaseController {
// 消费者的上级邀请人信息
List<Long> customByPlaceIdList = new ArrayList<>();
// 循环数据赋值
for(OrderMaster orderMasterByListData : orderMasterList){
for (OrderMaster orderMasterByListData : orderMasterList) {
OrderDetailsResponseVo orderDetailsResponseVo = new OrderDetailsResponseVo();
// 订单基本信息
orderDetailsResponseVo.setOrderId(orderMasterByListData.getId());
orderDetailsResponseVo.setCode(orderMasterByListData.getCode());
// 基本信息
List<OrderGoods> orderGoodsList = longOrderGoodsMap.get(orderMasterByListData.getId());
if(orderGoodsList != null && orderGoodsList.size() > 0){
if (orderGoodsList != null && orderGoodsList.size() > 0) {
List<OrderDetailsResponseVo.OrderDetails> orderDetailsList = new ArrayList<>();
// 用于订单附表数据查询
List<Long> orderDetailsIdList = new ArrayList<>();
for(OrderGoods orderGoods : orderGoodsList){
for (OrderGoods orderGoods : orderGoodsList) {
orderDetailsIdList.add(orderGoods.getOrderId());
}
// 财务数据信息
Map<Long, FinancialDetail> longFinancialDetailMap = financialDetailService.byOrderIdInMap(orderDetailsIdList);
for(OrderGoods orderGoods : orderGoodsList){
for (OrderGoods orderGoods : orderGoodsList) {
OrderDetailsResponseVo.OrderDetails orderDetails = OrderDetailsResponseVo.OrderDetails.modelDataSupplement(orderGoods);
FinancialDetail financialDetail = longFinancialDetailMap.get(orderGoods.getOrderGoodsId());
if(ObjectUtils.isNotNull(financialDetail)){
if (ObjectUtils.isNotNull(financialDetail)) {
orderDetails.setDiscountMoney(financialDetail.getDiscountMoney());
orderDetails.setPayMoney(financialDetail.getPayMoney());
orderDetails.setTotalMoney(financialDetail.getTotalMoney());
@ -227,10 +327,10 @@ public class OrderMasterController extends BaseController {
orderDetailsResponseVo.setState(OrderDetailsResponseVo.OrderState.modelDataSupplement(orderMasterByListData));
// 消费者相关
Customer customer = longCustomerMap.get(orderMasterByListData.getCustomerId());
if(ObjectUtils.isNotNull(customer)){
if (ObjectUtils.isNotNull(customer)) {
// 地址信息 这里默认取第一条数据既可以了
List<CustomerAddress> customerAddressList = customerAddressService.selectByCustomerId(customer.getCustomerId());
if(customerAddressList != null && customerAddressList.size() > 0){
if (customerAddressList != null && customerAddressList.size() > 0) {
orderDetailsResponseVo.setCustomDetails(OrderDetailsResponseVo.OrderCustomDetails.modelDataSupplement(customerAddressList.get(0)));
}
customByPlaceIdList.add(customer.getCustomerPlace());
@ -239,11 +339,11 @@ public class OrderMasterController extends BaseController {
orderDetailsResponseVoList.add(orderDetailsResponseVo);
}
// 第三次数据循环处理 用于邀请人相关补充
Map<Long, Customer> longCustomerByPlaceMap = customerService.byCustomerUseridInMap(customByPlaceIdList);
for(OrderDetailsResponseVo vo : orderDetailsResponseVoList){
if(ObjectUtils.isNotNull(vo.getCustomDetails())){
Map<Long, Customer> longCustomerByPlaceMap = customerService.byCustomerUseridInMap(customByPlaceIdList);
for (OrderDetailsResponseVo vo : orderDetailsResponseVoList) {
if (ObjectUtils.isNotNull(vo.getCustomDetails())) {
Customer customer = longCustomerByPlaceMap.get(vo.getCustomDetails().getCustomerId());
if(ObjectUtils.isNotNull(customer)){
if (ObjectUtils.isNotNull(customer)) {
vo.setInvitee(OrderDetailsResponseVo.OrderInvitee.modelDataSupplement(customer));
}
}

View File

@ -1,5 +1,6 @@
package com.ghy.web.pojo.vo;
import com.ghy.order.domain.OrderDetail;
import lombok.Data;
import java.math.BigDecimal;
@ -53,4 +54,7 @@ public class OrderListResponse {
private Date createTime;
private List<OrderStandard> standardList;
private List<OrderStandardDetail> orderStandardDetailList;
}

View File

@ -0,0 +1,25 @@
package com.ghy.web.pojo.vo;
import lombok.Data;
import java.util.Date;
import java.util.List;
@Data
public class OrderStandardDetail {
private Long orderDetailId;
private String orderDetailCode;
private String workerName;
private String workerPhone;
private Date workBeginTime;
private Date workFinishTime;
private List<OrderStandard> orderStandardList;
}