AdMaterial.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace app\common\model;
  3. use app\common\library\Redis;
  4. use app\main\constants\AdConstants;
  5. use think\Model;
  6. class AdMaterial extends Model
  7. {
  8. // 表名
  9. protected $table = 'ad_material';
  10. // 自动写入时间戳字段
  11. protected $autoWriteTimestamp = 'int';
  12. // 定义时间戳字段名
  13. protected $createTime = 'createtime';
  14. protected $updateTime = 'updatetime';
  15. // 追加属性
  16. protected $append = [
  17. ];
  18. /**
  19. * 广告类别
  20. * @return array
  21. */
  22. public function getAdType()
  23. {
  24. return ['0' => 'banner广告', '1' => '插屏广告'];
  25. }
  26. /**
  27. * 素材展示位置
  28. * @return array
  29. */
  30. public function getMaterialPositions()
  31. {
  32. $arr = [
  33. ['id' => AdConstants::AD_P_XQ, 'name' => '书籍详情页'],
  34. ['id' => AdConstants::AD_P_ZG, 'name' => '追更页'],
  35. ['id' => AdConstants::AD_P_YDYDB, 'name' => '阅读页底部'],
  36. ['id' => AdConstants::AD_P_ZJYD, 'name' => '最近阅读'],
  37. ['id' => AdConstants::AD_P_SJ, 'name' => '书架'],
  38. ['id' => AdConstants::AD_P_YDYCD, 'name' => '阅读页顶部菜单下拉'],
  39. ['id' => AdConstants::AD_P_YDY_ZJ_A, 'name' => '阅读页中间1'],
  40. ['id' => AdConstants::AD_P_YDY_ZJ_B, 'name' => '阅读页中间2'],
  41. ['id' => AdConstants::AD_P_YDY_ZJ_C, 'name' => '阅读页中间3'],
  42. ['id' => AdConstants::AD_P_PAY_SCREEN, 'name' => '充值返回插屏'],
  43. ['id' => AdConstants::AD_P_READ_SCREEN, 'name' => '阅读器插屏'],
  44. ['id' => AdConstants::AD_P_SIGN_SUCESS, 'name' => '签到成功插屏'],
  45. ['id' => AdConstants::AD_P_USER_CENTER, 'name' => '个人中心'],
  46. ['id' => AdConstants::AD_P_TOP_INDEX, 'name' => '排行榜首页'],
  47. ['id' => AdConstants::AD_P_CAT_INDEX, 'name' => '分类首页'],
  48. ['id' => AdConstants::AD_P_CAT_SUB, 'name' => '分类二级'],
  49. ['id' => AdConstants::AD_P_INDEX_BANNER_A, 'name' => '书城首页轮播Banner'],
  50. ['id' => AdConstants::AD_P_YDY_TOP, 'name' => '阅读页顶部浮窗Banner'],
  51. ['id' => AdConstants::AD_P_YDY_CHAPTER_SCREEN, 'name' => '阅读页插屏(整章)'],
  52. ['id' => AdConstants::AD_P_INDEX_BANNER_B, 'name' => '书城首页Banner2'],
  53. ['id' => AdConstants::AD_P_INDEX_FLOAT_FRAME, 'name' => '书城浮窗'],
  54. ['id' => AdConstants::AD_P_DETAIL_FLOAT_FRAME, 'name' => '书籍详情浮窗'],
  55. ];
  56. return $arr;
  57. }
  58. public function getShowStarttimeTextAttr($value, $data)
  59. {
  60. $value = $value ? $value : $data['show_starttime'];
  61. return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
  62. }
  63. public function getShowEndtimeTextAttr($value, $data)
  64. {
  65. $value = $value ? $value : $data['show_endtime'];
  66. return is_numeric($value) ? date("Y-m-d H:i:s", $value) : $value;
  67. }
  68. public function setShowStarttimeAttr($value)
  69. {
  70. return $value && !is_numeric($value) ? strtotime($value) : $value;
  71. }
  72. public function setShowEndtimeAttr($value)
  73. {
  74. return $value && !is_numeric($value) ? strtotime($value) : $value;
  75. }
  76. }