Browse Source

refactor(user): 移除蒸馏词扩展功能并优化统计逻辑

- 删除 DistillationExpandWord 模型及相关 DAO 类
- 移除 DataBoardService 中对扩展词的依赖
- 修改统计逻辑,使用 questions_count 替代 expand_count
- 更新排序字段为 questions_count 并调整相关查询
- 在 DistillationWordService 中移除扩展词操作逻辑
- 将扩展词插入替换为问题插入操作
- 删除批量删除中的扩展词表更新逻辑
master
zhangf@suq.cn 2 days ago
parent
commit
6dbf4fbcab
  1. 17
      app/dao/user/DistillationExpandWordDao.php
  2. 33
      app/model/user/DistillationExpandWord.php
  3. 5
      app/model/user/DistillationWord.php
  4. 11
      app/service/user/DataBoardService.php
  5. 6
      app/service/user/DistillationWordService.php

17
app/dao/user/DistillationExpandWordDao.php

@ -1,17 +0,0 @@
<?php
namespace app\dao\user;
use app\model\user\DistillationExpandWord;
use plugin\piadmin\app\base\UserBaseDao;
class DistillationExpandWordDao extends UserBaseDao
{
protected function setModel(): string
{
return DistillationExpandWord::class;
}
}

33
app/model/user/DistillationExpandWord.php

@ -1,33 +0,0 @@
<?php
namespace app\model\user;
use plugin\piadmin\app\base\BaseModel;
/**
* 蒸馏词关联扩展词模型
*/
class DistillationExpandWord extends BaseModel
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'geo_distillation_expand_word';
/**
* The primary key associated with the table.
*
* @var string
*/
protected $primaryKey = 'id';
/**
* Indicates if the model should be timestamped.
*
* @var bool
*/
public $timestamps = true;
}

5
app/model/user/DistillationWord.php

@ -35,11 +35,6 @@ class DistillationWord extends BaseModel
return $this->hasMany(DistillationTransWord::class, 'distillation_id', 'id');
}
public function expand()
{
return $this->hasMany(DistillationExpandWord::class, 'distillation_id', 'id');
}
public function questions()
{
return $this->hasMany(DistillationQuestions::class, 'distillation_id', 'id')->where(['delete_time' => 0]);

11
app/service/user/DataBoardService.php

@ -2,19 +2,16 @@
namespace app\service\user;
use app\dao\user\DistillationExpandWordDao;
use app\dao\user\DistillationWordDao;
use plugin\piadmin\app\base\BaseService;
class DataBoardService extends BaseService
{
protected $distillationWordDao;
protected $distillationWordExtendDao;
public function __construct()
{
$this->distillationWordDao = app()->make(DistillationWordDao::class);
$this->distillationWordExtendDao = app()->make(DistillationExpandWordDao::class);
}
/**
@ -24,12 +21,12 @@ class DataBoardService extends BaseService
*/
public function countStatistic()
{
$res = $this->distillationWordDao->getList([], '*', 0, 0, 'expand_count DESC', [], ['expand']);
$res = $this->distillationWordDao->getList([], '*', 0, 0, 'questions_count DESC', [], ['questions']);
return [
'word' => sizeof($res),
'extend' => array_sum(array_column($res, 'expand_count')),
'top' => collect($res)->sortByDesc('expand_count')->take(10)->map(function ($item) {
return collect($item)->only(['id', 'name', 'expand_count'])->toArray();
'extend' => array_sum(array_column($res, 'questions_count')),
'top' => collect($res)->sortByDesc('questions_count')->take(10)->map(function ($item) {
return collect($item)->only(['id', 'name', 'questions_count'])->toArray();
})->toArray(),
];
}

6
app/service/user/DistillationWordService.php

@ -2,7 +2,6 @@
namespace app\service\user;
use app\dao\user\DistillationExpandWordDao;
use app\dao\user\DistillationQuestionsDao;
use app\dao\user\DistillationTransWordDao;
use app\dao\user\DistillationWordDao;
@ -17,14 +16,12 @@ class DistillationWordService extends BaseService
protected $dao;
protected $transDao;
protected $expandDao;
protected $questionsDao;
public function __construct(DistillationWordDao $dao)
{
$this->dao = $dao;
$this->transDao = app()->make(DistillationTransWordDao::class);
$this->expandDao = app()->make(DistillationExpandWordDao::class);
$this->questionsDao = app()->make(DistillationQuestionsDao::class);
}
@ -60,7 +57,7 @@ class DistillationWordService extends BaseService
'name' => $item
];
}
$this->expandDao->insertAll($expands);
$this->questionsDao->insertAll($expands);
Db::commit();
} catch (\Exception $exception) {
Db::rollback();
@ -166,7 +163,6 @@ class DistillationWordService extends BaseService
$this->dao->update([['id', 'in', $ids]], ['delete_time' => time()]);
//删子表
$this->transDao->update([['distillation_id', 'in', $ids]], ['delete_time' => time()]);
$this->expandDao->update([['distillation_id', 'in', $ids]], ['delete_time' => time()]);
$this->questionsDao->update([['distillation_id', 'in', $ids]], ['delete_time' => time()]);
Db::commit();
} catch (\Exception $exception) {

Loading…
Cancel
Save