...
|
...
|
@@ -396,21 +396,36 @@ class Index extends Api |
|
|
if (!is_numeric($feel_id) || !is_numeric($idea_id)) $this->error('参数不合法');
|
|
|
//计算中位数
|
|
|
$feel = Db::name('idea_feel')->where('id',$feel_id)->find();
|
|
|
$idea = Db::name('idea')->where('id',$idea_id)->find();
|
|
|
if ($feel['fraction'] != 0){
|
|
|
// 评价感受有效 人数分数自增
|
|
|
Db::name('idea')->where('id',$idea_id)->setInc('feel_number');
|
|
|
Db::name('idea')->where('id',$idea_id)->setInc('feel_fraction',$feel['fraction']);
|
|
|
$fraction = $idea['feel_number'] == 0 ? 0 : $idea['feel_fraction']/$idea['feel_number'];
|
|
|
if ($fraction > 19){
|
|
|
$fraction = 19;
|
|
|
}elseif ($fraction < 1 && $fraction != 0){
|
|
|
$fraction = 1;
|
|
|
$id = Db::name('idea_feellist')->where('user_id',$this->auth->id)->where('idea_id',$idea_id)->value('id');
|
|
|
if ($id){
|
|
|
Db::name('idea_feellist')->where('id',$id)->update([
|
|
|
'idea_feel_id'=>$feel_id,
|
|
|
'fraction'=>$feel['fraction'],
|
|
|
'createtime' => time()
|
|
|
]);
|
|
|
}else{
|
|
|
$fraction = (int)$fraction;
|
|
|
Db::name('idea_feellist')->insert([
|
|
|
'idea_feel_id' => $feel_id,
|
|
|
'fraction' => $feel['fraction'],
|
|
|
'user_id' => $this->auth->id,
|
|
|
'idea_id' => $idea_id,
|
|
|
'createtime' => time()
|
|
|
]);
|
|
|
}
|
|
|
$fraction = Db::name('idea_feellist')->where('idea_id',$idea_id)->sum('fraction');
|
|
|
$people = Db::name('idea_feellist')->where('idea_id',$idea_id)->count();
|
|
|
$fractionAll = $fraction/$people;
|
|
|
if ($fractionAll > 19){
|
|
|
$fractionAll = 19;
|
|
|
}elseif ($fractionAll < 1 && $fractionAll != 0){
|
|
|
$fractionAll = 1;
|
|
|
}else{
|
|
|
$fractionAll = (int)$fractionAll;
|
|
|
}
|
|
|
|
|
|
$feel = Db::name('idea_feel')->where('fraction',$fraction)->find();
|
|
|
$feel = Db::name('idea_feel')->where('fraction',$fractionAll)->find();
|
|
|
Db::name('idea')->where('id',$idea_id)->update(['idea_feel_id'=>$feel['id']]);
|
|
|
}
|
|
|
$this->success('提交成功');
|
...
|
...
|
|