Пример #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = ActivityLog::find()->orderBy('update_at desc');
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'invite_id' => $this->invite_id, 'experience_money' => $this->experience_money, 'red_packet' => $this->red_packet, 'inviter_draw' => $this->inviter_draw, 'invitee_draw' => $this->invitee_draw, 'status' => $this->status, 'create_at' => $this->create_at, 'update_at' => $this->update_at, 'end_at' => $this->end_at]);
     $query->andFilterWhere(['like', 'phone', $this->phone])->andFilterWhere(['like', 'invite_phone', $this->invite_phone])->andFilterWhere(['like', 'actibity_source', $this->actibity_source]);
     return $dataProvider;
 }
Пример #2
0
$this->title = '活动红包记录';
$this->params['breadcrumbs'][] = $this->title;
?>
<div class="activity-log-index">

    <h1><?php 
echo Html::encode($this->title);
?>
</h1>


    <?php 
echo GridView::widget(['dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [['class' => 'yii\\grid\\SerialColumn'], 'phone', 'invite_phone', 'red_packet', 'actibity_source', ['attribute' => 'inviter_draw', 'format' => 'html', 'value' => function ($model) {
    if ($model->inviter_draw == common\models\base\activity\ActivityLog::STATUS_INVITER_DRAW_SUCC) {
        $class = 'label-success';
    } else {
        $class = 'label-danger';
    }
    return '<span class="label ' . $class . '">' . $model->inviterLabel . '</span>';
}, 'filter' => Html::activeDropDownList($searchModel, 'inviter_draw', \common\models\base\activity\ActivityLog::inviterLabel(), ['class' => 'form-control', 'prompt' => '请筛选'])], ['attribute' => 'invitee_draw', 'format' => 'html', 'value' => function ($model) {
    if ($model->invitee_draw == common\models\base\activity\ActivityLog::STATUS_INVITEE_DRAW_SUCC) {
        $class = 'label-success';
    } else {
        $class = 'label-danger';
    }
    return '<span class="label ' . $class . '">' . $model->inviteeLabel . '</span>';
}, 'filter' => Html::activeDropDownList($searchModel, 'invitee_draw', \common\models\base\activity\ActivityLog::inviteeLabel(), ['class' => 'form-control', 'prompt' => '请筛选'])], ['attribute' => 'create_at', 'format' => ['date', 'php:Y-m-d']], ['attribute' => 'end_at', 'format' => ['date', 'php:Y-m-d']], ['class' => 'yii\\grid\\ActionColumn']]]);
?>

</div>
Пример #3
0
 /**
  * Finds the ActivityLog model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return ActivityLog the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = ActivityLog::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
 }
Пример #4
0
 /**
  * 判定用户是否符合推广规则--进行奖励机制--为用户发放红包--在形成红包之后操作
  * 用户满足条件后就进行红包的发放
  * @param $uid
  */
 public static function send_red_packet($uid)
 {
     //判定当前用户是否是符合推广新手的规则
     $money = 3000;
     $days = 30;
     $count = self::get_continue_money($uid, $money, $days);
     if ($count['count'] >= $days) {
         //获取用户手机号
         $info = UcenterMember::find()->where(['id' => $uid])->asArray()->one();
         $invite_phone = $info['phone'];
         //符合规则--可以发放红包了
         //产生的红包--一级推荐关系---》》活动红包列表
         $red_list = UserRecommend::find()->where(['owner_uid' => $uid, 'level' => 1, 'is_grant' => UserRecommend::GRANT_FALSE])->asArray()->all();
         if ($red_list !== null) {
             foreach ($red_list as $key => $value) {
                 $sender_uid = $value['sender_uid'];
                 $phone = $value['sender_phone'];
                 $actibity_source = $value['red_packet_name'];
                 $red_packet = $value['red_packet'];
                 //判定红包表数据库里面是否有数据
                 $flag = ActivityLog::find()->where(['uid' => $sender_uid, 'phone' => $phone, 'invite_id' => $uid, 'actibity_source' => $actibity_source, 'red_packet' => $red_packet])->one();
                 if ($flag == null) {
                     //增加红包记录
                     $log = new ActivityLog();
                     $log->uid = $sender_uid;
                     $log->phone = $phone;
                     $log->red_packet = $red_packet;
                     $log->actibity_source = $actibity_source;
                     $log->invite_id = $uid;
                     $log->invite_phone = $invite_phone;
                     $log->inviter_draw = ActivityLog::STATUS_INVITER_DRAW_SUCC;
                     $log->invitee_draw = ActivityLog::STATUS_INVITEE_DRAW_SUCC;
                     $log->status = ActivityLog::STATUS_SUCCESS;
                     $log->type = ActivityLog::RED_BOTHWAY_TO_INVITER;
                     $log->end_at = time() + 100 * 86400;
                     if ($log->save()) {
                         //更新推荐注册表里的数据
                         UserRecommend::updateAll(['is_grant' => UserRecommend::GRANT_TRUE], ['owner_uid' => $uid, 'level' => 1, 'is_grant' => UserRecommend::GRANT_FALSE, 'red_packet' => $red_packet, 'sender_uid' => $sender_uid]);
                     }
                 }
             }
         }
     }
     //判定用户是否符合’推广大师‘的资格  60天连续投资6000元
     $money = 6000;
     $days = 60;
     $count = self::get_continue_money($uid, $money, $days);
     if ($count['count'] >= $days) {
         //获取用户手机号
         $info = UcenterMember::find()->where(['id' => $uid])->asArray()->one();
         $invite_phone = $info['phone'];
         //符合规则--可以发放红包了
         //产生的红包--二级推荐关系---》》活动红包列表
         $red_list = UserRecommend::find()->where(['owner_uid' => $uid, 'level' => 2, 'is_grant' => UserRecommend::GRANT_FALSE])->asArray()->all();
         if ($red_list !== null) {
             foreach ($red_list as $key => $value) {
                 $sender_uid = $value['sender_uid'];
                 $phone = $value['sender_phone'];
                 $actibity_source = $value['red_packet_name'];
                 $red_packet = $value['red_packet'];
                 //判定红包表中是否已经有数据
                 $flag = ActivityLog::find()->where(['uid' => $sender_uid, 'phone' => $phone, 'invite_id' => $uid, 'actibity_source' => $actibity_source, 'red_packet' => $red_packet])->one();
                 if ($flag == null) {
                     //增加红包记录
                     $log = new ActivityLog();
                     $log->uid = $sender_uid;
                     $log->phone = $phone;
                     $log->red_packet = $red_packet;
                     $log->actibity_source = $actibity_source;
                     $log->invite_id = $uid;
                     $log->invite_phone = $invite_phone;
                     $log->inviter_draw = ActivityLog::STATUS_INVITER_DRAW_SUCC;
                     $log->invitee_draw = ActivityLog::STATUS_INVITEE_DRAW_SUCC;
                     $log->status = ActivityLog::STATUS_SUCCESS;
                     $log->type = ActivityLog::RED_BOTHWAY_TO_INVITER;
                     $log->end_at = time() + 100 * 86400;
                     if ($log->save()) {
                         //更新推荐注册表里的数据
                         UserRecommend::updateAll(['is_grant' => UserRecommend::GRANT_TRUE], ['owner_uid' => $uid, 'level' => 2, 'is_grant' => UserRecommend::GRANT_FALSE, 'red_packet' => $red_packet, 'sender_uid' => $sender_uid]);
                     }
                 }
             }
         }
     }
 }
