xuhy
2024-09-13 b68348c51d17bee1952a2316d37da7775dac2dd8
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TOrderSaleController.java
@@ -11,6 +11,7 @@
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.domain.TOrderSale;
import com.ruoyi.system.domain.TOrderSaleGoods;
import com.ruoyi.system.dto.CheckoutDTO;
import com.ruoyi.system.dto.TOrderSaleDTO;
import com.ruoyi.system.export.TOrderMealExportExcel;
import com.ruoyi.system.export.TOrderSaleExportExcel;
@@ -25,6 +26,7 @@
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.servlet.ServletOutputStream;
@@ -34,6 +36,7 @@
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
 * <p>
@@ -82,6 +85,9 @@
    @GetMapping(value = "/getDetailById")
    public AjaxResult<TOrderSaleVO> getDetailById(@RequestParam(value = "id") Long id) {
        TOrderSale orderSale = orderSaleService.getById(id);
        if(Objects.isNull(orderSale)){
            return AjaxResult.error("未查询到销售单");
        }
        TOrderSaleVO orderSaleVO = new TOrderSaleVO();
        BeanUtils.copyProperties(orderSale, orderSaleVO);
        List<TOrderSaleGoods> list = orderSaleGoodsService.list(Wrappers.lambdaQuery(TOrderSaleGoods.class)
@@ -110,22 +116,41 @@
    }
    /**
     * 销售下单接口
     */
    @ApiOperation( value = "销售单修改接口")
    @PostMapping(value = "/edit")
    public AjaxResult<String> edit(@RequestBody TOrderSaleDTO dto) {
        orderSaleService.edit(dto);
        return AjaxResult.success();
    }
    @ApiOperation( value = "结账接口")
    @PostMapping(value = "/checkout")
    public AjaxResult<String> checkout(@Validated @RequestBody CheckoutDTO dto) {
        orderSaleService.checkout(dto);
        return AjaxResult.success();
    }
    /**
     * 导出销售列表
     */
    @ApiOperation(value = "导出销售列表")
    @PostMapping("/exportOrderSale")
    public void exportOrderSale(@RequestBody TOrderMealQuery query)
    {
        query.setShopId(tokenService.getLoginUser().getObjectId());
        List<TOrderSaleVO> list = orderSaleService.exportOrderSale(query);
        List<TOrderMealExportExcel> orderMeals = new ArrayList<>();
        List<TOrderSaleExportExcel> orderMeals = new ArrayList<>();
        for (TOrderSaleVO orderSaleVO : list) {
            TOrderSaleExportExcel orderSaleExportExcel = new TOrderSaleExportExcel();
            BeanUtils.copyProperties(orderSaleVO, orderSaleExportExcel);
            orderSaleExportExcel.setCreateStrTime(DateUtils.localDateTimeToString(orderSaleVO.getCreateTime()));
            orderSaleExportExcel.setGoodsAmount(orderSaleVO.getOrderSaleGoods().stream().map(TOrderSaleGoods::getThisSalePrice).reduce(BigDecimal::add).get());
            orderSaleExportExcel.setGoodsCount(orderSaleVO.getOrderSaleGoods().size());
            orderMeals.add(orderSaleExportExcel);
        }
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrderMealExportExcel.class, orderMeals);
        Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TOrderSaleExportExcel.class, orderMeals);
        HttpServletResponse response = WebUtils.response();
        response.setContentType("application/vnd.ms-excel");
        response.setCharacterEncoding("utf-8");