|
|
@@ -1080,7 +1080,8 @@ class StoreOrderRepository extends BaseRepository
|
|
|
event('order.take', compact('order'));
|
|
|
// 订单赠送的分红额度和积分处理还是礼包购买数处理,顺便检测升级
|
|
|
@file_put_contents('quanju.txt', "-村上春树1\r\n", 8);
|
|
|
- $this->getOrderAward($order);
|
|
|
+ $this->getOrderAward($order); //订单收货赠送分红额度等等
|
|
|
+ $this->spreadOrder($order['uid'],$order['id']); //查找上级是否有冻结份额
|
|
|
}
|
|
|
|
|
|
// 订单收货赠送分红额度
|
|
|
@@ -1101,19 +1102,56 @@ class StoreOrderRepository extends BaseRepository
|
|
|
$make = app()->make(UserBillRepository::class);
|
|
|
$user = User::where('uid', $order['uid'])->find();
|
|
|
$award_range = $user['award_range'];
|
|
|
- if ($type == 5) { //节能油商品
|
|
|
- @file_put_contents('quanju.txt', "-村上春树2\r\n", 8);
|
|
|
- $number = systemConfig('award_energy_saving_oil', 1);
|
|
|
+ $mark = '';
|
|
|
+ $integral_type = '';
|
|
|
+ $range_type = '';
|
|
|
+ if ($type == 5){
|
|
|
+ $mark = '节能油';
|
|
|
+ $range_type = 'energy_saving_oil';
|
|
|
+ $integral_type = 'spread_oil_integral';
|
|
|
+ // 发放分红积分
|
|
|
+ $number2 = systemConfig('award_integral_energy_saving_oil', 1);
|
|
|
+ }elseif ($type == 0){
|
|
|
+ $mark = '普通';
|
|
|
+ $range_type = 'ordinary';
|
|
|
+ $integral_type = 'ordinary_integral';
|
|
|
+ $number2 = systemConfig('award_integral_ordinary', 1);
|
|
|
+ }elseif ($type == 6){
|
|
|
+ $mark = '礼包';
|
|
|
+ $range_type = 'award_gift_pack';
|
|
|
+ $integral_type = 'spread_pack_integral';
|
|
|
+ $number2 = systemConfig('award_integral_gift_pack', 1);
|
|
|
+ }
|
|
|
+ if ($type == 5||$type == 0) { //节能油商品和普通商品
|
|
|
+ $number = systemConfig('award_energy_saving_oil', 1); //获得份额的基准线
|
|
|
if ($order['pay_price'] >= $number) {
|
|
|
- $order_award_range = bcmul($order['pay_price'], 3, 2);
|
|
|
+ $count = app()->make(User::class)->spread_order($order['uid']); //获取推荐下级订单数
|
|
|
+ if ($count>0){
|
|
|
+ $order_award_range = bcmul($order['pay_price'], 3, 2);
|
|
|
+ }else{
|
|
|
+ $order_award_range = bcmul($order['pay_price'], 1, 2);
|
|
|
+ $unclaimed_range = bcmul($order['pay_price'], 2, 2);
|
|
|
+ $unclaimed_range_after = bcadd($user['unclaimed_range'], $unclaimed_range, 2);
|
|
|
+ // 发放冻结份额
|
|
|
+ $make->incBill($order['uid'], 'award_unclaimed_range', 'unclaimed_range', [
|
|
|
+ 'number' => $unclaimed_range,
|
|
|
+ 'title' => '下单商品获得冻结份额',
|
|
|
+ 'balance' => $unclaimed_range_after,
|
|
|
+ 'status' => 1,
|
|
|
+ 'link_id' => $order['order_id'],
|
|
|
+ 'mark' => $user['nickname'] . '成功消费' .$mark.'商品'. floatval($order['pay_price']) . '元,奖励冻结分红额度' . $order_award_range,
|
|
|
+ ]);
|
|
|
+ User::where('uid', $order['uid'])->update(['unclaimed_range' => $unclaimed_range_after]);
|
|
|
+ }
|
|
|
+// 发放分红份额
|
|
|
$after = bcadd($award_range, $order_award_range, 2);
|
|
|
- $make->incBill($order['uid'], 'award_range', 'energy_saving_oil', [
|
|
|
+ $make->incBill($order['uid'], 'award_range', $range_type, [
|
|
|
'number' => $order_award_range,
|
|
|
- 'title' => '下单节能油获得分红额度',
|
|
|
+ 'title' => '下单' .$mark.'商品获得分红额度',
|
|
|
'balance' => $after,
|
|
|
'status' => 1,
|
|
|
'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费节能油商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
|
|
|
+ 'mark' => $user['nickname'] . '成功消费' .$mark.'商品'. floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
|
|
|
]);
|
|
|
User::where('uid', $order['uid'])->update(['award_range' => $after]);
|
|
|
}
|
|
|
@@ -1137,39 +1175,58 @@ class StoreOrderRepository extends BaseRepository
|
|
|
}
|
|
|
// 礼包购买数
|
|
|
$this->pack_count($order['uid']);
|
|
|
- } else {
|
|
|
-// 普通商品获取分红额度
|
|
|
- $number = systemConfig('award_ordinary', 1);
|
|
|
- if ($order['pay_price'] >= $number) {
|
|
|
- $order_award_range = bcmul($order['pay_price'], 1, 2);
|
|
|
- $after = bcadd($award_range, $order_award_range, 2);
|
|
|
- $make->incBill($order['uid'], 'award_range', 'ordinary', [
|
|
|
- 'number' => $order_award_range,
|
|
|
- 'title' => '下单普通商品获得分红额度',
|
|
|
- 'balance' => $after,
|
|
|
- 'status' => 1,
|
|
|
- 'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费普通商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
|
|
|
- ]);
|
|
|
- User::where('uid', $order['uid'])->update(['award_range' => $after]);
|
|
|
- }
|
|
|
-// 普通商品获得分红积分
|
|
|
- $number2 = systemConfig('award_integral_ordinary', 1);
|
|
|
- $award_integral = $user['award_integral'];
|
|
|
- if ($order['pay_price'] >= $number2) {
|
|
|
- $order_award_range = bcmul($order['pay_price'], 0.2, 2);
|
|
|
- $after2 = bcadd($award_integral, $order_award_range, 2);
|
|
|
- $make->incBill($order['uid'], 'award_integral', 'ordinary_integral', [
|
|
|
- 'number' => $order_award_range,
|
|
|
- 'title' => '下单普通商品获得分红积分',
|
|
|
- 'balance' => $after2,
|
|
|
- 'status' => 1,
|
|
|
- 'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费普通商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range,
|
|
|
- ]);
|
|
|
- User::where('uid', $order['uid'])->update(['award_integral' => $after2]);
|
|
|
- }
|
|
|
}
|
|
|
+
|
|
|
+ $award_integral = $user['award_integral'];
|
|
|
+ if ($order['pay_price'] >= $number2) {
|
|
|
+ $order_award_range = bcmul($order['pay_price'], 0.2, 2);
|
|
|
+ $after2 = bcadd($award_integral, $order_award_range, 2);
|
|
|
+ $make->incBill($order['uid'], 'award_integral', $integral_type, [
|
|
|
+ 'number' => $order_award_range,
|
|
|
+ 'title' => '下单'.$mark.'商品获得分红积分',
|
|
|
+ 'balance' => $after2,
|
|
|
+ 'status' => 1,
|
|
|
+ 'link_id' => $order['order_id'],
|
|
|
+ 'mark' => $user['nickname'] . '成功消费'.$mark.'商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range,
|
|
|
+ ]);
|
|
|
+ User::where('uid', $order['uid'])->update(['award_integral' => $after2]);
|
|
|
+ }
|
|
|
+// 解冻冻结奖金
|
|
|
+ $UserRepository = app()->make(UserRepository::class);
|
|
|
+ $UserRepository->extractBrokerage($order['uid']);
|
|
|
+// else {
|
|
|
+//// 普通商品获取分红额度
|
|
|
+// $number = systemConfig('award_ordinary', 1);
|
|
|
+// if ($order['pay_price'] >= $number) {
|
|
|
+// $order_award_range = bcmul($order['pay_price'], 1, 2);
|
|
|
+// $after = bcadd($award_range, $order_award_range, 2);
|
|
|
+// $make->incBill($order['uid'], 'award_range', 'ordinary', [
|
|
|
+// 'number' => $order_award_range,
|
|
|
+// 'title' => '下单普通商品获得分红额度',
|
|
|
+// 'balance' => $after,
|
|
|
+// 'status' => 1,
|
|
|
+// 'link_id' => $order['order_id'],
|
|
|
+// 'mark' => $user['nickname'] . '成功消费普通商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
|
|
|
+// ]);
|
|
|
+// User::where('uid', $order['uid'])->update(['award_range' => $after]);
|
|
|
+// }
|
|
|
+// 普通商品获得分红积分
|
|
|
+// $number2 = systemConfig('award_integral_ordinary', 1);
|
|
|
+// $award_integral = $user['award_integral'];
|
|
|
+// if ($order['pay_price'] >= $number2) {
|
|
|
+// $order_award_range = bcmul($order['pay_price'], 0.2, 2);
|
|
|
+// $after2 = bcadd($award_integral, $order_award_range, 2);
|
|
|
+// $make->incBill($order['uid'], 'award_integral', 'ordinary_integral', [
|
|
|
+// 'number' => $order_award_range,
|
|
|
+// 'title' => '下单普通商品获得分红积分',
|
|
|
+// 'balance' => $after2,
|
|
|
+// 'status' => 1,
|
|
|
+// 'link_id' => $order['order_id'],
|
|
|
+// 'mark' => $user['nickname'] . '成功消费普通商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range,
|
|
|
+// ]);
|
|
|
+// User::where('uid', $order['uid'])->update(['award_integral' => $after2]);
|
|
|
+// }
|
|
|
+// }
|
|
|
//份额和积分变动时触发
|
|
|
@file_put_contents('quanju.txt', "-村上春树3\r\n", 8);
|
|
|
$UserRepository = app()->make(UserRepository::class);
|
|
|
@@ -1287,6 +1344,37 @@ class StoreOrderRepository extends BaseRepository
|
|
|
User::where('uid', $uid)->update(['award_integral'=>$after]);
|
|
|
}
|
|
|
|
|
|
+// 看看上级有没有冻结份额
|
|
|
+ public function spreadOrder($uid,$order_id){
|
|
|
+ $spread_uid = User::where('uid', $uid)->value('spread_uid');
|
|
|
+ if ($spread_uid!=0){
|
|
|
+ $user = User::where('uid', $spread_uid)->find();
|
|
|
+ if ($user['unclaimed_range']>0){
|
|
|
+ $after=bcadd($user['award_range'], $user['unclaimed_range'], 2);
|
|
|
+ $make = app()->make(UserBillRepository::class);
|
|
|
+ $make->incBill($user['spread_uid'], 'award_unclaimed_range', 'spread_oil_integral', [
|
|
|
+ 'number' => $user['unclaimed_range'],
|
|
|
+ 'title' => '推荐订单解冻分红额度',
|
|
|
+ 'balance' => 0,
|
|
|
+ 'status' => 0,
|
|
|
+ 'link_id' => $order_id,
|
|
|
+ 'mark' => '下级用户'.$user['nickname'] . '成功消费,解冻上级分红份额' . $user['unclaimed_range'],
|
|
|
+ ]);
|
|
|
+ $make->decBill($user['spread_uid'], 'award_range', 'thaw_range', [
|
|
|
+ 'number' => $user['unclaimed_range'],
|
|
|
+ 'title' => '推荐订单解冻分红额度',
|
|
|
+ 'balance' => $after,
|
|
|
+ 'status' => 1,
|
|
|
+ 'link_id' => $order_id,
|
|
|
+ 'mark' => '下级用户'.$user['nickname'] . '成功消费,解冻上级分红份额' . $user['unclaimed_range'],
|
|
|
+ ]);
|
|
|
+ User::where('uid', $spread_uid)->update(['award_range' => $after,'unclaimed_range' => 0]);
|
|
|
+ // 解冻冻结奖金
|
|
|
+ $UserRepository = app()->make(UserRepository::class);
|
|
|
+ $UserRepository->extractBrokerage($spread_uid);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
/**
|
|
|
* 获取订单列表头部统计数据
|
|
|
* @Author:Qinii
|