Ad.php 4.0 KB

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