diff --git a/application/admin/controller/shopro/regional_agent/Agent.php b/application/admin/controller/shopro/regional_agent/Agent.php index 0e05d2d..4604883 100644 --- a/application/admin/controller/shopro/regional_agent/Agent.php +++ b/application/admin/controller/shopro/regional_agent/Agent.php @@ -255,9 +255,13 @@ class Agent extends Base protected function buildCommissionData($data) { - $useCustom = isset($data['use_custom_commission']) - ? boolval($data['use_custom_commission']) - : !empty($data['commission_type']); + if (array_key_exists('use_custom_commission', $data)) { + $useCustom = filter_var($data['use_custom_commission'], FILTER_VALIDATE_BOOLEAN); + } else { + $hasRate = isset($data['commission_rate']) && $data['commission_rate'] !== '' && $data['commission_rate'] !== null; + $hasMoney = isset($data['commission_money']) && $data['commission_money'] !== '' && $data['commission_money'] !== null; + $useCustom = !empty($data['commission_type']) && ($hasRate || $hasMoney); + } if (!$useCustom) { return [ diff --git a/application/admin/model/shopro/regional_agent/Agent.php b/application/admin/model/shopro/regional_agent/Agent.php index 4fe9ac2..5ff8da9 100644 --- a/application/admin/model/shopro/regional_agent/Agent.php +++ b/application/admin/model/shopro/regional_agent/Agent.php @@ -11,6 +11,20 @@ class Agent extends Model protected $createTime = 'createtime'; protected $updateTime = 'updatetime'; + const STATUS_NORMAL = 'normal'; + const STATUS_PENDING = 'pending'; + const STATUS_FORBIDDEN = 'forbidden'; + + public function scopeNormal($query) + { + return $query->where('status', self::STATUS_NORMAL); + } + + public function scopeAvailable($query) + { + return $query->where('status', 'in', [self::STATUS_NORMAL]); + } + public function user() { return $this->belongsTo(\app\admin\model\shopro\user\User::class, 'user_id', 'id');