UserDistributeOrdersStatisticsView.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 * from distribute_waiting_send_points where :sharedId: :time:) dw left join order_don od on od.id = dw.order_id and dw.is_vip = false and od.status not in ('close','noPayment')" +
  16. " left join vip_order_don vod on vod.id = dw.order_id and dw.is_vip = true and vod.status not in ('close','noPayment')" +
  17. " left join goods_don g on g.id = ifnull(od.goods_id,vod.goods_id)",
  18. groupBy = "ifnull(od.goods_id,vod.goods_id),g.title")
  19. public class UserDistributeOrdersStatisticsView {
  20. @DbField("g.title")
  21. private String title;
  22. @DbField("cast(sum(if(od.id is null,vod.money,if(od.is_dp and od.ori_money != 0,od.ori_money,od.money))/100) as decimal(10,2))")
  23. private BigDecimal distributeOrderMoney;
  24. @DbField("count(dw.order_id)")
  25. private Integer orders;
  26. @DbField("TRUNCATE(sum(if(dw.send_status != 'close',dw.points,0))/1000,2)")
  27. private BigDecimal takeMoney;
  28. @DbField("count(if(ifnull(od.status,vod.status) = 'refund',1,NULL))")
  29. private Integer refundOrders;
  30. @DbField("cast(sum(if(od.id is null,vod.refund_money,ifnull(if(od.is_dp and od.ori_money != 0 and od.refund_money > od.ori_money,od.ori_money,od.refund_money),0)))/100 as decimal(10,2))")
  31. private BigDecimal refundMoney;
  32. }