| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?php
- /**
- * 厦门云联储网络科技有限公司
- * https://www.baokuaiyun.com
- * Copyright (c) 2023 爆块云 All rights reserved.
- */
- namespace app\models;
- use Yii;
- use yii\db\ActiveRecord;
- use yii\behaviors\TimestampBehavior;
- use app\models\WechatConfig;
- use app\models\Option;
- use \app\models\AlipayAcitvityVoucherCoupon;
- /**
- * This is the model class for table "{{%coupon}}".
- *
- * @property int $id
- * @property int $alipay_activity_id
- * @property int $mini_id
- * @property string $event_time
- * @property string $voucher_id
- * @property string $user_id
- * @property string $trade_no
- * @property int $store_id
- * @property int $created_at 添加时间
- * @property int $is_delete 是否删除
- * @property int|null $mch_id 入驻商id
- * @property int|null $updated_at
- */
- class AlipayAcitvityVoucherOrder extends \yii\db\ActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%alipay_activity_voucher_order}}';
- }
- const IS_DELETE_YES = 1;//已删除
- const IS_DELETE_NO = 0;//未删除
- public function behaviors()
- {
- return [
- [
- 'class' => TimestampBehavior::class,
- 'attributes' => [
- ActiveRecord::EVENT_BEFORE_INSERT => ['updated_at', 'created_at'],
- ActiveRecord::EVENT_BEFORE_UPDATE => 'updated_at'
- ]
- ]
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['notify_id', 'alipay_activity_id', 'event_time', 'voucher_id', 'user_id', 'trade_no'], 'required'],
- [['store_id', 'mini_id', 'mch_id', 'created_at', 'is_delete', 'updated_at'], 'safe']
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'store_id' => 'Store ID',
- 'notify_id' => '事件id。可用于业务去重。',
- 'alipay_activity_id' => '支付宝支付券活动id',
- 'mini_id' => 'mini_id',
- 'event_time' => '事件创建时间',
- 'voucher_id' => '支付宝券ID',
- 'user_id' => '支付宝user_id账号',
- 'trade_no' => '核销交易订单号',
- 'created_at' => '添加时间',
- 'is_delete' => '是否删除',
- 'mch_id' => '入驻商id',
- 'updated_at' => 'Update Time',
- ];
- }
-
- public function beforeSave($insert) {
- if(!parent::beforeSave($insert)){
- return false;
- }
- if($insert){
- $coupon = AlipayAcitvityVoucherCoupon::findOne(['alipay_activity_id' => $this->alipay_activity_id]);
- if(!$coupon){
- $this->addError('alipay_activity_id', '未找到支付券活动');
- return false;
- }
- $this->store_id = $coupon->store_id;
- $this->mini_id = $coupon->mini_id;
- $this->mch_id = $coupon->mch_id;
- }
- return true;
- }
-
- public static function usedNotify($biz = []) {
- $model = self::findOne(['notify_id' => $biz['id']]);
- if($model){
- return true;
- }
- $model = new self();
- $model->notify_id = $biz['id'];
- $model->alipay_activity_id = $biz['activity_id'];
- $model->event_time = substr($biz['event_time'], 0, 10);
- $model->voucher_id = $biz['voucher_id'];
- $model->user_id = $biz['user_id'];
- $model->trade_no = $biz['trade_no'];
- $save = $model->save();
- if(!$save){
- \Yii::error([__METHOD__, $biz, $model->errors]);
- return false;
- }
- return true;
- }
-
- public static function getByOrder($trade_no) {
- $model = self::findOne(['trade_no' => $trade_no]);
- if($model){
- $coupon = AlipayAcitvityVoucherCoupon::findOne(['alipay_activity_id' => $model->alipay_activity_id]);
- return $coupon;
- }
- }
- }
|