|
...
|
...
|
@@ -84,48 +84,44 @@ class GeoQuestionLogic extends BaseLogic |
|
|
|
*/
|
|
|
|
public function saveGeoQuestion(){
|
|
|
|
//处理数据
|
|
|
|
$max_num = 200;//最大数量
|
|
|
|
$count = count($this->param['question']);
|
|
|
|
$sum = $this->model->where('project_id',$this->param['project_id'])->sum('question_num') ?? 0;
|
|
|
|
if($sum >= 200 || $count >= 200){
|
|
|
|
if(isset($this->param['id']) && !empty($this->param['id'])){
|
|
|
|
//编辑
|
|
|
|
$sum = $this->model->where('project_id',$this->param['project_id'])->where('id','!=',$this->param['id'])->sum('question_num') ?? 0;
|
|
|
|
}else{
|
|
|
|
//新增
|
|
|
|
$sum = $this->model->where('project_id',$this->param['project_id'])->sum('question_num') ?? 0;
|
|
|
|
}
|
|
|
|
if(($count + $sum) > $max_num){
|
|
|
|
$this->fail('当前问题数量大于最大数量200个问题,不允许保存');
|
|
|
|
}
|
|
|
|
$question = $this->param['question'];
|
|
|
|
$this->param['url'] = json_encode($this->param['url'] ?? [],true);
|
|
|
|
$this->param['keywords'] = json_encode($this->param['keywords'] ?? [],true);
|
|
|
|
if($count <= 20){
|
|
|
|
$this->param['question_num'] = $count;
|
|
|
|
if(isset($this->param['id']) && !empty($this->param['id'])){
|
|
|
|
$id = $this->param['id'];
|
|
|
|
$this->model->edit($this->param,['id'=>$id]);
|
|
|
|
}else{
|
|
|
|
$this->param['next_time'] = date('Y-m-d');
|
|
|
|
$id = $this->model->addReturnId($this->param);
|
|
|
|
}
|
|
|
|
return $this->success(['id'=>$id]);
|
|
|
|
}else{
|
|
|
|
$chunks = array_chunk($question, 20);
|
|
|
|
if(isset($this->param['id']) && !empty($this->param['id'])){
|
|
|
|
foreach ($chunks as $index => $chunk) {
|
|
|
|
$this->param['question_num'] = count($chunk);
|
|
|
|
$this->param['question'] = json_encode($chunk ?? [],true);
|
|
|
|
if($index == 0){
|
|
|
|
$id = $this->param['id'];
|
|
|
|
$this->model->edit($this->param,['id'=>$id]);
|
|
|
|
}else{
|
|
|
|
unset($this->param['id']);
|
|
|
|
$id = $this->model->addReturnId($this->param);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
|
|
|
$this->param['next_time'] = date('Y-m-d');
|
|
|
|
foreach ($chunks as $chunk) {
|
|
|
|
$this->param['question_num'] = count($chunk);
|
|
|
|
$this->param['question'] = json_encode($chunk ?? [],true);
|
|
|
|
$chunks = array_chunk($question, 20);
|
|
|
|
if(isset($this->param['id']) && !empty($this->param['id'])){
|
|
|
|
foreach ($chunks as $index => $chunk) {
|
|
|
|
$this->param['question_num'] = count($chunk);
|
|
|
|
$this->param['question'] = json_encode($chunk ?? [],true);
|
|
|
|
if($index == 0){
|
|
|
|
$id = $this->param['id'];
|
|
|
|
$this->model->edit($this->param,['id'=>$id]);
|
|
|
|
}else{
|
|
|
|
unset($this->param['id']);
|
|
|
|
$id = $this->model->addReturnId($this->param);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success(['id'=>$id]);
|
|
|
|
}else{
|
|
|
|
$this->param['next_time'] = date('Y-m-d');
|
|
|
|
foreach ($chunks as $chunk) {
|
|
|
|
$this->param['question_num'] = count($chunk);
|
|
|
|
$this->param['question'] = json_encode($chunk ?? [],true);
|
|
|
|
$id = $this->model->addReturnId($this->param);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $this->success(['id'=>$id]);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
...
|
...
|
|