作者 何书鹏

经销商提现管理

@@ -19,8 +19,8 @@ class Finish @@ -19,8 +19,8 @@ class Finish
19 if($item['dealer_id'] > 0){ 19 if($item['dealer_id'] > 0){
20 $dealer = \app\api\model\Dealer::get($item['dealer_id']); 20 $dealer = \app\api\model\Dealer::get($item['dealer_id']);
21 if($dealer){ 21 if($dealer){
22 - // 记录 UserCommissionLog  
23 - \app\api\model\DealerMoneyLog::doAdd($dealer, $item['goods_price']*$item['goods_num'], 'order', $item['id'], 1); 22 + // 记录经销商余额
  23 + \app\admin\model\dealer\DealerMoneyLog::doAdd($dealer, $item['goods_price']*$item['goods_num'], 'order', $item['id'], 1);
24 } 24 }
25 } 25 }
26 } 26 }
@@ -53,15 +53,15 @@ class DealerMoneyLog extends Model @@ -53,15 +53,15 @@ class DealerMoneyLog extends Model
53 $oper = $adminAuth->getUserInfo(); 53 $oper = $adminAuth->getUserInfo();
54 } 54 }
55 if ($oper) { 55 if ($oper) {
56 - // 经销商  
57 - $dealer = []; 56 + // 经销商登录
  57 + $oper_dealer = [];
58 $group_id_arr = array_column($adminAuth->getGroups(), 'group_id'); 58 $group_id_arr = array_column($adminAuth->getGroups(), 'group_id');
59 if(!in_array(1,$group_id_arr) && in_array(2,$group_id_arr)){ 59 if(!in_array(1,$group_id_arr) && in_array(2,$group_id_arr)){
60 - $dealer = \app\admin\model\dealer\Dealer::where('admin_id',$oper['id'])->find(); 60 + $oper_dealer = \app\admin\model\dealer\Dealer::where('admin_id',$oper['id'])->find();
61 } 61 }
62 - if($dealer){ 62 + if($oper_dealer){
63 $oper_type = 'dealer'; 63 $oper_type = 'dealer';
64 - $oper_id = $dealer['id']; 64 + $oper_id = $oper_dealer['id'];
65 }else{ 65 }else{
66 $oper_type = 'admin'; 66 $oper_type = 'admin';
67 $oper_id = $oper['id']; 67 $oper_id = $oper['id'];
1 -<?php  
2 -  
3 -namespace app\api\model;  
4 -  
5 -use think\Model;  
6 -use addons\shopro\exception\Exception;  
7 -use addons\shopro\model\User;  
8 -use think\Db;  
9 -use app\admin\library\Auth as AdminAuth;  
10 -  
11 -/**  
12 - * 经销商余额日志  
13 - */  
14 -class DealerMoneyLog extends Model  
15 -{  
16 -  
17 - // 表名,不含前缀  
18 - protected $name = 'dealer_money_log';  
19 - // 自动写入时间戳字段  
20 - protected $autoWriteTimestamp = 'int';  
21 - // 定义时间戳字段名  
22 - protected $createTime = 'createtime';  
23 - protected $updateTime = 'updatetime';  
24 - protected $deleteTime = false;  
25 -  
26 - protected $hidden = ['deletetime'];  
27 -  
28 -  
29 - // 追加属性  
30 - protected $append = [  
31 - 'type_name',  
32 - ];  
33 -  
34 - public static $typeAll = [  
35 - // money  
36 - 'order' => ['code' => 'order', 'name' => '下单'],  
37 - 'cash' => ['code' => 'cash', 'name' => '提现'],  
38 - 'cash_error' => ['code' => 'cash_error', 'name' => '提现驳回'],  
39 - ];  
40 -  
41 - public function scopeAdd($query)  
42 - {  
43 - return $query->where('money', '>', 0);  
44 - }  
45 -  
46 - public function scopeToday($query)  
47 - {  
48 - return $query->where('money', '>', 0)->whereTime('createtime','today');  
49 - }  
50 -  
51 - public function scopeSeven($query)  
52 - {  
53 - return $query->where('money', '>', 0)->whereTime('createtime','-7 days');  
54 - }  
55 -  
56 -  
57 - public static function doAdd($dealer, $money, $type, $item_id, $is_add = 0)  
58 - {  
59 -  
60 - // 自动获取操作人  
61 - if (strpos(request()->url(), 'api') !== false) {  
62 - // 用户  
63 - $oper = User::info();  
64 - $oper_type = 'user';  
65 - $oper_id = $oper ? $oper->id : $dealer['id'];  
66 - } else {  
67 - $adminAuth = AdminAuth::instance(); // 没有登录返回的还是这个类实例  
68 - $oper = null;  
69 - if ($adminAuth){  
70 - $oper = $adminAuth->getUserInfo();  
71 - }  
72 - if ($oper) {  
73 - $oper_type = 'admin';  
74 - $oper_id = $oper['id'];  
75 - } else {  
76 - $oper_type = 'system';  
77 - $oper_id = 0;  
78 - }  
79 - }  
80 -  
81 - $self = self::create([  
82 - "dealer_id" => $dealer->id,  
83 - "money" => $is_add ? $money : -$money, // 符号直接存到记录里面  
84 - "type" => $type,  
85 - "item_id" => $item_id,  
86 - "oper_type" => $oper_type,  
87 - "oper_id" => $oper_id  
88 - ]);  
89 -  
90 - return $self;  
91 - }  
92 -  
93 -  
94 - public static function getList($status = 'all')  
95 - {  
96 - $user = User::info();  
97 -  
98 - $walletLogs = new self();  
99 -  
100 - if ($status != 'all') {  
101 - $walletLogs = $walletLogs->{$status}();  
102 - }  
103 -  
104 - $walletLogs = $walletLogs->where(['user_id' => $user->id])  
105 - ->order('id', 'DESC')->paginate(10);  
106 - foreach ($walletLogs as $w) {  
107 - $w->createtime = date('Y/m/d',$w->createtime);  
108 - switch ($w['type']) {  
109 - case 'package_commission':  
110 - case 'order_commssion':  
111 - $oper = \addons\shopro\model\User::get($w->oper_id);  
112 - $w->avatar = $oper['avatar'] ?? '';  
113 - $w->nickname = $oper['nickname'] ?? '';  
114 - break;  
115 - case 'cash':  
116 - case 'cash_error':  
117 - $w->avatar = $user->avatar;  
118 - $w->nickname = $user->nickname;  
119 - break;  
120 - }  
121 - }  
122 - return $walletLogs;  
123 - }  
124 -  
125 -  
126 -  
127 - public static function getTypeName($type)  
128 - {  
129 - return isset(self::$typeAll[$type]) ? self::$typeAll[$type]['name'] : '';  
130 - }  
131 -  
132 -  
133 - public function getTypeNameAttr($value, $data)  
134 - {  
135 - return self::getTypeName($data['type']);  
136 - }  
137 -}