package com.zhongzheng.controller.order; import cn.hutool.core.bean.BeanUtil; import com.alibaba.fastjson.JSON; import com.zhongzheng.common.annotation.Log; import com.zhongzheng.common.core.controller.BaseController; import com.zhongzheng.common.core.domain.AjaxResult; import com.zhongzheng.common.core.domain.model.LoginUser; import com.zhongzheng.common.core.domain.model.TopLoginUser; import com.zhongzheng.common.core.page.TableDataInfo; import com.zhongzheng.common.utils.DateUtils; import com.zhongzheng.common.utils.ServletUtils; import com.zhongzheng.common.utils.poi.EasyPoiUtil; import com.zhongzheng.common.utils.poi.ExcelUtil; import com.zhongzheng.modules.course.bo.CourseSectionBusinessAddBo; import com.zhongzheng.modules.course.vo.CourseChapterSectionImport; import com.zhongzheng.modules.distribution.bo.DistributionActivityPosterQueryBo; import com.zhongzheng.modules.distribution.vo.DistributionActivityPosterVo; import com.zhongzheng.modules.top.goods.bo.TopOldOrderAddBo; import com.zhongzheng.modules.top.goods.bo.TopOldOrderQueryBo; import com.zhongzheng.modules.top.goods.vo.TopOldOrderVo; import com.zhongzheng.modules.top.order.bo.*; import com.zhongzheng.modules.top.order.service.ITopOrderAcceptanceService; import com.zhongzheng.modules.top.order.vo.TopOrderAcceptanceStatisticsVo; import com.zhongzheng.modules.top.order.vo.TopOrderAcceptanceVo; import com.zhongzheng.modules.user.bo.UserImportAddBo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.util.Collections; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * 订单认款Controller * * @author ruoyi * @date 2023-04-20 */ @Api(value = "订单认款", tags = {"订单认款"}) @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/system/top/acceptance") public class TopOrderAcceptanceController extends BaseController { private final ITopOrderAcceptanceService iTopOrderAcceptanceService; /** * 查询认款列表 */ @ApiOperation("查询认款列表") @GetMapping("/list") public TableDataInfo list(TopOrderAcceptanceBo bo) { startPage(); List list = iTopOrderAcceptanceService.queryAcceptanceList(bo); return getDataTable(list); } /** * 查询认款统计 */ @ApiOperation("查询认款统计") @GetMapping("/statistics") public AjaxResult statistics() { TopOrderAcceptanceStatisticsVo vo = iTopOrderAcceptanceService.statistics(); return AjaxResult.success(vo); } /** * 认款订单列表 */ @ApiOperation("认款订单列表") @GetMapping("/order/list") public TableDataInfo getAcceptanceOrderList(TopAcceptanceOrderBo bo) { startPage(); List list = iTopOrderAcceptanceService.getAcceptanceOrderList(bo); return getDataTable(list); } /** * 认款关联订单列表 */ @ApiOperation("认款关联订单列表") @GetMapping("/order/rel/{acceptanceId}") public AjaxResult> getAcceptanceOrderRelList(@PathVariable("acceptanceId")Long acceptanceId) { List list = iTopOrderAcceptanceService.getAcceptanceOrderRelList(acceptanceId); return AjaxResult.success(list); } /** * 订单认款 */ @ApiOperation("订单认款") @PostMapping("/rel") public AjaxResult addOrderAcceptanceRel(@RequestBody TopOrderAcceptanceRelBo bo) { return toAjax(iTopOrderAcceptanceService.addOrderAcceptanceRel(bo) ? 1 : 0); } /** * 新增认款记录 */ @ApiOperation("新增认款记录") @PostMapping("/save") public AjaxResult add(@RequestBody TopOrderAcceptanceAddBo bo) { return toAjax(iTopOrderAcceptanceService.insertByAddBo(bo) ? 1 : 0); } /** * 删除认款记录 */ @ApiOperation("删除认款记录") @PostMapping("/delete") public AjaxResult add(@RequestBody TopOrderAcceptanceBo bo) { return toAjax(iTopOrderAcceptanceService.deleteByAddBo(bo) ? 1 : 0); } @ApiOperation("认款记录导入") @PostMapping("/importData") public AjaxResult importData(MultipartFile files) { ExcelUtil util = new ExcelUtil(TopOrderAcceptanceExportBo.class); List acceptanceExportBos; try { acceptanceExportBos = util.importExcel(files.getInputStream()); }catch (Exception e){ e.printStackTrace(); throw new IllegalArgumentException("模板格式不正确,请重新下载模板"); } return toAjax(iTopOrderAcceptanceService.importData(acceptanceExportBos)? 1 : 0); } /** * 导出【请填写功能名称】列表 */ @ApiOperation("认款记录导出") @GetMapping("/export") public AjaxResult export(TopOrderAcceptanceBo bo) { List list = iTopOrderAcceptanceService.queryAcceptanceList(bo); List collect = list.stream().map(item -> { TopOrderAcceptanceExportBo exportBo = BeanUtil.toBean(item, TopOrderAcceptanceExportBo.class); exportBo.setIncomeTimeStr(DateUtils.timestampToDateFormat(item.getIncomeTime(),"yyyy/MM/dd")); return exportBo; }).collect(Collectors.toList()); ExcelUtil util = new ExcelUtil(TopOrderAcceptanceExportBo.class); return util.exportExcel(collect, "认款记录表"); } }