|
|
@@ -3,7 +3,6 @@
|
|
|
namespace bizGhs\custom\classes;
|
|
|
|
|
|
use biz\ghs\classes\GhsClass;
|
|
|
-use biz\sj\classes\MerchantClass;
|
|
|
use biz\sj\classes\SjClass;
|
|
|
use bizGhs\admin\classes\AdminClass;
|
|
|
use bizGhs\book\classes\BookCustomClass;
|
|
|
@@ -15,9 +14,9 @@ use bizGhs\shop\classes\TotalDebtChangeClass;
|
|
|
use bizGhs\ghs\classes\GhsBalanceClass;
|
|
|
use bizGhs\ghs\classes\GhsRechargeClass;
|
|
|
use bizGhs\shop\classes\ShopClass;
|
|
|
+use bizHd\member\classes\MemberLevelClass;
|
|
|
use bizHd\saas\classes\ApplyClass;
|
|
|
use bizHd\saas\services\ApplyService;
|
|
|
-use common\components\business;
|
|
|
use common\components\dict;
|
|
|
use common\components\imgUtil;
|
|
|
use common\components\noticeUtil;
|
|
|
@@ -902,4 +901,45 @@ class CustomClass extends BaseClass
|
|
|
return ['pfAmount' => $pfAmount, 'lsAmount' => $lsAmount];
|
|
|
}
|
|
|
|
|
|
+ // 客户消费等级变更
|
|
|
+ public static function updateCustomExpenseLevel($data)
|
|
|
+ {
|
|
|
+ $shopId = $data['shopId'];
|
|
|
+ $mainId = $data['mainId'];
|
|
|
+ $customs = CustomClass::getAllByCondition(['shopId' => $shopId], null, '*', null, true);
|
|
|
+ if (!empty($customs)) {
|
|
|
+ foreach ($customs as $c) {
|
|
|
+ $buyAmount = 0;
|
|
|
+
|
|
|
+ // 获取所有零售订单,计算消费金额
|
|
|
+ $orderList = \bizHd\order\classes\OrderClass::getAllByCondition(['customId' => $c->id], null, 'id, actPrice');
|
|
|
+ if (!empty($orderList)) {
|
|
|
+ foreach ($orderList as $order) {
|
|
|
+ $buyAmount = bcadd($buyAmount, $order['actPrice'], 2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $c->buyAmount = $buyAmount;
|
|
|
+
|
|
|
+ // 根据 byuAmount 设置等级
|
|
|
+ $level = self::getCustomExpenseLevel($mainId, $buyAmount);
|
|
|
+ $c->level = $level;
|
|
|
+ $c->save();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取客户消费等级
|
|
|
+ public static function getCustomExpenseLevel($mainId, $buyAmount)
|
|
|
+ {
|
|
|
+ $levelDatas = MemberLevelClass::getAllByCondition(['mainId' => $mainId], null, '*', 'amount DESC');
|
|
|
+ foreach ($levelDatas as $data) {
|
|
|
+ if ($buyAmount >= $data['amount']) {
|
|
|
+ return $data['level'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
}
|