You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			112 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php 
 | 
						|
namespace wstmart\common\validate;
 | 
						|
use think\Validate;
 | 
						|
/**
 | 
						|
 * ============================================================================
 | 
						|
 * 店铺验证器
 | 
						|
 */
 | 
						|
class Shops extends Validate{
 | 
						|
	protected $rule = [
 | 
						|
	    //申请入驻
 | 
						|
        ['shopName'  ,'require','请输入店铺名'],
 | 
						|
        ['userName'  ,'require|chs','请输入直营人姓名|直营人姓名请输入汉字'],
 | 
						|
        ['phone'  ,'require','请输入联系电话'],
 | 
						|
        ['provinceId'  ,'require','请选择省'],
 | 
						|
        ['cityId'  ,'require','请选择市'],
 | 
						|
        ['countyId'  ,'require','请选择区县'],
 | 
						|
        ['townId'  ,'require','请选择乡镇'],
 | 
						|
        ['villageId'  ,'require','请选择村社区'],
 | 
						|
        ['shopAddress'  ,'require','请输入店铺地址'],
 | 
						|
        ['lng'  ,'require','请在地图点击坐标'],
 | 
						|
        ['lat'  ,'require','请在地图点击坐标'],
 | 
						|
        ['bankName'  ,'require|chs','请输入银行名|银行名请输入汉字'],
 | 
						|
        ['accountName'  ,'require|chs','请输入开户名|开户名请输入汉字'],
 | 
						|
        ['bankNo'  ,'require','请输入银行卡号'],
 | 
						|
        ['idCardFrontImg'  ,'require','请上传身份证正面照'],
 | 
						|
        ['idCardBackImg'  ,'require','请上传身份证反面照'],
 | 
						|
        ['commissionImg'  ,'require','请上传直营人委托书照片'],
 | 
						|
        ['businessLicenceImg'  ,'require','请上传手持身份证和营业执照,背影为店铺照片'],
 | 
						|
        ['confirmationImg'  ,'require','请上传确认书照片'],
 | 
						|
 | 
						|
        //上传产品
 | 
						|
        ['goodsName'  ,'require','请输入产品名'],
 | 
						|
        ['largeCat'  ,'require|number','请选择一级分类|请选择一级分类!'],
 | 
						|
        ['mediumCat'  ,'require|number','请选择二级分类|请选择二级分类!'],
 | 
						|
        ['smallCat'  ,'require|number','请选择三级分类|请选择三级分类!'],
 | 
						|
        ['discountRate'  ,'require|float|between:0,100','请输入优惠率|请输入优惠率!|优惠率范围0%-100%!'],
 | 
						|
        ['freight'  ,'require|float','请输入运费|请输入运费!'],
 | 
						|
        ['goodsImg'  ,'require','请上传商品主图'],
 | 
						|
        ['gallery'  ,'require','请上传商品相册'],
 | 
						|
        ['isSale'  ,'require|in:0,1','请选择商品通过审核后上下架|请选择商品通过审核后上下架!'],
 | 
						|
    ];
 | 
						|
 | 
						|
    protected $scene = [
 | 
						|
        'join'   =>  ['shopName','userName','phone','provinceId','cityId','countyId','townId','villageId','shopAddress','lng','lat','bankName','accountName','bankNo','idCardFrontImg','idCardBackImg','commissionImg','businessLicenceImg','confirmationImg'],//商家入驻人认证
 | 
						|
        'addGoods'=>['goodsName' ,'largeCat','mediumCat' ,'smallCat', 'discountRate'  ,'freight'  ,'goodsImg'  ,'gallery'  ,'isSale'],
 | 
						|
    ];
 | 
						|
 | 
						|
    // 自定义验证规则
 | 
						|
    // protected function checkName($value,$rule,$data)
 | 
						|
    // {
 | 
						|
    //     return $rule == $value ? true : '名称错误';
 | 
						|
    // }
 | 
						|
     /**
 | 
						|
     * 身份证验证 start
 | 
						|
     */
 | 
						|
    function validation_filter_id_card($id_card){
 | 
						|
        if(strlen($id_card)==18){
 | 
						|
            return $this->idcard_checksum18($id_card);
 | 
						|
        }elseif((strlen($id_card)==15)){
 | 
						|
            $id_card=$this->idcard_15to18($id_card);
 | 
						|
            return $this->idcard_checksum18($id_card);
 | 
						|
        }else{
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
    }
 | 
						|
     // 计算身份证校验码,根据国家标准GB 11643-1999
 | 
						|
     function idcard_verify_number($idcard_base){
 | 
						|
        if(strlen($idcard_base)!=17){
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
        //加权因子
 | 
						|
        $factor=array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2);
 | 
						|
        //校验码对应值
 | 
						|
        $verify_number_list=array('1','0','X','9','8','7','6','5','4','3','2');
 | 
						|
        $checksum=0;
 | 
						|
        for($i=0;$i<strlen($idcard_base);$i++){
 | 
						|
            $checksum += substr($idcard_base,$i,1) * $factor[$i];
 | 
						|
        }
 | 
						|
        $mod=$checksum % 11;
 | 
						|
        $verify_number=$verify_number_list[$mod];
 | 
						|
        return $verify_number;
 | 
						|
     }
 | 
						|
     // 将15位身份证升级到18位
 | 
						|
     function idcard_15to18($idcard){
 | 
						|
        if(strlen($idcard)!=15){
 | 
						|
            return false;
 | 
						|
        }else{
 | 
						|
            // 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码
 | 
						|
            if(array_search(substr($idcard,12,3),array('996','997','998','999')) !== false){
 | 
						|
                $idcard=substr($idcard,0,6).'18'.substr($idcard,6,9);
 | 
						|
            }else{
 | 
						|
                $idcard=substr($idcard,0,6).'19'.substr($idcard,6,9);
 | 
						|
            }
 | 
						|
        }
 | 
						|
        $idcard=$idcard.$this->idcard_verify_number($idcard);
 | 
						|
        return $idcard;
 | 
						|
     }
 | 
						|
     // 18位身份证校验码有效性检查
 | 
						|
     function idcard_checksum18($idcard){
 | 
						|
        if(strlen($idcard)!=18){
 | 
						|
            return false;
 | 
						|
        }
 | 
						|
        $idcard_base=substr($idcard,0,17);
 | 
						|
        if($this->idcard_verify_number($idcard_base)!=strtoupper(substr($idcard,17,1))){
 | 
						|
            return false;
 | 
						|
    return $user;
 | 
						|
        }else{
 | 
						|
            return true;
 | 
						|
        }
 | 
						|
     }
 | 
						|
     /***身份证验证 end */
 | 
						|
} |