From 33f004d1196d056b99a3886de070d429315bac39 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 11 Dec 2025 18:12:38 +0800
Subject: [PATCH] 将分类改为多选 修复活动报名 实现成为vip会员时根据活动报名信息绑定下级
---
admin/app/api/model/branch/ActivityUser.php | 73 +++++++++++++++++++++++++++++-------
1 files changed, 59 insertions(+), 14 deletions(-)
diff --git a/admin/app/api/model/branch/ActivityUser.php b/admin/app/api/model/branch/ActivityUser.php
index aa65b02..638d92f 100644
--- a/admin/app/api/model/branch/ActivityUser.php
+++ b/admin/app/api/model/branch/ActivityUser.php
@@ -2,6 +2,7 @@
namespace app\api\model\branch;
+use app\api\model\user\User;
use app\common\enum\order\OrderPayTypeEnum;
use app\common\model\branch\ActivityUser as ActivityUserModel;
use app\api\model\branch\Member as MemberModel;
@@ -14,7 +15,8 @@
use app\common\model\user\BalanceLog as BalanceLogModel;
use app\common\model\branch\User as BranchUserModel;
use app\common\model\branch\Setting as BranchSettingModel;
-
+use app\common\model\settings\Region as RegionModel;
+use app\api\model\user\User as UserModel;
/**
* 用户模型
*/
@@ -63,7 +65,7 @@
{
// 构建查询规则
$model = $this->alias('auser')
- ->field('auser.*,user.nickName,user.real_name,user.avatarUrl')
+ ->field('auser.*,user.nickName,auser.real_name,user.avatarUrl')
->join('user', 'user.user_id = auser.user_id')
->where('auser.is_delete', '=', 0)
->where('auser.status', '=', 1)
@@ -96,26 +98,36 @@
{
$detail = ActivityModel::detail($params["activity_id"]);
// 如果用户还没加入连盟并且不是帮朋友报名
- if (!$params['is_member'] && !$params['is_friend']) {
+ /*if (!$params['is_member'] && !$params['is_friend']) {
$this->addMember($detail, $params, $user);
- }
+ }*/
// 验证数据
if (!$this->validateData($detail, $params, $user)) {
return false;
}
+
$data = [
'user_id' => $user['user_id'],
'order_no' => $this->orderNo(),
- 'activity_id' => $detail['activity_id'],
- 'total_price' => $detail['fee'],
- 'pay_price' => $detail['fee'],
- 'points_num' => $params['points_num'], // 积分抵扣数量
- 'points_money' => $params['points_money'], // 积分抵扣金额
- 'balance' => $params['balance'], // 余额
- 'online_money' => $params['online_money'], // 需在线支付的金额
+ 'activity_id' => $detail['activity_id']?:0,
+ 'total_price' => $detail['fee']?:0,
+ 'pay_price' => $detail['fee']?:0,
+ 'points_num' => $params['points_num']?:0, // 积分抵扣数量
+ 'points_money' => $params['points_money']?:0, // 积分抵扣金额
+ 'balance' => $params['balance']?:0, // 余额
+ 'online_money' => $params['online_money']?:0, // 需在线支付的金额
'status' => $params['online_money'] > 0 ? 0 : 1, //报名状态,如果不需要在线支付则则直接报名成功
- 'pay_type' => $params['pay_type'],
- 'in_radius' => $params['in_radius'],
+ 'pay_type' => $params['pay_type']?:0,
+ 'in_radius' => $params['in_radius']?:0,
+ 'province_id' => $params['province_id']?:0,
+ 'city_id' => $params['city_id']?:0,
+ 'region_id' => $params['region_id']?:0,
+ 'company' => $params['company']?:'',
+ 'recommend_name' => $params['recommend_name']?:'',
+ 'recommend_mobile' => $params['recommend_mobile']?:'',
+ 'real_name' => $params['real_name']?:'',
+ 'mobile' => $params['mobile']?:'',
+ 'branch_id' => $params['branch_id']?:0,
'app_id' => self::$app_id,
];
// 如果是帮朋友报名,把用户信息记录下来
@@ -127,6 +139,10 @@
$data['reg_user_id'] = $user['user_id']; // 记录是谁帮注册的,因为核销的时候会把user_id改为实际报名人的
}
$data['trade_no'] = $data['order_no'];
+ $refereeUser=(new UserModel())->where(['real_name'=>$params['recommend_name'],'mobile'=>$params['recommend_mobile']])->find();
+ if ($refereeUser){
+ $data['referee_id']=$refereeUser['user_id'];
+ }
$this->save($data);
// 如果不需要在线支付
if ($data['online_money'] == 0) {
@@ -134,12 +150,41 @@
}
return $this;
}
+ public function getRegistrationInformation($user_id,$activity_id=0)
+ {
+ $list=$this->where('user_id', '=', $user_id)
+ ->order('create_time', 'desc')->find();
+ $data=[];
+ if ($list){
+ $branch=(new Branch())->detail($list['branch_id']);
+ $data=[
+ 'province_id'=>$list['province_id'],
+ 'city_id'=>$list['city_id'],
+ 'region_id'=>$list['region_id'],
+ 'recommend_name'=>$list['recommend_name'],
+ 'recommend_mobile'=>$list['recommend_mobile'],
+ 'real_name'=>$list['real_name'],
+ 'mobile'=>$list['mobile'],
+ 'branch_id'=>$list['branch_id'],
+ 'company'=>$list['company'],
+ 'branch_name'=>$branch?$branch['name']:'',
+ 'region'=>RegionModel::getNameById($list['province_id']).','.RegionModel::getNameById($list['city_id']).','.RegionModel::getNameById($list['region_id']),
+ ];
+ }
+ if($activity_id){
+ $activity=(new ActivityModel())->find($activity_id);
+ if ($activity){
+ $data['activity_number']=(new ActivityModel())->where(['branch_id'=>$activity['branch_id'],'category_id'=>$activity['category_id']])->count();
+ }
+ }
+ return $data;
+ }
public function addMember($activity, $params, $user)
{
$data = [
'user_id' => $user['user_id'],
- 'branch_id' => $activity['branch_id'],
+ 'branch_id' => $params['branch_id'],
'real_name' => $params['real_name'],
'mobile' => $params['mobile'],
'company' => $params['company'],
--
Gitblit v1.9.2