排序调整
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);
|
||||
|
||||
}
|
||||
/**
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user