100 lines
3.3 KiB
PHP
100 lines
3.3 KiB
PHP
|
<?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 => '提现扣除',
|
||
|
];
|
||
|
}
|
||
|
}
|