/** * 好产品投票接口 */ public function actionGoodPoll() { $params = Yii::$app->request->post(); $tmp = $params['method']; $params = array_map('intval', $params); $params['method'] = $tmp; if (!Yii::$app->util->isAjax()) { echo Yii::$app->util->formatResEncode('1000', '不是ajax请求'); return; } //验证参数 if (!isset($params['mobile']) || !Yii::$app->util->checkMobileType($params['mobile']) || !isset($params['authcode']) || !$params['authcode'] || !isset($params['poll_id']) || !$params['poll_id'] || !isset($params['method']) || !$params['method']) { echo Yii::$app->util->formatResEncode('1001', '参数错误'); return; } $mMember = new Member(); if ($params['method'] == 'pwd') { $userone = $mMember->getByUserName($params['mobile']); if (!$userone) { echo Yii::$app->util->formatResEncode('1002', '不存在该用户'); return; } else { $passmd = PublicLibrary::password_encode($params['authcode'], $userone['random']); if ($passmd != $userone['password']) { echo Yii::$app->util->formatResEncode('1003', '密码错误'); return; } } } else { if ($params['method'] == 'authcode') { //获取验证码 $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $authcode = $session->get('authcode'); $mobile = $session->get('mobile'); $session->close(); //验证手机验证码 if (!isset($params['authcode'])) { echo Yii::$app->util->formatResEncode('1004', '验证码错误'); return; } else { if ($authcode != $params['authcode']) { echo Yii::$app->util->formatResEncode('1004', '验证码错误'); return; } else { if ($mobile != $params['mobile']) { echo Yii::$app->util->formatResEncode('1004', '验证码错误'); return; } } } } else { echo Yii::$app->util->formatResEncode('1001', '参数错误'); return; } } $exist = $mMember->isRegistByConditons(['mobile' => $params['mobile']]); //新用户注册 if (!$exist) { if ($mMember->regist(['mobile' => $params['mobile']])) { //发送注册用户密码提示信息 Yii::$app->sms->send($params['mobile'], '欢迎注册idaiyan用户,你的首次用户密码为手机号后六位'); } } else { $uId = $exist['uid']; //获取rel_id $mActivityProduct = new ActivityProduct(); $conditions = ['user_id' => $uId, 'acti_id' => ActivityBase::GOOD_PRODUCT]; $one = $mActivityProduct->getOenByConditions($conditions); $relId = isset($one) && $one ? $one['id'] : 0; if ($relId) { //取分享人数据 $conditions = ['poll_id' => $params['poll_id'], 'owner_id' => $relId]; $mPollOption = new PollOption(); $row = $mPollOption->TopNum($conditions); if ($row) { $data = ['img' => $row[0]['act']['product']['album'], 'name' => $row[0]['act']['product']['name'], 'poll_votes' => $row[0]['option_votes'], 'option_id' => $row[0]['option_id']]; } } } //登陆session if (!$exist) { $exist = $mMember->isRegistByConditons(['mobile' => $params['mobile']]); } $user = ['uid' => $exist['uid'], 'mobile' => $exist['mobile']]; $session = Yii::$app->session; $session->isActive ? '' : $session->open(); $authcode = $session->set('user', $user); $session->close(); echo Yii::$app->util->formatResEncode('0', '成功', ['data' => isset($data) ? $data : '']); return; }