package com.mes.order.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.order.entity.*;
import com.mes.order.entity.dto.OrderDTO;
import com.mes.order.mapper.OrderdetailMapper;
import com.mes.order.mapper.OrdersMapper;
import com.mes.order.service.OrdersService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
/**
*
* 服务实现类
*
*
* @author wu
* @since 2024-06-17
*/
@Service
@DS("sd")
@Slf4j
public class OrdersServiceImpl extends ServiceImpl implements OrdersService {
@Resource
private OrderdetailMapper orderdetailMapper;
@Override
public List selectOrders() {
//获取所有未完成的订单
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.ne("warehousing", "2");
return baseMapper.selectList(queryWrapper);
}
@Override
public List selectOrderdetail(Orders orders) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_id", orders.getOrderId());
return orderdetailMapper.selectList(queryWrapper);
}
@Override
public List selectOrderPercent() {
return baseMapper.selectOrderPercent();
}
@Override
public HollowOrderDTO queryOrderByFlowCardId(String flowCardId) {
return baseMapper.queryOrderByFlowCardId(flowCardId);
}
@Override
public List queryFlowCardIdMaxLayerGlassInfo(String flowCardId, int totalLayer) {
return baseMapper.queryFlowCardIdMaxLayerGlassInfo(flowCardId, totalLayer);
}
@Override
public List queryFlowCardIdLayerGlassInfo(String flowCardId, int totalLayer, int layer) {
return baseMapper.queryFlowCardIdLayerGlassInfo(flowCardId, totalLayer, layer);
}
@Override
@Cacheable(value = "orderDetails", key = "#flowCardId",unless = "#result == null")
public OrderDetailsDTO queryProductNameByFlowCardId(String flowCardId) {
log.info("查询数据库一次:{}", flowCardId);
return baseMapper.queryProductNameByFlowCardId(flowCardId);
}
}