This commit is contained in:
wuchunlei
2026-01-22 18:25:45 +08:00
parent 389139043b
commit 75706dbaa9

View File

@@ -35,8 +35,6 @@ public class StatisticsController {
@Autowired @Autowired
private ITCustomerApplyBuyService customerApplyBuyService; private ITCustomerApplyBuyService customerApplyBuyService;
@Autowired @Autowired
private IUserVipLogService userVipLogService;
@Autowired
private ITCustomerApplyCurriculumService customerApplyCurriculumService; private ITCustomerApplyCurriculumService customerApplyCurriculumService;
@Autowired @Autowired
private ITCustomerTaihuClassService customerTaihuClassService; private ITCustomerTaihuClassService customerTaihuClassService;
@@ -51,7 +49,7 @@ public class StatisticsController {
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
//收入 //收入
List<Map<String,Object>> incomes = ordersService.listMaps(new MPJLambdaWrapper<Orders>() List<Map<String,Object>> incomes = ordersService.listMaps(new MPJLambdaWrapper<Orders>()
.rightJoin(PaymentToOrder.class,PaymentToOrder::getOrderId,Orders::getId) .leftJoin(PaymentToOrder.class,PaymentToOrder::getOrderId,Orders::getId)
.leftJoin(Payment.class,Payment::getId,PaymentToOrder::getPaymentId) .leftJoin(Payment.class,Payment::getId,PaymentToOrder::getPaymentId)
.eq(Orders::getType,0) .eq(Orders::getType,0)
.apply("DATE_FORMAT(t.order_time, '%Y-%m') = '"+params.get("year")+"-"+params.get("month")+"'") .apply("DATE_FORMAT(t.order_time, '%Y-%m') = '"+params.get("year")+"-"+params.get("month")+"'")
@@ -118,10 +116,13 @@ public class StatisticsController {
@RequestMapping("/pointInfoExport") @RequestMapping("/pointInfoExport")
public R pointInfoExport(HttpServletResponse response,@RequestBody Map<String,Object> params){ public R pointInfoExport(HttpServletResponse response,@RequestBody Map<String,Object> params){
List<Map<String,Object>> coinInfoList = ordersService.listMaps(new MPJLambdaWrapper<Orders>() List<Map<String,Object>> coinInfoList = ordersService.listMaps(new MPJLambdaWrapper<Orders>()
.leftJoin(PaymentToOrder.class,PaymentToOrder::getOrderId,Orders::getId)
.leftJoin(Payment.class,Payment::getId,PaymentToOrder::getPaymentId)
.eq(Orders::getUseFlag,1).and(t->t.eq(Orders::getType,0).or().eq(Orders::getPayType,1)) .eq(Orders::getUseFlag,1).and(t->t.eq(Orders::getType,0).or().eq(Orders::getPayType,1))
.apply("DATE_FORMAT(t.order_time, '%Y-%m') = '"+params.get("year")+"-"+params.get("month")+"'") .apply("DATE_FORMAT(t.order_time, '%Y-%m') = '"+params.get("year")+"-"+params.get("month")+"'")
.select("DATE_FORMAT(order_time, '%Y-%m-%d %H:%i:%s') orderTime,if(source=0,'一路健康',if(source=1,'吴门医述','管理员')) source," + .select("DATE_FORMAT(t.order_time, '%Y-%m-%d %H:%i:%s') orderTime,if(t.source=0,'一路健康',if(t.source=1,'吴门医述','管理员')) source," +
"if(type=0,'充值',IF(type=1,'vip',IF(type=2,'课程',IF(type=3,'实物','培训班')))) type,tel,order_sn,fee") "if(t.type=0,'充值',IF(t.type=1,'vip',IF(t.type=2,'课程',IF(t.type=3,'实物','培训班')))) type," +
"IF(t2.type=0,'微信',IF(t2.type=1,'支付宝','银行')) payType,t.tel,t.order_sn,t.fee")
.orderByAsc(Orders::getOrderTime)); .orderByAsc(Orders::getOrderTime));
String fileName = params.get("year")+""+params.get("month")+"天医币明细"; String fileName = params.get("year")+""+params.get("month")+"天医币明细";
XSSFWorkbook wb = new XSSFWorkbook(); XSSFWorkbook wb = new XSSFWorkbook();
@@ -129,19 +130,21 @@ public class StatisticsController {
Row titleRow = sheet.createRow(0); Row titleRow = sheet.createRow(0);
titleRow.createCell(0).setCellValue("时间"); titleRow.createCell(0).setCellValue("时间");
titleRow.createCell(1).setCellValue("来源"); titleRow.createCell(1).setCellValue("来源");
titleRow.createCell(2).setCellValue("类型"); titleRow.createCell(2).setCellValue("支付方式");
titleRow.createCell(3).setCellValue("电话"); titleRow.createCell(3).setCellValue("类型");
titleRow.createCell(4).setCellValue("订单号"); titleRow.createCell(4).setCellValue("电话");
titleRow.createCell(5).setCellValue("金额"); titleRow.createCell(5).setCellValue("订单号");
titleRow.createCell(6).setCellValue("金额");
int cell = 1; int cell = 1;
for (Map<String,Object> map : coinInfoList) { for (Map<String,Object> map : coinInfoList) {
Row row = sheet.createRow(cell); Row row = sheet.createRow(cell);
row.createCell(0).setCellValue(map.get("orderTime").toString()); row.createCell(0).setCellValue(map.get("orderTime").toString());
row.createCell(1).setCellValue(map.get("source").toString()); row.createCell(1).setCellValue(map.get("source").toString());
row.createCell(2).setCellValue(map.get("type").toString()); row.createCell(2).setCellValue(map.get("payType").toString());
row.createCell(3).setCellValue(map.get("tel").toString()); row.createCell(3).setCellValue(map.get("type").toString());
row.createCell(4).setCellValue(map.get("order_sn").toString()); row.createCell(4).setCellValue(map.get("tel").toString());
row.createCell(5).setCellValue(map.get("fee").toString()); row.createCell(5).setCellValue(map.get("order_sn").toString());
row.createCell(6).setCellValue(map.get("fee").toString());
//序号自增 //序号自增
cell++; cell++;
} }
@@ -447,7 +450,7 @@ public class StatisticsController {
.select("SUBSTRING(description, LOCATE('KC', description), 16) description,oid,DATE_FORMAT(startDate, '%Y-%m-%d') startDate,studyDays")) .select("SUBSTRING(description, LOCATE('KC', description), 16) description,oid,DATE_FORMAT(startDate, '%Y-%m-%d') startDate,studyDays"))
.stream().collect(Collectors.toMap(m -> m.get("description").toString()+"-"+m.get("oid").toString(), m -> m)); .stream().collect(Collectors.toMap(m -> m.get("description").toString()+"-"+m.get("oid").toString(), m -> m));
//吴门医述订单课程 //吴门医述订单课程
List<String> wumenOrderIds = courseOrders.stream().filter(o -> o.get("source").equals("一路健康")) List<String> wumenOrderIds = courseOrders.stream().filter(o -> o.get("source").equals("吴门医述"))
.map(map->map.get("orderOldId").toString()).collect(Collectors.toList()); .map(map->map.get("orderOldId").toString()).collect(Collectors.toList());
List<Map<String,Object>> buyOrdersList = buyOrderService.listMaps(new MPJLambdaWrapper<BuyOrder>() List<Map<String,Object>> buyOrdersList = buyOrderService.listMaps(new MPJLambdaWrapper<BuyOrder>()
.leftJoin("user_course_buy_log t1 on (t1.order_sn = t.order_sn )") .leftJoin("user_course_buy_log t1 on (t1.order_sn = t.order_sn )")
@@ -534,7 +537,6 @@ public class StatisticsController {
} }
} }
for (Map<String,Object> map:result) { for (Map<String,Object> map:result) {
map.put("vipType", "1");
map.put("now", BigDecimal.ZERO); map.put("now", BigDecimal.ZERO);
map.put("already", BigDecimal.ZERO); map.put("already", BigDecimal.ZERO);
map.put("notyet", BigDecimal.ZERO); map.put("notyet", BigDecimal.ZERO);
@@ -599,12 +601,11 @@ public class StatisticsController {
titleRow.createCell(4).setCellValue("订单号"); titleRow.createCell(4).setCellValue("订单号");
titleRow.createCell(5).setCellValue("缴费金额"); titleRow.createCell(5).setCellValue("缴费金额");
titleRow.createCell(6).setCellValue("金额"); titleRow.createCell(6).setCellValue("金额");
titleRow.createCell(7).setCellValue("VIP类型"); titleRow.createCell(7).setCellValue("开始时间");
titleRow.createCell(8).setCellValue("开始时间"); titleRow.createCell(8).setCellValue("结束时间");
titleRow.createCell(9).setCellValue("结束时间"); titleRow.createCell(9).setCellValue("已摊销");
titleRow.createCell(10).setCellValue("摊销"); titleRow.createCell(10).setCellValue("当前摊销");
titleRow.createCell(11).setCellValue("当前摊销"); titleRow.createCell(11).setCellValue("剩余摊销");
titleRow.createCell(12).setCellValue("剩余摊销");
int cell = 1; int cell = 1;
for (Map<String,Object> map : result) { for (Map<String,Object> map : result) {
Row row = sheet.createRow(cell); Row row = sheet.createRow(cell);
@@ -615,12 +616,11 @@ public class StatisticsController {
row.createCell(4).setCellValue(map.get("order_sn").toString()); row.createCell(4).setCellValue(map.get("order_sn").toString());
row.createCell(5).setCellValue(map.get("realMoney").toString()); row.createCell(5).setCellValue(map.get("realMoney").toString());
row.createCell(6).setCellValue(map.get("fee").toString()); row.createCell(6).setCellValue(map.get("fee").toString());
row.createCell(7).setCellValue(map.get("vipType").toString()); row.createCell(7).setCellValue(map.get("startTime")==null?"":map.get("startTime").toString());
row.createCell(8).setCellValue(map.get("startTime")==null?"":map.get("startTime").toString()); row.createCell(8).setCellValue(map.get("endTime")==null?"":map.get("endTime").toString());
row.createCell(9).setCellValue(map.get("endTime")==null?"":map.get("endTime").toString()); row.createCell(9).setCellValue(map.get("already").toString());
row.createCell(10).setCellValue(map.get("already").toString()); row.createCell(10).setCellValue(map.get("now").toString());
row.createCell(11).setCellValue(map.get("now").toString()); row.createCell(11).setCellValue(map.get("notyet").toString());
row.createCell(12).setCellValue(map.get("notyet").toString());
//序号自增 //序号自增
cell++; cell++;
} }
@@ -663,7 +663,7 @@ public class StatisticsController {
.select("SUBSTRING(description, LOCATE('KC', description), 16) description,oid,DATE_FORMAT(startDate, '%Y-%m-%d') startDate,studyDays")) .select("SUBSTRING(description, LOCATE('KC', description), 16) description,oid,DATE_FORMAT(startDate, '%Y-%m-%d') startDate,studyDays"))
.stream().collect(Collectors.toMap(m -> m.get("description").toString()+"-"+m.get("oid").toString(), m -> m)); .stream().collect(Collectors.toMap(m -> m.get("description").toString()+"-"+m.get("oid").toString(), m -> m));
//吴门医述订单课程 //吴门医述订单课程
List<String> wumenOrderIds = courseOrders.stream().filter(o -> o.get("source").equals("一路健康")) List<String> wumenOrderIds = courseOrders.stream().filter(o -> o.get("source").equals("吴门医述"))
.map(map->map.get("orderOldId").toString()).collect(Collectors.toList()); .map(map->map.get("orderOldId").toString()).collect(Collectors.toList());
List<Map<String,Object>> buyOrdersList = buyOrderService.listMaps(new MPJLambdaWrapper<BuyOrder>() List<Map<String,Object>> buyOrdersList = buyOrderService.listMaps(new MPJLambdaWrapper<BuyOrder>()
.leftJoin("user_course_buy_log t1 on (t1.order_sn = t.order_sn )") .leftJoin("user_course_buy_log t1 on (t1.order_sn = t.order_sn )")