| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- <?php
- namespace addons\ElectronCoupon\common\models;
- use common\enums\StatusEnum;
- use common\models\base\BaseActiveRecord;
- use Yii;
- use yii\db\Exception;
- /**
- * This is the model class for table "qimall_addons_electron_coupon_give_logs".
- *
- * @property int $id
- * @property int $mall_id 商城id
- * @property int $e_coupon_id 电子券id
- * @property int $user_e_coupon_id 赠送者会员电子券id
- * @property int $accept_user_e_coupon_id 接收者会员电子券id
- * @property int $user_id 接收者id
- * @property int $give_user_id 赠送者id
- * @property int $active_time 激活时间
- * @property int $use_time 使用时间
- * @property int $share_expiry 分享有效期,单位小时
- * @property int $created_at
- * @property int $updated_at
- * @property int|null $status 状态[-1:删除;0:禁用;1启用]
- */
- class ElectronCouponGiveLogs extends BaseActiveRecord
- {
- /**
- * {@inheritdoc}
- */
- public static function tableName()
- {
- return '{{%addons_electron_coupon_give_logs}}';
- }
- /**
- * {@inheritdoc}
- */
- public function rules()
- {
- return [
- [['mall_id', 'e_coupon_id', 'user_id', 'give_user_id', 'active_time', 'use_time'], 'required'],
- [['mall_id', 'e_coupon_id', 'user_e_coupon_id','accept_user_e_coupon_id', 'user_id', 'give_user_id', 'active_time', 'use_time','share_expiry', 'created_at', 'updated_at', 'status'], 'integer'],
- ];
- }
- /**
- * {@inheritdoc}
- */
- public function attributeLabels()
- {
- return [
- 'id' => 'ID',
- 'mall_id' => 'Mall ID',
- 'e_coupon_id' => 'E Coupon ID',
- 'user_e_coupon_id' => 'User E Coupon ID',
- 'accept_user_e_coupon_id' => 'Accept User E Coupon ID',
- 'user_id' => 'User ID',
- 'give_user_id' => 'Give User ID',
- 'active_time' => 'Active Time',
- 'use_time' => 'Use Time',
- 'share_expiry' => 'Share Expiry',
- 'created_at' => 'Created At',
- 'updated_at' => 'Updated At',
- 'status' => 'Status',
- ];
- }
- public static function setData(array $params,int $amount)
- {
- try{
- $field = ['mall_id', 'e_coupon_id','user_e_coupon_id','accept_user_e_coupon_id','user_id','give_user_id','active_time','use_time','share_expiry','created_at','updated_at','status'];
- $insert = [];
- for ($i=0;$i<$amount;$i++){
- $insert[]=$params;
- }
- if(empty($insert)) throw new Exception('数据为空');
- return Yii::$app->db->createCommand()->batchInsert(self::tableName(), $field, $insert)->execute();
- }catch(\Exception $e){
- self::setStaticError($e->getMessage());
- return false;
- }
- }
- //激活后的操作
- public static function activeAfter($number,$user_id,$accept_user_e_coupon_id,$active_time){
- try {
- for ($i = 0; $i < $number; $i++) {
- $where = [
- 'status' => StatusEnum::ENABLED,
- 'user_id' => $user_id,
- 'accept_user_e_coupon_id' => $accept_user_e_coupon_id,
- ];
- $model = ElectronCouponGiveLogs::find()->where($where)->orderBy('created_at asc')->one();
- if (!empty($model)) {
- $model->status = StatusEnum::DISABLED;
- $model->active_time = $active_time;
- $res = $model->save();
- if ($res == false) throw new Exception($model->getErrorMessage());
- }
- }
- return true;
- }catch(\Exception $e){
- self::setStaticError($e->getMessage());
- return false;
- }
- }
- //使用后的操作
- public static function useAfter($user_id,$accept_user_e_coupon_id,$use_time){
- try {
- $where = [
- 'status' => [StatusEnum::ENABLED,StatusEnum::ENABLED],
- 'user_id' => $user_id,
- 'accept_user_e_coupon_id' => $accept_user_e_coupon_id,
- ];
- $model = ElectronCouponGiveLogs::find()->where($where)->andWhere(['<>','active_time',0])->orderBy('created_at asc')->one();
- if (!empty($model)) {
- $model->status = StatusEnum::DELETE;
- $model->use_time = $use_time;
- $res = $model->save();
- if ($res == false) throw new Exception($model->getErrorMessage());
- }
- return true;
- }catch(\Exception $e){
- self::setStaticError($e->getMessage());
- return false;
- }
- }
- }
|