Browse Source

卡用完DONE

Gorden 3 months ago
parent
commit
2d0caa4073

+ 12 - 0
app/admin/controller/order/GoodsController.php

@@ -514,6 +514,9 @@ class GoodsController extends Curd
                 } else {
                     $account->member_account_surplus = $account->member_account_surplus - $params['order_amount_pay'];
                 }
+                if ($account->member_account_surplus == 0){
+                    MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                }
                 $account->member_account_expend = $account->member_account_expend + $params['order_amount_pay'];
                 $account->member_account_update_user_id = JwtToken::getCurrentId();
                 $account->member_account_updatetimes = time();
@@ -1205,6 +1208,9 @@ class GoodsController extends Curd
                 } else {
                     $account->member_account_surplus = $account->member_account_surplus - $params['order_amount_pay'];
                 }
+                if ($account->member_account_surplus == 0){
+                    MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                }
                 $account->member_account_expend = $account->member_account_expend + $params['order_amount_pay'];
                 $account->member_account_update_user_id = JwtToken::getCurrentId();
                 $account->member_account_updatetimes = time();
@@ -1675,6 +1681,9 @@ class GoodsController extends Curd
                     } else {
                         $account->member_account_surplus = $account->member_account_surplus - $item['amount'];
                     }
+                    if ($account->member_account_surplus == 0){
+                        MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                    }
                     $account->member_account_update_user_id = JwtToken::getCurrentId();
                     $account->member_account_updatetimes = time();
                     $account->save();
@@ -1856,6 +1865,9 @@ class GoodsController extends Curd
                 $account->member_account_surplus = $account->member_account_surplus - $amount;
             }
 
+            if ($account->member_account_surplus == 0){
+                MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+            }
             $account->member_account_update_user_id = JwtToken::getCurrentId();
             $account->member_account_updatetimes = time();
             $account->save();

+ 12 - 0
app/admin/controller/order/PackagesController.php

@@ -554,6 +554,9 @@ class PackagesController extends Curd
                 } else {
                     $account->member_account_surplus = $account->member_account_surplus - $params['order_amount_pay'];
                 }
+                if ($account->member_account_surplus == 0){
+                    MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                }
                 $account->member_account_expend = $account->member_account_expend + $params['order_amount_pay'];
                 $account->member_account_update_user_id = JwtToken::getCurrentId();
                 $account->member_account_updatetimes = time();
@@ -1218,6 +1221,9 @@ class PackagesController extends Curd
                 } else {
                     $account->member_account_surplus = $account->member_account_surplus - $params['order_amount_pay'];
                 }
+                if ($account->member_account_surplus == 0){
+                    MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                }
                 $account->member_account_expend = $account->member_account_expend + $params['order_amount_pay'];
                 $account->member_account_update_user_id = JwtToken::getCurrentId();
                 $account->member_account_updatetimes = time();
@@ -1761,6 +1767,9 @@ class PackagesController extends Curd
                     } else {
                         $account->member_account_surplus = $account->member_account_surplus - $item['amount'];
                     }
+                    if ($account->member_account_surplus == 0){
+                        MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                    }
                     $account->save();
                 }
             }
@@ -2020,6 +2029,9 @@ class PackagesController extends Curd
                 $account->member_account_surplus = $account->member_account_surplus - $amount;
             }
 
+            if ($account->member_account_surplus == 0){
+                MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+            }
             $account->save();
         } catch (\Exception $e) {
             _syslog("下单扣款", "扣款失败");

+ 12 - 0
app/admin/controller/order/ServicesController.php

@@ -492,6 +492,9 @@ class ServicesController extends Curd
                 } else {
                     $account->member_account_surplus = $account->member_account_surplus - $params['order_amount_pay'];
                 }
+                if ($account->member_account_surplus == 0){
+                    MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                }
                 $account->member_account_expend = $account->member_account_expend + $params['order_amount_pay'];
                 $account->member_account_update_user_id = JwtToken::getCurrentId();
                 $account->member_account_updatetimes = time();
@@ -1156,6 +1159,9 @@ class ServicesController extends Curd
                 } else {
                     $account->member_account_surplus = $account->member_account_surplus - $params['order_amount_pay'];
                 }
+                if ($account->member_account_surplus == 0){
+                    MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                }
                 $account->member_account_expend = $account->member_account_expend + $params['order_amount_pay'];
                 $account->member_account_update_user_id = JwtToken::getCurrentId();
                 $account->member_account_updatetimes = time();
