jiangping
2023-10-12 b1c1c20ef382dd2be0f6bdf81f5d2913e749faef
server/platform/src/main/java/com/doumee/api/business/GoodsorderController.java
@@ -1,11 +1,20 @@
package com.doumee.api.business;
import com.doumee.api.BaseController;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.constants.Constants;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
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.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.service.business.GoodsorderService;
import com.doumee.service.business.GoodsorderService;
import io.swagger.annotations.Api;
@@ -15,6 +24,7 @@
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@@ -25,7 +35,7 @@
@Api(tags = "订单信息表")
@RestController
@RequestMapping("/business/goodsorder")
public class GoodsorderController {
public class GoodsorderController extends BaseController {
    @Autowired
@@ -69,24 +79,72 @@
        return ApiResponse.success(null);
    }
    @ApiOperation("分页查询")
    @ApiOperation("订单列表-分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<PageData<Goodsorder>> findPage (@RequestBody PageWrap<Goodsorder> pageWrap) {
        return ApiResponse.success(goodsorderService.findPage(pageWrap));
    }
    @ApiOperation("线上交易汇总数据接口")
    @PostMapping("/getTotalData")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<GoodsorderTotalDataVO> getTotalData (@RequestBody Goodsorder pageWrap) {
        return ApiResponse.success(goodsorderService.getTotalData(pageWrap));
    }
    @ApiOperation("导出Excel")
    @ApiOperation("订单列表-导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:goodsorder:exportExcel")
    public void exportExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(Goodsorder.class).export(goodsorderService.findPage(pageWrap).getRecords(), "自行车信息表", response);
    }
        ExcelExporter.build(Goodsorder.class).exportWithFirstAndEnd(goodsorderService.findPage(pageWrap).getRecords(), "订单列表_"+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")
    public void exportAccountDetailExcel (@RequestBody PageWrap<Goodsorder> pageWrap, HttpServletResponse response) {
        ExcelExporter.build(GoodsorderExportVO.class).exportWithFirstAndEnd(goodsorderService.findExportAccountDetailPage(pageWrap.getModel()), "账单收款明细_"+System.currentTimeMillis(),"账单收款明细_"+ DateUtil.getPlusTime2(DateUtil.getCurrentDate()),null, response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse findById(@PathVariable String id) {
        return ApiResponse.success(goodsorderService.findById(id));
    public ApiResponse<GoodsorderDetailDTO> findById(@PathVariable String id) {
        return ApiResponse.success(goodsorderService.getGoodsorderDetailDTO(id));
    }
    /**
     * 强制结算订单
     * @param id
     * @return
     */
    @ApiOperation("强制结算订单")
    @PostMapping("/closerGoodsorder")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse closerGoodsorder(@RequestParam String id){
        goodsorderService.forceCloseGoodsorder(id);
        return ApiResponse.success(null);
    }
    @ApiOperation("退款")
    @PostMapping("/backGoodsorder")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse backGoodsorder(@RequestBody GoodsorderBackDTO goodsorderBackDTO){
        goodsorderService.backGoodsorder(goodsorderBackDTO.getOrderId(),goodsorderBackDTO.getMoney(),goodsorderBackDTO.getReason());
        return ApiResponse.success(null);
    }
    @ApiOperation("获取可退款信息")
    @PostMapping("/getGoodsorderCanBanlanceDTO")
    @RequiresPermissions("business:goodsorder:query")
    public ApiResponse<GoodsorderCanBanlanceDTO> getGoodsorderCanBanlanceDTO(@RequestParam String orderId){
        return ApiResponse.success(goodsorderService.getGoodsorderCanBanlanceDTO(orderId));
    }
}