request->get(); //组建where $type = isset($get['type']) ? $get['type'] : -1; $search = isset($get['search']) ? $get['search'] : ''; $where = ['sjId' => $this->sjId]; switch ($type) { case 1: //粉丝 $where['subscribe'] = 1; break; case 2: //会员 $where['member>'] = 0; break; default: } if (!empty($search)) { if (stringUtil::isMobile($search)) { $where['mobile'] = $search; } else { $where['userName'] = ['like', $search]; } } $list = UserService::getUserList($where); $list['asset'] = MerchantAssetService::getBySjId($this->sjId); util::success($list); } //获取客户基本和资产信息 ssh 2019.11.30 public function actionDetail() { $userId = Yii::$app->request->get('userId'); $info = UserService::getUserInfo($userId); if (isset($info['sjId']) == false || $this->sjId != $info['sjId']) { util::fail('没有权限'); } util::success($info); } //获取客户详情,包括基本信息、资产、订单和备注 2019.11.30 public function actionUserDetail() { $userId = Yii::$app->request->get('userId'); $info = UserService::getFullUserInfo($userId); CustomClass::valid($info, $this->shopId); $info['remarkList'] = []; util::success($info); } //添加客户,申请会员时会自动同步资产 ssh 2019.11.30 public function actionAdd() { $post = Yii::$app->request->post(); if (isset($post['mobile']) == false || stringUtil::isMobile($post['mobile']) == false) { util::fail('请输入手机号'); } if ($post['mobile'] != $post['confirmMobile']) { util::fail('二次输入手机号不一样'); } $payPassword = isset($post['payPassword']) ? $post['payPassword'] : ''; AdminService::verifyPayPassword($this->adminId, $payPassword); $mobile = $post['mobile']; $user = UserService::getByMobile($mobile, $this->sjId); if (!empty($user)) { util::fail('手机号已使用'); } $post['sjId'] = $this->sjId; $post['member'] = $post['memberLevel']; UserService::addUser($post); util::complete(); } //充值 ssh 2019.12.1 public function actionRecharge() { $post = Yii::$app->request->post(); $payPassword = isset($post['payPassword']) ? $post['payPassword'] : ''; AdminService::verifyPayPassword($this->adminId, $payPassword); $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['sjId'] != $this->sjId) { util::fail('您无法操作'); } $userAsset = UserAssetService::getByUserId($userId); $totalBalance = $userAsset['balance'] + $rechargeAmount; $totalRecharge = $userAsset['totalRecharge'] + $rechargeAmount; $upData['balance'] = $totalBalance; $upData['totalRecharge'] = $totalRecharge; $merchantAsset = MerchantAssetService::getBySjId($this->sjId); $return = xhRechargeService::recharge($rechargeAmount, $user, $this->adminId, $this->sj->attributes, $this->sjExtend->attributes, $merchantAsset); if ($return['code'] == 'A0001') { util::complete(); } util::fail(); } //升级 ssh 2019.12.1 public function actionUpgrade() { $post = Yii::$app->request->post(); $userId = isset($post['userId']) ? $post['userId'] : 0; $member = isset($post['member']) ? $post['member'] : 0; $user = UserService::getById($userId); if (empty($user)) { util::fail('客户不存在'); } //验证是否商家客户 UserService::valid($user, $this->sjId); //验证确认密码 $payPassword = $post['payPassword']; AdminService::verifyPayPassword($this->adminId, $payPassword); $grade = xhMerchantExtendService::getGradeList($this->sjExtend->attributes, 'desc'); //升级后的成长值 $newLevelGrowth = $grade[$member]['growth']; $newDiscount = $grade[$member]['discount']; $userAsset = UserAssetService::getByUserId($userId); if ($userAsset['member'] >= $member) { 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['member'] = $member; $upData['discount'] = $newDiscount; UserAssetService::updateByUserId($userId, $upData); UserService::updateById($userId, ['member' => $member]); $upgradeData = [ 'member' => $member, 'prevMember' => $userAsset['member'], 'sjId' => $this->sjId, 'gainType' => 0, 'addTime' => $now, 'userId' => $userId, ]; $upgradeRespond = UserUpgradeService::add($upgradeData); $growthData = [ 'userId' => $userId, 'userName' => $user['userName'], 'sjId' => $this->sjId, 'relateId' => $upgradeRespond['id'], 'growth' => $newLevelGrowth, 'num' => $addGrowth, 'io' => 1, 'payWay' => 4, 'alipayId' => '', 'event' => '管理员操作升到' . $member . '级增加成长值', 'operatorId' => $userId, 'createTime' => $date, 'gainType' => 0, 'addTime' => $now, ]; UserGrowthService::add($growthData); $transaction->commit(); } catch (Exception $e) { $transaction->rollBack(); util::fail(); } $allTM = xhTMessageService::getList($this->sjId); $openId = isset($user['openId']) ? $user['openId'] : ''; if (empty($openId)) { util::complete(); } $shortTempId = 'OPENTM205211943';//升级通知 if (isset($allTM[$shortTempId]) == false) { util::complete(); } $tempId = $allTM[$shortTempId]; $data = [ "touser" => $openId, "template_id" => $tempId, "url" => '', "data" => [ "first" => ["value" => "恭喜,您已经升为{$member}级会员。", "color" => "#173177"], "keyword1" => ["value" => $user['userName'], "color" => "#173177"], "keyword2" => ["value" => $date, "color" => "#173177"], "remark" => ["value" => "点击查看会员权益", "color" => "#173177"], ]]; wxUtil::sendTaskInform($data, $this->sj); util::complete(); } //重置客户密码 public function actionResetPayPassword() { $post = Yii::$app->request->post(); $userId = isset($post['userId']) ? $post['userId'] : 0; $password = isset($post['password']) ? $post['password'] : 0; $info = UserService::getById($userId); UserService::valid($info, $this->sjId); UserService::updateById($userId, ['payPassword' => password_hash($password, PASSWORD_BCRYPT)]); util::complete(); } }