feat: 调整用户签到逻辑以优化首充和礼品券的冻结处理

This commit is contained in:
mkm 2024-07-02 14:51:39 +08:00
parent 13d4ac1fad
commit e9c25fd1de

View File

@ -24,12 +24,12 @@ class UserSignLogic extends BaseLogic
$count = UserSign::where('uid', $order->uid)->count(); $count = UserSign::where('uid', $order->uid)->count();
if ($count == 0 && in_array($user_ship, [1, 2, 3, 5, 6, 7, 8])) { if ($count == 0 && in_array($user_ship, [1, 2, 3, 5, 6, 7, 8])) {
//首充 //首充
$write = self::write($order, $total_vip, 0, 1,9); $write = self::write($order, $total_vip, 0, 1, 9);
self::write_log($write, $total_vip, 0,9); self::write_log($write, $total_vip, 0, 9);
User::where('id', $order->uid)->inc('integral', $total_vip)->update(); User::where('id', $order->uid)->inc('integral', $total_vip)->update();
} else { } else {
$write = self::write($order, $total_vip, 0, 0,7); $write = self::write($order, $total_vip, 0, 0, 7);
self::write_log($write, $total_vip, 0,7); self::write_log($write, $total_vip, 0, 7);
} }
return true; return true;
} }
@ -42,14 +42,19 @@ class UserSignLogic extends BaseLogic
$total_vip = bcmul($order['pay_price'], 0.1, 2); $total_vip = bcmul($order['pay_price'], 0.1, 2);
if ($order['source'] == 0) { if ($order['source'] == 0) {
//非收银台订单冻结礼品卷 //冻结礼品券
self::write($order, $total_vip, 1, 0,1); if ($order['pay_price'] >= 500) {
self::write_log($order, $total_vip, 1, 0, 1);
}
} else { } else {
$write = self::write($order, $total_vip, 1, 1,4); //不冻结礼品券
self::write_log($write, $total_vip, 1,4); if ($order['pay_price'] >= 500) {
$write = self::write($order, $total_vip, 1, 1, 4);
self::write_log($write, $total_vip, 1, 4);
User::where('id', $order->uid)->inc('integral', $total_vip)->update(); User::where('id', $order->uid)->inc('integral', $total_vip)->update();
} }
} }
}
/** /**
* 核销 * 核销
@ -61,7 +66,8 @@ class UserSignLogic extends BaseLogic
$find->status = 1; $find->status = 1;
$find->save(); $find->save();
User::where('id', $order->uid)->inc('integral', $find['number'])->update(); User::where('id', $order->uid)->inc('integral', $find['number'])->update();
self::write_log($find, $find['number'], 1,4); self::write_log($find, $find['number'], 1, 2);
self::write_log($find, $find['number'], 1, 4);
} }
} }
/** /**