QcodeLarge.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace app\admin\model;
  3. use think\Model;
  4. use think\Log;
  5. use \think\Session;
  6. use traits\model\SoftDelete;
  7. class QcodeLarge extends Model
  8. {
  9. protected $connection = 'mongodb';
  10. protected $table = '';
  11. protected $deleteTime = 'delete_time';
  12. use SoftDelete;
  13. public function createIndex()
  14. {
  15. //获取公司编码
  16. $userInfo = Session::get('admin');
  17. $company_id = (int)$userInfo['company'];
  18. $this->connection->command([
  19. 'createIndexes' => $company_id.'_'."qcode_large",
  20. 'indexes' => [
  21. [
  22. 'key' => ['pid' => 1],
  23. 'name' => 'pid_index'
  24. ]
  25. ]
  26. ]);
  27. }
  28. protected static function init()
  29. {
  30. self::event('before_insert', function ($model) {
  31. //获取公司编码
  32. $userInfo = Session::get('admin');
  33. $company_id = (int)$userInfo['company'];
  34. // 设置表名
  35. $model->table($company_id.'_'."qcode_large");
  36. });
  37. //获取公司编码
  38. $userInfo = Session::get('admin');
  39. $company_id = (int)$userInfo['company'];
  40. //把当前表加入到监听队列
  41. Redis_sAdd('watch_tables', $company_id.'_'."qcode_large");
  42. self::beforeWrite(function ($model) {
  43. if (!isset($model->create_time)){
  44. $model->create_time="";
  45. }
  46. if (!isset($model->update_time)){
  47. $model->update_time="";
  48. }
  49. if (!isset($model->delete_time)){
  50. $model->delete_time="";
  51. }
  52. $model->sync_flag=0;
  53. });
  54. // $model->sync_flag=1;
  55. }
  56. }