PerfOrder.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace common\models;
  3. use common\helpers\snowflake\SnowFake;
  4. use common\helpers\Tool;
  5. use Yii;
  6. use yii\base\Exception;
  7. /**
  8. * This is the model class for table "{{%PERF_ORDER}}".
  9. *
  10. * @property string $ID
  11. * @property string $SN 业绩单编号
  12. * @property string $PERF_TYPE 业绩单类型
  13. * @property string $USER_ID 产生业绩会员ID
  14. * @property string $PV 业绩单PV
  15. * @property string $DEC_USER_ID 报单者ID
  16. * @property string $ORDER_AMOUNT 支付金额
  17. * @property int $PERIOD_NUM 所在期数
  18. * @property int $CALC_MONTH 结算月
  19. * @property int $CREATED_AT 创建时间
  20. *
  21. */
  22. class PerfOrder extends \common\components\ActiveRecord
  23. {
  24. //业绩单状态
  25. const STATUS_NORMAL = 1; //正常
  26. const STATUS_CLOSED = 2; //置废
  27. const ZC_TYPE = "ZC";
  28. const FX_TYPE = "FX";
  29. const STATUS_NAME = [
  30. self::STATUS_NORMAL=>'Audited',//已审核
  31. self::STATUS_CLOSED=>'置废',
  32. ];
  33. /**
  34. * {@inheritdoc}
  35. */
  36. public static function tableName()
  37. {
  38. return '{{%PERF_ORDER}}';
  39. }
  40. /**
  41. * {@inheritdoc}
  42. */
  43. public function rules()
  44. {
  45. return [
  46. [['SN', 'PERF_TYPE', 'USER_ID', 'PERIOD_NUM', 'CALC_MONTH', 'CREATED_AT'], 'required'],
  47. [['PERIOD_NUM', 'CALC_MONTH', 'CREATED_AT'], 'integer'],
  48. [['PV', 'ORDER_AMOUNT'], 'number'],
  49. [['SN'], 'unique'],
  50. [['ID'], 'unique'],
  51. ];
  52. }
  53. /**
  54. * {@inheritdoc}
  55. */
  56. public function attributeLabels()
  57. {
  58. return [
  59. 'ID' => 'ID',
  60. 'SN' => '业绩单编号',
  61. 'PERF_TYPE' => '业绩单类型',
  62. 'USER_ID' => '产生业绩会员ID',
  63. 'PV' => '业绩单BV',
  64. 'ORDER_AMOUNT' => '报单金额',
  65. 'DEC_USER_ID' => '报单主体ID',
  66. 'PERIOD_NUM' => '所在期数',
  67. 'CALC_MONTH' => '结算月',
  68. 'CREATED_AT' => '创建时间',
  69. ];
  70. }
  71. /**
  72. * 获取当前最大的订单编号
  73. * @return mixed
  74. */
  75. public static function getMaxSn(){
  76. return static::find()->where('1=1')->max('SN');
  77. }
  78. /**
  79. * 生成sn
  80. * @return string
  81. */
  82. public static function generateSN() {
  83. return SnowFake::instance()->generateId();
  84. }
  85. }