180 lines
6.5 KiB
PHP
180 lines
6.5 KiB
PHP
<?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;
|
||
}
|
||
|
||
//验证手机号码是否正确
|
||
protected function checkMobile($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;
|
||
}
|
||
|
||
|
||
} |