Пример #5
0
 /**
  * 获取用户活动红包列表---双向红包列表记录
  * @param $uid
  * @param int $page_no
  * @param int $page_size
  * @return array|\common\models\base\activity\ActivityLog[]
  */
 public static function get_rad_list($uid, $page_no = 1, $page_size = 20)
 {
     //获取用户注册手机号
     $info = UcenterMember::find()->where(['id' => $uid])->asArray()->one();
     $phone = '';
     if ($info !== null) {
         $phone = $info['phone'];
     }
     $num = ($page_no - 1) * $page_size;
     //获取是分享得到的红包
     $list = ActivityLog::find()->select(['phone', 'invite_phone', 'red_packet', 'actibity_source', 'update_at', 'inviter_draw', 'invitee_draw'])->where(['invite_id' => $uid, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_TO_INVITER])->orWhere(['phone' => $phone, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_YES])->orWhere(['invite_phone' => $phone, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_YES])->orderBy('update_at desc')->limit($page_size)->offset($num)->asArray()->all();
     $red_packet_count = ActivityLog::find()->where(['invite_id' => $uid, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_TO_INVITER])->orWhere(['phone' => $phone, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_YES])->orWhere(['invite_phone' => $phone, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_YES])->count();
     if ($list) {
         $red_packet_sum = ActivityLog::find()->where(['invite_id' => $uid, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_TO_INVITER])->orWhere(['phone' => $phone, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_YES])->orWhere(['invite_phone' => $phone, 'status' => ActivityLog::STATUS_SUCCESS, 'type' => ActivityLog::RED_BOTHWAY_YES])->sum('red_packet');
         $red_packet_sum = $red_packet_sum ? $red_packet_sum : 0;
         foreach ($list as $key => $value) {
             if ($value['invite_phone'] == $phone) {
                 //邀请其他用户获得的奖励
                 $list[$key]['type'] = 1;
                 $list[$key]['phone'] = $value['phone'];
                 unset($list[$key]['invite_phone']);
             } else {
                 //被邀请获得的奖励
                 $list[$key]['type'] = 2;
                 $list[$key]['phone'] = $value['invite_phone'];
                 unset($list[$key]['invite_phone']);
             }
         }
         $data = array('sum' => $red_packet_sum, 'count' => $red_packet_count, 'list' => $list);
         $return = array('errorNum' => 0, 'errorMsg' => 'success', 'data' => $data);
         return $return;
     } elseif (!$list && $red_packet_count) {
         $return = array('errorNum' => 1, 'errorMsg' => '没有更多的记录', 'data' => null);
         return $return;
     } else {
         $return = array('errorNum' => 1, 'errorMsg' => '暂无记录', 'data' => null);
         return $return;
     }
 }