'ID', 'mall_id' => '商城ID', 'activity_id' => '活动ID', 'share_user_id' => '分享者用户ID', 'visit_user_id' => '访问者用户ID', 'url' => '点击url', 'activity_type' => '类型【1 个人PK 2战队PK】', 'click' => '点击次数', 'status' => '状态[-1:删除;0:禁用;1启用]', 'created_at' => '创建时间', 'updated_at' => '更新时间', ]; } /** * 保存数据 * @Author: ltm * @DateTime: 2022/6/8 0015 9:26 * @Copyright: copyright (c) 2021 * @param $mall_id * @param array $params * @return Rebate|bool */ public static function setData(array $params){ try{ $mall_id = $params['mall_id']; if(!empty($params['id'])){ $model = self::findOne(['and',['id' => $params['id'],'mall_id' => $mall_id],['=','status', StatusEnum::ENABLED]]); if(empty($model)) throw new \Exception('活动不存在或已删除'); if (isset($params['click'])) { $model->click = $model->click + $params['click']; unset($params['click']); } }else{ $model = new self(); $model->loadDefaultValues(); $model->mall_id = $mall_id; } if(!$model->load($params,'') || !$model->save()) throw new Exception($model->getErrorMessage()); return $model; }catch(\Exception $e){ self::setStaticError($e->getMessage()); return false; } } // 增加访问次数 public static function addVisitNum($mall_id, $activity_id, $share_user_id, $visit_user_id, $url) { $visit_log = self::find(['mall_id' => $mall_id, 'activity_id' => $activity_id, 'share_user_id' => $share_user_id, 'visit_user_id' => $visit_user_id])->one(); $data = [ 'mall_id' => $mall_id, 'activity_id' => $activity_id, 'share_user_id' => $share_user_id, 'visit_user_id' => $visit_user_id, 'url' => $url, 'activity_type' => PkEnum::ACTIVITY_TYPE_PERSON, 'click' => 1, 'status' => StatusEnum::ENABLED ]; if ($visit_log) { //$data['id'] = $visit_log->id; } $save_visit_log = self::setData($data); if (!$save_visit_log) { throw new Exception('保存访问记录失败' . json_encode($data)); } $statistic = [ 'user_id' => $share_user_id, 'activity_id' => $activity_id, 'mall_id' => $mall_id, 'share_visit' => 1 ]; $save_statistic = PkActivityStatistic::setData($statistic); if (!$save_statistic) { throw new Exception('保存活动统计失败'); } $date_statistic = [ 'mall_id' => $mall_id, 'date' => date('Y-m-d'), 'share_visit' => 1 ]; $save_date_statistic = PkDateStatistic::setData($date_statistic); if (!$save_date_statistic) { throw new Exception('保存每天统计失败'); } $pk_statistic = [ 'mall_id' => $mall_id, 'share_visit' => 1 ]; $save_pk_statistic = PkStatistic::setData($pk_statistic); if (!$save_pk_statistic) { throw new Exception('保存统计数据失败'); } return true; } }