AgentSupplierCommission.php 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?php
  2. namespace addons\Agent\common\models;
  3. use addons\Agent\common\logic\reward\RewardSort;
  4. use common\models\order\Order;
  5. use common\models\user\User;
  6. use Yii;
  7. /**
  8. * This is the model class for table "qimall_addons_agent_supplier_commission".
  9. *
  10. * @property int $id
  11. * @property int $mall_id
  12. * @property int $buy_user_id 买家id
  13. * @property int $buy_level 买家身份
  14. * @property int $seller_user_id 卖家id
  15. * @property int $seller_level 卖家身份
  16. * @property string $order_no 会员订单号
  17. * @property string $supplier_order_no 供应商订单号
  18. * @property int $goods_nums 商品数量
  19. * @property int $stock_nums 库存加减
  20. * @property float $payment_amount 货款金额
  21. * @property float $profit 利润
  22. * @property int $pay_time 订单支付时间
  23. * @property int $created_at 添加时间戳
  24. * @property int $updated_at 更新时间戳
  25. * @property string $capital_type 奖励类型
  26. * @property string $sort_sort_capital_type 奖励类型
  27. */
  28. class AgentSupplierCommission extends \common\models\base\BaseActiveRecord
  29. {
  30. /**
  31. * {@inheritdoc}
  32. */
  33. public static function tableName()
  34. {
  35. return 'qimall_addons_agent_supplier_commission';
  36. }
  37. /**
  38. * {@inheritdoc}
  39. */
  40. public function rules()
  41. {
  42. return [
  43. [['mall_id', 'buy_user_id', 'buy_level', 'seller_user_id', 'seller_level', 'goods_nums', 'stock_nums', 'pay_time', 'created_at', 'updated_at', 'source_table_id', 'status'], 'integer'],
  44. [['payment_amount', 'profit'], 'number'],
  45. [['order_no', 'supplier_order_no', 'source_table'], 'string', 'max' => 100],
  46. [['capital_type'], 'string', 'max' => 50],
  47. ];
  48. }
  49. /**
  50. * {@inheritdoc}
  51. */
  52. public function attributeLabels()
  53. {
  54. return [
  55. 'id' => 'ID',
  56. 'mall_id' => 'Mall ID',
  57. 'buy_user_id' => 'Buy User ID',
  58. 'buy_level' => 'Buy Level',
  59. 'seller_user_id' => 'Seller User ID',
  60. 'seller_level' => 'Seller Level',
  61. 'order_no' => 'Order No',
  62. 'supplier_order_no' => 'Supplier Order No',
  63. 'goods_nums' => 'Goods Nums',
  64. 'stock_nums' => 'Stock Nums',
  65. 'payment_amount' => 'Payment Amount',
  66. 'profit' => 'Profit',
  67. 'pay_time' => 'Pay Time',
  68. 'order_id' => 'Order ID',
  69. 'order_detail_id' => 'Order Details ID',
  70. 'created_at' => 'Created At',
  71. 'updated_at' => 'Updated At',
  72. 'capital_type' => 'Capital Type',
  73. 'sort_capital_type' => 'Sort Capital Type',
  74. ];
  75. }
  76. /**
  77. * 添加分佣记录数据
  78. */
  79. public static function insertData($params)
  80. {
  81. if (empty($params)) {
  82. return;
  83. }
  84. $insertData = [];
  85. $params = RewardSort::insertWalletSort($params);
  86. foreach ($params as $item) {
  87. $insertData[] = [
  88. 'mall_id' => $item['mall_id'],
  89. 'buy_user_id' => $item['buy_user_id'],
  90. 'buy_level' => $item['buy_level'],
  91. 'seller_user_id' => $item['seller_user_id'],
  92. 'seller_level' => $item['seller_level'],
  93. 'order_no' => $item['order_no'],
  94. 'supplier_order_no' => $item['supplier_order_no'],
  95. 'goods_nums' => $item['goods_nums'],
  96. 'stock_nums' => $item['stock_nums'],
  97. 'payment_amount' => $item['payment_amount'],
  98. 'profit' => $item['profit'],
  99. 'pay_time' => $item['pay_time'],
  100. 'source_table' => $item['source_table'],
  101. 'source_table_id' => $item['source_table_id'],
  102. 'capital_type' => $item['capital_type'],
  103. 'created_at' => time(),
  104. 'updated_at' => time(),
  105. ];
  106. }
  107. Yii::$app->db->createCommand()->batchInsert(self::tableName(), array_keys($insertData[0]), $insertData)->execute();
  108. }
  109. public function getOrder()
  110. {
  111. return $this->hasOne(Order::class, ['order_no' => 'order_no']);
  112. }
  113. public function getBuyUser()
  114. {
  115. return $this->hasOne(User::class, ['id' => 'buy_user_id']);
  116. }
  117. public function getSellerUser()
  118. {
  119. return $this->hasOne(User::class, ['id' => 'seller_user_id']);
  120. }
  121. }