shish 4 лет назад
Родитель
Сommit
ef92f6c7bb

+ 2 - 7
app-mall/controllers/AuthController.php

@@ -151,14 +151,9 @@ class AuthController extends PublicController
         $sessionKey = isset($arr['session_key']) ? $arr['session_key'] : '';
         $miniOpenId = isset($arr['openid']) ? $arr['openid'] : '';
         if (empty($miniOpenId)) {
-            Yii::info(json_encode($arr));
-            util::fail('没有获取到小程序openId');
+            util::fail('没有获取到用户的miniOpenId');
         }
-        $unionId = isset($arr['unionid']) && !empty($arr['unionid']) ? $arr['unionid'] : '';
-        $userInfo = ['miniOpenId' => $miniOpenId, 'unionId' => $unionId];
-        $userSource = UserClass::$userSourceId['mini']['name'];
-        $sjId = 0;
-        $user = UserClass::replaceUser($userInfo, $userSource, $sjId);
+        $user = UserClass::getByCondition(['miniOpenId' => $miniOpenId]);
         $cacheKey = 'MALL_MINI_SESSION_KEY_' . $miniOpenId;
         Yii::$app->redis->executeCommand('SET', [$cacheKey, $sessionKey]);
         $userId = $user['id'];

+ 0 - 12
app-mall/controllers/CustomController.php

@@ -14,18 +14,6 @@ class CustomController extends BaseController
     //生成客户信息 ssh 2021.5.1
     public function actionInitCustom()
     {
-        $custom = [];
-        //非登陆情况的请求,支付宝扫码付款需要用到
-        if (httpUtil::isMiniProgram() == false) {
-            util::success($custom);
-        }
-        if (!empty($this->shopId)) {
-            $custom = CustomClass::replaceCustom($this->sjId, $this->user, $this->shopId);
-            if (empty($custom)) {
-                util::fail('没有找到客户信息');
-            }
-        }
-        util::success($custom);
     }
 
 }

+ 25 - 28
biz-hd/custom/classes/CustomClass.php

@@ -19,31 +19,36 @@ class CustomClass extends BaseClass
         return 'hd_custom_key_' . $sjId . '_' . $shopId . '_' . $userId;
     }
 
+    //添加客户 ssh 2021.2.28
+    public static function addCustom($data)
+    {
+        return self::add($data, true);
+    }
+
     //创建或获取客户信息 ssh 2021.3.19
-    public static function replaceCustom($sjId, $user, $shopId)
+    public static function replaceCustom($shop, $user)
     {
-        $userId = $user['id'];
-        $name = $user['name'] ?? '';
-        $mobile = $user['mobile'] ?? '';
+        $userId = $user->id;
+        $name = $user->name ?? '';
+        $mobile = $user->mobile ?? '';
+        $shopId = $shop->id ?? 0;
+        $sjId = $shop->sjId ?? 0;
         $info = self::getByCondition(['shopId' => $shopId, 'userId' => $userId]);
-        if (empty($info)) {
-            $py = stringUtil::py($name);
-            $visitTime = date("Y-m-d H:i:s");
-            $data = [
-                'userId' => $userId,
-                'sjId' => $sjId,
-                'shopId' => $shopId,
-                'name' => $name,
-                'py' => $py,
-                'mobile' => $mobile,
-                'visitTime' => $visitTime,
-            ];
-            $info = self::addCustom($data, $user, $shopId);
-        }
-        if (empty($info)) {
+        if (!empty($info)) {
             return $info;
         }
-        $info['avatar'] = imgUtil::groupImg($info['avatar']);
+        $py = stringUtil::py($name);
+        $visitTime = date("Y-m-d H:i:s");
+        $data = [
+            'userId' => $userId,
+            'sjId' => $sjId,
+            'shopId' => $shopId,
+            'name' => $name,
+            'py' => $py,
+            'mobile' => $mobile,
+            'visitTime' => $visitTime,
+        ];
+        $info = self::addCustom($data);
         return $info;
     }
 
@@ -96,14 +101,6 @@ class CustomClass extends BaseClass
         return $list;
     }
 
-    //添加客户 ssh 2021.2.28
-    public static function addCustom($data, $user, $shopId)
-    {
-        //增加最近访问的店铺
-        UserClass::addRecentShop($shopId, $user);
-        return self::add($data);
-    }
-
     //更新客户信息 ssh 2021.3.23
     public static function updateCustomInfo($custom, $data)
     {

+ 13 - 4
biz-hd/merchant/services/SjService.php

@@ -4,12 +4,14 @@ namespace bizHd\merchant\services;
 
 use bizGhs\custom\services\CustomService;
 use bizHd\base\services\BaseService;
+use bizHd\custom\classes\CustomClass;
 use bizHd\merchant\classes\SjAssetClass;
 use bizHd\merchant\classes\SjClass;
 use bizHd\merchant\classes\SjExtendClass;
 use bizHd\merchant\classes\SjInitClass;
 use bizHd\saas\classes\ApplyClass;
 use bizHd\shop\classes\ShopClass;
+use bizHd\user\classes\UserClass;
 use common\components\dict;
 use common\components\stringUtil;
 use Yii;
@@ -125,8 +127,8 @@ class SjService extends BaseService
             'img' => ['/example/shop/1.jpg'],
             'ptStyle' => $ptStyle,
         ];
