其余文件
This commit is contained in:
180
app/shopapi/validate/ShopDataSetValidate.php
Normal file
180
app/shopapi/validate/ShopDataSetValidate.php
Normal file
@ -0,0 +1,180 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeshop100%开源免费商用商城系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | 商业版本务必购买商业授权,以免引起法律纠纷
|
||||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||
// | github下载:https://github.com/likeshop-github
|
||||
// | 访问官网:https://www.likeshop.cn
|
||||
// | 访问社区:https://home.likeshop.cn
|
||||
// | 访问手册:http://doc.likeshop.cn
|
||||
// | 微信公众号:likeshop技术社区
|
||||
// | likeshop团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeshopTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
// +----------------------------------------------------------------------
|
||||
// | likeshop100%开源免费商用商城系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
|
||||
// | 开源版本可自由商用,可去除界面版权logo
|
||||
// | 商业版本务必购买商业授权,以免引起法律纠纷
|
||||
// | 禁止对系统程序代码以任何目的,任何形式的再发布
|
||||
// | gitee下载:https://gitee.com/likeshop_gitee
|
||||
// | github下载:https://github.com/likeshop-github
|
||||
// | 访问官网:https://www.likeshop.cn
|
||||
// | 访问社区:https://home.likeshop.cn
|
||||
// | 访问手册:http://doc.likeshop.cn
|
||||
// | 微信公众号:likeshop技术社区
|
||||
// | likeshop团队 版权所有 拥有最终解释权
|
||||
// +----------------------------------------------------------------------
|
||||
// | author: likeshopTeam
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
|
||||
namespace app\shopapi\validate;
|
||||
use app\common\basics\Validate;
|
||||
use app\common\enum\ShopEnum;
|
||||
|
||||
/**
|
||||
* 商家信息验证
|
||||
* Class ShopInfoValidate
|
||||
* @package app\shopapi\validate
|
||||
*/
|
||||
class ShopDataSetValidate extends Validate
|
||||
{
|
||||
|
||||
protected $rule = [
|
||||
'dataset' => 'require|checkData',
|
||||
];
|
||||
protected $message = [
|
||||
'dataset.require' => '请输入信息',
|
||||
];
|
||||
|
||||
|
||||
protected $allow_fields = [
|
||||
'nickname', //联系人
|
||||
'mobile' => 'checkMobile', //联系电话
|
||||
'intro', //简介
|
||||
'is_run' => 'checkRund', //营业状态
|
||||
'province_id', //省id
|
||||
'city_id', //城市id
|
||||
'district_id', //区id
|
||||
'address', //详情地址
|
||||
'refund_address' => 'checkRefund', //退款地址
|
||||
'weekdays' => 'checkWeekDay', //营业时间
|
||||
'run_start_time' => 'checkTime', //每天营业开始时间
|
||||
'run_end_time' => 'checkTime', //每天营业结束时间
|
||||
'open_invoice', //发票开关 0- 关闭 1-开启
|
||||
'spec_invoice', //是否支持专票 0-不支持 1-支持
|
||||
];
|
||||
|
||||
protected function checkData($dataset,$rule,$data){
|
||||
foreach ($dataset as $field => $value){
|
||||
|
||||
$allow_fields = array_keys($this->allow_fields);
|
||||
if(!in_array($field,$allow_fields)){
|
||||
return '该信息不允许修改';
|
||||
}
|
||||
|
||||
$func = $this->allow_fields[$field] ?? '';
|
||||
if($func){
|
||||
$result = call_user_func([ShopDataSetValidate::class,$func],$data);
|
||||
if(true !== $result){
|
||||
return $result;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//验证手机号码是否正确
|
||||
public function checkMobile($value, $rule, $data){
|
||||
$mobile = $data['mobile'];
|
||||
$check = $this->checkRule($mobile, 'mobile');
|
||||
if(false === $check){
|
||||
return '手机号格式错误';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//验证营业状态是否正确
|
||||
protected function checkRund($data){
|
||||
if(!in_array($data['is_run'],[ShopEnum::SHOP_RUN_CLOSE,ShopEnum::SHOP_RUN_OPEN])){
|
||||
return '营业状态错误';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//验证营业天是否正确
|
||||
protected function checkWeekDay($data){
|
||||
foreach ($data['weekdays'] as $day){
|
||||
if(!in_array($day,[0,1,2,3,4,5,6])){
|
||||
return '工作日错误';
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//验证时间是否正确
|
||||
protected function checkTime($data){
|
||||
if(empty($data['run_start_time']) || empty($data['run_end_time'])){
|
||||
return '请选择营业时间';
|
||||
}
|
||||
if($data['run_start_time'] >= $data['run_end_time']){
|
||||
return '营业时间错误';
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//验证退款信息
|
||||
protected function checkRefund($data){
|
||||
$refund_address = $data['refund_address'];
|
||||
if(empty($refund_address)){
|
||||
return '请输入退款地址';
|
||||
}
|
||||
|
||||
foreach ($refund_address as $index => $value){
|
||||
switch ($index){
|
||||
case "nickname":
|
||||
if(empty($value)){
|
||||
return '请输入退款联系人';
|
||||
}
|
||||
break;
|
||||
case "mobile":
|
||||
$check = $this->checkRule($value, 'mobile');
|
||||
if(false === $check){
|
||||
return '手机号格式错误';
|
||||
}
|
||||
break;
|
||||
case "province_id":
|
||||
if(empty($value)){
|
||||
return '请选择省份';
|
||||
}
|
||||
break;
|
||||
case "city_id":
|
||||
if(empty($value)){
|
||||
return '请选择城市';
|
||||
}
|
||||
break;
|
||||
case "district_id":
|
||||
if(empty($value)){
|
||||
return '请选择地区';
|
||||
}
|
||||
break;
|
||||
case "address":
|
||||
if(empty($value)){
|
||||
return '请输入详情地址';
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user