'APPLY'], [['agree'], 'integer'], [['name', 'mobile', 'form_id'], 'trim'], [['mobile'], 'match', 'pattern' => "/\+?\d[\d -]{8,12}\d/", 'message' => '手机号错误', 'on' => 'APPLY'] ]; } public function attributeLabels() { return [ 'name' => '真实姓名', 'mobile' => '手机号' ]; } /** * 获取分销配置 * @return array */ public function getShareSetting() { $saas_info = get_saas_user(); //$saas_id = 83; //$saas_info = SaasUser::find()->where(['id'=>$saas_id])->one(); $data = []; $data['price'] = $saas_info->price; $data['total_price'] = $saas_info->total_price; $data['name'] = $saas_info->name; $data['avatar'] = $saas_info->avatar; if($saas_info->parent_id > 0){ $parentSaas = SaasUser::findOne($saas_info->parent_id); $data['parent_name'] = isset($parentSaas->name) ? $parentSaas->name : ''; }else{ $data['parent_name'] = ''; } // $receiverInfo = SharingReceiver::find()->where(['saas_id'=>$saas_info->id,'is_delete'=>0,'from'=>1])->andWhere(['AND', [ // 'is_pay'=>[0,1] // ], ['>', 'saas_id', 0]])->asArray()->all(); // $total = $finish = $nofinish = $num = 0; // foreach($receiverInfo as $val){ // $num += 1; // $total += $val['amount']; // if($val['is_pay'] == 0){ // $nofinish += $val['amount']; // } // if($val['is_pay'] == 1){ // $finish += $val['amount']; // } // } // $data['distribution_num'] = $num; // $data['nofinish'] = $nofinish; // $data['finish'] = $finish; $data['distribution_num'] = SharingReceiver::find()->alias('sr')->leftJoin(['s' => Store::tableName()], 'sr.store_id = s.id') ->leftJoin(['su' => SaasUser::tableName()], 'sr.saas_id = su.id') ->where(['sr.is_delete' => 0, 'sr.from' => SharingReceiver::FROM_STORE, 'su.id' => get_saas_user_id()])->count(); //昨天 $yesterday = strtotime( date("Y-m-d",strtotime("-1 day")) ); //$levelSaasIds = SaasUser::find()->where(['parent_id'=>$saas_info->id])->select('id')->asArray()->all(); //会员卡订单信息 //if(count($levelSaasIds)>0){ //$levelSaasIds = array_column($levelSaasIds,'id'); $levelInfo = SaasShareMoney::find()->where(['saas_id'=>$saas_info->id,'is_delete'=>0])->asArray()->all(); $data['level_num'] = count($levelInfo); $dayLevelInfo = SaasShareMoney::find()->where(['saas_id'=>$saas_info->id,'is_delete'=>0])->andWhere(['>=','created_at',$yesterday])->andWhere(['<=','created_at',$yesterday+86400])->asArray()->all(); $data['day_level_num'] = count($dayLevelInfo); // }else{ // $data['level_num'] = $data['day_level_num'] = 0; // } //联盟分销 $data['level_sales_num'] = SharingReceiver::find()->alias('sr')->leftJoin(['s' => Store::tableName()], 'sr.store_id = s.id') //->leftJoin(['su' => SaasUser::tableName()], 'sr.user_id = su.id') ->leftJoin(['su' => SaasUser::tableName()], 'sr.saas_id = su.id') ->where(['sr.is_delete' => 0, 'sr.from' => SharingReceiver::FROM_PLATFORM, 'su.id' => get_saas_user_id()])->count(); //联盟分销 $data['self_sales_num'] = SharingReceiver::find()->alias('sr')->leftJoin(['s' => Store::tableName()], 'sr.store_id = s.id') //->leftJoin(['su' => SaasUser::tableName()], 'sr.user_id = su.id') ->leftJoin(['su' => SaasUser::tableName()], 'sr.saas_id = su.id') ->where(['sr.is_delete' => 0, 'sr.from' => SharingReceiver::FROM_SELF, 'su.id' => get_saas_user_id()])->count(); // $data['level_sales_num'] = SharingReceiver::find()->where(['saas_id'=>$saas_info->id,'is_delete' => 0])->count(); // $data['day_level_sales_num'] = SharingReceiver::find()->where(['saas_id'=>$saas_info->id,'is_delete' => 0])->andWhere(['>=','updated_at',$yesterday])->andWhere(['<=','updated_at',$yesterday+86400])->count(); // $users = User::find()->where(['binding'=>$saas_info->mobile,'is_delete'=>0])->select('id')->asArray()->all(); // if(!empty($users) && count($users)>0 ){ // $data['level_sales_num'] = UserShareMoney::find()->where(['user_id'=>array_column($users,'id'),'is_delete'=>0])->groupBy('order_id')->count(); // $data['day_level_sales_num'] = UserShareMoney::find()->where(['user_id'=>array_column($users,'id'),'is_delete'=>0])->andWhere(['>=','created_at',$yesterday])->andWhere(['<=','created_at',$yesterday+86400])->groupBy('order_id')->count(); // }else{ // $data['level_sales_num'] = $data['day_level_sales_num'] = 0; // } //推荐店铺订单 $data['recommend_num'] = SharingReceiver::find()->where(['saas_id'=>$saas_info->id,'is_delete' => 0, 'from' => SharingReceiver::FROM_NEW_STORE_RECOMMEND]) ->count(); $data['day_recommend_num'] = SharingReceiver::find()->where(['saas_id'=>$saas_info->id,'is_delete' => 0, 'from' => SharingReceiver::FROM_NEW_STORE_RECOMMEND]) ->andWhere(['>=','updated_at',$yesterday])->andWhere(['<=','updated_at',$yesterday+86400])->count(); //到账 $data['to_account'] = $data['total_price'] - $data['price'] + $data['finish']; //供货商推荐人订单数量 $data['supplier_recommend_num'] = SaasUserPriceLog::find()->where([ 'saas_id' => $saas_info->id, 'amount_type' => SaasUserPriceLog::AMOUNT_TYPE_SUPPLIER_PARENT, 'log_type' => SaasUserPriceLog::LOG_TYPE_INCOME, ])->count(); //灵活分润 $data['custom_sharing_num'] = SharingReceiver::find()->where(['saas_id'=>$saas_info->id,'is_delete' => 0, 'from' => SharingReceiver::FROM_CUSTOM])->count();; return ['code' => 0, 'msg' => 'success', 'data' => $data]; } /** * 获取分销配置 * @return array */ public function getShareMsg() { $setting = Option::get('share_basic_setting', $this->store_id); $share_basic_setting = $setting ? Json::decode($setting['value']) : []; $money_setting = Option::get('share_money_setting', $this->store_id); $share_money_setting = $money_setting ? Json::decode($money_setting['value']) : []; $arr['first'] = $share_money_setting['level_one']['value'] ?? ''; $arr['second'] = $share_money_setting['level_two']['value'] ?? ''; $arr['third'] = $share_money_setting['level_three']['value'] ?? ''; $arr['store_id'] = $this->store_id; $arr['level'] = $share_basic_setting['level']['value'] ?? ''; $arr['condition'] = $share_basic_setting['condition']['value'] ?? ''; $arr['share_condition'] = $share_basic_setting['share_condition']['value'] ?? 2; // 无需审核,判断是否需要其他条件 if ($arr['share_condition'] == 2) { $exit = Share::find()->andWhere(['user_id' => get_user_id(), 'store_id' => $this->store_id, 'is_delete' => 0, 'status' => 1])->exists(); if (!$exit && ($share_basic_setting['auto_share_val']['value'] > 0 || $share_basic_setting['share_goods_status'] !=0 )) { return [ 'code' => 1, 'msg' => $share_basic_setting['auto_share_val']['value'] > 0 ? '条件不满足,请消费'.$share_basic_setting['auto_share_val']['value'].'元': '请购买指定商品' ]; } } return ['code' => 0, 'msg' => 'success']; } /** * @return array * 获取佣金相关信息 */ public function getPrice() { $saas = SaasUser::find()->where(['id' => $this->saas_id])->one(); $list = Cash::find()->where(['saas_id' => $this->saas_id, 'is_delete' => 0])->asArray()->all(); $new_list = []; $new_list['total_price'] = $saas->total_price;//分销佣金 $new_list['price'] = $saas->price; $new_list['cash_price'] = 0;//已提现 $new_list['un_pay'] = 0;//未审核 $new_list['total_cash'] = 0;//提现明细 foreach ($list as $index => $value) { if ($value['status'] == 1) { $new_list['un_pay'] = round(($new_list['un_pay'] + $value['price']), 2); $new_list['total_cash'] = round(($new_list['total_cash'] + $value['price']), 2); } elseif ($value['status'] == 2 || $value['status'] == 5) { $new_list['cash_price'] = round(($new_list['cash_price'] + $value['price']), 2); $new_list['total_cash'] = round(($new_list['total_cash'] + $value['price']), 2); } } return $new_list; } /** * @return array|null|\yii\db\ActiveRecord * */ public function getCash() { $list = User::find()->alias('u') ->where(['u.is_delete' => 0, 'u.store_id' => $this->store_id, 'u.id' => $this->user_id]) ->leftJoin('{{%cash}} c', 'c.user_id=u.id and c.is_delete=0') ->select([ 'u.total_price', 'u.price', 'sum(case when c.status = 2 then c.price else 0 end) cash_price', 'sum(case when c.status = 1 then c.price else 0 end) un_pay' ])->groupBy('c.user_id')->asArray()->one(); return $list; } }