作者 李宇航

合并分支 'lyh-server' 到 'master'

Lyh server



查看合并请求 !3342
... ... @@ -152,7 +152,11 @@ class ProjectController extends BaseController
if (isset($this->map['seo_plan']) && $this->map['seo_plan'] == 1) {
$query = $query->orderBy('gl_project.cooperate_date', 'desc')->orderBy('gl_project.id', 'desc');
} else {
$query = $query->orderBy('gl_project.uptime', 'desc')->orderBy('gl_project.id', 'desc');
if($this->map['type'] == 1){
$query = $query->orderBy('gl_project.id', 'desc');
}else{
$query = $query->orderBy('gl_project.uptime', 'desc')->orderBy('gl_project.id', 'desc');
}
}
return $query;
}
... ...
... ... @@ -412,7 +412,7 @@ class AsideTicketController extends BaseController
$this->request->validate([
'project_cate'=>'required'
],[
'project_cate.required' => 'ID不能为空'
'project_cate.required' => 'project_cate不能为空'
]);
$ticket = new Tickets();
$data = $ticket->getOrderTypeOptions($this->param['project_cate']);
... ...
... ... @@ -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]);
}
/**
... ...