'ID', 'mall_id' => 'Mall ID', 'store_id' => 'Store ID', 'coupon_id' => 'Coupon ID', 'user_coupon_id' => 'User Coupon ID', 'get_user_coupon_id' => 'Get User Coupon ID', 'giving_user_id' => 'Giving User ID', 'receive_user_id' => 'Receive User ID', 'giving_status' => 'Giving Status', 'created_at' => 'Created At', 'updated_at' => 'Updated At', ]; } public static function setData($params) { $transaction = \Yii::$app->db->beginTransaction(); try { if (!empty($params['coupon_share_log_id'])) { // 领取 $model = self::findOne(['mall_id' => $params['mall_id'], 'id' => $params['coupon_share_log_id']]); if (empty($model)) throw new \Exception('服务不存在或已删除'); $model->get_user_coupon_id = $params['get_user_coupon_id']; $model->receive_user_id = $params['receive_user_id']; $model->giving_status = StoreEnum::GIVING_STATUS2; $model->updated_at = time(); $user_coupon =StoreCouponUserRelate::findOne(['mall_id' => $params['mall_id'], 'id' => $model->user_coupon_id]); $user_coupon->is_giving = StoreEnum::GIVING; $user_coupon->giving_status = StoreEnum::GIVING_STATUS2; } else { // 转赠 $model = new self(); $model->mall_id = $params['mall_id']; $model->coupon_id = $params['coupon_id']; $model->store_id = $params['store_id']; $model->user_coupon_id = $params['user_coupon_id']; $model->giving_user_id = $params['giving_user_id']; $model->get_user_coupon_id = 0; $model->receive_user_id = 0; $model->giving_status = 1; $model->created_at = time(); $user_coupon = StoreCouponUserRelate::findOne(['mall_id' => $params['mall_id'], 'id' => $params['user_coupon_id']]); $user_coupon->is_giving = StoreEnum::GIVING; $user_coupon->giving_status = StoreEnum::GIVING_STATUS1; if($user_coupon['from_type']==1){ AddonsCouponStatistics::setData(['mall_id'=>$user_coupon['mall_id'], 'coupon_id'=>$user_coupon['coupon_id'],'giveing_times'=>1,]); }else{ StoreCouponStatistics::setData(['mall_id'=>$user_coupon['mall_id'], 'coupon_id'=>$user_coupon['coupon_id'], 'store_id'=>$user_coupon['store_id'], 'giveing_times'=>1,]); } } $res_user_coupon = $user_coupon->save(); $res_share_log = $model->save(); if ($res_share_log === false || $res_user_coupon === false) throw new \Exception('res_share_log => ' . var_export($model->getErrorMessage(), true) . ', res_user_coupon => ' . var_export($res_user_coupon, true)); $transaction->commit(); return $model; } catch (\Exception $e) { $transaction->rollback(); self::$static_error = $e->getMessage(); return false; } } }