订单详情 携带 分类Id

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

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>