gorden 3 months ago
parent
commit
c261df2cbe

+ 5 - 1
app/admin/controller/finance/WithdrawalListController.php

@@ -4,6 +4,7 @@ namespace app\admin\controller\finance;
 
 use app\admin\service\goods\GoodsSkuService;
 use app\admin\service\member\MemberService;
+use app\admin\service\order\CommissionService;
 use app\controller\Curd;
 use app\model\ClientConfig;
 use app\model\Member;
@@ -43,7 +44,7 @@ class WithdrawalListController extends Curd
     {
         $model = $this->model->with([
             'member' => function ($query) {
-                $query->select('member_id', 'member_mobile', 'member_is_owner', 'member_is_vip', 'member_is_partner', 'member_is_referrer','member_is_franchisee');
+                $query->select('member_id', 'member_mobile', 'member_is_owner', 'member_is_vip', 'member_is_partner', 'member_is_referrer', 'member_is_franchisee');
             },
             'memberInfo' => function ($query) {
                 $query->select('join_info_member_id', 'member_info_nickname', 'member_info_headimg');
@@ -284,6 +285,9 @@ class WithdrawalListController extends Curd
             } else if ($status == 'CANCEL') {
                 $memberAccountListExtendJson['resulttime'] = date('Y-m-d H:i:s');
                 $memberAccountListExtendJson['reason'] = $request->post('reason', '');
+                if ($request->post('is_return', false)) {
+                    CommissionService::withdrawReject($withdraw->join_member_account_list_member_id, $withdraw->member_account_list_amount, json_encode($memberAccountListExtendJson));
+                }
             }
             $withdraw->member_account_list_extend_json = json_encode($memberAccountListExtendJson);
             $withdraw->member_account_list_outed = 'Y';

+ 30 - 4
app/admin/service/order/CommissionService.php

@@ -70,8 +70,8 @@ class CommissionService
                     $config1 = SysConfig::where('config_key', 'app-identity-partner-config')->first();
                 } else if ($member1->member_is_referrer == 'Y') {
                     $config1 = SysConfig::where('config_key', 'app-identity-referrer-config')->first();
-                } else if ($member1->member_is_franchisee == 'Y'){
-                    $config1 = SysConfig::where('config_key','app-identity-franchisee-config')->first();
+                } else if ($member1->member_is_franchisee == 'Y') {
+                    $config1 = SysConfig::where('config_key', 'app-identity-franchisee-config')->first();
                 }
                 if (!empty($config1)) {
                     $configParams1 = json_decode($config1->config_value_json, true);
@@ -104,7 +104,7 @@ class CommissionService
             ];
             // 直属提成
             if (!empty($member1) && ($member1->member_is_partner == 'Y' || $member1->member_is_referrer == 'Y' || $member1->member_is_franchisee == 'Y') && !empty($configParams1)) {
-                $accountListJson['identity'] = MemberService::getIdentity($member1->member_is_partner, $member1->member_is_referrer,$member1->member_is_franchisee);
+                $accountListJson['identity'] = MemberService::getIdentity($member1->member_is_partner, $member1->member_is_referrer, $member1->member_is_franchisee);
                 $accountListJson['line'] = 'direct';
                 $member1CommissionAmount = $configParams1['commission']['direct'] * $amount;
                 self::commissionToMember($member1->member_id, $accountListJson, $member1CommissionAmount, $accountListCategory);
@@ -113,7 +113,7 @@ class CommissionService
             }
             // 间属提成
             if (!empty($member2) && ($member2->member_is_partner == 'Y' || $member2->member_is_referrer == 'Y' || $member1->member_is_franchisee == 'Y') && !empty($configParams2)) {
-                $accountListJson['identity'] = MemberService::getIdentity($member2->member_is_partner, $member2->member_is_referrer,$member2->member_is_franchisee);
+                $accountListJson['identity'] = MemberService::getIdentity($member2->member_is_partner, $member2->member_is_referrer, $member2->member_is_franchisee);
                 $accountListJson['line'] = 'indirect';
                 $member2CommissionAmount = $configParams2['commission']['indirect'] * $amount;
                 self::commissionToMember($member2->member_id, $accountListJson, $member2CommissionAmount, $accountListCategory);
@@ -156,4 +156,30 @@ class CommissionService
             'member_account_list_addtimes' => time()
         ]);
     }
+
+    /**
+     * @Desc 驳回提现申请,重新插一条入账记录
+     * @Author Gorden
+     * @Date 2024/12/9 10:26
+     *
+     * @param $memberId
+     * @param $money
+     * @param $accountListJson
+     * @return void
+     */
+    public static function withdrawReject($memberId, $money, $accountListJson)
+    {
+        MemberAccountList::insert([
+            'join_list_member_account_nbr' => $memberId . '-CASH',
+            'join_member_account_list_member_id' => $memberId,
+            'member_account_list_status' => 'ACTIVED',
+            'member_account_list_attr' => 'IN',
+            'member_account_list_classify' => 'REJECT_WITHDRAW',
+            'member_account_list_category' => '驳回提现申请',
+            'member_account_list_datetime' => date('Y-m-d H:i:s'),
+            'member_account_list_amount' => $money,
+            'member_account_list_json' => json_encode($accountListJson),
+            'member_account_list_addtimes' => time()
+        ]);
+    }
 }