1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- <?php
- namespace Survey\Src;
- use Dever;
- class Api
- {
- /**
- * 获取问卷信息
- *
- * @return mixed
- */
- public function get($uid, $product_id, $page_number = false)
- {
- if ($product_id <= 0) {
- Dever::alert('请传入正确的产品id');
- }
- $user = Dever::db('survey/user')->one(array('uid' => $uid, 'product_id' => $product_id));
- if (!$user) {
- $user['uid'] = $uid;
- $user['index'] = 1;
- $user['product_id'] = $product_id;
- $user['status'] = 2;
- $user['id'] = Dever::db('survey/user')->insert($user);
- }
- $result['user'] = $user;
- if ($page_number > 0) {
- $user['index'] = $page_number;
- }
- $result['info'] = Dever::db('survey/info')->state(array('product_id' => $product_id, 'page_number' => $user['index']));
- if ($result['info']) {
- foreach ($result['info'] as $k => $v) {
- $answer = Dever::db('survey/user_answer')->one(array('info_id' => $v['id'], 'uid' => $uid));
- if ($answer) {
- $result['info'][$k]['answer'] = $answer['value'];
- } else {
- $result['info'][$k]['answer'] = '';
- }
- if ($v['type'] >= 11) {
- $result['info'][$k]['content'] = Dever::array_decode($result['info'][$k]['content']);
- } else {
- unset($result['info'][$k]['content']);
- }
-
- }
- }
- return $result;
- }
- /**
- * 提交问卷信息
- *
- * @return mixed
- */
- public function submit($uid, $product_id, $page_number, $survey_id, $survey_answer)
- {
- if ($survey_id && $survey_answer) {
- $survey_id = explode('||', $survey_id);
- $survey_answer = explode('||', $survey_answer);
- foreach ($survey_id as $k => $v) {
- $answer = Dever::db('survey/user_answer')->one(array('info_id' => $v, 'uid' => $uid));
- if ($answer) {
- Dever::db('survey/user_answer')->update(array('where_id' => $answer['id'], 'value' => $survey_answer[$k]));
- } else {
- Dever::db('survey/user_answer')->insert(array('info_id' => $v, 'uid' => $uid, 'value' => $survey_answer[$k]));
- if ($page_number > 0) {
- $info = Dever::db('survey/user')->one(array('uid' => $uid));
- if ($info) {
- Dever::db('survey/user')->update(array('where_id' => $info['id'], 'index' => $page_number + 1));
- }
- }
- }
- }
- }
- return true;
- }
- /**
- * 查看问卷信息
- *
- * @return mixed
- */
- public function view($uid, $product_id, $page_number, $survey_id, $survey_answer)
- {
- }
- }
|