request->get(); //组建where $type = isset($get['type']) ? $get['type'] : 0; $search = isset($get['search']) ? $get['search'] : ''; $where = ['merchantId' => $this->merchantId]; switch ($type) { case 1: //粉丝 $where['subscribe'] = 1; break; case 2: //会员 $where['isMember'] = 1; break; default: } if (!empty($search)) { if (stringUtil::isMobieNumber($search)) { $where['mobile'] = $search; } else { $where['userName'] = ['like', $search]; } } $list = UserService::getUserList($where); util::success($list); } //获取客户基本和资产信息 shish 2019.11.30 public function actionDetail() { $userId = Yii::$app->request->get('userId'); $info = UserService::getUserInfo($userId); if (isset($info['merchantId']) == false || $this->merchantId != $info['merchantId']) { util::fail('没有权限'); } util::success($info); } //获取客户基本、资产和订单完整信息 2019.11.30 public function actionFullDetail() { $userId = Yii::$app->request->get('userId'); $info = UserService::getFullUserInfo($userId); UserService::valid($info, $this->merchantId); util::success($info); } //添加客户,申请会员时会自动同步资产 shish 2019.11.30 public function actionAdd() { $post = Yii::$app->request->post(); if ($post['mobile'] != $post['confirmMobile']) { util::fail('二次输入手机号不一样'); } $confirmPassword = isset($post['confirmPassword']) ? $post['confirmPassword'] : ''; AdminService::verifyConfirmPassword($this->adminId, $confirmPassword); $mobile = $post['mobile']; $user = UserService::getByMobile($mobile, $this->merchantId); if (!empty($user)) { util::fail('手机号已使用,客户已存在'); } $originalInfo = []; $merchantId = $this->merchantId; $originalInfo['merchantId'] = $merchantId; $originalInfo['mobile'] = $mobile; $originalInfo['realName'] = $post['realName']; $userSource = Yii::$app->dict->getValue('userSourceGetId', 'official'); $source = $userSource['name']; $user = UserService::replaceUser($originalInfo, $source, $merchantId); //等级 $memberLevel = isset($post['memberLevel']) ? $post['memberLevel'] : 0; $extend = MerchantExtendService::getByMerchantId($this->merchantId); $gradeList = xhMerchantExtendService::getGradeList($extend, 'desc'); $growth = isset($gradeList[$memberLevel]['growth']) ? $gradeList[$memberLevel]['growth'] : 0; //余额成长值更新 $userId = $user['id']; $balance = isset($post['balance']) && is_numeric($post['balance']) ? $post['balance'] : 0; $data = ['balance' => $balance, 'growth' => $growth]; UserAssetService::updateByUserId($userId, $data); //会员升级 UserIntegralService::increaseToUpgrade(0, $growth, 0, $userId, $merchantId, $extend); util::ok(); } //充值 shish 2019.12.1 public function actionRecharge() { $post = Yii::$app->request->post(); $confirmPassword = isset($post['confirmPassword']) ? $post['confirmPassword'] : ''; AdminService::verifyConfirmPassword($this->adminId, $confirmPassword); $userId = isset($post['userId']) ? $post['userId'] : 0; $rechargeAmount = isset($post['rechargeAmount']) ? $post['rechargeAmount'] : 1; $user = UserService::getById($userId); if (empty($user)) { util::fail('找不到客户'); } if ($user['merchantId'] != $this->merchantId) { util::fail('您没有权限操作'); } $userAsset = UserAssetService::getByUserId($userId); $totalBalance = $userAsset['balance'] + $rechargeAmount; $totalRecharge = $userAsset['totalRecharge'] + $rechargeAmount; $upData['balance'] = $totalBalance; $upData['totalRecharge'] = $totalRecharge; $return = xhRechargeService::recharge($rechargeAmount, $user, $this->adminId, $this->merchant, $this->merchantExtend, $this->merchantAsset); if ($return['code'] == 'A0001') { util::ok(); } util::fail(); } //升级 shish 2019.12.1 public function actionUpgrade() { $post = Yii::$app->request->post(); $userId = isset($post['userId']) ? $post['userId'] : 0; $memberLevel = isset($post['memberLevel']) ? $post['memberLevel'] : 0; $user = UserService::getById($userId); if (empty($user)) { util::fail('客户不存在'); } if ($user['merchantId'] != $this->merchantId) { util::fail('您没有权限操作'); } $confirmPassword = $post['confirmPassword']; AdminService::verifyConfirmPassword($this->adminId, $confirmPassword); $grade = xhMerchantExtendService::getGradeList($this->merchantExtend, 'desc'); $newLevelGrowth = $grade[$memberLevel]['growth'];//升级到当前级别需要的积分数 $userAsset = UserAssetService::getByUserId($userId);//用户资产 if (!empty($userAsset['isMember']) && $userAsset['memberLevel'] >= $memberLevel) { util::fail('客户已经达到此级别了'); } $now = time(); $date = date("Y-m-d H:i", $now); $connection = Yii::$app->db;//事务处理 $transaction = $connection->beginTransaction(); try { $addGrowth = $newLevelGrowth - $userAsset['growth']; //升级后的成长值 $upData['growth'] = $newLevelGrowth; $upData['memberLevel'] = $memberLevel; $upData['isMember'] = 1; UserAssetService::updateByUserId($userId, $upData); $integralData = [ 'userId' => $userId, 'userName' => $user['userName'], 'merchantId' => $this->merchantId, 'relateId' => '', 'integral' => $newLevelGrowth, 'num' => $addGrowth, 'io' => 1, 'payWay' => 4, 'alipayId' => '', 'event' => '店长操作升级', 'operatorId' => $userId, 'createTime' => $date, 'capitalType' => 0, 'addTime' => $now, ]; //用户兑换型积分流水增加 xhUserIntegralService::add($integralData); $transaction->commit(); } catch (Exception $e) { $transaction->rollBack(); util::fail(); } $allTM = xhTMessageService::getList($this->merchantId); $openId = isset($user['openId']) ? $user['openId'] : ''; if (empty($openId)) { util::ok(); } $shortTempId = 'OPENTM205211943';//升级通知 if (isset($allTM[$shortTempId]) == false) { util::ok(); } $tempId = $allTM[$shortTempId]; $data = [ "touser" => $openId, "template_id" => $tempId, "url" => '', "data" => [ "first" => ["value" => "恭喜,您已经升为{$memberLevel}级会员。", "color" => "#173177"], "keyword1" => ["value" => $user['userName'], "color" => "#173177"], "keyword2" => ["value" => $date, "color" => "#173177"], "remark" => ["value" => "点击查看会员权益", "color" => "#173177"], ]]; weixinUtil::sendTaskInform($data, $this->merchant); util::ok(); } }