管理端支持下载结算单账单
This commit is contained in:
parent
9e3b9c8f38
commit
178544fe2d
@ -30,6 +30,10 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
@ -37,9 +41,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 结算单业务层实现
|
||||
@ -217,8 +221,61 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
||||
@Override
|
||||
public void download(HttpServletResponse response, String id) {
|
||||
|
||||
|
||||
Bill bill = this.getById(id);
|
||||
ExcelWriter writer = ExcelUtil.getWriterWithSheet("入账订单");
|
||||
//创建Excel工作薄对象
|
||||
ExcelWriter writer = ExcelUtil.getWriterWithSheet("店铺结算单");
|
||||
writer.setSheet("店铺结算单");
|
||||
Map<String,Object> map=new LinkedHashMap<>();
|
||||
map.put("创建时间",DateUtil.format(bill.getCreateTime(), "yyyy-MM-dd"));
|
||||
writer.setColumnWidth(0, 15);
|
||||
map.put("账单号",bill.getSn());
|
||||
writer.setColumnWidth(1, 30);
|
||||
map.put("结算开始时间",DateUtil.format(bill.getStartTime(), "yyyy-MM-dd"));
|
||||
writer.setColumnWidth(2, 15);
|
||||
map.put("结算结束时间",DateUtil.format(bill.getEndTime(), "yyyy-MM-dd"));
|
||||
writer.setColumnWidth(3, 15);
|
||||
map.put("账单状态",BillStatusEnum.valueOf(bill.getBillStatus()).description());
|
||||
map.put("店铺名称",bill.getStoreName());
|
||||
writer.setColumnWidth(5, 15);
|
||||
map.put("平台付款时间",DateUtil.format(bill.getPayTime(), "yyyy-MM-dd"));
|
||||
writer.setColumnWidth(6, 15);
|
||||
map.put("银行开户名",bill.getBankAccountName());
|
||||
writer.setColumnWidth(7, 15);
|
||||
map.put("银行账号",bill.getBankAccountNumber());
|
||||
writer.setColumnWidth(8, 15);
|
||||
map.put("开户行",bill.getBankName());
|
||||
writer.setColumnWidth(9, 15);
|
||||
map.put("联行号",bill.getBankCode());
|
||||
map.put("订单金额",bill.getOrderPrice());
|
||||
map.put("退单金额",bill.getRefundPrice());
|
||||
map.put("平台收取服务费",bill.getCommissionPrice());
|
||||
writer.setColumnWidth(13, 15);
|
||||
map.put("退单退回平台服务费",bill.getRefundCommissionPrice());
|
||||
writer.setColumnWidth(14, 25);
|
||||
map.put("分销佣金",bill.getDistributionCommission());
|
||||
map.put("退单退还分销佣金",bill.getDistributionRefundCommission());
|
||||
writer.setColumnWidth(16, 20);
|
||||
map.put("平台优惠券补贴",bill.getSiteCouponCommission());
|
||||
writer.setColumnWidth(17, 15);
|
||||
map.put("退单退回平台优惠券补贴",bill.getSiteCouponRefundCommission());
|
||||
writer.setColumnWidth(18, 25);
|
||||
map.put("积分商品补贴",bill.getSiteCouponCommission());
|
||||
writer.setColumnWidth(19, 15);
|
||||
map.put("积分商品补贴",bill.getPointSettlementPrice());
|
||||
writer.setColumnWidth(20, 15);
|
||||
map.put("退单退回积分商品补贴",bill.getPointRefundSettlementPrice());
|
||||
writer.setColumnWidth(21, 25);
|
||||
map.put("砍价商品补贴",bill.getKanjiaSettlementPrice());
|
||||
writer.setColumnWidth(22, 15);
|
||||
map.put("退单退回砍价补贴",bill.getKanjiaRefundSettlementPrice());
|
||||
writer.setColumnWidth(23, 25);
|
||||
map.put("最终结算金额",bill.getBillPrice());
|
||||
writer.setColumnWidth(24, 15);
|
||||
writer.writeRow(map,true);
|
||||
|
||||
|
||||
|
||||
writer.setSheet("入账订单");
|
||||
writer.addHeaderAlias("createTime", "入账时间");
|
||||
writer.setColumnWidth(0, 20);
|
||||
@ -241,7 +298,6 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
||||
writer.addHeaderAlias("billPrice", "应结金额");
|
||||
writer.setColumnWidth(11, 20);
|
||||
|
||||
|
||||
List<StoreFlowPayDownloadVO> storeFlowList = storeFlowService.getStoreFlowPayDownloadVO(StoreFlowQueryDTO.builder().type(FlowTypeEnum.PAY.name()).bill(bill).build());
|
||||
writer.write(storeFlowList, true);
|
||||
|
||||
@ -256,7 +312,7 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
||||
writer.setColumnWidth(3, 20);
|
||||
writer.addHeaderAlias("goodsName", "商品名称");
|
||||
writer.setColumnWidth(4, 70);
|
||||
writer.addHeaderAlias("num", "销售量");
|
||||
writer.addHeaderAlias("num", "退款量");
|
||||
writer.addHeaderAlias("finalPrice", "退款金额");
|
||||
writer.addHeaderAlias("commissionPrice", "平台分佣");
|
||||
writer.addHeaderAlias("siteCouponPrice", "平台优惠券");
|
||||
@ -269,23 +325,26 @@ public class BillServiceImpl extends ServiceImpl<BillMapper, Bill> implements Bi
|
||||
writer.addHeaderAlias("billPrice", "结算金额");
|
||||
writer.setColumnWidth(12, 20);
|
||||
|
||||
|
||||
List<StoreFlowRefundDownloadVO> storeFlowRefundDownloadVOList = storeFlowService.getStoreFlowRefundDownloadVO(StoreFlowQueryDTO.builder().type(FlowTypeEnum.REFUND.name()).bill(bill).build());
|
||||
writer.write(storeFlowRefundDownloadVOList, true);
|
||||
|
||||
ServletOutputStream out = null;
|
||||
try {
|
||||
writer.setOnlyAlias(true);
|
||||
|
||||
//设置公共属性,列表名称
|
||||
response.setContentType("application/vnd.ms-excel;charset=utf-8");
|
||||
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(bill.getStoreName() + "-" + bill.getSn(), "UTF8") + ".xls");
|
||||
response.setHeader("Content-Disposition", URLEncoder.encode("店铺结算单详情", "UTF8") + ".xls");
|
||||
out = response.getOutputStream();
|
||||
writer.flush(out, true);
|
||||
} catch (Exception e) {
|
||||
log.error("下载结算单错误", e);
|
||||
log.error("下载列表错误", e);
|
||||
} finally {
|
||||
writer.close();
|
||||
IoUtil.close(out);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
package cn.lili.controller.store;
|
||||
|
||||
import cn.lili.common.context.ThreadContextHolder;
|
||||
import cn.lili.common.enums.ResultUtil;
|
||||
import cn.lili.common.security.OperationalJudgment;
|
||||
import cn.lili.common.vo.PageVO;
|
||||
import cn.lili.common.vo.ResultMessage;
|
||||
import cn.lili.modules.order.order.entity.dos.StoreFlow;
|
||||
@ -17,6 +19,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
@ -66,4 +69,15 @@ public class BillManagerController {
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
@ApiOperation(value = "下载结算单", produces = "application/octet-stream")
|
||||
@ApiImplicitParam(name = "id", value = "结算单ID", required = true, paramType = "path", dataType = "String")
|
||||
@GetMapping(value = "/downLoad/{id}")
|
||||
public void downLoadDeliverExcel(@PathVariable String id) {
|
||||
OperationalJudgment.judgment(billService.getById(id));
|
||||
HttpServletResponse response = ThreadContextHolder.getHttpResponse();
|
||||
billService.download(response, id);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user