feat: 扫码签到功能

This commit is contained in:
2026-03-19 17:41:23 +08:00
parent e2c8ae752d
commit fc8831316b
9 changed files with 467 additions and 346 deletions

View File

@@ -1,6 +1,6 @@
<?php
// +----------------------------------------------------------------------
// | 麦沃德科技赋能开发者,助力商协会发展
// | 麦沃德科技赋能开发者,助力商协会发展
// +----------------------------------------------------------------------
// | Copyright (c) 20172024 www.wdsxh.cn All rights reserved.
// +----------------------------------------------------------------------
@@ -97,20 +97,31 @@ class Activity extends Api
$id = $this->request->get('id');
$data = $this->model
->where('id',$id)
->field('id,images,start_time,end_time,name,fees,state activity_state,
contacts,mobile,
organizing_method,url,address,longitude,latitude,content,
is_verifying,refund,
apply_time,
activity_auth,
points_status,points,
apply_field_state,
apply_limit_number,
non_member_registration_status')
->field([
'id', 'images', 'start_time', 'end_time', 'name', 'fees',
'state' => 'activity_state', 'contacts', 'mobile',
'organizing_method', 'url', 'address', 'longitude',
'latitude', 'content', 'is_verifying', 'refund',
'apply_time', 'activity_auth', 'points_status', 'points',
'apply_field_state', 'apply_limit_number', 'non_member_registration_status'
])
->find();
if (!$data) {
$this->error('活动不存在');
}
if ($data['activity_state'] < 3) {
$now = time();
// 如果活动未结束,则根据当前时间校验活动状态并更新状态
if ($now >= $data['start_time'] && $now <= $data['end_time']) {
$data->state = $data['activity_state'] = 2;
$data->save();
}
if ($now > $data['end_time']) {
$data->state = $data['activity_state'] = 3;
$data->save();
}
}
if ($this->auth->isLogin()) {
$wechat_id = (new UserWechat())->where('user_id',$this->auth->id)->value('id');
$activityApplyObj = (new \app\api\model\wdsxh\activity\ActivityApply())
@@ -123,6 +134,7 @@ class Activity extends Api
$data['apply_id'] = '';
$data['reject'] = '';
} else {
$data['check_in_status'] = $activityApplyObj['check_in_status'];
$data['pay_state'] = $activityApplyObj['state'];
$data['apply_id'] = $activityApplyObj['id'];
$activityRefundObj = (new Refund())
@@ -490,7 +502,3 @@ class Activity extends Api
$this->success('请求成功',['show_status'=>$is_status]);
}
}