排序调整
This commit is contained in:
@@ -296,6 +296,62 @@ class Crontask extends Controller
|
||||
|
||||
$this->showMessage('批量更新超过七日未审稿的状态成功',2);
|
||||
|
||||
}
|
||||
/**
|
||||
* @title 审稿人拒绝审稿统计
|
||||
*
|
||||
*/
|
||||
public function refuseReviewNum(){
|
||||
//获取该文章审核人的信息
|
||||
$aWhere = [
|
||||
'state'=> 4
|
||||
];
|
||||
|
||||
//统计每个审稿人未审稿的数量
|
||||
$aReviewerNum = Db::name('article_reviewer')->field('reviewer_id,count(art_rev_id) as num')->where($aWhere)->group('reviewer_id')->order('reviewer_id asc')->select();
|
||||
if(empty($aReviewerNum)){
|
||||
$this->showMessage('未查询到用户拒绝审稿数量',2);
|
||||
exit;
|
||||
}
|
||||
//更新超过七日未审核的数据
|
||||
Db::startTrans();
|
||||
//更新审稿人未审稿的数量
|
||||
$aChunkReviewerNum = array_chunk($aReviewerNum, 1000);
|
||||
foreach ($aChunkReviewerNum as $key => $value) {
|
||||
$aId = array_column($value, 'reviewer_id');
|
||||
if(empty($aId)){
|
||||
continue;
|
||||
}
|
||||
$aCase = $aUpdateId = [];
|
||||
$sRdNum = '';
|
||||
foreach ($value as $item) {
|
||||
if($item['reviewer_id'] <=0){
|
||||
continue;
|
||||
}
|
||||
//审核数量有,变化更新数量
|
||||
$sRdNum .= "WHEN {$item['reviewer_id']} THEN ";
|
||||
$sRdNum .= "{$item['num']} ";
|
||||
$aUpdateId[] = $item['reviewer_id'];
|
||||
}
|
||||
//SQL拼接最后结尾
|
||||
$aCase['rd_num'] ='CASE user_id '.$sRdNum.'END';
|
||||
//执行更新
|
||||
$result = Db::name('user')
|
||||
->where(['user_id' => ['in',$aUpdateId]])
|
||||
->limit(count($aUpdateId))
|
||||
->update([
|
||||
'rd_num' => Db::raw($aCase['rd_num']),
|
||||
]);
|
||||
if ($result === false) {
|
||||
$this->showMessage('更新用户拒绝审稿数量失败['.$key.']执行SQL:'.Db::getLastSql()."\n",2);
|
||||
}else{
|
||||
$this->showMessage('更新用户拒绝审稿数量成功['.$key.']执行SQL条数:'.$result."\n",1);
|
||||
}
|
||||
}
|
||||
Db::commit();
|
||||
|
||||
$this->showMessage('批量更新超过七日未审稿的状态成功',2);
|
||||
|
||||
}
|
||||
/**
|
||||
*
|
||||
|
||||
@@ -98,8 +98,8 @@ class Recommend extends Base
|
||||
if(empty($iCount)){
|
||||
exit(json_encode(array('status' => 1,'msg' => '','data' => ['total' => 0,'lists' => []])));
|
||||
}
|
||||
$sOrder = 'review_num asc,right_rate desc';
|
||||
$aUser = Db::table('t_user')->field('user_id,account,email,realname,rs_num,right_times,error_times,right_rate,error_rate,review_num')->where($aWhere)->order($sOrder)->limit($limit_start, $iSize)->select();
|
||||
$sOrder = 'rd_num asc,rs_num desc,right_rate desc,review_num asc';
|
||||
$aUser = Db::table('t_user')->field('user_id,account,email,realname,rs_num,rd_num,right_times,error_times,right_rate,error_rate,review_num')->where($aWhere)->order($sOrder)->limit($limit_start, $iSize)->select();
|
||||
//查询审稿人详细信息
|
||||
$aUserId = array_column($aUser, 'user_id');
|
||||
$aInfo = Db::name('user_reviewer_info')->field('reviewer_id,technical,country,introduction,company,field')->whereIn('reviewer_id',$aUserId)->select();
|
||||
@@ -107,8 +107,8 @@ class Recommend extends Base
|
||||
|
||||
foreach ($aUser as $key => $value) {
|
||||
$value += empty($aInfo[$value['user_id']]) ? [] : $aInfo[$value['user_id']];
|
||||
$value['right_rate'] = $value['right_rate']*100;
|
||||
$value['error_rate'] = $value['error_rate']*100;
|
||||
$value['right_rate'] = intval($value['right_rate']*100);
|
||||
$value['error_rate'] = intval($value['error_rate']*100);
|
||||
$aUser[$key] = $value;
|
||||
}
|
||||
exit(json_encode(array('status' => 1,'msg' => '','data' => ['total' => $iCount,'lists' => $aUser])));
|
||||
|
||||
Reference in New Issue
Block a user