| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | <?phpnamespace App\Modules\Finance\Models;use DB;use Illuminate\Database\Eloquent\Model;/** * Class Bill 账单 * @package App\Modules\Finance\Models */class OfficialAccountBills extends Model{    protected $table = 'official_account_bills';    protected $fillable = ['distribution_channel_id', 'appid', 'date', 'nickname', 'recharge_amount', 'channel_recharge_amount'];    /**     * 获取服务号的充值信息     * @param $distribution_channel_id     * @param $start_time     * @param $end_time     * @param $isAll     * @return mixed     */    static function getOfficialAccountBills($distribution_channel_id, $start_time, $end_time, $isAll)    {        $search_object = self::orderBy('official_account_bills.date', 'desc')->where('official_account_bills.distribution_channel_id', $distribution_channel_id)            ->join('official_accounts', 'official_account_bills.appid', '=', 'official_accounts.appid')            ->leftjoin('send_order_breakeven_stats', function ($join) {                $join->on('official_accounts.id', '=', 'send_order_breakeven_stats.official_account_id')->on('official_account_bills.date', '=', 'send_order_breakeven_stats.date');            });        $search_object->select('official_account_bills.distribution_channel_id', 'official_account_bills.appid',            'official_account_bills.date', 'official_account_bills.nickname',            'official_account_bills.recharge_amount', 'official_account_bills.channel_recharge_amount',            'send_order_breakeven_stats.recharge_amount_in_one_month as recharge_amount_in_30_days',            'send_order_breakeven_stats.recharge_amount_in_two_months as recharge_amount_in_60_days',            'send_order_breakeven_stats.recharge_amount_in_three_months as recharge_amount_in_90_days',            'send_order_breakeven_stats.force_user_num as new_fans_num');        if ($start_time) {            $search_object->where('official_account_bills.date', '>=', $start_time);        }        if ($end_time) {            $search_object->where('official_account_bills.date', '<=', $end_time);        }        if ($isAll) {            return $search_object->get();        } else {            return $search_object->paginate();        }    }} 
 |