UserDistributeOrdersStatisticsView.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package com.cyksj.model.views;
  2. import com.ejlchina.searcher.bean.DbField;
  3. import com.ejlchina.searcher.bean.SearchBean;
  4. import lombok.Getter;
  5. import lombok.Setter;
  6. import java.math.BigDecimal;
  7. /*
  8. *项目名: netflix
  9. *文件名: UserDistributeOrdersStatisticsView
  10. *创建者: JavaZou
  11. *创建时间:2023/5/15 11:32
  12. */
  13. @Getter
  14. @Setter
  15. @SearchBean(tables = "(select o.id,o.user_id,o.goods_id,o.money,o.refund_money,o.status from order_don o inner join (select user_id from user_distribute_shared where :sharedId:) us on us.user_id = o.user_id where o.is_fixed_distribute is true and o.status not in ('close','noPayment') :time:) od left join goods_don g on g.id = od.goods_id" +
  16. " inner join distribute_waiting_send_points dp on dp.order_id = od.id",
  17. groupBy = "od.goods_id,g.title")
  18. public class UserDistributeOrdersStatisticsView {
  19. @DbField("g.title")
  20. private String title;
  21. @DbField("cast(sum(od.money)/100 as decimal(10,2))")
  22. private BigDecimal distributeOrderMoney;
  23. @DbField("count(od.id)")
  24. private Integer orders;
  25. @DbField("TRUNCATE(sum(if(dp.send_status != 'close',dp.points,0))/1000,2)")
  26. private BigDecimal takeMoney;
  27. @DbField("count(if(od.status = 'refund',1,NULL))")
  28. private Integer refundOrders;
  29. @DbField("cast(sum(if(od.status = 'refund',od.refund_money,0))/100 as decimal(10,2))")
  30. private BigDecimal refundMoney;
  31. }