66 lines
2.5 KiB
PHP
66 lines
2.5 KiB
PHP
<?php
|
||
namespace app\admin\validate;
|
||
use think\Validate;
|
||
use think\Db;
|
||
class Integral extends Validate
|
||
{
|
||
/**
|
||
* 检查每消费1元赠送的积分
|
||
* @param $value|验证数据
|
||
* @param $rule|验证规则
|
||
* @param $data|全部数据
|
||
* @return bool|string
|
||
*/
|
||
public function checkIntegral($value, $rule ,$data,$field_name)
|
||
{
|
||
if(($field_name=='consume_integral' && $data['is_consume_integral'])
|
||
|| ($field_name=='reg_integral' && $data['is_reg_integral'])
|
||
|| ($field_name=='invite_integral' && $data['invite'])
|
||
|| ($field_name=='invitee_integral' && $data['invite'])
|
||
|| ($field_name=='point_min_limit' && $data['is_point_min_limit'])
|
||
|| ($field_name=='point_rate' && $data['is_point_rate'])
|
||
|| ($field_name=='point_use_percent' && $data['is_point_use_percent'])
|
||
){
|
||
return $this->checkHandle($value,$field_name);
|
||
}else{
|
||
return true;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* 检查每消费1元赠送的积分
|
||
* @param $value|验证数据
|
||
* @param $field_name|验证字段
|
||
* @return bool|string
|
||
*/
|
||
protected function checkHandle($value,$field_name){
|
||
$fieldNameArr = [
|
||
'consume_integral'=>'请输入每消费1元赠送的积分数!',
|
||
'reg_integral'=>'请输入注册可获得的积分数!',
|
||
'invite_integral'=>'请输入注册成功邀请人可获得的积分!',
|
||
'invitee_integral'=>'请输入注册成功被邀请人可获得的积分!',
|
||
'point_min_limit'=>'请输入小于的积分数!',
|
||
'point_rate'=>'请选择积分兑换现金比列!',
|
||
'point_use_percent'=>'请输入单笔订单最多可抵扣的百分比!'
|
||
];
|
||
if ($value == '') {
|
||
return $fieldNameArr["".$field_name.""];
|
||
} else {
|
||
if (!is_int($value+0) || $value <= 0) {
|
||
if($field_name == 'point_use_percent'){
|
||
return '请输入正确的百分比格式1!';
|
||
}else{
|
||
return '请输入正确的积分格式!';
|
||
}
|
||
}else{
|
||
if($field_name == 'point_use_percent' && $value>100){
|
||
return '百分比范围不能超过100!';
|
||
}elseif($field_name == 'point_rate' && $value>100){
|
||
return '积分兑换现金比不能超过100!';
|
||
} {
|
||
return true;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
} |