diff --git a/app/common/dao/store/parameter/ParameterDao.php b/app/common/dao/store/parameter/ParameterDao.php new file mode 100644 index 00000000..d7b88167 --- /dev/null +++ b/app/common/dao/store/parameter/ParameterDao.php @@ -0,0 +1,32 @@ + +// +---------------------------------------------------------------------- + +namespace app\common\dao\store\parameter; + +use app\common\dao\BaseDao; +use app\common\model\store\parameter\Parameter; + +class ParameterDao extends BaseDao +{ + + protected function getModel(): string + { + return Parameter::class; + } + + + public function search(array $where) + { + } + + +} diff --git a/app/common/dao/store/parameter/ParameterTemplateDao.php b/app/common/dao/store/parameter/ParameterTemplateDao.php new file mode 100644 index 00000000..b6c5db11 --- /dev/null +++ b/app/common/dao/store/parameter/ParameterTemplateDao.php @@ -0,0 +1,26 @@ + +// +---------------------------------------------------------------------- + +namespace app\common\dao\store\parameter; + +use app\common\dao\BaseDao; +use app\common\model\store\parameter\ParameterTemplate; + +class ParameterTemplateDao extends BaseDao +{ + + protected function getModel(): string + { + return ParameterTemplate::class; + } + +} diff --git a/app/common/dao/store/parameter/ParameterValueDao.php b/app/common/dao/store/parameter/ParameterValueDao.php new file mode 100644 index 00000000..2474b765 --- /dev/null +++ b/app/common/dao/store/parameter/ParameterValueDao.php @@ -0,0 +1,32 @@ + +// +---------------------------------------------------------------------- + +namespace app\common\dao\store\parameter; + +use app\common\dao\BaseDao; +use app\common\model\store\parameter\ParameterValue; + +class ParameterValueDao extends BaseDao +{ + + protected function getModel(): string + { + return ParameterValue::class; + } + + public function clear($id,$field) + { + $this->getModel()::getDb()->where($field, $id)->delete(); + } + + +} diff --git a/app/common/model/parameter/Parameter.php b/app/common/model/parameter/Parameter.php new file mode 100644 index 00000000..33c68062 --- /dev/null +++ b/app/common/model/parameter/Parameter.php @@ -0,0 +1,36 @@ + +// +---------------------------------------------------------------------- + +namespace app\common\model\store\parameter; + +use app\common\model\BaseModel; + +class Parameter extends BaseModel +{ + + + public static function tablePk(): string + { + return 'parameter_id'; + } + + public static function tableName(): string + { + return 'parameter'; + } + + public function searchTemplateIdAttr($query, $value) + { + $query->where('template_id',$value); + } + +} diff --git a/app/common/model/parameter/ParameterTemplate.php b/app/common/model/parameter/ParameterTemplate.php new file mode 100644 index 00000000..02a7fdb0 --- /dev/null +++ b/app/common/model/parameter/ParameterTemplate.php @@ -0,0 +1,85 @@ + +// +---------------------------------------------------------------------- + +namespace app\common\model\store\parameter; + +use app\common\model\BaseModel; +use app\common\model\system\merchant\Merchant; +use app\common\model\system\Relevance; +use app\common\repositories\system\RelevanceRepository; + +class ParameterTemplate extends BaseModel +{ + + + public static function tablePk(): string + { + return 'template_id'; + } + + public static function tableName(): string + { + return 'parameter_template'; + } + + public function merchant() + { + return $this->hasOne(Merchant::class,'mer_id','mer_id'); + } + + public function parameter() + { + return $this->hasMany(Parameter::class,'template_id','template_id'); + } + + public function cateId() + { + return $this->hasMany(Relevance::class,'left_id','template_id')->where('type', RelevanceRepository::PRODUCT_PARAMES_CATE); + } + + public function searchCateIdAttr($query, $value) + { + $id = Relevance::where('right_id',$value)->where('type', RelevanceRepository::PRODUCT_PARAMES_CATE)->column('left_id'); + $query->where('template_id','in',$id); + } + + public function searchTemplateNameAttr($query, $value) + { + $query->whereLike('template_name',"%{$value}%"); + } + + public function searchTemplateIdsAttr($query, $value) + { + $query->whereIn('template_id',$value); + } + + public function searchMerIdAttr($query, $value) + { + $query->where('mer_id',$value); + } + + public function searchMerNameAttr($query, $value) + { + $value = Merchant::whereLike('mer_name',"%{$value}%")->coupon('mer_id'); + $query->whereIn('mer_id',$value); + } + + public function searchIsMerAttr($query, $value) + { + if ($value == 1) { + $query->where('mer_id','>',0); + } else { + $query->where('mer_id',0); + } + } + +} diff --git a/app/common/model/parameter/ParameterValue.php b/app/common/model/parameter/ParameterValue.php new file mode 100644 index 00000000..7ee90338 --- /dev/null +++ b/app/common/model/parameter/ParameterValue.php @@ -0,0 +1,35 @@ + +// +---------------------------------------------------------------------- + +namespace app\common\model\store\parameter; + +use app\common\model\BaseModel; + +class ParameterValue extends BaseModel +{ + + + public static function tablePk(): string + { + return 'parameter_attr_id'; + } + + public static function tableName(): string + { + return 'parameter_value'; + } + + public function parameter() + { + return $this->hasOne(Parameter::class,'parameter_id','parameter_id'); + } +}