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;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|