shish 1 жил өмнө
parent
commit
765a553794

+ 47 - 0
app-hd/controllers/CustomController.php

@@ -4,9 +4,11 @@ namespace hd\controllers;
 
 use bizHd\admin\services\AdminService;
 use bizHd\custom\classes\CustomClass;
+use bizHd\custom\classes\HdClass;
 use bizHd\custom\services\CustomService;
 use biz\sj\services\MerchantAssetService;
 use biz\sj\services\MerchantRemarkService;
+use bizHd\member\classes\MemberWealClass;
 use bizHd\order\classes\OrderClass;
 use bizHd\user\services\UserAssetService;
 use bizHd\user\services\UserGrowthService;
@@ -30,6 +32,51 @@ class CustomController extends BaseController
 
     public $guestAccess = ['list'];
 
+    public function actionChangeLevel()
+    {
+        $get = Yii::$app->request->get();
+        $customId = $get['customId'];
+        $level = $get['level'] ?? 0;
+        if ($level < 0) {
+            util::fail('等级选择错误');
+        }
+        $custom = CustomClass::getById($customId, true);
+        if (empty($custom)) {
+            util::fail('没有找到客户');
+        }
+        $shopId = $this->shopId;
+        if ($custom->shopId != $shopId) {
+            util::fail('不是你的客户');
+        }
+        $hdId = $custom->hdId;
+        $hd = HdClass::getById($hdId, true);
+        if (empty($hd)) {
+            util::fail('客户信息缺失');
+        }
+        $staff = $this->shopAdmin;
+        $staffId = $staff->id;
+        $staffName = $staff->name;
+        $params = [
+            'style' => 1,//手动修改
+            'staffId' => $staffId,
+            'staffName' => $staffName,
+        ];
+        $shop = $this->shop;
+        $connection = Yii::$app->db;
+        $transaction = $connection->beginTransaction();
+        try {
+            $beforeLevel = $custom->member ?? 0;
+            CustomClass::levelChange($beforeLevel, $level, $shop, $custom, $hd, $params);
+            $transaction->commit();
+            util::complete('修改成功');
+        } catch (\Exception $exception) {
+            $transaction->rollBack();
+            Yii::info("修改失败:" . $exception->getMessage());
+            util::fail('修改失败');
+        }
+
+    }
+
     //修改客户地址 ssh 20231109
     public function actionModifyAddress()
     {

+ 33 - 2
app-hd/controllers/MemberChangeController.php

@@ -1,8 +1,11 @@
 <?php
 
-namespace business\controllers;
+namespace hd\controllers;
 
-use hd\controllers\BaseController;
+use bizHd\custom\classes\CustomClass;
+use bizHd\member\classes\MemberChangeClass;
+use common\components\dateUtil;
+use common\components\util;
 use Yii;
 
 class MemberChangeController extends BaseController
@@ -10,4 +13,32 @@ class MemberChangeController extends BaseController
 
     public $guestAccess = [];
 
+    public function actionList()
+    {
+        $get = Yii::$app->request->get();
+        $where = [];
+        $where['mainId'] = $this->mainId;
+        $searchTime = $get['searchTime'] ?? '';
+        if (!empty($searchTime)) {
+            $startTime = $get['startTime'] ?? '';
+            $endTime = $get['endTime'] ?? '';
+            $period = dateUtil::formatTime($searchTime, $startTime, $endTime);
+            $where['addTime'] = ['between', [$period['startTime'], $period['endTime']]];
+        }
+        $customId = $get['customId'] ?? 0;
+        if (!empty($customId)) {
+            $custom = CustomClass::getById($customId, true);
+            if (empty($custom)) {
+                util::fail('找不到客户');
+            }
+            $shopId = $this->shopId;
+            if ($custom->shopId != $shopId) {
+                util::fail('不是你的客户');
+            }
+            $where['customId'] = $customId;
+        }
+        $respond = MemberChangeClass::getChangeList($where);
+        util::success($respond);
+    }
+
 }

+ 56 - 0
biz-hd/custom/classes/CustomClass.php

@@ -4,6 +4,8 @@ namespace bizHd\custom\classes;
 
 use biz\wx\classes\WxMessageClass;
 use bizGhs\shop\classes\TotalDebtChangeClass;
