IssueCouponsStatistics.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <?php
  2. namespace addons\IssueCoupons\common\models;
  3. use Yii;
  4. use yii\db\Exception;
  5. /**
  6. * This is the model class for table "{{%addons_issue_coupons_statistics}}".
  7. *
  8. * @property int $id
  9. * @property int|null $rule_id 规则ID
  10. * @property int $mall_id 商城id
  11. * @property int $created_at
  12. * @property int $updated_at
  13. * @property int $status 状态[-1:删除;0:禁用;1启用]
  14. * @property float|null $e_coupon_num 电子券数量
  15. * @property float|null $coupon_num 优惠卷数量
  16. * @property float|null $redpack_num 红包统计
  17. * @property float|null $balance_num 金额统计
  18. * @property float|null $score_num 积分统计
  19. * @property int $grant_object 发放对象:1:全部会员 2:会员等级 3:会员标签 4:会员id 5:指定区域
  20. * @property string $grant_object_content 对象内容
  21. * @property int|null $send_times 发放次数
  22. */
  23. class IssueCouponsStatistics extends \common\models\base\BaseActiveRecord
  24. {
  25. /**
  26. * {@inheritdoc}
  27. */
  28. public static function tableName()
  29. {
  30. return '{{%addons_issue_coupons_statistics}}';
  31. }
  32. /**
  33. * {@inheritdoc}
  34. */
  35. public function rules()
  36. {
  37. return [
  38. [['rule_id', 'mall_id', 'created_at', 'updated_at', 'status', 'grant_object', 'send_times'], 'integer'],
  39. [['mall_id', 'grant_object_content'], 'required'],
  40. [['e_coupon_num', 'coupon_num', 'redpack_num', 'balance_num', 'score_num'], 'number'],
  41. [['grant_object_content'], 'string'],
  42. ];
  43. }
  44. /**
  45. * {@inheritdoc}
  46. */
  47. public function attributeLabels()
  48. {
  49. return [
  50. 'id' => 'ID',
  51. 'rule_id' => '规则ID',
  52. 'mall_id' => '商城id',
  53. 'created_at' => 'Created At',
  54. 'updated_at' => 'Updated At',
  55. 'status' => '状态[-1:删除;0:禁用;1启用]',
  56. 'e_coupon_num' => '电子券数量',
  57. 'coupon_num' => '优惠卷数量',
  58. 'redpack_num' => '红包统计',
  59. 'balance_num' => '金额统计',
  60. 'score_num' => '积分统计',
  61. 'grant_object' => '发放对象:1:全部会员 2:会员等级 3:会员标签 4:会员id 5:指定区域',
  62. 'grant_object_content' => '对象内容',
  63. 'send_times' => '发放次数',
  64. ];
  65. }
  66. /**
  67. * 保存数据
  68. * @Author: ltm
  69. * @DateTime: 2022/6/28 0015 9:26
  70. * @Copyright: copyright (c) 2021 广东七件事集团
  71. * @param $mall_id
  72. * @param array $params
  73. * @return Rebate|bool
  74. */
  75. public static function setData(array $params){
  76. try{
  77. $mall_id = $params['mall_id'];
  78. $model = self::findOne(['rule_id'=>$params['rule_id'],'mall_id' => $mall_id]);
  79. if(empty($model)){
  80. $model = new self();
  81. $model->loadDefaultValues();
  82. $model->mall_id = $mall_id;
  83. }else{
  84. if($params['e_coupon_num']) $model->e_coupon_num += $params['e_coupon_num'];
  85. if($params['coupon_num']) $model->coupon_num += $params['coupon_num'];
  86. if($params['redpack_num']) $model->redpack_num += $params['redpack_num'];
  87. if($params['balance_num']) $model->balance_num += $params['balance_num'];
  88. if($params['score_num']) $model->score_num += $params['score_num'];
  89. if($params['send_times']) $model->send_times += $params['send_times'];
  90. unset($params['e_coupon_num'],$params['coupon_num'],$params['redpack_num'],$params['balance_num'],$params['score_num'],$params['send_times']);
  91. }
  92. // 将内容转为json字符串
  93. if(!$model->load($params,'') || !$model->save()) throw new Exception($model->getErrorMessage());
  94. return $model;
  95. }catch(\Exception $e){
  96. self::setStaticError($e->getMessage());
  97. return false;
  98. }
  99. }
  100. public function getRule()
  101. {
  102. return $this->hasOne(IssueCouponsRule::class, ['id' => 'rule_id']);
  103. }
  104. }