123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- <?php
- namespace app\api\controller;
- use app\common\controller\Api;
- use think\Db;
- /**
- * 社区服务
- */
- class Service extends Api
- {
- protected $noNeedLogin = ['*'];
- protected $noNeedRight = ['*'];
- //服务类型列表
- public function paper_list(){
- $list = Db::name('service_paper')->where(['status'=>1])->whereNull('deletetime')->order('weigh desc')->select();
- $this->success(1, $list);
- }
- //题目列表
- public function question_list(){
- $paper_id = input('paper_id');
- $list = Db::name('service_question')->where('paper_id',$paper_id)->where(['status'=>1])->whereNull('deletetime')->order('weigh desc, id desc')->select();
- foreach($list as $k=>$v){
- $options = json_decode($v['options_json'],true);
- foreach ($options as $key=>$value){
- $op = [
- 'key' => $key,
- 'value' => $value
- ];
- $list[$k]['options'][] = $op;
- }
- unset($list[$k]['options_json']);
- }
- $this->success(1, $list);
- }
- //提交
- public function submit(){
- $paper_id = input('paper_id');
- $answer_json = input('answer','','trim');
- $list = Db::name('service_question')->where('paper_id',$paper_id)->where(['status'=>1])->whereNull('deletetime')->order('weigh desc, id desc')->select();
- $question_ids = array_column($list, 'id');
- $answer = json_decode($answer_json,true);
- if(count($list) != count($answer)){
- $this->error();
- }
- if(array_column($answer,'id') != $question_ids){
- $this->error();
- }
- $data = [
- 'user_id' => $this->auth->id,
- 'paper_id' => $paper_id,
- 'question_ids' => implode(',',$question_ids),
- 'user_answers' => $answer_json,
- 'createtime' => time(),
- 'updatetime' => time(),
- ];
- $grade_id = Db::name('service_grade')->insert($data);
- $this->success('提交成功',$grade_id);
- }
- }
|