| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?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');
- }
- }
|