|
|
@@ -283,7 +283,7 @@ class CustomClass extends BaseClass
|
|
|
$current = $levelData[$newLevel] ?? [];
|
|
|
$before = $levelData[$oldLevel] ?? [];
|
|
|
$beforeName = $before['name'] ?? '普通客户';
|
|
|
- $discount = $current['discount'] ?? 1;
|
|
|
+ $discount = $current['discount'] ?? 10;
|
|
|
$memberName = $current['name'] ?? '';
|
|
|
$oldGrowth = $custom->growth;
|
|
|
|
|
|
@@ -980,8 +980,8 @@ class CustomClass extends BaseClass
|
|
|
{
|
|
|
$shopId = $data['shopId'];
|
|
|
$mainId = $data['mainId'];
|
|
|
- $customs = self::getAllByCondition(['shopId' => $shopId], null, 'id, name, hdId, userId, buyAmount, growth, member, memberName', null, true);
|
|
|
- $levelDatas = MemberLevelClass::getAllByCondition(['mainId' => $mainId], 'amount DESC', 'id, name, level, amount');
|
|
|
+ $customs = self::getAllByCondition(['shopId' => $shopId], null, 'id, name, hdId, userId, buyAmount, growth, member, memberName, discount', null, true);
|
|
|
+ $levelDatas = MemberLevelClass::getAllByCondition(['mainId' => $mainId], 'amount DESC', 'id, name, level, amount, discount');
|
|
|
if (!empty($customs) && !empty($levelDatas)) {
|
|
|
foreach ($customs as $c) {
|
|
|
// $buyAmount = 0;
|
|
|
@@ -997,6 +997,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) {
|
|
|
$hdId = $c->hdId;
|
|
|
@@ -1027,8 +1028,27 @@ class CustomClass extends BaseClass
|
|
|
|
|
|
$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();
|
|
|
}
|
|
|
+ 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();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
// 更新客户所对应花店的消费金额
|
|
|
// HdClass::updateByCondition(['shopId'=>$shopId, 'userId'=>$c->userId], ['expendAmount'=>$buyAmount]);
|
|
|
@@ -1041,7 +1061,7 @@ class CustomClass extends BaseClass
|
|
|
public static function getCustomExpenseLevel($growth, $mainId, $levelDatas=[])
|
|
|
{
|
|
|
if (empty($levelDatas)) {
|
|
|
- $levelDatas = MemberLevelClass::getAllByCondition(['mainId' => $mainId], 'amount DESC', 'id, name, level, amount');
|
|
|
+ $levelDatas = MemberLevelClass::getAllByCondition(['mainId' => $mainId], 'amount DESC', 'id, name, level, amount, discount');
|
|
|
}
|
|
|
foreach ($levelDatas as $data) {
|
|
|
if ($growth >= $data['amount']) {
|
|
|
@@ -1049,6 +1069,6 @@ class CustomClass extends BaseClass
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return ['level'=>0, 'name'=>''];
|
|
|
+ return ['level'=>0, 'name'=>'', 'discount'=>10];
|
|
|
}
|
|
|
}
|