-        $shopRespond = ShopClass::addShop($shopData);
-        $shopId = $shopRespond->id;
+        $shopInfo = ShopClass::addShop($shopData);
+        $shopId = $shopInfo->id;
 
         //变更状态和设置商家的默认门店
         $sjData = [];
@@ -137,10 +139,17 @@ class SjService extends BaseService
 
         //建立供应商和客户关系
         if ($applyThis) {
-            CustomService::shareBuildTrade($applyData, $shopRespond);
+            CustomService::shareBuildTrade($applyData, $shopInfo);
         }
 
-        return ['sj' => $sj, 'shop' => $shopRespond];
+        //生成保存默认客户
+        $user = UserClass::replaceUser(['mobile' => $mobile]);
+        $custom = CustomClass::replaceCustom($shopInfo, $user);
+        $customId = $custom->id ?? 0;
+        $shopInfo->defaultCustomId = $customId;
+        $shopInfo->save();
+
+        return ['sj' => $sj, 'shop' => $shopInfo];
     }
 
 }

+ 13 - 63
biz-hd/user/classes/UserClass.php

@@ -9,6 +9,7 @@ use bizHd\message\classes\ChatClass;
 use bizHd\user\services\UserIntegralService;
 use common\components\business;
 use common\components\dict;
+use common\components\stringUtil;
 use common\components\util;
 use common\components\wxUtil;
 use common\services\ImageService;
@@ -96,8 +97,17 @@ class UserClass extends BaseClass
         return self::getByCondition(['sjId' => $sjId, 'mobile' => $mobile]);
     }
 
-    public static function generateUser($getUserInfo, $sjId)
+    public static function replaceUser($getUserInfo)
     {
+        $mobile = $getUserInfo['mobile'] ?? '';
+        if (stringUtil::isMobile($mobile) == false) {
+            util::fail('请填写正确手机号');
+        }
+        $user = self::getByCondition(['mobile' => $mobile], true);
+        if (!empty($user)) {
+            return $user;
+        }
+
         $date = date("Y-m-d H:i:s");
         $time = time();
         //替换掉微信名称不支持的图片
@@ -121,13 +131,10 @@ class UserClass extends BaseClass
         $getUserInfo['source'] = isset($getUserInfo['source']) ? $getUserInfo['source'] : 0;
         $getUserInfo['hasSubscribe'] = 0;
         //生成用户基础信息
-        $user = self::add($getUserInfo);
-        $userId = $user['id'];
-
+        $user = self::add($getUserInfo, true);
+        $userId = $user->id ?? 0;
         $assetData = ['userId' => $userId, 'createTime' => $date];
-        //生成用户资产信息
         UserAssetClass::add($assetData);
-
         //保存头像
         if (isset($getUserInfo['headImgUrl']) && !empty($getUserInfo['headImgUrl'])) {
             if (empty($preUser) || (isset($preUser['avatar']) && empty($preUser['avatar']))) {
@@ -201,11 +208,6 @@ class UserClass extends BaseClass
         return self::getByCondition(['miniOpenId' => $miniOpenId]);
     }
 
-    public static function getByAlipayId($alipayId, $sjId)
-    {
-        return self::getByCondition(['sjId' => $sjId, 'alipayId' => $alipayId]);
-    }
-
     public static function getByOpenId($openId)
     {
         return self::getByCondition(['openId' => $openId]);
@@ -471,56 +473,4 @@ class UserClass extends BaseClass
         return $info;
     }
 
-    //创建以及更新用户 ssh 2020.2.7
-    public static function replaceUser($userInfo, $source, $sjId)
-    {
-        $userInfo = self::switchUserInfo($userInfo, $source);
-        $unionId = isset($userInfo['unionId']) && !empty($userInfo['unionId']) ? $userInfo['unionId'] : '';
-        $user = UserClass::getByUnionId($unionId);
-        if (empty($user)) {
-            $user = self::generateUser($userInfo, 0);
-        } else {
-            $user = self::updateUser($user, $userInfo, 0);
-        }
-        return $user;
-    }
-
-    //拉取粉丝 ssh 2020.2.7
-    public static function syncWxUser($sjId, $nextOpenId = '')
-    {
-        $merchant = MerchantClass::getMerchantById($sjId);
-        //一次拉取调用最多拉取10000个关注者的OpenID
-        $result = wxUtil::getSubscribeUserList($merchant, $nextOpenId);
-        $total = isset($result['total']) ? $result['total'] : 0;
-        $next_openid = isset($result['next_openid']) ? $result['next_openid'] : '';
-        $count = isset($result['count']) ? $result['count'] : 0;
-        $openIdList = isset($result['data']['openid']) ? $result['data']['openid'] : [];
-        $currentTotal = count($openIdList);
-        if ($count == 0 || $currentTotal == 0) {
-            return ['total' => $total, 'count' => $count, 'nextOpenId' => $next_openid];
-        }
-        $currentTotalPage = $currentTotal > 100 ? ceil($currentTotal / 100) : 1;
-        $source = dict::getDict('userSourceGetId', 'official', 'name');
-        for ($m = 1; $m <= $currentTotalPage; $m++) {
-            $offset = ($m - 1) * 100;
-            $subIdList = array_slice($openIdList, $offset, 100);
-            $info = wxUtil::batchGetUserInfo($merchant, $subIdList);
-            if (empty($info) || isset($info['user_info_list']) == false || empty($info['user_info_list'])) {
-                continue;
-            }
-            $user_info_list = $info['user_info_list'];
-            foreach ($user_info_list as $val) {
-                $val['isFull'] = 1;
-                $val['unionId'] = $val['unionid'];
-                $val['headImgUrl'] = $val['headimgurl'];
-                $val['openId'] = $val['openid'];
-                //去掉不支持的字符
-                $val['nickName'] = isset($val['nickname']) ? preg_replace('/[\x{10000}-\x{10FFFF}]/u', '', $val['nickname']) : '';
-                $val['sjId'] = $sjId;
-                self::replaceUser($val, $source, $sjId);
-            }
-        }
-        return ['total' => $total, 'count' => $count, 'nextOpenId' => $next_openid];
-    }
-
 }

+ 1 - 29
biz-mall/user/classes/UserClass.php

@@ -221,11 +221,6 @@ class UserClass extends BaseClass
         return self::getByCondition(['miniOpenId' => $miniOpenId]);
     }
 
