100 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
| <?php
 | |
| 
 | |
| namespace app\model;
 | |
| 
 | |
| use think\model\relation\HasOne;
 | |
| 
 | |
| /**
 | |
|  * 积分与佣金日志
 | |
|  *
 | |
|  * Class AccountDataLog
 | |
|  * @package app\model
 | |
|  */
 | |
| class AccountDataLog extends Base
 | |
| {
 | |
|     public const TYPE_SCORE      = 'score';//积分
 | |
|     public const TYPE_COMMISSION = 'commission';//佣金
 | |
| 
 | |
|     public const ACTION_ORDER             = 'order';//订单返佣
 | |
|     public const ACTION_ADMIN_RECHARGE    = 'admin_recharge';//后台充值
 | |
|     public const ACTION_ADMIN_OPERATION   = 'admin_operation';//后台操作
 | |
|     public const ACTION_WITHDRAWAL_RETURN = 'withdrawal_return';//提现-退回
 | |
|     public const ACTION_WITHDRAWAL        = 'withdrawal';//提现-扣除
 | |
| 
 | |
|     // 积分独有
 | |
|     public const ACTION_SHARE_REG         = 'share_reg';//分享注册
 | |
|     public const ACTION_SHARE_REG_CHILD   = 'share_reg_child';//分享注册-下级分享时获得积分
 | |
|     public const ACTION_SHARE_REG_SERVICE = 'share_reg_service';//分享注册-客户分享时客服获得积分
 | |
| 
 | |
|     /**
 | |
|      * 记录变更
 | |
|      *
 | |
|      * @param  int  $accountId
 | |
|      * @param  string  $name  日志名称(说明) 如 签到打卡、任务完成等等
 | |
|      * @param  string  $num  数量
 | |
|      * @param  string  $type  类型 目前仅 TYPE_SCORE TYPE_COMMISSION
 | |
|      * @param  string  $action  操作 如打卡=sign 任务=task 订单=order
 | |
|      * @param  string  $surplus  剩余积分或佣金
 | |
|      * @param  string  $operator  操作人
 | |
|      * @param  int  $operatorId  操作人ID
 | |
|      * @param  string  $remarks  备注
 | |
|      */
 | |
|     public static function log(int $accountId, string $name, string $num, string $type, string $action, string $surplus, string $operator = '', int $operatorId = 0, string $remarks = '')
 | |
|     {
 | |
|         self::create([
 | |
|             'account_id'  => $accountId,
 | |
|             'name'        => $name,
 | |
|             'num'         => $num,
 | |
|             'type'        => $type,
 | |
|             'action'      => $action,
 | |
|             'created_at'  => date('Y-m-d H:i:s'),
 | |
|             'surplus'     => $surplus,
 | |
|             'operator'    => $operator,
 | |
|             'operator_id' => $operatorId,
 | |
|             'remarks'     => $remarks,
 | |
|         ]);
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *  用户
 | |
|      *
 | |
|      */
 | |
|     public function account(): HasOne
 | |
|     {
 | |
|         return $this->hasOne(Account::class, 'id', 'account_id');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 积分操作类型
 | |
|      *
 | |
|      * @return string[]
 | |
|      */
 | |
|     public static function scoreAction(): array
 | |
|     {
 | |
|         return [
 | |
|             self::ACTION_ORDER             => '订单',
 | |
|             self::ACTION_ADMIN_RECHARGE    => '后台充值',
 | |
|             self::ACTION_ADMIN_OPERATION   => '后台操作',
 | |
|             self::ACTION_SHARE_REG         => '分享注册',
 | |
|             self::ACTION_SHARE_REG_CHILD   => '分享注册-下级分享',
 | |
|             self::ACTION_SHARE_REG_SERVICE => '分享注册-客服获得积分',
 | |
|         ];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 佣金操作类型
 | |
|      *
 | |
|      * @return string[]
 | |
|      */
 | |
|     public static function commissionAction(): array
 | |
|     {
 | |
|         return [
 | |
|             self::ACTION_ORDER             => '订单返佣',
 | |
|             self::ACTION_ADMIN_RECHARGE    => '后台充值',
 | |
|             self::ACTION_ADMIN_OPERATION   => '后台操作',
 | |
|             self::ACTION_WITHDRAWAL_RETURN => '提现退回',
 | |
|             self::ACTION_WITHDRAWAL        => '提现扣除',
 | |
|         ];
 | |
|     }
 | |
| }
 |