MrShi
2025-09-15 856f526f823f5dad88c28657d82f971ff66afb1e
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
@@ -10,11 +10,14 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.model.Goodsorder;
import com.doumee.dao.business.model.WxBillDetail;
import com.doumee.dao.business.vo.BikeIncomeReportVO;
import com.doumee.dao.business.vo.DiscountGoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderExportVO;
import com.doumee.dao.business.vo.GoodsorderTotalDataVO;
import com.doumee.dao.business.web.request.GoodsorderBackDTO;
import com.doumee.dao.business.web.request.GoodsorderCanBanlanceDTO;
import com.doumee.dao.business.web.response.GoodsorderDetailDTO;
import com.doumee.dao.business.web.response.GoodsorderDetailVO;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.GoodsorderService;
import com.doumee.service.business.RefundService;
@@ -22,13 +25,16 @@
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.checkerframework.checker.units.qual.C;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
/**
 * @author 江蹄蹄
@@ -89,6 +95,8 @@
    public ApiResponse<PageData<Goodsorder>> findPage (@RequestBody PageWrap<Goodsorder> pageWrap) {
        return ApiResponse.success(goodsorderService.findPage(pageWrap));
    }
    @ApiOperation("线上交易汇总数据接口")
    @PostMapping("/getTotalData")
    @RequiresPermissions("business:goodsorder:query")
@@ -98,19 +106,41 @@
        return ApiResponse.success(goodsorderService.getTotalData(pageWrap));
    }
    @ApiOperation("订单列表-导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:goodsorder:exportExcel")
    public void exportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(Goodsorder.class).exportWithFirstAndEnd(goodsorderService.findPage(pageWrap).getRecords(), "订单列表_"+System.currentTimeMillis(),"订单列表_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
    }
    @ApiOperation("套餐卡订单列表-导出Excel")
    @PostMapping("/discountExportExcel")
    @RequiresPermissions("business:goodsorder:exportExcel")
    public void discountExportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
        List<Goodsorder> goodsorders = goodsorderService.findPage(pageWrap).getRecords();
        List<DiscountGoodsorderExportVO> discountGoodsorderExportVOList = new ArrayList<>();
        for (Goodsorder goodsorder:goodsorders) {
            DiscountGoodsorderExportVO discountGoodsorderExportVO = new DiscountGoodsorderExportVO();
            BeanUtils.copyProperties(goodsorder,discountGoodsorderExportVO);
            discountGoodsorderExportVO.setPayMoney(discountGoodsorderExportVO.getMoney());
            discountGoodsorderExportVO.setOrigin(Constants.ZERO);
            discountGoodsorderExportVOList.add(discountGoodsorderExportVO);
        }
        ExcelExporter.build(DiscountGoodsorderExportVO.class).exportWithFirstAndEnd(discountGoodsorderExportVOList, "订单列表_"+System.currentTimeMillis(),"订单列表_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
    }
    @ApiOperation("收款明细(微信对账明细)_分页查询")
    @PostMapping("/pageAccountDetail")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<PageData<GoodsorderExportVO>> findPageAccountDetail(@RequestBody PageWrap<Goodsorder> pageWrap) {
            return ApiResponse.success(goodsorderService.findAccountDetailPage(pageWrap));
    }
    @ApiOperation("收款明细(微信对账明细)_导出Excel")
    @PostMapping("/exportAccountDetailExcel")
    @RequiresPermissions("business:goodsorder:exportExcel")
@@ -124,6 +154,12 @@
        return ApiResponse.success(goodsorderService.getGoodsorderDetailDTO(id));
    }
    @ApiOperation("订单详情-套餐卡")
    @GetMapping("/discountOrderDetail")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<GoodsorderDetailVO> discountOrderDetail(@RequestParam String id) {
        return ApiResponse.success(goodsorderService.getGoodsorderDetailForDisCount(id));
    }
    /**
     * 强制结算订单
@@ -143,7 +179,10 @@
    @PostMapping("/backGoodsorder")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse backGoodsorder(@RequestBody GoodsorderBackDTO goodsorderBackDTO){
        goodsorderService.backGoodsorder(goodsorderBackDTO.getOrderId(),goodsorderBackDTO.getMoney(),goodsorderBackDTO.getReason());
        if(Objects.nonNull(goodsorderBackDTO) && Objects.isNull(goodsorderBackDTO.getBackType())){
            goodsorderBackDTO.setBackType(Constants.ONE);
        }
        goodsorderService.backGoodsorder(goodsorderBackDTO);
        return ApiResponse.success(null);
    }
@@ -153,4 +192,19 @@
    public ApiResponse<GoodsorderCanBanlanceDTO> getGoodsorderCanBanlanceDTO(@RequestParam String orderId){
        return ApiResponse.success(goodsorderService.getGoodsorderCanBanlanceDTO(orderId));
    }
    @ApiOperation("车型收入分析")
    @PostMapping("/getBikeIncomeReportVOList")
    public ApiResponse<List<List<String>>> getBikeIncomeReportVOList (@RequestBody Goodsorder goodsorder) {
        return ApiResponse.success(goodsorderService.getBikeIncomeReportVOList(goodsorder.getStartDate(),goodsorder.getEndDate()));
    }
    @ApiOperation("车型收入分析-导出Excel")
    @PostMapping("/bikeIncomeExportExcel")
    public void exportExcel (@RequestBody Goodsorder goodsorder, HttpServletResponse response) {
        goodsorderService.excel(goodsorder.getStartDate(),goodsorder.getEndDate(),response);
    }
}