// +---------------------------------------------------------------------- namespace app\model\user; use app\model\order\StoreOrder; use app\model\store\SystemStoreStaff; use crmeb\basic\BaseModel; use crmeb\traits\ModelTrait; use think\model; /** * Class UserRecharge * @package app\model\user */ class AwardIntegral extends BaseModel { use ModelTrait; /** * 数据表主键 * @var string */ protected $pk = 'id'; /** * 模型名称 * @var string */ protected $name = 'award_integral'; protected $insert = ['add_time']; protected function setAddTimeAttr() { return time(); } /** * 关联user * @return model\relation\HasOne */ public function user() { return $this->hasOne(User::class, 'uid', 'uid', false)->bind([ 'nickname' => 'nickname', 'avatar' => 'avatar', 'phone' => 'phone', 'now_money' => 'now_money', 'integral' => 'integral', 'delete_time' => 'delete_time' ]); } public function userOrder() { return $this->hasOne(StoreOrder::class, 'id', 'order_id'); } /** * 用户uid * @param Model $query * @param $value */ public function searchUidAttr($query, $value) { if (is_array($value)) $query->whereIn('uid', $value); else $query->where('uid', $value); } /** * 用户uid * @param Model $query * @param $value */ public function searchOrderPriceEltAttr($query, $value) { $query->where('order_price', '<=', $value); } /** * 门店ID * @param $query * @param $value */ public function searchStatusAttr($query, $value) { $query->where('status', $value); } /** * 门店ID * @param $query * @param $value */ public function searchValidAttr($query, $value) { $award_order_limit_type = sys_config('award_order_limit_type'); $award_order_limit = sys_config('award_order_limit'); if ($award_order_limit_type == 1) $award_order_limit = 0.01; if ($value == 1) { $query->where('status', 0)->where('sent_numwhere('order_price', '>=', $award_order_limit) ->where('add_time', '>=', strtotime('2024-11-18')) ->where('pay_type', '<>', 'yue'); } else if ($value == 2) { $query->where(function ($query) { $query->where('status', 1)->whereOr('sent_num>=num'); })->where('order_price', '>=', $award_order_limit) ->where('add_time', '>=', strtotime('2024-11-18')) ->where('pay_type', '<>', 'yue'); } else { $query->where('order_price', '<', $award_order_limit) ->whereOr('add_time', '<', strtotime('2024-11-18')) ->whereOr('pay_type', 'yue'); } } /** * 门店ID * @param $query * @param $value */ public function searchValidsAttr($query, $value) { $award_order_limit_type = sys_config('award_order_limit_type_2'); $award_order_limit = sys_config('award_order_limit_2'); if ($award_order_limit_type == 1) $award_order_limit = 0.01; if ($value == 1) { $query->where('status', 0)->where('sent_numwhere('order_price', '>=', $award_order_limit) ->where('add_time', '>=', strtotime('2024-11-18')) ->where('pay_type', '<>', 'yue'); } else if ($value == 2) { $query->where(function ($query) { $query->where('status', 1)->whereOr('sent_num>=num'); })->where('order_price', '>=', $award_order_limit) ->where('add_time', '>=', strtotime('2024-11-18')) ->where('pay_type', '<>', 'yue'); } else { $query->where('order_price', '<', $award_order_limit) ->whereOr('add_time', '<', strtotime('2024-11-18')) ->whereOr('pay_type', 'yue'); } } /** * 门店ID * @param $query * @param $value */ public function searchAddTimeGtAttr($query, $value) { $query->where('add_time', '>', $value); } /** * 门店ID * @param $query * @param $value */ public function searchAddTimeDateAttr($query, $value) { $query->whereTime('add_time', $value); } /** * 订单号 * @param Model $query * @param $value */ public function searchLinkIdAttr($query, $value) { $query->where('link_id', $value); } }