86 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| namespace app\common\model\distribution;
 | |
| 
 | |
| use app\common\basics\Models;
 | |
| use think\model\concern\SoftDelete;
 | |
| 
 | |
| class DistributionLevel extends Models
 | |
| {
 | |
|     use SoftDelete;
 | |
|     protected $deleteTime = 'delete_time';
 | |
| 
 | |
|     /**
 | |
|      * 升级条件允许的字段
 | |
|      * singleConsumptionAmount 单笔消费金额
 | |
|      * cumulativeConsumptionAmount 累计消费金额
 | |
|      * cumulativeConsumptionTimes 累计消费次数
 | |
|      * returnedCommission 已结算佣金收入
 | |
|      */
 | |
|     const UPDATE_CONDITION_FIELDS = ['singleConsumptionAmount', 'cumulativeConsumptionAmount', 'cumulativeConsumptionTimes', 'returnedCommission'];
 | |
| 
 | |
|     /**
 | |
|      * @notes 获取键对应值的字段名
 | |
|      * @param $key
 | |
|      * @return string
 | |
|      * @author Tab
 | |
|      * @date 2021/9/1 14:58
 | |
|      */
 | |
|     public static function getValueFiled($key)
 | |
|     {
 | |
|         switch($key) {
 | |
|             case 'singleConsumptionAmount':
 | |
|             case 'cumulativeConsumptionAmount':
 | |
|             case 'returnedCommission':
 | |
|                 return 'value_decimal';
 | |
|             case 'cumulativeConsumptionTimes':
 | |
|                 return 'value_int';
 | |
|             default:
 | |
|                 return 'value_text';
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @notes 权重描述获取器
 | |
|      * @param $value
 | |
|      * @param $data
 | |
|      * @return string
 | |
|      * @author Tab
 | |
|      * @date 2021/9/1 11:40
 | |
|      */
 | |
|     public function getWeightsDescAttr($value, $data)
 | |
|     {
 | |
|         return $data['is_default'] ? $value . '级(默认等级)' : $value . '级';
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * @notes 等级下分销会员数量
 | |
|      * @param $value
 | |
|      * @param $data
 | |
|      * @return int
 | |
|      * @author Tab
 | |
|      * @date 2021/9/1 11:41
 | |
|      */
 | |
|     public function getMembersNumAttr($value, $data)
 | |
|     {
 | |
|         $num = Distribution::where('level_id', $data['id'])->count();
 | |
|         return $num;
 | |
|     }
 | |
| 
 | |
|     public static function getLevelName($levelId)
 | |
|     {
 | |
|         $level = self::field('name,weights')->findOrEmpty($levelId)->toArray();
 | |
|         if (empty($level)) {
 | |
|             return '';
 | |
|         }
 | |
|         return $level['name']. '(' . $level['weights'] . ')级';
 | |
|     }
 | |
| 
 | |
|     public static function getLevelNameTwo($levelId)
 | |
|     {
 | |
|         $level = self::field('name,weights')->findOrEmpty($levelId)->toArray();
 | |
|         if (empty($level)) {
 | |
|             return '';
 | |
|         }
 | |
|         return $level['name'];
 | |
|     }
 | |
| } |