Index.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 https://www.sapixx.com All rights reserved.
  4. * @license Licensed (http://www.apache.org/licenses/LICENSE-2.0).
  5. * @author pillar<ltmn@qq.com>
  6. * 管理首页
  7. */
  8. namespace app\allwin\controller\Manage;
  9. use app\allwin\controller\Common;
  10. use app\allwin\model\Bank as ModelBank;
  11. use app\allwin\model\BankBill;
  12. use app\allwin\model\BankCash;
  13. use app\allwin\model\Card;
  14. use app\allwin\model\CardUser;
  15. use app\allwin\model\CardUserOrder;
  16. use app\allwin\model\Coupon;
  17. use app\allwin\model\CouponUser;
  18. use app\allwin\model\Fund;
  19. use app\allwin\model\CouponSubsidize;
  20. use app\allwin\model\MchIdQueen;
  21. use app\allwin\model\AllwinStore;
  22. use app\allwin\model\Order;
  23. use app\allwin\model\Vip;
  24. use app\common\model\SystemUser;
  25. use think\facade\Request;
  26. use think\helper\Time;
  27. class Index extends Common{
  28. public function initialize() {
  29. parent::initialize();
  30. $this->assign('pathMaps', [['name'=>'管理首页','url'=>'javascript:;']]);
  31. }
  32. /**
  33. * 应用管理首页
  34. * @access public
  35. */
  36. public function Index(){
  37. $condition = [];
  38. $sqlUpdateTime = [];
  39. $sqlPaidTime = [];
  40. $cityId = [];
  41. $time = Request::param('time/d',0);
  42. $starttime = Request::param('starttime/s');
  43. $endtime = Request::param('endtime/s');
  44. if($time){
  45. switch ($time) {
  46. case 2:
  47. list($start, $end) = Time::yesterday();
  48. break;
  49. case 30:
  50. list($start, $end) = Time::month();
  51. break;
  52. case 60:
  53. list($start, $end) = Time::lastMonth();
  54. break;
  55. default:
  56. list($start, $end) = Time::today();
  57. break;
  58. }
  59. $condition[] = ['create_time','>=',$start];
  60. $condition[] = ['create_time','<=',$end];
  61. $sqlUpdateTime[] = ['update_time','>=',$start];
  62. $sqlUpdateTime[] = ['update_time','<=',$end];
  63. $sqlPaidTime[] = ['paid_time','>=',$start];
  64. $sqlPaidTime[] = ['paid_time','<=',$end];
  65. }else{
  66. if($starttime){
  67. $condition[] = ['create_time','>=',strtotime($starttime)];
  68. $sqlUpdateTime[] = ['update_time','>=',strtotime($starttime)];
  69. $sqlPaidTime[] = ['paid_time','>=',strtotime($starttime)];
  70. }
  71. if($endtime){
  72. $condition[] = ['create_time','<=',strtotime($endtime)];
  73. $sqlUpdateTime[] = ['update_time','<=',strtotime($endtime)];
  74. $sqlPaidTime[] = ['paid_time','<=',strtotime($endtime)];
  75. }
  76. }
  77. $view['usernum'] = SystemUser::where($this->mini_program)->where($condition)->where(['is_lock' => 0])->count();//优惠券数量
  78. //联盟商家
  79. $view['store_num'] = AllwinStore::where($this->mini_program)->where($condition)->where(['is_lock' => 0])->count(); //好店数量
  80. $view['coupon_num'] = Coupon::where($this->mini_program)->where($condition)->where(['is_end' => 0,'is_lock' => 0])->count();//优惠券数量
  81. $view['vipnum'] = Vip::where($this->mini_program)->where($sqlUpdateTime)->where(['is_lock' => 0,'state' => 1])->count(); //会员数量
  82. //买单管理
  83. $view['order_num'] = Order::where($this->mini_program)->where($sqlPaidTime)->where(['state' => 1])->count(); //单数统计
  84. $view['coupon_price'] = Order::where($this->mini_program)->where($sqlPaidTime)->where(['state' => 1])->sum('coupon_price'); //优惠金额
  85. $view['store_amount'] = Order::where($this->mini_program)->where($sqlPaidTime)->where(['state' => 1])->sum('store_amount'); //好店应收
  86. $view['order_amount'] = Order::where($this->mini_program)->where($sqlPaidTime)->where(['state' => 1])->sum('order_amount'); //实际付款
  87. //已领优惠券
  88. $view['coupon_size'] = CouponUser ::where($this->mini_program)->where($condition)->sum("size");//发行价值
  89. $view['coupon_user_size'] = CouponUser ::where($this->mini_program)->where($condition)->sum("user_size");//剩余价值
  90. $view['coupon_user'] = $view['coupon_size']-$view['coupon_user_size']; //已用价值
  91. $view['coupon_count'] = CouponUser::where($this->mini_program)->where($condition)->where(['is_end' => 0])->count();//优惠券数量
  92. $view['coupon_end_count'] = CouponUser::where($this->mini_program)->where($condition)->where(['is_end' => 1])->count();//失效数量
  93. //会员统计
  94. $view['store_vipnum'] = Vip::where($this->mini_program)->where($sqlUpdateTime)->where('store_id','>',0)->count();//好店会员数量
  95. $view['platform_vipnum'] = Vip::where($this->mini_program)->where($sqlUpdateTime)->where('store_id','=',0)->count();//平台会员数量
  96. $view['lock_vipnum'] = Vip::where($this->mini_program)->where($sqlUpdateTime)->where(['is_lock' => 1])->count(); //支付金额
  97. $view['vipamount'] = Vip::where($this->mini_program)->where($sqlUpdateTime)->sum('amount'); //支付金额
  98. //储值活动
  99. $view['card_num'] = Card::where($this->mini_program)->where($condition)->count();
  100. $view['card_amount'] = Card::where($this->mini_program)->where($condition)->sum('price');
  101. $view['carduser_num'] = CardUser::where($this->mini_program)->where($condition)->count();
  102. $view['carduser_amount'] = CardUserOrder::where($this->mini_program)->where($condition)->where(['state' => 1])->sum('amount');
  103. //分帐队列
  104. $view['amount_quree'] = MchIdQueen::where($this->mini_program)->where($sqlUpdateTime)->where(['is_finish' => 0])->sum('amount');//分账队列
  105. $view['amount_success'] = MchIdQueen::where($this->mini_program)->where($sqlUpdateTime)->where(['is_finish' => 2])->sum('amount');//分账成功
  106. $view['amount_fail'] = MchIdQueen::where($this->mini_program)->where($sqlUpdateTime)->where(['is_finish' => 1])->sum('amount');//分账失败
  107. $view['quree_num'] = MchIdQueen::where($this->mini_program)->where($sqlUpdateTime)->count();//分账失败
  108. //帐户管理
  109. $view['receipts'] = BankBill::where($this->mini_program)->where($sqlUpdateTime)->where('money','>',0)->sum('money');//流水入账
  110. $view['expenses'] = BankBill::where($this->mini_program)->where($sqlUpdateTime)->where('money','<',0)->sum('money');//流水出账
  111. $view['points'] = ModelBank::bank($this->member_miniapp_id)->sum('shop_money');//帐号积分
  112. $view['money'] = ModelBank::bank($this->member_miniapp_id)->sum('money');//帐号余额
  113. //提现管理
  114. $view['now_money'] = BankCash::where($this->mini_program)->where($sqlUpdateTime)->where(['state' => 0])->sum('money');//申请中
  115. $view['pass_money'] = BankCash::where($this->mini_program)->where($sqlUpdateTime)->where(['state' => 1])->sum('realmoney');//已通过
  116. $view['back_money'] = BankCash::where($this->mini_program)->where($sqlUpdateTime)->where(['state' => -1])->sum('money');//未通过
  117. $view['cash_num'] = BankCash::where($this->mini_program)->where($sqlUpdateTime)->count();//未通过
  118. //采购基金
  119. $fund = Fund::where($this->mini_program)->find();
  120. $counts['balance'] = empty($fund) ? 0 : $fund->balance;//采购基金
  121. $counts['subsidize'] = empty($fund) ? 0 : $fund->subsidize;//已补贴¥
  122. $counts['subsidize_num'] = empty($fund) ? 0 : $fund->subsidize_num;//已补贴(单)
  123. $view['fund'] = $counts;
  124. $view['fund_coupon_num'] = CouponSubsidize::where($this->mini_program)->count();
  125. $view['time'] = $time;
  126. $view['starttime'] = $starttime;
  127. $view['endtime'] = $endtime;
  128. return view('/index')->assign($view);
  129. }
  130. }