123
This commit is contained in:
parent
757aaa347d
commit
be0a485dea
|
|
@ -1371,4 +1371,38 @@ class User extends Base
|
|||
'end_date' => date('Y-m-d'),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置用户签到数据
|
||||
*/
|
||||
public function resetUserSign(Request $request)
|
||||
{
|
||||
$id = $request->param('id');
|
||||
$user = UserModel::find($id);
|
||||
if (!$user) {
|
||||
return json(['status' => 0, 'msg' => '用户不存在']);
|
||||
}
|
||||
|
||||
// 计算上一天的日期
|
||||
$yesterday = date('Y-m-d', strtotime('-1 day'));
|
||||
|
||||
try {
|
||||
// 更新用户的签到数据
|
||||
$result = \app\common\model\UserSign::where('user_id', $id)
|
||||
->where('sign_date', date('Y-m-d'))
|
||||
->update([
|
||||
'sign_date' => $yesterday,
|
||||
'update_time' => time()
|
||||
]);
|
||||
|
||||
if ($result) {
|
||||
return json(['status' => 1, 'msg' => '签到数据重置成功']);
|
||||
} else {
|
||||
// 如果没有今日签到记录
|
||||
return json(['status' => 1, 'msg' => '用户今日未签到或已重置']);
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
return json(['status' => 0, 'msg' => '重置失败:' . $e->getMessage()]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,6 +61,7 @@ Route::rule('user_score_detail_data', 'User/user_score_detail_data', 'GET|POST')
|
|||
Route::rule('usermobileclear', 'User/usermobileclear', 'POST');//清空手机号
|
||||
Route::rule('userwxclear', 'User/userwxclear', 'POST');//清空微信登录数据
|
||||
Route::rule('userUidClear', 'User/userUidClear', 'POST');//清空UID
|
||||
Route::rule('resetUserSign', 'User/resetUserSign', 'POST');//重置用户签到数据
|
||||
|
||||
// 添加用户登录统计路由
|
||||
Route::rule('user_loginStat', 'user/loginStat');
|
||||
|
|
|
|||
|
|
@ -101,7 +101,8 @@
|
|||
<div>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="clearMobile">清空手机号</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="clearWechat">重置微信登录</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="clearUid">清空UID</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="clearUid">清空UID</a><br />
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="resetSign">重置签到数据</a>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
|
@ -357,6 +358,9 @@
|
|||
maxmin: true
|
||||
});
|
||||
break;
|
||||
case 'resetSign':
|
||||
resetUserSign(data.id, data.nickname);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -511,6 +515,26 @@
|
|||
layer.close(index);
|
||||
});
|
||||
}
|
||||
|
||||
// 重置用户签到数据
|
||||
function resetUserSign(id, username) {
|
||||
layer.confirm('确认要重置' + username + '的签到数据吗?重置后将把签到日期设置为上一天!', {
|
||||
icon: 2,
|
||||
title: '重置签到数据'
|
||||
}, function (index) {
|
||||
$.post('{:url("/admin/resetUserSign")}', {
|
||||
id: id
|
||||
}, function (res) {
|
||||
if (res.status === 1) {
|
||||
layer.msg(res.msg, { icon: 1 });
|
||||
table.reload('LAY-user-table');
|
||||
} else {
|
||||
layer.msg(res.msg, { icon: 2 });
|
||||
}
|
||||
});
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class Sign extends Base
|
|||
//获取当天开始和结束时间
|
||||
$today_start = strtotime(date('Y-m-d 00:00:00'));
|
||||
$today_end = strtotime(date('Y-m-d 23:59:59'));
|
||||
$user_consumption = CommonService::getUserConsumptionByTimeRange($user_id, $today_start, $today_end);
|
||||
$user_consumption = CommonService::getUserConsumptionByTimeRange($user_id, $today_start, $today_end);
|
||||
if ($user_consumption) {
|
||||
if ($user_consumption['total_consumed'] >= $app_setting['sign_in_spend_limit']) {
|
||||
$is_sign = true;
|
||||
|
|
@ -115,7 +115,10 @@ class Sign extends Base
|
|||
->order('sort asc')
|
||||
->select()
|
||||
->toArray();
|
||||
|
||||
$signDays_1 = $signDays;
|
||||
if (!$is_sign) {
|
||||
$signDays_1 = $signDays + 1;
|
||||
}
|
||||
// 处理配置关联的奖励信息
|
||||
$nowDay = date('j');
|
||||
// 每日签到配置
|
||||
|
|
@ -139,11 +142,14 @@ class Sign extends Base
|
|||
if ($signDays >= $day) {
|
||||
$config['is_sign'] = 2;
|
||||
} else {
|
||||
if (($signDays + 1) == $day) {
|
||||
$config['is_sign'] = 1;
|
||||
} else {
|
||||
$config['is_sign'] = 0;
|
||||
}
|
||||
$config['is_sign'] = 0;
|
||||
|
||||
}
|
||||
|
||||
if ( $signDays_1 == $day) {
|
||||
$config['is_sign_day'] = 1;
|
||||
} else {
|
||||
$config['is_sign_day'] = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,12 +67,29 @@ class UserSign extends Base
|
|||
self::insert($data);
|
||||
|
||||
$day_count = self::getMonthSignDays($user_id);
|
||||
$res[] = [];
|
||||
//处理每日签到奖励
|
||||
self::processSignRewards($user_id, 1, $day_count);
|
||||
// 处理累计签到奖励
|
||||
self::processSignRewards($user_id, 2, $day_count);
|
||||
$res1 = self::processSignRewards($user_id, 1, $day_count);
|
||||
$msg = '';
|
||||
if ($res1) {
|
||||
|
||||
return ['status' => true, 'msg' => "签到成功", 'data' => ['days' => $day_count]];
|
||||
foreach ($res1 as $item) {
|
||||
$msg = $msg .'每日签到获得:'. $item['msg'] . ',';
|
||||
}
|
||||
}
|
||||
// 处理累计签到奖励
|
||||
$res2 = self::processSignRewards($user_id, 2, $day_count);
|
||||
if ($res2) {
|
||||
$res[] = $res2;
|
||||
foreach ($res2 as $item) {
|
||||
$msg = $msg .'累计签到获得:'. $item['msg'] . ',';
|
||||
}
|
||||
}
|
||||
if ($msg) {
|
||||
$msg = substr($msg, 0, -1);
|
||||
}
|
||||
|
||||
return ['status' => true, 'msg' => $msg, 'data' => $day_count];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -83,16 +100,21 @@ class UserSign extends Base
|
|||
*/
|
||||
protected static function processSignRewards($user_id, $type, $day)
|
||||
{
|
||||
|
||||
|
||||
// 查找符合条件的配置
|
||||
$reward = SignConfig::where('type', '=',$type)
|
||||
->where('status','=', 1)
|
||||
->where('day', '=',$day)
|
||||
$reward = SignConfig::where('type', '=', $type)
|
||||
->where('status', '=', 1)
|
||||
->where('day', '=', $day)
|
||||
->field('reward_id')->find();
|
||||
$res = [];
|
||||
if ($reward) {
|
||||
RewardService::sendReward($user_id, $reward['reward_id'], $type == 1 ? "签到奖励" : "累计签到奖励");
|
||||
$res = RewardService::sendReward($user_id, $reward['reward_id'], $type == 1 ? "签到奖励" : "累计签到奖励");
|
||||
if ($res && $res['status']) {
|
||||
return $res['data'];
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@ class RewardService
|
|||
if (empty($user)) {
|
||||
return ['status' => false, 'msg' => '用户不存在'];
|
||||
}
|
||||
|
||||
foreach ($rewards as $reward) {
|
||||
$res = self::sendSingleReward($user_id, $reward, $source);
|
||||
$result[] = $res;
|
||||
|
|
@ -62,20 +61,20 @@ class RewardService
|
|||
case 1: // 钻石
|
||||
$res = User::changeMoney($user_id, $reward['reward_value'], 6, $source);
|
||||
$result['status'] = !empty($res);
|
||||
$result['msg'] = $result['status'] ? '钻石发放成功' : '钻石发放失败';
|
||||
$result['msg'] = $result['status'] ? '获得钻石*'.$reward['reward_value'] : '钻石发放失败';
|
||||
break;
|
||||
|
||||
|
||||
case 2: // 货币1
|
||||
$res = User::changeIntegral($user_id, $reward['reward_value'], 6, $source);
|
||||
$result['status'] = !empty($res);
|
||||
$result['msg'] = $result['status'] ? 'UU币发放成功' : 'UU币发放失败';
|
||||
$result['msg'] = $result['status'] ? '获得UU币*'.$reward['reward_value'] : 'UU币发放失败';
|
||||
break;
|
||||
|
||||
case 3: // 货币2
|
||||
$res = User::changeMoney2($user_id, $reward['reward_value'], 6, $source);
|
||||
$result['status'] = !empty($res);
|
||||
$result['msg'] = $result['status'] ? '达达券发放成功' : '达达券发放失败';
|
||||
$result['msg'] = $result['status'] ? '获得达达券*'.$reward['reward_value'] : '达达券发放失败';
|
||||
break;
|
||||
case 4: // 优惠券
|
||||
if (!empty($reward['reward_extend'])) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user