Ad.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. namespace common\models;
  3. use backendApi\modules\v1\models\Admin;
  4. use Yii;
  5. use common\libs\logging\operate\valueType\Config as ValueTypeConfig;
  6. /**
  7. * This is the model class for table "{{%AD}}".
  8. *
  9. * @property string $ID
  10. * @property string $TITLE 标题
  11. * @property string $IMAGE 图片地址
  12. * @property int $TYPE 类型
  13. * @property string $LID 广告位ID
  14. * @property string $CONTENT 内容
  15. * @property int $SORT 排序
  16. * @property int $STATUS 状态
  17. * @property string $CREATE_ADMIN 创建管理员
  18. * @property string $UPDATE_ADMIN 更新管理员
  19. * @property int $CREATED_AT 创建时间
  20. * @property int $UPDATED_AT 更新时间
  21. */
  22. class Ad extends \common\components\ActiveRecord
  23. {
  24. const TYPE_LINK = 1; // 外链
  25. const TYPE_ARTICLE = 2; // 文章
  26. /**
  27. * @inheritdoc
  28. */
  29. public static function tableName()
  30. {
  31. return '{{%AD}}';
  32. }
  33. /**
  34. * @inheritdoc
  35. */
  36. public function rules()
  37. {
  38. return [
  39. [['TITLE', 'IMAGE', 'TYPE', 'LID', 'CREATE_ADMIN', 'CREATED_AT'], 'required'],
  40. [['TYPE', 'SORT', 'STATUS', 'CREATED_AT', 'UPDATED_AT'], 'integer'],
  41. [['ID', 'LID', 'CREATE_ADMIN', 'UPDATE_ADMIN'], 'string', 'max' => 32],
  42. [['TITLE'], 'string', 'max' => 48],
  43. [['IMAGE', 'CONTENT'], 'string', 'max' => 1000],
  44. [['TITLE'], 'unique'],
  45. [['ID'], 'unique'],
  46. ];
  47. }
  48. /**
  49. * @inheritdoc
  50. */
  51. public function attributeLabels()
  52. {
  53. return [
  54. 'ID' => 'ID',
  55. 'TITLE' => '标题',
  56. 'IMAGE' => '图片地址',
  57. 'TYPE' => '类型',
  58. 'LID' => '广告位ID',
  59. 'CONTENT' => '内容',
  60. 'SORT' => '排序',
  61. 'STATUS' => '状态',
  62. 'CREATE_ADMIN' => '创建管理员',
  63. 'UPDATE_ADMIN' => '更新管理员',
  64. 'CREATED_AT' => '创建时间',
  65. 'UPDATED_AT' => '更新时间',
  66. ];
  67. }
  68. /**
  69. * 操作日志记录条件
  70. * @return array
  71. */
  72. public function attrLabelsWithLogType(){
  73. return [
  74. 'TITLE' => '标题',
  75. 'IMAGE' => '图片地址',
  76. 'TYPE' => [
  77. 'label' => '类型',
  78. 'type' => function($data){
  79. $value = $data['value'];
  80. return $value==1?'外链':'文章';
  81. },
  82. ],
  83. 'LID' => [
  84. 'label' => '广告位',
  85. 'type' => function($data){
  86. $value = $data['value'];
  87. $adLocation = AdLocation::findOneAsArray('ID=:ID', [':ID'=>$value], 'LOCATION_NAME');
  88. return $adLocation['LOCATION_NAME'];
  89. },
  90. ],
  91. 'CONTENT' => '内容',
  92. 'SORT' => '排序',
  93. 'CREATE_ADMIN' => [
  94. 'label' => '创建人',
  95. 'type' => function($data){
  96. $value = is_array($data) && isset($data['value']) ? $data['value'] : '';
  97. $result = Admin::findOneAsArray('ID=:ID', [':ID'=>$value], 'ADMIN_NAME');
  98. return !empty($result) ? $result['ADMIN_NAME'] : '';
  99. },
  100. ],
  101. 'UPDATE_ADMIN' => [
  102. 'label' => '修改人',
  103. 'type' => function($data){
  104. $value = is_array($data) && isset($data['value']) ? $data['value'] : '';
  105. $result = Admin::findOneAsArray('ID=:ID', [':ID'=>$value], 'ADMIN_NAME');
  106. return !empty($result) ? $result['ADMIN_NAME'] : '';
  107. },
  108. ],
  109. 'CREATED_AT' => [
  110. 'label' => '创建时间',
  111. 'type' => ValueTypeConfig::DATE_TIME_TYPE,
  112. ],
  113. 'UPDATED_AT' => [
  114. 'label' => '修改时间',
  115. 'type' => ValueTypeConfig::DATE_TIME_TYPE,
  116. ],
  117. ];
  118. }
  119. }