+use bizHd\member\classes\MemberChangeClass;
+use bizHd\member\classes\MemberWealClass;
 use bizHd\shop\classes\MainClass;
 use bizMall\user\classes\UserClass;
 use common\components\dict;
@@ -19,6 +21,60 @@ class CustomClass extends BaseClass
 
     public static $baseFile = '\bizHd\custom\models\Custom';
 
+    //会员等级变化,包括手动修改、自动降会员和充值升会员等 ssh 20250324
+    public static function levelChange($oldLevel, $newLevel, $shop, $custom, $hd, $params)
+    {
+        $staffId = $params['staffId'] ?? 0;
+        $staffName = $params['staffName'] ?? '';
+        $style = $params['style'] ?? 0;
+        $target = $params['target'] ?? [];
+        $targetId = $target->id ?? 0;
+        $mainId = $shop->mainId;
+        $shopId = $shop->id;
+        $weal = MemberWealClass::getAllByCondition(['mainId' => $mainId], null, '*', 'level');
+        $current = $weal[$newLevel] ?? [];
+        $before = $weal[$oldLevel] ?? [];
+        $beforeName = $before['name'] ?? '';
+        $discount = $current['discount'] ?? 1;
+        $memberName = $current['name'] ?? '';
+
+        $custom->member = $newLevel;
+        $custom->discount = $discount;
+        $custom->memberName = $memberName;
+        $custom->save();
+
+        $hd->member = $newLevel;
+        $hd->discount = $discount;
+        $hd->memberName = $memberName;
+        $hd->save();
+
+        $event = '手动修改';
+
+        $change = [
+            'customId' => $custom->id,
+            'customName' => $custom->name,
+            'hdId' => $hd->id,
+            'hdName' => $hd->name,
+            'mainId' => $mainId,
+            'shopId' => $shopId,
+            'targetId' => $targetId,
+            'rechargeAmount' => 0,
+            'days' => 0,
+            'daysBefore' => '0000-00-00 00:00:00',
+            'daysAfter' => '0000-00-00 00:00:00',
+            'beforeLevel' => $oldLevel,
+            'afterLevel' => $newLevel,
+            'beforeName' => $beforeName,
+            'afterName' => $memberName,
+            'style' => $style,
+            'event' => $event,
+            'staffId' => $staffId,
+            'staffName' => $staffName,
+        ];
+        MemberChangeClass::add($change);
+
+    }
+
     //客户采购欠款金额增加 ssh 20220908
     public static function cgDebtAmountAdd($custom, $order)
     {

+ 6 - 0
biz-hd/member/classes/MemberChangeClass.php

@@ -10,4 +10,10 @@ class MemberChangeClass extends BaseClass
 
     public static $baseFile = '\bizHd\member\models\MemberChange';
 
+    public static function getChangeList($where)
+    {
+        $data = self::getList('*', $where, 'addTime DESC,id DESC');
+        return $data;
+    }
+
 }

+ 2 - 2
common/components/dict.php

@@ -254,9 +254,9 @@ class dict
         ],
         //零售会员的等级
         'memberLevel' => ['general' => 1, 'silver' => 2, 'gold' => 3, 'diamond' => 4, 'super' => 5,],
-        'memberLevelName' => [1 => '普通会员', 2 => '白银会员', 3 => '黄金会员', 4 => '钻石会员', 5 => '超级会员'],
+        'memberLevelName' => [1 => '入门会员', 2 => '白银会员', 3 => '黄金会员', 4 => '钻石会员', 5 => '超级会员'],
         'memberLevelMap' => [
-            ['name' => '普通会员', 'level' => 1, 'levelSn' => 'general', 'discount' => 0.95, 'recharge' => 500, 'give' => 10,],
+            ['name' => '入门会员', 'level' => 1, 'levelSn' => 'general', 'discount' => 0.95, 'recharge' => 500, 'give' => 10,],
             ['name' => '白银会员', 'level' => 2, 'levelSn' => 'silver', 'discount' => 0.9, 'recharge' => 1000, 'give' => 20],
             ['name' => '黄金会员', 'level' => 3, 'levelSn' => 'gold', 'discount' => 0.85, 'recharge' => 2000, 'give' => 40],
             ['name' => '钻石会员', 'level' => 4, 'levelSn' => 'diamond', 'discount' => 0.8, 'recharge' => 5000, 'give' => 100],