Files
juipphp/app/manager/model/ProductOrder.php
2020-11-17 14:30:54 +08:00

65 lines
2.1 KiB
PHP

<?php
/*
* @Descripttion:
* @version:
* @Author: kangkang
* @Date: 2020-10-16 14:44:02
* @LastEditors: kangkang
* @LastEditTime: 2020-11-16 16:22:02
*/
namespace app\manager\model;
use fastphp\base\Model;
use enum\order\ProductOrder as ProductOrderEnum;
class ProductOrder extends Model
{
protected $table = 'product_order';
/**
* @description: 获取所有支付成功用户的支付总金额
* @param {*}
* @return {*}
*/
public function getCost(){
return $this->field('UserId,sum(PaymentAmount) as money')
->where(['OrderState'=>['in',ProductOrderEnum::$PayComplete]])
->group(['UserId'])
->order('money')
->fetchAll();
}
/**
* @description: 获取所有支付成功用户近一个月的支付总金额
* @param {*}
* @return {*}
*/
public function getMonthCost($user_id){
$last_month = date("Y-m-d H:i:s", strtotime("-1 month"));
$new_month = date("Y-m-d H:i:s", time());
return $this->field('UserId,sum(PaymentAmount) as money')
->where(['OrderState'=>['in',ProductOrderEnum::$PayComplete],'UpdateTime' => ['<', $new_month]])
->where(['UpdateTime' => ['>', $last_month]])
->where(['UserId' => ['in',$user_id]])
->group(['UserId'])
->order('money')
->fetchAll();
}
/**
* @description: 获取所有支付成功用户近一个月在筛选范围的支付总金额
* @param {*}
* @return {*}
*/
public function getScreenMonthCost($screen){
$last_month = date("Y-m-01", strtotime("-1 month"));
$new_month = date("Y-m-t", strtotime("-1 month"));
return $this->field('UserId,sum(PaymentAmount) as money')
->where(['OrderState'=>['in',ProductOrderEnum::$PayComplete],'UpdateTime' => ['<', $new_month]])
->where(['UpdateTime' => ['>', $last_month]])
->group(['UserId'],'having money>'.$screen['money1'].' and money<'.$screen['money2'])
->fetchAll();
}
}