文件

130 行
4.4 KiB
PHP

<?php
namespace app\admin\model\shopro\user;
use app\admin\model\shopro\Common;
class WalletLog extends Common
{
protected $name = 'shopro_user_wallet_log';
protected $updateTime = false;
protected $type = [
'ext' => 'json'
];
// 追加属性
protected $append = [
'event_text'
];
const TYPE_MAP = [
'money' => '余额',
'score' => '积分',
'commission' => '服务收益'
];
protected $eventMap = [
'score' => [
'signin' => '签到-赠送积分',
'replenish_signin' => '签到-补签',
'activity_gift' => '活动-赠送积分',
'score_shop_pay' => '积分商城-积分支付',
'order_pay' => '商城订单-积分抵扣',
'order_refund' => '订单退款-退还积分',
'admin_recharge' => '合约调用',
'recharge_gift' => '线上充值-赠送积分'
],
'money' => [
'order_pay' => '商城订单-余额支付',
'order_recharge' => '线上充值',
'admin_recharge' => '合约调用',
'recharge_gift' => '线上充值-赠送余额',
'activity_gift' => '活动-赠送余额',
'order_refund' => '订单退款-退还余额',
'withdraw' => '申请提现',
'withdraw_error' => '提现失败-返还余额',
'transfer_by_commission' => '服务收益-转入到余额',
'reward_income' => '收益分成-入账',
'reward_back' => '收益分成-退还',
'push3' => '推荐提成',
'maker_diff' => '创客进阶奖',
'maker_peer' => '创客协同奖',
'maker_overtaken' => '创客卓越奖',
'team_venue' => '酒道馆管理奖',
'team_county' => '区县管理奖',
'venue_peer' => '酒道馆平级奖',
'county_peer' => '区县代平级奖',
'venue_share' => '酒道馆加权奖',
'county_share' => '区县加权奖'
],
'commission' => [
'withdraw' => '提现',
'withdraw_error' => '提现失败-返还收益',
'reward_income' => '服务收益-入账',
'reward_back' => '服务收益-退还',
'transfer_to_money' => '服务收益-转出到余额',
'push3' => '推荐提成',
'maker_diff' => '创客进阶奖',
'maker_peer' => '创客协同奖',
'maker_overtaken' => '创客卓越奖',
'team_venue' => '酒道馆管理奖',
'team_county' => '区县管理奖',
'venue_peer' => '酒道馆平级奖',
'county_peer' => '区县代平级奖',
'venue_share' => '酒道馆加权奖',
'county_share' => '区县加权奖'
]
];
public function getEventMap() {
$map = $this->eventMap;
if (class_exists('\\addons\\shopro\\service\\partner\\PartnerConfig')) {
$partnerMap = \addons\shopro\service\partner\PartnerConfig::rewardTypeMap();
foreach ($partnerMap as $k => $v) {
if (!isset($map['money'][$k])) {
$map['money'][$k] = $v;
}
if (!isset($map['commission'][$k])) {
$map['commission'][$k] = $v;
}
}
}
return $map;
}
public function scopeMoney($query)
{
return $query->where('type', 'money');
}
public function scopeCommission($query)
{
return $query->where('type', 'commission');
}
public function scopeScore($query)
{
return $query->where('type', 'score');
}
public function getEventTextAttr($value, $data)
{
$type = $data['type'] ?? '';
$event = $data['event'] ?? '';
$eventMap = $this->getEventMap();
return $eventMap[$type][$event] ?? ($eventMap['money'][$event] ?? ($eventMap['commission'][$event] ?? ($event ?: '')));
}
public function getMemoAttr($value, $data)
{
$event = $data['event'] ?? '';
if ($event === 'admin_recharge') {
if ($value === '后台管理调整余额' || $value === '后台管理调整积分' || $value === '合约调用') {
return '';
}
}
return $value ?? '';
}
}