DeclarationPackage.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <?php
  2. namespace common\models;
  3. /**
  4. * This is the model class for table "{{%DECLARATION_PACKAGE}}".
  5. *
  6. * @property string $ID
  7. * @property string $PACKAGE_NAME 套餐名称
  8. * @property string $PACKAGE_NO 套餐编号
  9. * @property string $LEVEL_ID 所属报单级别ID
  10. * @property string $AMOUNT 套餐金额
  11. * @property string $PV 套餐PV
  12. * @property string $PACKAGE_CONTENT 套餐内容
  13. * @property string $STORE_NUMS 套餐库存
  14. * @property string $CREATED_AT 创建时间
  15. * @property string $CREATE_ADMIN 创建人
  16. * @property string $UPDATE_ADMIN 更新人
  17. * @property int $UPDATED_AT 更新时间
  18. * @property int $IS_DEL 是否删除
  19. * @property int $STATUS 状态
  20. * @property int $DELETED_AT 删除时间
  21. * @property int $STATUS_DATE 是否开启限时
  22. * @property int $PACKAGE_STATUS_DATE 限时状态
  23. * @property int $PACKAGE_DATE 限时执行时间
  24. * @property string $CATE_ID
  25. */
  26. class DeclarationPackage extends \common\components\ActiveRecord
  27. {
  28. const STATUS_NAME = [
  29. 1 => '已上架',
  30. 0 => '已下架',
  31. ];
  32. /**
  33. * @inheritdoc
  34. */
  35. public static function tableName()
  36. {
  37. return '{{%DECLARATION_PACKAGE}}';
  38. }
  39. /**
  40. * @inheritdoc
  41. */
  42. public function rules()
  43. {
  44. return [
  45. [['PACKAGE_NAME','PACKAGE_NO','LEVEL_ID', 'AMOUNT', 'PV', 'PACKAGE_CONTENT', 'CREATED_AT','CREATE_ADMIN',], 'required'],
  46. [['ID','LEVEL_ID','CREATE_ADMIN', 'UPDATE_ADMIN'], 'string', 'max' => 32],
  47. [['PACKAGE_NAME'], 'string', 'max' => 48],
  48. [['PACKAGE_NAME'], 'unique'],
  49. [['AMOUNT', 'PV','STORE_NUMS'], 'number'],
  50. [['ID'], 'unique'],
  51. ];
  52. }
  53. /**
  54. * @inheritdoc
  55. */
  56. public function attributeLabels()
  57. {
  58. return [
  59. 'ID' => 'ID',
  60. 'PACKAGE_NAME' => '套餐名称',
  61. 'PACKAGE_NO' => '套餐编号',
  62. 'LEVEL_ID' => '所属报单级别ID',
  63. 'AMOUNT' => '套餐金额',
  64. 'PV' => '套餐PV',
  65. 'PACKAGE_CONTENT' => '套餐内容',
  66. 'CREATED_AT' => '创建时间',
  67. 'CREATE_ADMIN' => '创建人',
  68. 'UPDATE_ADMIN' => '更新人',
  69. 'UPDATED_AT' => '更新时间',
  70. 'IS_DEL' => '是否删除',
  71. 'STATUS' => '是否上架',
  72. 'DELETED_AT' => '删除时间',
  73. 'STORE_NUMS' => '套餐库存',
  74. 'CATE_ID' => '商品来源',
  75. ];
  76. }
  77. /**
  78. * 判断上下架状态
  79. * @param $nowStatus
  80. * @param $toStatus
  81. * @return string
  82. */
  83. public static function chkAuditStatus($nowStatus, $toStatus) {
  84. $statusName = self::STATUS_NAME;
  85. $msg = '当前套餐状态为【' . $statusName[$nowStatus] . '】,无法设置为【' . $statusName[$toStatus] . '】';
  86. switch ($toStatus) {
  87. // 下架
  88. case 0:
  89. if ($nowStatus == 1) {
  90. $msg = '';
  91. }
  92. break;
  93. //上架
  94. case 1:
  95. if ($nowStatus == 0) {
  96. $msg = '';
  97. }
  98. break;
  99. default:
  100. }
  101. return $msg;
  102. }
  103. /**
  104. * @return array|\yii\db\ActiveRecord[]
  105. */
  106. public static function getAllData(){
  107. return static::find()->where('IS_DEL=0 AND STATUS=1')->indexBy('ID')->orderBy('SORT ASC')->asArray()->all();
  108. }
  109. /**
  110. * 通过报单ID获取对应的报单套餐
  111. * @param $levelId
  112. * @return mixed
  113. */
  114. public static function getPackageFromLevelId($levelId){
  115. return static::findAllAsArray('LEVEL_ID=:LEVEL_ID', [':LEVEL_ID'=>$levelId]);
  116. }
  117. /**
  118. * 通过ID获取套餐所属报单级别ID
  119. * @param $packageId
  120. * @return mixed
  121. */
  122. public static function getLevelById($packageId){
  123. $data = self::findOneAsArray('ID=:ID', [':ID'=>$packageId]);
  124. return $data['LEVEL_ID'];
  125. }
  126. }