admin/app/backend/modules/coupon/models/CouponLog.php

122 lines
4.9 KiB
PHP

<?php
namespace app\backend\modules\coupon\models;
class CouponLog extends \app\common\models\CouponLog
{
//获取该公众号下所有的领取发放记录
public static function getCouponLogs()
{
return static::uniacid()
->select(['id', 'logno', 'member_id', 'couponid', 'getfrom', 'createtime'])
->with(['member' => function($query){
return $query->select(['uid', 'nickname']);
}])
->with(['coupon' => function($query){
return $query->select(['id', 'name']);
}])
->orderBy('createtime', 'desc')
->orderBy('id', 'asc')
->paginate(15);
}
public static function getCouponLogsBuilder()
{
return static::uniacid()
->select(['id', 'logno', 'member_id', 'couponid', 'getfrom', 'createtime'])
->with(['member' => function($query){
return $query->select(['uid', 'nickname']);
}])
->with(['coupon' => function($query){
return $query->select(['id', 'name']);
}])
->orderBy('createtime', 'desc')
->orderBy('id', 'asc');
}
//获取搜索的领取发放记录
//array $searchData
public static function searchCouponLog($searchData)
{
$res = static::uniacid()
->select(['id', 'logno', 'member_id', 'couponid', 'getfrom', 'createtime'])
->with(['member' => function($query){
return $query->select(['uid', 'nickname']);
}])
->with(['coupon' => function($query){
return $query->select(['id', 'name']);
}]);
if(isset($searchData['coupon_id'])){
$res = $res->where('couponid', '=', $searchData['coupon_id']);
}
if(isset($searchData['coupon_name'])){
$res = $res->whereHas('coupon', function($query) use ($searchData){
return $query->where('name', 'like', '%'.$searchData['coupon_name'].'%');
});
}
if(isset($searchData['member_keyword'])){
$res = $res->whereHas('member', function($query) use ($searchData){
return $query->where(function ($query1) use ($searchData) {
$query1->where('nickname', 'like', '%'.$searchData['member_keyword'].'%')
->orWhere('uid', 'like', '%'.$searchData['member_keyword'].'%')
->orWhere('mobile', 'like', '%'.$searchData['member_keyword'].'%');
})->where('uniacid',\YunShop::app()->uniacid);
});
}
if(isset($searchData['nickname'])){
$res = $res->whereHas('member', function($query) use ($searchData){
return $query->where('nickname', 'like', '%'.$searchData['nickname'].'%')->where('uniacid',\YunShop::app()->uniacid);
});
}
if(isset($searchData['get_from'])){
$res = $res->where('getfrom', '=', $searchData['get_from']);
}
if($searchData['time_search_swtich'] == 1){
$res = $res->whereBetween('createtime', [$searchData['time_start'], $searchData['time_end']]);
}
if(isset($searchData['member_id'])){
$res = $res->where('member_id', '=', $searchData['member_id']);
}
return $res->orderBy('createtime', 'desc')->orderBy('id', 'asc')
->paginate(15);
}
public static function searchCouponLogBuilder($searchData)
{
$res = static::uniacid()
->select(['id', 'logno', 'member_id', 'couponid', 'getfrom', 'createtime'])
->with(['member' => function($query){
return $query->select(['uid', 'nickname']);
}])
->with(['coupon' => function($query){
return $query->select(['id', 'name']);
}]);
if(isset($searchData['coupon_id'])){
$res = $res->where('couponid', '=', $searchData['coupon_id']);
}
if(isset($searchData['coupon_name'])){
$res = $res->whereHas('coupon', function($query) use ($searchData){
return $query->where('name', 'like', '%'.$searchData['coupon_name'].'%');
});
}
if(isset($searchData['nickname'])){
$res = $res->whereHas('member', function($query) use ($searchData){
return $query->where('nickname', 'like', '%'.$searchData['nickname'].'%');
});
}
if(isset($searchData['get_from'])){
$res = $res->where('getfrom', '=', $searchData['get_from']);
}
if($searchData['time_search_swtich'] == 1){
$res = $res->whereBetween('createtime', [$searchData['time_start'], $searchData['time_end']]);
}
return $res->orderBy('createtime', 'desc')->orderBy('id', 'asc');
}
}