Code.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace app\admin\model;
  3. use think\Model;
  4. use traits\model\SoftDelete;
  5. class Code extends Model
  6. {
  7. protected $connection = 'mongodb';
  8. protected $table = 'bach';
  9. protected $deleteTime = 'delete_time';
  10. use SoftDelete;
  11. protected $indexes = [];
  12. protected $autoWriteTimestamp = true;
  13. protected $type = [
  14. 'create_time' => 'datetime',
  15. 'update_time' => 'datetime',
  16. ];
  17. public function createIndex()
  18. {
  19. $this->connection->command([
  20. 'createIndexes' => $this->table,
  21. 'indexes' => [
  22. [
  23. 'key' => ['pid' => 1],
  24. 'name' => 'pid_index'
  25. ]
  26. ]
  27. ]);
  28. }
  29. protected static function init()
  30. {
  31. //把当前表加入到监听队列
  32. Redis_sAdd('watch_tables', "bach");
  33. self::beforeWrite(function ($model) {
  34. if (!isset($model->delete_time)){
  35. $model->delete_time="";
  36. }
  37. $model->sync_flag=0;
  38. });
  39. }
  40. public function getStatusList()
  41. {
  42. // return ['1' => __('待检测'), '2' => __('部分已检测'), '3' => __('检测已完成'), '4' => __('报告待提交'), '5' => __('已取消')];
  43. }
  44. public function getStatusTextAttr($value, $data)
  45. {
  46. $value = $value ? $value : (isset($data['status']) ? $data['status'] : '');
  47. $list = $this->getStatusList();
  48. return isset($list[$value]) ? $list[$value] : '';
  49. }
  50. }