Browse Source

代码修复

master
主管理员 1 week ago
parent
commit
0f4b12c4ea
3 changed files with 232 additions and 79 deletions
  1. +227
    -77
      ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiAppletOrderController.java
  2. +1
    -1
      ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiMallUserTeacherController.java
  3. +4
    -1
      ruoyi-catdog/src/main/java/com/ruoyi/model/controller/AppletUsersTeacherController.java

+ 227
- 77
ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiAppletOrderController.java View File

@ -618,121 +618,271 @@ public class ApiAppletOrderController extends BaseController {
//
// //我的订单流程
// @ApiOperation("小程序-我的订单流程-日订单")
// @GetMapping("/myDateList")
// public AjaxResult myDateList(AppletOrderDateVo dateVo){
// if(dateVo.getUserId() == null){
// return AjaxResult.error("userId用户标识不能为空");
// }
// if(dateVo.getStatus() == null){
// return AjaxResult.error("status当前状态不能为空");
// }
//
// //查询我所有的日订单数据
// AppletOrderItemDate date = new AppletOrderItemDate();
// date.setUserId(dateVo.getUserId());
// date.setStatus(dateVo.getStatus());
// List<AppletOrderItemDate> addressList = appletOrderItemDateService.selectAppletOrderItemDateList(date);
//
// Set<String> uniqueDates = new HashSet<>();
// List<AppletOrderDateVoReturn> dateVoReturnList = new ArrayList<>();
//
// for (AppletOrderItemDate date1 : addressList) {
// if (uniqueDates.add(date1.getServiceDate())) {
// AppletOrderDateVoReturn dateVoReturn = new AppletOrderDateVoReturn();
// dateVoReturn.setServiceDate(date1.getServiceDate());
//
// if(dateVo.getStatus() == 1){
// AppletOrderItem orders = appletOrderItemService.selectAppletOrderItemById(date1.getOrderId());
// if(orders.getOrderStatus()==2){
// dateVoReturnList.add(dateVoReturn);
// }
// }else{
// dateVoReturnList.add(dateVoReturn);
// }
//
// }
// }
//
//
// //得到日订单集合
// for (AppletOrderDateVoReturn dateVoReturn : dateVoReturnList) {
// //得到日订单日期
// String serviceDate = dateVoReturn.getServiceDate();
//
// //订单下订单集合
// AppletOrderItemDate service = new AppletOrderItemDate();
// service.setServiceDate(serviceDate);
//
// List<AppletOrderItemDate> serviceList = appletOrderItemDateService.selectAppletOrderItemDateList(service);
// List<AppletOrderDateAddressReturn> uniqueOrderDetails = serviceList.stream()
// .collect(Collectors.toMap(
// AppletOrderItemDate::getOrderId, // 使用orderId作为键
// item -> new AppletOrderDateAddressReturn(item.getOrderId(), item.getCityAddress(), item.getAddress()), // 创建OrderDetails对象作为值
// (existing, replacement) -> existing // 如果有重复的orderId保留现有的可以根据需要修改合并逻辑
// ))
// .values()
// .stream()
// .collect(Collectors.toList());
// // 假设dateVoReturn有一个setOrderList方法
//
// dateVoReturn.setOrderList(uniqueOrderDetails);
// dateVoReturn.setNum(uniqueOrderDetails.size());
//
// for (AppletOrderDateAddressReturn uniqueOrderDetail : uniqueOrderDetails) {
// AppletOrderItemDate appletOrderItemDate = new AppletOrderItemDate();
// appletOrderItemDate.setOrderId(uniqueOrderDetail.getOrderId());
// appletOrderItemDate.setServiceDate(serviceDate);
//
//
// List<AppletOrderItemDate> appletOrderItemDates = appletOrderItemDateService.selectAppletOrderItemDateList(appletOrderItemDate);
// for (AppletOrderItemDate appletOrderItemDate1 : appletOrderItemDates) {
// // 组装item
// QueryWrapper<OrderItem> orderItemQw = new QueryWrapper<>();
// orderItemQw.eq("order_service_id", appletOrderItemDate1.getOrderServiceId());
// List<OrderItem> orderItemList = orderItemMapper.selectList(orderItemQw);
// appletOrderItemDate1.setOrderItemList(orderItemList);
//
//
// OmsOrderService omsOrderService = omsOrderServiceMapper.selectById(appletOrderItemDate1.getOrderServiceId());
// omsOrderService.setPetVo(h5PetService.selectPetById(omsOrderService.getPetId()));
// appletOrderItemDate1.setOrderServiceList(omsOrderService);
// }
//
// uniqueOrderDetail.setAppletOrderItemDate(appletOrderItemDates);
//
//
//
// }
//
//
// }
//
//
//
//
//
//
//
// return AjaxResult.success("日订单数据",dateVoReturnList);
// }
//我的订单流程
@ApiOperation("小程序-我的订单流程-日订单")
@GetMapping("/myDateList")
public AjaxResult myDateList(AppletOrderDateVo dateVo){
if(dateVo.getUserId() == null){
public AjaxResult myDateList(AppletOrderDateVo dateVo) {
if (dateVo.getUserId() == null) {
return AjaxResult.error("userId用户标识不能为空");
}
if(dateVo.getStatus() == null){
if (dateVo.getStatus() == null) {
return AjaxResult.error("status当前状态不能为空");
}
//查询我所有的日订单数据
// 查询我所有的日订单数据
AppletOrderItemDate date = new AppletOrderItemDate();
date.setUserId(dateVo.getUserId());
date.setStatus(dateVo.getStatus());
List<AppletOrderItemDate> addressList = appletOrderItemDateService.selectAppletOrderItemDateList(date);
Set<String> uniqueDates = new HashSet<>();
// 用于存储按日期分组的订单
Map<String, List<AppletOrderItemDate>> dateToOrdersMap = new HashMap<>();
for (AppletOrderItemDate dateItem : addressList) {
String serviceDate = dateItem.getServiceDate();
dateToOrdersMap.computeIfAbsent(serviceDate, k -> new ArrayList<>()).add(dateItem);
}
List<AppletOrderDateVoReturn> dateVoReturnList = new ArrayList<>();
for (AppletOrderItemDate date1 : addressList) {
if (uniqueDates.add(date1.getServiceDate())) {
// 遍历每个日期
for (Map.Entry<String, List<AppletOrderItemDate>> entry : dateToOrdersMap.entrySet()) {
String serviceDate = entry.getKey();
List<AppletOrderItemDate> ordersForDate = entry.getValue();
// 遍历该日期的所有订单
for (AppletOrderItemDate orderItemDate : ordersForDate) {
AppletOrderDateVoReturn dateVoReturn = new AppletOrderDateVoReturn();
dateVoReturn.setServiceDate(date1.getServiceDate());
if(dateVo.getStatus() == 1){
//根据日订订单中关联的主订单标识查询主订单状态
// AppletOrderItem order = new AppletOrderItem();
// order.setOrderId(date1.getOrderId());
// order.setUserId(dateVo.getUserId());
AppletOrderItem orders = appletOrderItemService.selectAppletOrderItemById(date1.getOrderId());
//如果状态为1则表示该订单已经完成则不显示该订单
// if(orders.getStatus()==1){
// dateVoReturnList.add(dateVoReturn);
// }
if(orders.getOrderStatus()==2){
dateVoReturn.setServiceDate(serviceDate);
if (dateVo.getStatus() == 1) {
AppletOrderItem orders = appletOrderItemService.selectAppletOrderItemById(orderItemDate.getOrderId());
if (orders.getOrderStatus() == 2) {
// 直接添加不进行过滤
dateVoReturnList.add(dateVoReturn);
}
}else{
} else {
dateVoReturnList.add(dateVoReturn);
}
}
}
//得到日订单集合
for (AppletOrderDateVoReturn dateVoReturn : dateVoReturnList) {
//得到日订单日期
String serviceDate = dateVoReturn.getServiceDate();
// 设置订单详情
List<AppletOrderDateAddressReturn> orderDetailsList = new ArrayList<>();
AppletOrderDateAddressReturn orderDetails = new AppletOrderDateAddressReturn(
orderItemDate.getOrderId(),
orderItemDate.getCityAddress(),
orderItemDate.getAddress()
);
orderDetailsList.add(orderDetails);
//订单下订单集合
AppletOrderItemDate service = new AppletOrderItemDate();
service.setServiceDate(serviceDate);
dateVoReturn.setOrderList(orderDetailsList);
dateVoReturn.setNum(orderDetailsList.size());
List<AppletOrderItemDate> serviceList = appletOrderItemDateService.selectAppletOrderItemDateList(service);
List<AppletOrderDateAddressReturn> uniqueOrderDetails = serviceList.stream()
.collect(Collectors.toMap(
AppletOrderItemDate::getOrderId, // 使用orderId作为键
item -> new AppletOrderDateAddressReturn(item.getOrderId(), item.getCityAddress(), item.getAddress()), // 创建OrderDetails对象作为值
(existing, replacement) -> existing // 如果有重复的orderId保留现有的可以根据需要修改合并逻辑
))
.values()
.stream()
.collect(Collectors.toList());
// 假设dateVoReturn有一个setOrderList方法
dateVoReturn.setOrderList(uniqueOrderDetails);
dateVoReturn.setNum(uniqueOrderDetails.size());
for (AppletOrderDateAddressReturn uniqueOrderDetail : uniqueOrderDetails) {
// 设置订单项
AppletOrderItemDate appletOrderItemDate = new AppletOrderItemDate();
appletOrderItemDate.setOrderId(uniqueOrderDetail.getOrderId());
appletOrderItemDate.setOrderId(orderItemDate.getOrderId());
appletOrderItemDate.setServiceDate(serviceDate);
List<AppletOrderItemDate> appletOrderItemDates = appletOrderItemDateService.selectAppletOrderItemDateList(appletOrderItemDate);
for (AppletOrderItemDate appletOrderItemDate1 : appletOrderItemDates) {
// 组装item
for (AppletOrderItemDate itemDate : appletOrderItemDates) {
QueryWrapper<OrderItem> orderItemQw = new QueryWrapper<>();
orderItemQw.eq("order_service_id", appletOrderItemDate1.getOrderServiceId());
orderItemQw.eq("order_service_id", itemDate.getOrderServiceId());
List<OrderItem> orderItemList = orderItemMapper.selectList(orderItemQw);
appletOrderItemDate1.setOrderItemList(orderItemList);
itemDate.setOrderItemList(orderItemList);
OmsOrderService omsOrderService = omsOrderServiceMapper.selectById(appletOrderItemDate1.getOrderServiceId());
OmsOrderService omsOrderService = omsOrderServiceMapper.selectById(itemDate.getOrderServiceId());
omsOrderService.setPetVo(h5PetService.selectPetById(omsOrderService.getPetId()));
appletOrderItemDate1.setOrderServiceList(omsOrderService);
itemDate.setOrderServiceList(omsOrderService);
}
uniqueOrderDetail.setAppletOrderItemDate(appletOrderItemDates);
orderDetails.setAppletOrderItemDate(appletOrderItemDates);
}
}
return AjaxResult.success("日订单数据",dateVoReturnList);
return AjaxResult.success("日订单数据", dateVoReturnList);
}
//
// @ApiOperation("小程序-我的订单流程-日订单")
// @GetMapping("/myDateList")
// public AjaxResult myDateList(AppletOrderDateVo dateVo) {
// if (dateVo.getUserId() == null) {
// return AjaxResult.error("userId用户标识不能为空");
// }
// if (dateVo.getStatus() == null) {
// return AjaxResult.error("status当前状态不能为空");
// }
//
// // 查询我所有的日订单数据
// AppletOrderItemDate date = new AppletOrderItemDate();
// date.setUserId(dateVo.getUserId());
// date.setStatus(dateVo.getStatus());
// List<AppletOrderItemDate> addressList = appletOrderItemDateService.selectAppletOrderItemDateList(date);
//
// // 用于存储按日期分组的订单
// Map<String, List<AppletOrderItemDate>> dateToOrdersMap = new HashMap<>();
//
// for (AppletOrderItemDate dateItem : addressList) {
// String serviceDate = dateItem.getServiceDate();
// dateToOrdersMap.computeIfAbsent(serviceDate, k -> new ArrayList<>()).add(dateItem);
// }
//
// List<AppletOrderDateVoReturn> dateVoReturnList = new ArrayList<>();
//
// // 遍历每个日期
// for (Map.Entry<String, List<AppletOrderItemDate>> entry : dateToOrdersMap.entrySet()) {
// String serviceDate = entry.getKey();
// List<AppletOrderItemDate> ordersForDate = entry.getValue();
//
// // 创建一个合并的订单对象
// AppletOrderDateVoReturn dateVoReturn = new AppletOrderDateVoReturn();
// dateVoReturn.setServiceDate(serviceDate);
//
// // 合并订单的地址信息假设所有订单地址相同或者选择第一个订单的地址
// if (!ordersForDate.isEmpty()) {
// AppletOrderItemDate firstOrder = ordersForDate.get(0);
// AppletOrderDateAddressReturn orderDetails = new AppletOrderDateAddressReturn(
// firstOrder.getOrderId(),
// firstOrder.getCityAddress(),
// firstOrder.getAddress()
// );
//
// List<AppletOrderDateAddressReturn> orderDetailsList = new ArrayList<>();
// orderDetailsList.add(orderDetails);
//
// dateVoReturn.setOrderList(orderDetailsList);
// dateVoReturn.setNum(ordersForDate.size()); // 设置订单数量
//
// // 设置订单项
// List<AppletOrderItemDate> appletOrderItemDates = new ArrayList<>();
// for (AppletOrderItemDate orderItemDate : ordersForDate) {
// AppletOrderItemDate itemDate = new AppletOrderItemDate();
// itemDate.setOrderId(orderItemDate.getOrderId());
// itemDate.setServiceDate(serviceDate);
//
// // 查询订单项信息
// QueryWrapper<OrderItem> orderItemQw = new QueryWrapper<>();
// orderItemQw.eq("order_service_id", itemDate.getOrderServiceId());
// List<OrderItem> orderItemList = orderItemMapper.selectList(orderItemQw);
// itemDate.setOrderItemList(orderItemList);
//
// OmsOrderService omsOrderService = omsOrderServiceMapper.selectById(itemDate.getOrderServiceId());
// omsOrderService.setPetVo(h5PetService.selectPetById(omsOrderService.getPetId()));
// itemDate.setOrderServiceList(omsOrderService);
//
// appletOrderItemDates.add(itemDate);
// }
//
// orderDetails.setAppletOrderItemDate(appletOrderItemDates);
// }
//
// // 添加合并后的订单到结果列表
// dateVoReturnList.add(dateVoReturn);
// }
//
// return AjaxResult.success("日订单数据", dateVoReturnList);
// }


+ 1
- 1
ruoyi-catdog/src/main/java/com/ruoyi/applet/contoller/ApiMallUserTeacherController.java View File

@ -122,7 +122,7 @@ public class ApiMallUserTeacherController extends BaseController {
//如果距离在3-15公里内
if (distance >= 3 && distance <= 100) {
if (distance <= 100) {
// 检查appUsers1是否已经存在于appUsersListNew中
if (!appUsersListNew.contains(appUsers1)) {
appUsers1.setDistance(distance);


+ 4
- 1
ruoyi-catdog/src/main/java/com/ruoyi/model/controller/AppletUsersTeacherController.java View File

@ -51,7 +51,10 @@ public class AppletUsersTeacherController extends BaseController
//获取用户信息
for (AppletUsersTeacher teacher : list) {
AppUsers appUsers = appUsersService.selectAppUsersByUserId(teacher.getUserId());
teacher.setUserName(appUsers.getUserName());
if(appUsers != null){
teacher.setUserName(appUsers.getUserName());
}
}
return getDataTable(list);
}


Loading…
Cancel
Save