| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 | <?phpnamespace 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);    }}
 |