订单详情 携带 分类Id

This commit is contained in:
wangw 2025-03-07 18:29:12 +08:00
parent ae0a0e5145
commit 42f8338266
10 changed files with 104 additions and 5 deletions

View File

@ -6,6 +6,7 @@ import com.czg.order.dto.OrderInfoQueryDTO;
import com.czg.order.dto.OrderInfoRefundDTO;
import com.czg.order.entity.OrderInfo;
import com.czg.order.service.OrderInfoService;
import com.czg.order.vo.HistoryOrderPrintVo;
import com.czg.order.vo.HistoryOrderVo;
import com.czg.order.vo.OrderInfoVo;
import com.czg.resp.CzgResult;
@ -49,6 +50,11 @@ public class AdminOrderController {
return orderInfoService.getOrderDetails(orderId);
}
@GetMapping("/getOrderByIdPrint")
public CzgResult<HistoryOrderPrintVo> getOrderByIdPrint(Long orderId) {
return orderInfoService.getOrderByIdPrint(orderId);
}
@GetMapping("/historyOrder")
public CzgResult<HistoryOrderVo> historyOrder(
@RequestParam(required = false) Long orderId,
@ -65,6 +71,16 @@ public class AdminOrderController {
return CzgResult.success(orderInfoService.createOrder(addDto));
}
// /**
// * 合单
// * @param refundDTO
// * @return
// */
// @PostMapping("/mergeOrder")
// public CzgResult<Object> mergeOrder(@Validated @RequestBody OrderInfoRefundDTO refundDTO) {
//
// }
/**
* 订单全额退款 只传订单id
* 部分退款 传参refundDetail

View File

@ -1,5 +1,6 @@
package com.czg.order.service;
import com.czg.order.vo.OrderDetailPrintVo;
import com.mybatisflex.core.service.IService;
import com.czg.order.entity.OrderDetail;
@ -14,5 +15,5 @@ import java.util.List;
public interface OrderDetailService extends IService<OrderDetail> {
void createOrderDetails(Long orderId, List<OrderDetail> orderDetails);
List<OrderDetailPrintVo> getOrderDetailPrint(Long orderId);
}

View File

@ -5,6 +5,7 @@ import com.czg.order.dto.*;
import com.czg.order.entity.OrderDetail;
import com.czg.order.entity.OrderInfo;
import com.czg.order.enums.PayEnums;
import com.czg.order.vo.HistoryOrderPrintVo;
import com.czg.order.vo.HistoryOrderVo;
import com.czg.order.vo.OrderInfoVo;
import com.czg.resp.CzgResult;
@ -29,6 +30,7 @@ public interface OrderInfoService extends IService<OrderInfo> {
Page<OrderInfoVo> getOrderByPage(OrderInfoQueryDTO param);
CzgResult<HistoryOrderVo> getOrderDetails(Long orderId);
CzgResult<HistoryOrderPrintVo> getOrderByIdPrint(Long orderId);
HistoryOrderVo historyOrder(Long orderId, String tableCode);

View File

@ -0,0 +1,18 @@
package com.czg.order.vo;
import com.czg.order.entity.OrderInfo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
import java.util.Map;
/**
* @author ww
* @description
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class HistoryOrderPrintVo extends OrderInfo {
private Map<String, List<OrderDetailPrintVo>> detailMap;
}

View File

@ -0,0 +1,28 @@
package com.czg.order.vo;
import com.czg.order.entity.OrderDetail;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serial;
import java.io.Serializable;
/**
* 订单详情 实体类
*
* @author ww
* @since 2025-02-14
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderDetailPrintVo extends OrderDetail implements Serializable{
@Serial
private static final long serialVersionUID = 1L;
private Long categoryId;
}

View File

@ -1,5 +1,6 @@
package com.czg.service.order.mapper;
import com.czg.order.vo.OrderDetailPrintVo;
import com.mybatisflex.core.BaseMapper;
import com.czg.order.entity.OrderDetail;
import org.apache.ibatis.annotations.Param;
@ -14,4 +15,7 @@ import java.util.List;
*/
public interface OrderDetailMapper extends BaseMapper<OrderDetail> {
void createOrderDetails(@Param("orderId") Long orderId,@Param("orderDetails") List<OrderDetail> orderDetails);
List<OrderDetailPrintVo> getOrderDetailPrint(Long orderId);
}

View File

@ -3,6 +3,7 @@ package com.czg.service.order.mapper;
import com.czg.account.vo.HandoverCategoryListVo;
import com.czg.account.vo.HandoverProductListVo;
import com.czg.order.entity.OrderInfo;
import com.czg.order.vo.OrderDetailPrintVo;
import com.mybatisflex.core.BaseMapper;
import java.math.BigDecimal;

View File

@ -2,6 +2,7 @@ package com.czg.service.order.service.impl;
import com.czg.order.entity.OrderDetail;
import com.czg.order.service.OrderDetailService;
import com.czg.order.vo.OrderDetailPrintVo;
import com.czg.service.order.mapper.OrderDetailMapper;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import org.apache.dubbo.config.annotation.DubboService;
@ -15,10 +16,15 @@ import java.util.List;
* @since 2025-02-13
*/
@DubboService
public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetail> implements OrderDetailService{
public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetail> implements OrderDetailService {
@Override
public void createOrderDetails(Long orderId, List<OrderDetail> orderDetails) {
getMapper().createOrderDetails(orderId, orderDetails);
}
@Override
public List<OrderDetailPrintVo> getOrderDetailPrint(Long orderId) {
return getMapper().getOrderDetailPrint(orderId);
}
}

View File

@ -26,9 +26,7 @@ import com.czg.order.service.CashierCartService;
import com.czg.order.service.OrderDetailService;
import com.czg.order.service.OrderInfoService;
import com.czg.order.service.OrderPaymentService;
import com.czg.order.vo.HistoryOrderVo;
import com.czg.order.vo.OrderDetailSmallVO;
import com.czg.order.vo.OrderInfoVo;
import com.czg.order.vo.*;
import com.czg.resp.CzgResult;
import com.czg.service.RedisService;
import com.czg.service.order.enums.OrderStatusEnums;
@ -36,6 +34,7 @@ import com.czg.service.order.mapper.OrderInfoMapper;
import com.czg.utils.AssertUtil;
import com.czg.utils.CzgStrUtils;
import com.czg.utils.PageUtil;
import com.mybatisflex.core.BaseMapper;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.update.UpdateChain;
@ -134,6 +133,24 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
return CzgResult.success(historyOrder(orderId, null));
}
@Override
public CzgResult<HistoryOrderPrintVo> getOrderByIdPrint(Long orderId) {
HistoryOrderPrintVo historyOrderVo = getOneAs(new QueryWrapper()
.eq(OrderInfo::getId, orderId), HistoryOrderPrintVo.class);
List<OrderDetailPrintVo> orderDetails = orderDetailService.getOrderDetailPrint(orderId);
Map<String, List<OrderDetailPrintVo>> resultMap = new HashMap<>();
// 遍历订单详情列表
for (OrderDetailPrintVo orderDetail : orderDetails) {
orderDetail.initGift();
// 获取当前订单详情的 placeNum
Integer placeNum = orderDetail.getPlaceNum();
// 检查 Map 中是否已经存在该 placeNum 对应的列表
resultMap.computeIfAbsent(placeNum.toString(), k -> new ArrayList<>()).add(orderDetail);
}
historyOrderVo.setDetailMap(resultMap);
return CzgResult.success(historyOrderVo);
}
@Override
public HistoryOrderVo historyOrder(Long orderId, String tableCode) {
if (orderId == null && StrUtil.isBlank(tableCode)) {

View File

@ -22,4 +22,10 @@
now(), now())
</foreach>
</insert>
<select id="getOrderDetailPrint" resultType="com.czg.order.vo.OrderDetailPrintVo">
select detail.*, product.category_id as categoryId
from tb_order_detail detail
left join tb_product product on product.id = detail.product_id
where order_id = #{orderId}
</select>
</mapper>