@@ -1697,6 +1703,9 @@ class ServicesController extends Curd
                     } else {
                         $account->member_account_surplus = $account->member_account_surplus - $item['amount'];
                     }
+                    if ($account->member_account_surplus == 0){
+                        MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                    }
                     $account->member_account_update_user_id = JwtToken::getCurrentId();
                     $account->member_account_updatetimes = time();
                     $account->save();
@@ -1949,6 +1958,9 @@ class ServicesController extends Curd
             } else {
                 $account->member_account_surplus = $account->member_account_surplus - $amount;
             }
+            if ($account->member_account_surplus == 0){
+                MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+            }
 
             $account->save();
         } catch (\Exception $e) {

+ 17 - 0
app/admin/controller/order/WholeController.php

@@ -1079,6 +1079,9 @@ class WholeController extends Curd
                 } else {
                     $account->member_account_surplus = $account->member_account_surplus - $params['order_amount_pay'];
                 }
+                if ($account->member_account_surplus == 0){
+                    MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                }
                 $account->member_account_expend = $account->member_account_expend + $params['order_amount_pay'];
                 $account->member_account_update_user_id = JwtToken::getCurrentId();
                 $account->member_account_updatetimes = time();
@@ -1693,6 +1696,10 @@ class WholeController extends Curd
                     } else {
                         $account->member_account_surplus = $account->member_account_surplus - $item['amount'];
                     }
+                    dump($account->member_account_classify.':'.$account->member_account_surplus);
+                    if ($account->member_account_surplus <= 0){
+                        MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                    }
                     $account->member_account_update_user_id = JwtToken::getCurrentId();
                     $account->member_account_updatetimes = time();
                     $account->save();
@@ -2258,6 +2265,9 @@ class WholeController extends Curd
                 } else {
                     $account->member_account_surplus = $account->member_account_surplus - $params['order_amount_pay'];
                 }
+                if ($account->member_account_surplus == 0){
+                    MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+                }
                 $account->member_account_expend = $account->member_account_expend + $params['order_amount_pay'];
                 $account->member_account_update_user_id = JwtToken::getCurrentId();
                 $account->member_account_updatetimes = time();
@@ -5207,6 +5217,9 @@ class WholeController extends Curd
             } else {
                 $account->member_account_surplus = $account->member_account_surplus - $amount;
             }
+            if ($account->member_account_surplus == 0){
+                MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+            }
             $account->member_account_update_user_id = JwtToken::getCurrentId();
             $account->member_account_updatetimes = time();
             $account->save();
@@ -5604,6 +5617,10 @@ class WholeController extends Curd
                 $account->member_account_surplus = $account->member_account_surplus - $amount;
             }
 
+            if ($account->member_account_surplus == 0){
+                MemberService::accountToDone($account->member_account_id,$account->member_account_surplus,$account->member_account_added);
+            }
+
             $account->save();
         } catch (\Exception $e) {
             _syslog("下单扣款", "扣款失败");

+ 30 - 0
app/admin/service/member/MemberService.php

@@ -3,6 +3,7 @@
 namespace app\admin\service\member;
 
 use app\common\Tree;
+use app\model\Card;
 use app\model\ClientPoints;
 use app\model\CouponDetail;
 use app\model\Device;
@@ -2215,4 +2216,33 @@ class MemberService
             _syslog("加盟合伙人", "赠送20%失败", false, ['member_id' => $member['member_id'], 'msg' => $e->getMessage()], 1001);
         }
     }
+
+    /**
+     * 卡用完了
+     */
+    public static function accountToDone($accountId,$surplus,$added)
+    {
+        dump($accountId);
+        try{
+            $account = MemberAccount::where('member_account_id',$accountId)
+                ->where('member_account_classify','CARD')
+                ->first();
+                dump($account);
+                if (!empty($account) && $surplus <= 0 && $added <= 0){
+                    dump("处理卡");
+                    $card = Card::where('join_card_member_account_id', $accountId)->first();
+                    $cardExtendJson = [];
+                    if (!empty($card->card_extend_json)){
+                        $cardExtendJson = json_decode($card->card_extend_json,true);
+                    }
+                    $cardExtendJson['done_datetime'] = date('Y-m-d H:i:s');
+                    $card->card_status = 'DONE';
+                    $card->card_extend_json = json_encode($cardExtendJson);
+                    $card->save();
+                }
+                dump("处理完成");
+        }catch (\Exception $e){
+            Log::error("卡完成状态处理失败");
+        }
+    }
 }