Просмотр исходного кода

同步更新折扣(discount)到 xhCustom 表与 xhHd 表

shizhongqi 1 месяц назад
Родитель
Сommit
b7cb6e4ef0

+ 7 - 19
biz-hd/custom/classes/CustomClass.php

@@ -996,10 +996,7 @@ class CustomClass extends BaseClass
 
                 // 根据 growth 设置等级
                 $memberData = self::getCustomExpenseLevel($c->growth, $mainId, $levelDatas); // 设置等级多处需要同步修改的,请搜索:getCustomExpenseLevel
-                $newMember = intval($memberData['level']);
-                $newDiscount = floatval($memberData['discount'] ?? 10);
-                $customMember = $c->member;
-                if ($customMember != $newMember) {
+                if ($c->member != $memberData['level'] || $c->memberName != $memberData['name']) {
                     $hdId = $c->hdId;
                     $hd = HdClass::getById($hdId, true);
 
@@ -1025,28 +1022,19 @@ class CustomClass extends BaseClass
                         'staffName' => '',
                     ];
                     MemberChangeClass::add($change);
-
-                    $c->member = $memberData['level'];
-                    $c->memberName = $memberData['name'];
-                }
-                if ($c->memberName != $memberData['name']) {
-                    $c->memberName = $memberData['name'];
-                }
-                if (floatval($c->discount) != $newDiscount) {
-                    $c->discount = $newDiscount;
-                }
-                if ($c->isAttributeChanged('member') || $c->isAttributeChanged('memberName') || $c->isAttributeChanged('discount')) {
-                    $c->save();
                 }
+                $c->member = $memberData['level'];
+                $c->memberName = $memberData['name'];
+                $c->discount = bcdiv(floatval($memberData['discount']), 10, 1);
+                $c->save();
+
                 if (!empty($c->hdId)) {
                     $hd = HdClass::getById($c->hdId, true);
                     if (!empty($hd)) {
                         $hd->member = $memberData['level'];
                         $hd->memberName = $memberData['name'];
                         $hd->discount = $newDiscount;
-                        if ($hd->isAttributeChanged('member') || $hd->isAttributeChanged('memberName') || $hd->isAttributeChanged('discount')) {
-                            $hd->save();
-                        }
+                        $hd->save();
                     }
                 }
 

+ 1 - 0
biz-hd/custom/observers/BuyAmountObserver.php

@@ -86,6 +86,7 @@ class BuyAmountObserver extends Behavior
             $model::updateAll([
                 'member' => (int) ($memberData['level'] ?? 0),
                 'memberName' => (string) ($memberData['name'] ?? ''),
+                'discount' => bcdiv(floatval($memberData['discount']), 10, 1)
             ], ['id' => $model->getPrimaryKey()]);
         }else{
             throw new \Exception('mainId is required');

+ 1 - 0
biz-hd/deduct/classes/DeductClass.php

@@ -172,6 +172,7 @@ class DeductClass extends BaseClass
             CustomClass::updateById($customId, [
                 'member' => (int) ($memberData['level'] ?? 0),
                 'memberName' => (string) ($memberData['name'] ?? ''),
+                'discount' => bcdiv(floatval($memberData['discount']), 10, 1)
             ]);
         }
 

+ 1 - 0
biz-hd/recharge/classes/RechargeClass.php

@@ -285,6 +285,7 @@ class RechargeClass extends BaseClass
             CustomClass::updateById($customId, [
                 'member' => (int) ($memberData['level'] ?? 0),
                 'memberName' => (string) ($memberData['name'] ?? ''),
+                'discount' => bcdiv(floatval($memberData['discount']), 10, 1)
             ]);
         }
         $custom->save();