-    public static function getByAlipayId($aliId)
-    {
-        return self::getByCondition(['alipayId' => $aliId]);
-    }
-
     public static function getByOpenId($openId)
     {
         return self::getByCondition(['openId' => $openId]);
@@ -494,30 +489,7 @@ class UserClass extends BaseClass
     //创建以及更新用户 ssh 2020.2.7
     public static function replaceUser($userInfo, $source, $sjId, $shopId = 0)
     {
-        $userInfo = self::switchUserInfo($userInfo, $source);
-        $userSource = self::$userSourceId;
-        $sourceId = 0;
-        if ($source == $userSource['mini']['name']) {
-            //小程序来源的创建用户
-            $sourceId = $userSource['mini']['id'];
-            $miniOpenId = $userInfo['miniOpenId'];
-            $user = self::getByMiniOpenId($miniOpenId);
-        } else {
-            util::fail('暂不支持访问');
-        }
-        if (empty($user)) {
-            $userInfo['sourceType'] = $sourceId;
-            $user = self::generateUser($userInfo);
-        } else {
-            $user = self::updateUser($user, $userInfo);
-        }
-        $custom = [];
-        if (!empty($shopId)) {
-            //创建客户信息
-            $custom = CustomClass::replaceCustom($sjId, $user, $shopId);
-        }
-        $user['customInfo'] = $custom;
-        return $user;
+
     }
 
     //拉取粉丝 ssh 2020.2.7

+ 1 - 7
common/services/xhUserService.php

@@ -34,13 +34,7 @@ class xhUserService
 		$user = self::replaceUserByWeixin($getUserInfo, $sjId);
 		return $user;
 	}
-	
-	public static function getByAlipayId($sjId, $alipayId)
-	{
-		$user = xhUser::getByCondition(['sjId' => $sjId, 'alipayId' => $alipayId]);
-		return $user;
-	}
-	
+
 	public static function replaceUserByMini($openId, $unionid, $sjId)
 	{
 		$preUser = xhUser::getByCondition(['sjId' => $sjId, 'unionId' => $unionid]);

+ 6 - 0
console/controllers/InitController.php

@@ -69,6 +69,12 @@ class InitController extends Controller
         $sql = "ALTER TABLE xhAdminRole ADD shopId INT NOT NULL DEFAULT 0 COMMENT '门店id' AFTER `sjId`;";
         Yii::$app->db->createCommand($sql)->execute();
 
+        //清除零售商城相关的数据
+        $sql = "TRUNCATE xhUser;TRUNCATE xhCustom;";
+        Yii::$app->db->createCommand($sql)->execute();
+        $sql = "UPDATE xhOrder SET customId=0,customName='',alipayId=0;";
+        Yii::$app->db->createCommand($sql)->execute();
+
         $list = SjClass::getAllByCondition(['id>' => 0], null, '*', null, true);
         if (!empty($list)) {
             foreach ($list as $sj) {