Api.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <?php
  2. namespace Survey\Src;
  3. use Dever;
  4. class Api
  5. {
  6. /**
  7. * 获取问卷信息
  8. *
  9. * @return mixed
  10. */
  11. public function get($uid, $product_id, $page_number = false)
  12. {
  13. if ($product_id <= 0) {
  14. Dever::alert('请传入正确的产品id');
  15. }
  16. $user = Dever::db('survey/user')->one(array('uid' => $uid, 'product_id' => $product_id));
  17. if (!$user) {
  18. $user['uid'] = $uid;
  19. $user['index'] = 1;
  20. $user['product_id'] = $product_id;
  21. $user['status'] = 2;
  22. $user['id'] = Dever::db('survey/user')->insert($user);
  23. }
  24. $result['user'] = $user;
  25. if ($page_number > 0) {
  26. $user['index'] = $page_number;
  27. }
  28. $result['info'] = Dever::db('survey/info')->state(array('product_id' => $product_id, 'page_number' => $user['index']));
  29. if ($result['info']) {
  30. foreach ($result['info'] as $k => $v) {
  31. $answer = Dever::db('survey/user_answer')->one(array('info_id' => $v['id'], 'uid' => $uid));
  32. if ($answer) {
  33. $result['info'][$k]['answer'] = $answer['value'];
  34. } else {
  35. $result['info'][$k]['answer'] = '';
  36. }
  37. if ($v['type'] >= 11) {
  38. $result['info'][$k]['content'] = Dever::array_decode($result['info'][$k]['content']);
  39. } else {
  40. unset($result['info'][$k]['content']);
  41. }
  42. }
  43. }
  44. return $result;
  45. }
  46. /**
  47. * 提交问卷信息
  48. *
  49. * @return mixed
  50. */
  51. public function submit($uid, $product_id, $page_number, $survey_id, $survey_answer)
  52. {
  53. if ($survey_id && $survey_answer) {
  54. $survey_id = explode('||', $survey_id);
  55. $survey_answer = explode('||', $survey_answer);
  56. foreach ($survey_id as $k => $v) {
  57. $answer = Dever::db('survey/user_answer')->one(array('info_id' => $v, 'uid' => $uid));
  58. if ($answer) {
  59. Dever::db('survey/user_answer')->update(array('where_id' => $answer['id'], 'value' => $survey_answer[$k]));
  60. } else {
  61. Dever::db('survey/user_answer')->insert(array('info_id' => $v, 'uid' => $uid, 'value' => $survey_answer[$k]));
  62. if ($page_number > 0) {
  63. $info = Dever::db('survey/user')->one(array('uid' => $uid));
  64. if ($info) {
  65. Dever::db('survey/user')->update(array('where_id' => $info['id'], 'index' => $page_number + 1));
  66. }
  67. }
  68. }
  69. }
  70. }
  71. return true;
  72. }
  73. /**
  74. * 查看问卷信息
  75. *
  76. * @return mixed
  77. */
  78. public function view($uid, $product_id, $page_number, $survey_id, $survey_answer)
  79. {
  80. }
  81. }