|
@@ -411,7 +411,7 @@ class StoreOrderRepository extends BaseRepository
|
|
|
];
|
|
];
|
|
|
}
|
|
}
|
|
|
if ($order['extension_two'] > 0) {
|
|
if ($order['extension_two'] > 0) {
|
|
|
- @file_put_contents('quanju.txt', $groupOrder->user->ValidSpread->ValidSpread ."-测试4?\r\n",8);
|
|
|
|
|
|
|
+ @file_put_contents('quanju.txt', $groupOrder->user->ValidSpread->ValidSpread . "-测试4?\r\n", 8);
|
|
|
$finance[] = [
|
|
$finance[] = [
|
|
|
'order_id' => $order->order_id,
|
|
'order_id' => $order->order_id,
|
|
|
'order_sn' => $order->order_sn,
|
|
'order_sn' => $order->order_sn,
|
|
@@ -501,7 +501,7 @@ class StoreOrderRepository extends BaseRepository
|
|
|
$this->autoPrinter($order->order_id, $order->mer_id, 1);
|
|
$this->autoPrinter($order->order_id, $order->mer_id, 1);
|
|
|
@file_put_contents('quanju.txt', "-支付完成处理积分\r\n", 8);
|
|
@file_put_contents('quanju.txt', "-支付完成处理积分\r\n", 8);
|
|
|
app()->make(StoreOrderRepository::class)->getOrderAward($order);
|
|
app()->make(StoreOrderRepository::class)->getOrderAward($order);
|
|
|
- app()->make(StoreOrderRepository::class)->spreadOrder($order['uid'],$order['order_id']); //查找上级是否有冻结份额
|
|
|
|
|
|
|
+ app()->make(StoreOrderRepository::class)->spreadOrder($order['uid'], $order['order_id']); //查找上级是否有冻结份额
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
if ($groupOrder->user && $groupOrder->user->spread_uid) {
|
|
if ($groupOrder->user && $groupOrder->user->spread_uid) {
|
|
@@ -1094,12 +1094,12 @@ class StoreOrderRepository extends BaseRepository
|
|
|
$cartIdArray = explode(',', $order['cart_id']); // 使用逗号分割字符串
|
|
$cartIdArray = explode(',', $order['cart_id']); // 使用逗号分割字符串
|
|
|
$product_id = StoreCart::where('cart_id', $cartIdArray[0])->value('product_id');
|
|
$product_id = StoreCart::where('cart_id', $cartIdArray[0])->value('product_id');
|
|
|
$storeProduct = app()->make(Product::class);
|
|
$storeProduct = app()->make(Product::class);
|
|
|
- $is_oil =$storeProduct->where('product_id', $product_id)->value('is_oil');
|
|
|
|
|
- $is_gift =$storeProduct->where('product_id', $product_id)->value('is_gift');
|
|
|
|
|
- $type=0;
|
|
|
|
|
- if ($is_oil == 1){
|
|
|
|
|
|
|
+ $is_oil = $storeProduct->where('product_id', $product_id)->value('is_oil');
|
|
|
|
|
+ $is_gift = $storeProduct->where('product_id', $product_id)->value('is_gift');
|
|
|
|
|
+ $type = 0;
|
|
|
|
|
+ if ($is_oil == 1) {
|
|
|
$type = 5;
|
|
$type = 5;
|
|
|
- }elseif ($is_gift == 1){
|
|
|
|
|
|
|
+ } elseif ($is_gift == 1) {
|
|
|
$type = 6;
|
|
$type = 6;
|
|
|
}
|
|
}
|
|
|
$price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice(); //分红积分价格
|
|
$price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice(); //分红积分价格
|
|
@@ -1111,32 +1111,32 @@ class StoreOrderRepository extends BaseRepository
|
|
|
$mark = '';
|
|
$mark = '';
|
|
|
$integral_type = '';
|
|
$integral_type = '';
|
|
|
$range_type = '';
|
|
$range_type = '';
|
|
|
- if ($type == 5){
|
|
|
|
|
|
|
+ if ($type == 5) {
|
|
|
$mark = '节能油';
|
|
$mark = '节能油';
|
|
|
$range_type = 'energy_saving_oil';
|
|
$range_type = 'energy_saving_oil';
|
|
|
$integral_type = 'spread_oil_integral';
|
|
$integral_type = 'spread_oil_integral';
|
|
|
// 发放分红积分
|
|
// 发放分红积分
|
|
|
$number2 = systemConfig('award_integral_energy_saving_oil', 1);
|
|
$number2 = systemConfig('award_integral_energy_saving_oil', 1);
|
|
|
- }elseif ($type == 0){
|
|
|
|
|
|
|
+ } elseif ($type == 0) {
|
|
|
$mark = '普通';
|
|
$mark = '普通';
|
|
|
$range_type = 'ordinary';
|
|
$range_type = 'ordinary';
|
|
|
$integral_type = 'ordinary_integral';
|
|
$integral_type = 'ordinary_integral';
|
|
|
$number2 = systemConfig('award_integral_ordinary', 1);
|
|
$number2 = systemConfig('award_integral_ordinary', 1);
|
|
|
- }elseif ($type == 6){
|
|
|
|
|
|
|
+ } elseif ($type == 6) {
|
|
|
$mark = '礼包';
|
|
$mark = '礼包';
|
|
|
$range_type = 'award_gift_pack';
|
|
$range_type = 'award_gift_pack';
|
|
|
$integral_type = 'spread_pack_integral';
|
|
$integral_type = 'spread_pack_integral';
|
|
|
$number2 = systemConfig('award_integral_gift_pack', 1);
|
|
$number2 = systemConfig('award_integral_gift_pack', 1);
|
|
|
}
|
|
}
|
|
|
- if ($type == 5||$type == 0) { //节能油商品和普通商品
|
|
|
|
|
|
|
+ if ($type == 5 || $type == 0) { //节能油商品和普通商品
|
|
|
$number = systemConfig('award_energy_saving_oil', 1); //获得份额的基准线
|
|
$number = systemConfig('award_energy_saving_oil', 1); //获得份额的基准线
|
|
|
if ($order['pay_price'] >= $number) {
|
|
if ($order['pay_price'] >= $number) {
|
|
|
// $count = app()->make(User::class)->spread_order($order['uid']); //获取推荐下级订单数
|
|
// $count = app()->make(User::class)->spread_order($order['uid']); //获取推荐下级订单数
|
|
|
$count = $user['spread_pay_count'];
|
|
$count = $user['spread_pay_count'];
|
|
|
- @file_put_contents('quanju.txt', $count."-下级订单数量\r\n", 8);
|
|
|
|
|
- if ($count>0){
|
|
|
|
|
|
|
+ @file_put_contents('quanju.txt', $count . "-下级订单数量\r\n", 8);
|
|
|
|
|
+ if ($count > 0) {
|
|
|
$order_award_range = bcmul($order['pay_price'], 3, 2);
|
|
$order_award_range = bcmul($order['pay_price'], 3, 2);
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
$order_award_range = bcmul($order['pay_price'], 1, 2);
|
|
$order_award_range = bcmul($order['pay_price'], 1, 2);
|
|
|
$unclaimed_range = bcmul($order['pay_price'], 2, 2);
|
|
$unclaimed_range = bcmul($order['pay_price'], 2, 2);
|
|
|
$unclaimed_range_after = bcadd($user['unclaimed_range'], $unclaimed_range, 2);
|
|
$unclaimed_range_after = bcadd($user['unclaimed_range'], $unclaimed_range, 2);
|
|
@@ -1147,7 +1147,7 @@ class StoreOrderRepository extends BaseRepository
|
|
|
'balance' => $unclaimed_range_after,
|
|
'balance' => $unclaimed_range_after,
|
|
|
'status' => 1,
|
|
'status' => 1,
|
|
|
'link_id' => $order['order_id'],
|
|
'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费' .$mark.'商品'. floatval($order['pay_price']) . '元,奖励冻结分红额度' . $order_award_range,
|
|
|
|
|
|
|
+ 'mark' => $user['nickname'] . '成功消费' . $mark . '商品' . floatval($order['pay_price']) . '元,奖励冻结分红额度' . $order_award_range,
|
|
|
]);
|
|
]);
|
|
|
|
|
|
|
|
User::where('uid', $order['uid'])->update(['unclaimed_range' => $unclaimed_range_after]);
|
|
User::where('uid', $order['uid'])->update(['unclaimed_range' => $unclaimed_range_after]);
|
|
@@ -1156,21 +1156,21 @@ class StoreOrderRepository extends BaseRepository
|
|
|
$after = bcadd($award_range, $order_award_range, 2);
|
|
$after = bcadd($award_range, $order_award_range, 2);
|
|
|
$make->incBill($order['uid'], 'award_range', $range_type, [
|
|
$make->incBill($order['uid'], 'award_range', $range_type, [
|
|
|
'number' => $order_award_range,
|
|
'number' => $order_award_range,
|
|
|
- 'title' => '下单' .$mark.'商品获得分红额度',
|
|
|
|
|
|
|
+ 'title' => '下单' . $mark . '商品获得分红额度',
|
|
|
'balance' => $after,
|
|
'balance' => $after,
|
|
|
'status' => 1,
|
|
'status' => 1,
|
|
|
'link_id' => $order['order_id'],
|
|
'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费' .$mark.'商品'. 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]);
|
|
User::where('uid', $order['uid'])->update(['award_range' => $after]);
|
|
|
}
|
|
}
|
|
|
} elseif ($type == 6) { //礼包商品
|
|
} elseif ($type == 6) { //礼包商品
|
|
|
$number = systemConfig('award_energy_saving_oil', 1);
|
|
$number = systemConfig('award_energy_saving_oil', 1);
|
|
|
- @file_put_contents('quanju2.txt', $order['pay_price']."-支付金额\r\n", 8);
|
|
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $order['pay_price'] . "-支付金额\r\n", 8);
|
|
|
if ($order['pay_price'] >= $number) {
|
|
if ($order['pay_price'] >= $number) {
|
|
|
$order_award_range = bcmul($order['pay_price'], 3, 2);
|
|
$order_award_range = bcmul($order['pay_price'], 3, 2);
|
|
|
$after = bcadd($award_range, $order_award_range, 2);
|
|
$after = bcadd($award_range, $order_award_range, 2);
|
|
|
- $res=$make->incBill($order['uid'], 'award_range', 'award_gift_pack', [
|
|
|
|
|
|
|
+ $res = $make->incBill($order['uid'], 'award_range', 'award_gift_pack', [
|
|
|
'number' => $order_award_range,
|
|
'number' => $order_award_range,
|
|
|
'title' => '下单礼包获得分红额度',
|
|
'title' => '下单礼包获得分红额度',
|
|
|
'balance' => $after,
|
|
'balance' => $after,
|
|
@@ -1179,7 +1179,7 @@ class StoreOrderRepository extends BaseRepository
|
|
|
'mark' => $user['nickname'] . '成功消费礼包商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
|
|
'mark' => $user['nickname'] . '成功消费礼包商品' . floatval($order['pay_price']) . '元,奖励分红额度' . $order_award_range,
|
|
|
]);
|
|
]);
|
|
|
User::where('uid', $order['uid'])->update(['award_range' => $after]);
|
|
User::where('uid', $order['uid'])->update(['award_range' => $after]);
|
|
|
- @file_put_contents('quanju2.txt', $res."-结果\r\n", 8);
|
|
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $res . "-结果\r\n", 8);
|
|
|
}
|
|
}
|
|
|
// 礼包购买数
|
|
// 礼包购买数
|
|
|
$this->pack_count($order['uid']);
|
|
$this->pack_count($order['uid']);
|
|
@@ -1188,15 +1188,15 @@ class StoreOrderRepository extends BaseRepository
|
|
|
$award_integral = $user['award_integral'];
|
|
$award_integral = $user['award_integral'];
|
|
|
if ($order['pay_price'] >= $number2) {
|
|
if ($order['pay_price'] >= $number2) {
|
|
|
$order_award_range = bcmul($order['pay_price'], 0.2, 2);
|
|
$order_award_range = bcmul($order['pay_price'], 0.2, 2);
|
|
|
- $order_award_range = bcdiv($order_award_range,$price['price'],2); //20%的业绩除以积分价格得到分红积分
|
|
|
|
|
|
|
+ $order_award_range = bcdiv($order_award_range, $price['price'], 2); //20%的业绩除以积分价格得到分红积分
|
|
|
$after2 = bcadd($award_integral, $order_award_range, 2);
|
|
$after2 = bcadd($award_integral, $order_award_range, 2);
|
|
|
$make->incBill($order['uid'], 'award_integral', $integral_type, [
|
|
$make->incBill($order['uid'], 'award_integral', $integral_type, [
|
|
|
'number' => $order_award_range,
|
|
'number' => $order_award_range,
|
|
|
- 'title' => '下单'.$mark.'商品获得分红积分',
|
|
|
|
|
|
|
+ 'title' => '下单' . $mark . '商品获得分红积分',
|
|
|
'balance' => $after2,
|
|
'balance' => $after2,
|
|
|
'status' => 1,
|
|
'status' => 1,
|
|
|
'link_id' => $order['order_id'],
|
|
'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费'.$mark.'商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range.'(积分价格:'.$price['price'].')',
|
|
|
|
|
|
|
+ 'mark' => $user['nickname'] . '成功消费' . $mark . '商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range . '(积分价格:' . $price['price'] . ')',
|
|
|
]);
|
|
]);
|
|
|
User::where('uid', $order['uid'])->update(['award_integral' => $after2]);
|
|
User::where('uid', $order['uid'])->update(['award_integral' => $after2]);
|
|
|
}
|
|
}
|
|
@@ -1241,29 +1241,29 @@ class StoreOrderRepository extends BaseRepository
|
|
|
$UserRepository = app()->make(UserRepository::class);
|
|
$UserRepository = app()->make(UserRepository::class);
|
|
|
$UserRepository->checkAward($order['uid']);
|
|
$UserRepository->checkAward($order['uid']);
|
|
|
// 上级推荐奖励的分红积分
|
|
// 上级推荐奖励的分红积分
|
|
|
- $this->getSpreadIntegral($order, $type,$user);
|
|
|
|
|
|
|
+ $this->getSpreadIntegral($order, $type, $user);
|
|
|
// 检测节能油或者礼包升级
|
|
// 检测节能油或者礼包升级
|
|
|
// $AwardLake = app()->make(AwardLake::class);
|
|
// $AwardLake = app()->make(AwardLake::class);
|
|
|
$awardLake = app()->make(AwardLake::class);
|
|
$awardLake = app()->make(AwardLake::class);
|
|
|
- if ($type==5){
|
|
|
|
|
|
|
+ if ($type == 5) {
|
|
|
$oil = app()->make(OilLevel::class);
|
|
$oil = app()->make(OilLevel::class);
|
|
|
$oil->checkLevel($order['uid']);
|
|
$oil->checkLevel($order['uid']);
|
|
|
|
|
|
|
|
$ratio = systemConfig('energy_saving_oil_ratio', 10);
|
|
$ratio = systemConfig('energy_saving_oil_ratio', 10);
|
|
|
- @file_put_contents('quanju2.txt', $ratio."-奖池比例12\r\n", 8);
|
|
|
|
|
- $jackpot = bcmul($order['pay_price'], bcmul($ratio,0.01,2), 2);
|
|
|
|
|
- @file_put_contents('quanju2.txt', $jackpot."-奖池分到的金额12\r\n", 8);
|
|
|
|
|
- $awardLake->addOrderLakes(1,$jackpot,$order['order_id']);
|
|
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $ratio . "-奖池比例12\r\n", 8);
|
|
|
|
|
+ $jackpot = bcmul($order['pay_price'], bcmul($ratio, 0.01, 2), 2);
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $jackpot . "-奖池分到的金额12\r\n", 8);
|
|
|
|
|
+ $awardLake->addOrderLakes(1, $jackpot, $order['order_id']);
|
|
|
@file_put_contents('quanju2.txt', "-路径检查3\r\n", 8);
|
|
@file_put_contents('quanju2.txt', "-路径检查3\r\n", 8);
|
|
|
- }elseif ($type==6){
|
|
|
|
|
|
|
+ } elseif ($type == 6) {
|
|
|
$gift = app()->make(GiftLevel::class);
|
|
$gift = app()->make(GiftLevel::class);
|
|
|
$gift->checkLevel($order['uid']);
|
|
$gift->checkLevel($order['uid']);
|
|
|
|
|
|
|
|
$ratio = systemConfig('gift_pack_ratio', 10);
|
|
$ratio = systemConfig('gift_pack_ratio', 10);
|
|
|
- @file_put_contents('quanju2.txt', $ratio."-奖池比例\r\n", 8);
|
|
|
|
|
- $jackpot = bcmul($order['pay_price'], bcmul($ratio,0.01,2), 2);
|
|
|
|
|
- @file_put_contents('quanju2.txt', $jackpot."-奖池分到的金额\r\n", 8);
|
|
|
|
|
- $awardLake->addOrderLakes(2,$jackpot,$order['order_id']);
|
|
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $ratio . "-奖池比例\r\n", 8);
|
|
|
|
|
+ $jackpot = bcmul($order['pay_price'], bcmul($ratio, 0.01, 2), 2);
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $jackpot . "-奖池分到的金额\r\n", 8);
|
|
|
|
|
+ $awardLake->addOrderLakes(2, $jackpot, $order['order_id']);
|
|
|
@file_put_contents('quanju2.txt', "-路径检查4\r\n", 8);
|
|
@file_put_contents('quanju2.txt', "-路径检查4\r\n", 8);
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|
|
@@ -1274,30 +1274,31 @@ class StoreOrderRepository extends BaseRepository
|
|
|
{
|
|
{
|
|
|
// 增加礼包购买数
|
|
// 增加礼包购买数
|
|
|
$pack_count = User::where('uid', $uid)->value('pack_count');
|
|
$pack_count = User::where('uid', $uid)->value('pack_count');
|
|
|
- User::where('uid', $uid)->update(['pack_count' => bcadd($pack_count,1,0)]);
|
|
|
|
|
|
|
+ User::where('uid', $uid)->update(['pack_count' => bcadd($pack_count, 1, 0)]);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
// 上级推荐奖励的分红积分
|
|
// 上级推荐奖励的分红积分
|
|
|
- public function getSpreadIntegral($order, $type,$user)
|
|
|
|
|
|
|
+ public function getSpreadIntegral($order, $type, $user)
|
|
|
{
|
|
{
|
|
|
$price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice(); //分红积分价格
|
|
$price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice(); //分红积分价格
|
|
|
@file_put_contents('quanju.txt', json_encode($price) . "-积分金额3\r\n", 8);
|
|
@file_put_contents('quanju.txt', json_encode($price) . "-积分金额3\r\n", 8);
|
|
|
// $spread_uid = User::where('uid', $order['uid'])->value('spread_uid');
|
|
// $spread_uid = User::where('uid', $order['uid'])->value('spread_uid');
|
|
|
- $order_award_range=0;
|
|
|
|
|
- if ($user['spread_uid']>0){
|
|
|
|
|
|
|
+ $order_award_range = 0;
|
|
|
|
|
+ if ($user['spread_uid'] > 0) {
|
|
|
$make = app()->make(UserBillRepository::class);
|
|
$make = app()->make(UserBillRepository::class);
|
|
|
$award_range = User::where('uid', $user['spread_uid'])->value('award_range');
|
|
$award_range = User::where('uid', $user['spread_uid'])->value('award_range');
|
|
|
// if ($award_range<=0){ //上级没有分红额度就转到冻结资金里
|
|
// if ($award_range<=0){ //上级没有分红额度就转到冻结资金里
|
|
|
//
|
|
//
|
|
|
//
|
|
//
|
|
|
// }
|
|
// }
|
|
|
- $after=0;
|
|
|
|
|
|
|
+ $after = 0;
|
|
|
switch ($type) {
|
|
switch ($type) {
|
|
|
case 0: //普通商品
|
|
case 0: //普通商品
|
|
|
- $award_integral = User::where('uid',$user['spread_uid'])->value('award_integral');
|
|
|
|
|
|
|
+ $award_integral = User::where('uid', $user['spread_uid'])->value('award_integral');
|
|
|
$order_award_range = bcmul($order['pay_price'], 0.06, 2);
|
|
$order_award_range = bcmul($order['pay_price'], 0.06, 2);
|
|
|
- if ($order_award_range>0){
|
|
|
|
|
- $order_award_range = bcdiv($order_award_range,$price['price'],2); //业绩除以积分价格得到分红积分
|
|
|
|
|
|
|
+ if ($order_award_range > 0) {
|
|
|
|
|
+ $order_award_range = bcdiv($order_award_range, $price['price'], 2); //业绩除以积分价格得到分红积分
|
|
|
$after = bcadd($award_integral, $order_award_range, 2);
|
|
$after = bcadd($award_integral, $order_award_range, 2);
|
|
|
$make->incBill($user['spread_uid'], 'award_integral', 'ordinary_integral', [
|
|
$make->incBill($user['spread_uid'], 'award_integral', 'ordinary_integral', [
|
|
|
'number' => $order_award_range,
|
|
'number' => $order_award_range,
|
|
@@ -1305,61 +1306,61 @@ class StoreOrderRepository extends BaseRepository
|
|
|
'balance' => $after,
|
|
'balance' => $after,
|
|
|
'status' => 1,
|
|
'status' => 1,
|
|
|
'link_id' => $order['order_id'],
|
|
'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费普通商品' . floatval($order['pay_price']) . '元,奖励上级分红积分' . $order_award_range.'(积分价格:'.$price['price'].')',
|
|
|
|
|
|
|
+ 'mark' => $user['nickname'] . '成功消费普通商品' . floatval($order['pay_price']) . '元,奖励上级分红积分' . $order_award_range . '(积分价格:' . $price['price'] . ')',
|
|
|
]);
|
|
]);
|
|
|
}
|
|
}
|
|
|
@file_put_contents('quanju.txt', "-村上春树78\r\n", 8);
|
|
@file_put_contents('quanju.txt', "-村上春树78\r\n", 8);
|
|
|
break;
|
|
break;
|
|
|
case 5: //节能油商品
|
|
case 5: //节能油商品
|
|
|
- $award_integral = User::where('uid',$user['spread_uid'])->value('award_integral');
|
|
|
|
|
|
|
+ $award_integral = User::where('uid', $user['spread_uid'])->value('award_integral');
|
|
|
$order_award_range = bcmul($order['pay_price'], 0.06, 2);
|
|
$order_award_range = bcmul($order['pay_price'], 0.06, 2);
|
|
|
- if ($order_award_range>0){
|
|
|
|
|
- $order_award_range = bcdiv($order_award_range,$price['price'],2); //业绩除以积分价格得到分红积分
|
|
|
|
|
|
|
+ if ($order_award_range > 0) {
|
|
|
|
|
+ $order_award_range = bcdiv($order_award_range, $price['price'], 2); //业绩除以积分价格得到分红积分
|
|
|
$after = bcadd($award_integral, $order_award_range, 2);
|
|
$after = bcadd($award_integral, $order_award_range, 2);
|
|
|
$make->incBill($user['spread_uid'], 'award_integral', 'spread_oil_integral', [
|
|
$make->incBill($user['spread_uid'], 'award_integral', 'spread_oil_integral', [
|
|
|
'number' => $order_award_range,
|
|
'number' => $order_award_range,
|
|
|
- 'title' => '下级节能油订单获得分红积分',
|
|
|
|
|
|
|
+ 'title' => '团队节能油订单分红积分',
|
|
|
'balance' => $after,
|
|
'balance' => $after,
|
|
|
'status' => 1,
|
|
'status' => 1,
|
|
|
'link_id' => $order['order_id'],
|
|
'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费节能油商品' . floatval($order['pay_price']) . '元,奖励上级分红积分' . $order_award_range.'(积分价格:'.$price['price'].')',
|
|
|
|
|
|
|
+ 'mark' => $user['nickname'] . '成功消费节能油商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range . '(积分价格:' . $price['price'] . ')',
|
|
|
]);
|
|
]);
|
|
|
}
|
|
}
|
|
|
@file_put_contents('quanju.txt', "-村上春树5\r\n", 8);
|
|
@file_put_contents('quanju.txt', "-村上春树5\r\n", 8);
|
|
|
break;
|
|
break;
|
|
|
case 6: //礼包商品
|
|
case 6: //礼包商品
|
|
|
- $user['pack_count']=bcadd($user['pack_count'],1,0);
|
|
|
|
|
|
|
+ $user['pack_count'] = bcadd($user['pack_count'], 1, 0);
|
|
|
$remainder = bcmod($user['pack_count'], 3); //取余
|
|
$remainder = bcmod($user['pack_count'], 3); //取余
|
|
|
- $award_integral = User::where('uid',$user['spread_uid'])->value('award_integral');
|
|
|
|
|
- switch ($remainder){
|
|
|
|
|
|
|
+ $award_integral = User::where('uid', $user['spread_uid'])->value('award_integral');
|
|
|
|
|
+ switch ($remainder) {
|
|
|
case 1:
|
|
case 1:
|
|
|
$order_award_range = bcmul($order['pay_price'], 0.2, 2);
|
|
$order_award_range = bcmul($order['pay_price'], 0.2, 2);
|
|
|
break;
|
|
break;
|
|
|
- case 2:
|
|
|
|
|
- $order_award_range = bcmul($order['pay_price'], 0.3, 2);
|
|
|
|
|
|
|
+ case 2:
|
|
|
|
|
+ $order_award_range = bcmul($order['pay_price'], 0.3, 2);
|
|
|
break;
|
|
break;
|
|
|
- case 0:
|
|
|
|
|
- $order_award_range = bcmul($order['pay_price'], 0.5, 2);
|
|
|
|
|
|
|
+ case 0:
|
|
|
|
|
+ $order_award_range = bcmul($order['pay_price'], 0.5, 2);
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
- if ($order_award_range>0){
|
|
|
|
|
- $order_award_range = bcdiv($order_award_range,$price['price'],2); //业绩除以积分价格得到分红积分
|
|
|
|
|
|
|
+ if ($order_award_range > 0) {
|
|
|
|
|
+ $order_award_range = bcdiv($order_award_range, $price['price'], 2); //业绩除以积分价格得到分红积分
|
|
|
$after = bcadd($award_integral, $order_award_range, 2);
|
|
$after = bcadd($award_integral, $order_award_range, 2);
|
|
|
$make->incBill($user['spread_uid'], 'award_integral', 'spread_oil_integral', [
|
|
$make->incBill($user['spread_uid'], 'award_integral', 'spread_oil_integral', [
|
|
|
'number' => $order_award_range,
|
|
'number' => $order_award_range,
|
|
|
- 'title' => '下级礼包订单获得分红积分',
|
|
|
|
|
|
|
+ 'title' => '团队礼包订单分红积分',
|
|
|
'balance' => $after,
|
|
'balance' => $after,
|
|
|
'status' => 1,
|
|
'status' => 1,
|
|
|
'link_id' => $order['order_id'],
|
|
'link_id' => $order['order_id'],
|
|
|
- 'mark' => $user['nickname'] . '成功消费礼包商品' . floatval($order['pay_price']) . '元,奖励上级分红积分' . $order_award_range.'(积分价格:'.$price['price'].')',
|
|
|
|
|
|
|
+ 'mark' => $user['nickname'] . '成功消费礼包商品' . floatval($order['pay_price']) . '元,奖励分红积分' . $order_award_range . '(积分价格:' . $price['price'] . ')',
|
|
|
]);
|
|
]);
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
}
|
|
}
|
|
|
- if ($after>0){
|
|
|
|
|
- User::where('uid', $user['spread_uid'])->update(['award_integral'=>$after]);
|
|
|
|
|
|
|
+ if ($after > 0) {
|
|
|
|
|
+ User::where('uid', $user['spread_uid'])->update(['award_integral' => $after]);
|
|
|
}
|
|
}
|
|
|
- if ($order_award_range>0){//检查上级积分是否达到提现条件
|
|
|
|
|
|
|
+ if ($order_award_range > 0) {//检查上级积分是否达到提现条件
|
|
|
$UserRepository = app()->make(UserRepository::class);
|
|
$UserRepository = app()->make(UserRepository::class);
|
|
|
$UserRepository->checkAward($user['spread_uid']);
|
|
$UserRepository->checkAward($user['spread_uid']);
|
|
|
}
|
|
}
|
|
@@ -1371,15 +1372,17 @@ class StoreOrderRepository extends BaseRepository
|
|
|
// }
|
|
// }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
// 服务中心核销节能油
|
|
// 服务中心核销节能油
|
|
|
- public function confirmOil($order){
|
|
|
|
|
|
|
+ public function confirmOil($order)
|
|
|
|
|
+ {
|
|
|
$price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice(); //分红积分价格
|
|
$price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice(); //分红积分价格
|
|
|
@file_put_contents('quanju.txt', json_encode($price) . "-积分金额3\r\n", 8);
|
|
@file_put_contents('quanju.txt', json_encode($price) . "-积分金额3\r\n", 8);
|
|
|
$MerchantRepository = app()->make(MerchantRepository::class);
|
|
$MerchantRepository = app()->make(MerchantRepository::class);
|
|
|
- $uid = Merchant::where('mer_id',$order['mer_id'])->value('uid');
|
|
|
|
|
- $award_integral = User::where('uid',$uid)->value('award_integral');
|
|
|
|
|
- $integral_prcie =app()->make(AwardIntegralPriceRepository::class)->getPrice(); //积分价格
|
|
|
|
|
- $integral =bcmul(bcdiv(2,$integral_prcie['price'],2),$order['total_num'],2); //价值2元的积分
|
|
|
|
|
|
|
+ $uid = Merchant::where('mer_id', $order['mer_id'])->value('uid');
|
|
|
|
|
+ $award_integral = User::where('uid', $uid)->value('award_integral');
|
|
|
|
|
+ $integral_prcie = app()->make(AwardIntegralPriceRepository::class)->getPrice(); //积分价格
|
|
|
|
|
+ $integral = bcmul(bcdiv(2, $integral_prcie['price'], 2), $order['total_num'], 2); //价值2元的积分
|
|
|
$make = app()->make(UserBillRepository::class);
|
|
$make = app()->make(UserBillRepository::class);
|
|
|
$after = bcadd($award_integral, $integral, 2);
|
|
$after = bcadd($award_integral, $integral, 2);
|
|
|
$make->incBill($uid, 'award_integral', 'confirm_oil_integral', [
|
|
$make->incBill($uid, 'award_integral', 'confirm_oil_integral', [
|
|
@@ -1388,30 +1391,31 @@ class StoreOrderRepository extends BaseRepository
|
|
|
'balance' => $after,
|
|
'balance' => $after,
|
|
|
'status' => 1,
|
|
'status' => 1,
|
|
|
'link_id' => $order['order_id'],
|
|
'link_id' => $order['order_id'],
|
|
|
- 'mark' => '服务中心核销节能油获得分红积分' . $integral.'(积分价格:'.$price['price'].')',
|
|
|
|
|
|
|
+ 'mark' => '服务中心核销节能油获得分红积分' . $integral . '(积分价格:' . $price['price'] . ')',
|
|
|
]);
|
|
]);
|
|
|
- User::where('uid', $uid)->update(['award_integral'=>$after]);
|
|
|
|
|
|
|
+ User::where('uid', $uid)->update(['award_integral' => $after]);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 看看上级有没有冻结份额
|
|
// 看看上级有没有冻结份额
|
|
|
- public function spreadOrder($uid,$order_id){
|
|
|
|
|
- @file_put_contents('quanju2.txt',$uid."-没有冻结份额uid\r\n",8);
|
|
|
|
|
- @file_put_contents('quanju2.txt',$order_id."-没有冻结份额订单id\r\n",8);
|
|
|
|
|
|
|
+ public function spreadOrder($uid, $order_id)
|
|
|
|
|
+ {
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $uid . "-没有冻结份额uid\r\n", 8);
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $order_id . "-没有冻结份额订单id\r\n", 8);
|
|
|
$spread_uid = User::where('uid', $uid)->value('spread_uid');
|
|
$spread_uid = User::where('uid', $uid)->value('spread_uid');
|
|
|
- @file_put_contents('quanju2.txt',$spread_uid."-上级uid\r\n",8);
|
|
|
|
|
- if ($spread_uid>0){
|
|
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $spread_uid . "-上级uid\r\n", 8);
|
|
|
|
|
+ if ($spread_uid > 0) {
|
|
|
$user = User::where('uid', $spread_uid)->find();
|
|
$user = User::where('uid', $spread_uid)->find();
|
|
|
- @file_put_contents('quanju2.txt',$user['unclaimed_range']."-冻结额度\r\n",8);
|
|
|
|
|
- if ($user['unclaimed_range']>0){
|
|
|
|
|
- $after=bcadd($user['award_range'], $user['unclaimed_range'], 2);
|
|
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $user['unclaimed_range'] . "-冻结额度\r\n", 8);
|
|
|
|
|
+ if ($user['unclaimed_range'] > 0) {
|
|
|
|
|
+ $after = bcadd($user['award_range'], $user['unclaimed_range'], 2);
|
|
|
$make = app()->make(UserBillRepository::class);
|
|
$make = app()->make(UserBillRepository::class);
|
|
|
- $make->incBill($spread_uid, 'award_unclaimed_range', 'thaw_brokerage', [
|
|
|
|
|
|
|
+ $make->incBill($spread_uid, 'award_unclaimed_range', 'thaw_range', [
|
|
|
'number' => $user['unclaimed_range'],
|
|
'number' => $user['unclaimed_range'],
|
|
|
'title' => '推荐订单解冻分红额度',
|
|
'title' => '推荐订单解冻分红额度',
|
|
|
'balance' => 0,
|
|
'balance' => 0,
|
|
|
'status' => 0,
|
|
'status' => 0,
|
|
|
'link_id' => $order_id,
|
|
'link_id' => $order_id,
|
|
|
- 'mark' => '下级用户'.$user['nickname'] . '成功消费,解冻上级分红份额' . $user['unclaimed_range'],
|
|
|
|
|
|
|
+ 'mark' => '团队用户' . $user['nickname'] . '成功消费,解冻分红份额' . $user['unclaimed_range'],
|
|
|
]);
|
|
]);
|
|
|
$make->decBill($spread_uid, 'award_range', 'thaw_range', [
|
|
$make->decBill($spread_uid, 'award_range', 'thaw_range', [
|
|
|
'number' => $user['unclaimed_range'],
|
|
'number' => $user['unclaimed_range'],
|
|
@@ -1419,16 +1423,123 @@ class StoreOrderRepository extends BaseRepository
|
|
|
'balance' => $after,
|
|
'balance' => $after,
|
|
|
'status' => 1,
|
|
'status' => 1,
|
|
|
'link_id' => $order_id,
|
|
'link_id' => $order_id,
|
|
|
- 'mark' => '下级用户'.$user['nickname'] . '成功消费,解冻上级分红份额' . $user['unclaimed_range'],
|
|
|
|
|
|
|
+ 'mark' => '团队用户' . $user['nickname'] . '成功消费,解冻分红份额' . $user['unclaimed_range'],
|
|
|
]);
|
|
]);
|
|
|
- $res= User::where('uid', $spread_uid)->update(['award_range' => $after,'unclaimed_range' => 0]);
|
|
|
|
|
- @file_put_contents('quanju2.txt',$res."-冻结额度处理\r\n",8);
|
|
|
|
|
|
|
+ $res = User::where('uid', $spread_uid)->update(['award_range' => $after, 'unclaimed_range' => 0]);
|
|
|
|
|
+ @file_put_contents('quanju2.txt', $res . "-冻结额度处理\r\n", 8);
|
|
|
// 解冻冻结奖金
|
|
// 解冻冻结奖金
|
|
|
$UserRepository = app()->make(UserRepository::class);
|
|
$UserRepository = app()->make(UserRepository::class);
|
|
|
$UserRepository->extractBrokerage($spread_uid);
|
|
$UserRepository->extractBrokerage($spread_uid);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+// 分发团队奖励 type 1 节能油 2 礼包
|
|
|
|
|
+ public function team_rewards($order, $type)
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ $user_spread_group = $this->get_spread_user($order['uid']); //获取所有上级id
|
|
|
|
|
+ $group_info = User::where('uid', 'in', $user_spread_group)->column('uid,nickname,brokerage_price,award_integral,award_range,oil_level,gift_level'); //获取所有上级信息
|
|
|
|
|
+ if ($type == 1){
|
|
|
|
|
+ $model = new OilLevel();
|
|
|
|
|
+ $field = 'oil_level';
|
|
|
|
|
+ $product_type = 1;
|
|
|
|
|
+ $title = '节能油积分分红';
|
|
|
|
|
+ }else{
|
|
|
|
|
+ $model = new GiftLevel();
|
|
|
|
|
+ $field = 'gift_level';
|
|
|
|
|
+ $product_type = 2;
|
|
|
|
|
+ $title = '礼包积分分红';
|
|
|
|
|
+ }
|
|
|
|
|
+// case 1:
|
|
|
|
|
+// $model = new OilLevel();
|
|
|
|
|
+// $field = 'oil_level';
|
|
|
|
|
+// $name = '节能油';
|
|
|
|
|
+// $title = '节能油积分分红';
|
|
|
|
|
+// break;
|
|
|
|
|
+// case 2:
|
|
|
|
|
+// $model = new GiftLevel();
|
|
|
|
|
+// $field = 'gift_level';
|
|
|
|
|
+// $name = '礼包';
|
|
|
|
|
+// $title = '礼包积分分红';
|
|
|
|
|
+// break;
|
|
|
|
|
+
|
|
|
|
|
+ $level = $model->where('award_ratio', '>', 0)->select();
|
|
|
|
|
+ $price = bcmul($order['pay_price'],0.1,2); //分红金额
|
|
|
|
|
+ $integral_price = app()->make(AwardIntegralPriceRepository::class)->awardIntegralPrice(); //分红积分价格
|
|
|
|
|
+ foreach ($level as $k => $v) { //遍历等级
|
|
|
|
|
+ $all_performance = 0; //总业绩
|
|
|
|
|
+ $ratio = $v['award_ratio']; //奖励比例
|
|
|
|
|
+ $level_price = bcmul($price, $ratio, 2); //等级奖励金额
|
|
|
|
|
+ foreach ($group_info as &$value) { //遍历上级统计总业绩
|
|
|
|
|
+ if ($value[$field] >= $v['level']) { //判断是否达到该等级
|
|
|
|
|
+ $GiftLevel = app()->make(GiftLevel::class);
|
|
|
|
|
+ $group_users = $GiftLevel->get_group_user($value['uid']); //获取上级的用户和总业绩
|
|
|
|
|
+
|
|
|
|
|
+ $achievement1 = StoreOrder::where('uid','in', $group_users)->where('paid', 1)->where('product_type',$product_type)->whereNotIn('status',-1)->sum('pay_price');
|
|
|
|
|
+ $achievement2 = StoreOrder::where('uid', $value['uid'])->where('paid', 1)->where('product_type',$product_type)->whereNotIn('status',-1)->sum('pay_price');
|
|
|
|
|
+ $performance = bcadd($achievement1, $achievement2, 2);
|
|
|
|
|
+ $value['performance'] = $performance;
|
|
|
|
|
+ $all_performance = bcadd($all_performance, $performance, 2);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ foreach ($group_info as &$value) { //遍历上级分红
|
|
|
|
|
+ $user_retio = bcdiv($value['performance'], $all_performance, 2); //用户奖励比例
|
|
|
|
|
+ $user_reward = bcmul($level_price, $user_retio, 2); //用户奖励金额
|
|
|
|
|
+ $user_integral = bcdiv($user_reward, $integral_price['price'], 2); //用户奖励积分
|
|
|
|
|
+ $after = bcadd($value['award_integral'], $user_integral, 2); //更新用户奖励积分
|
|
|
|
|
+ $make = app()->make(UserBillRepository::class);
|
|
|
|
|
+ if ($user_integral>0){
|
|
|
|
|
+ $make->incBill($value['uid'], 'award_integral', 'oil_integral', [
|
|
|
|
|
+ 'number' => $user_integral,
|
|
|
|
|
+ 'title' => $title,
|
|
|
|
|
+ 'balance' => $after,
|
|
|
|
|
+ 'status' => 1,
|
|
|
|
|
+ 'link_id' => 0,
|
|
|
|
|
+ 'mark' => $value['nickname'] . '获得' .$v.'分红积分'.$user_integral ,
|
|
|
|
|
+ ]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (Exception $e) {
|
|
|
|
|
+ @file_put_contents('quanju.txt', $e->getMessage() . "-错误信息\r\n", 8);
|
|
|
|
|
+ @file_put_contents('quanju.txt', $e->getLine() . "-错误位置\r\n", 8);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //获取所有上级id
|
|
|
|
|
+ public function get_spread_user($id, $init = true, $parentMap = null)
|
|
|
|
|
+ {
|
|
|
|
|
+ if ($init) {
|
|
|
|
|
+ // 获取所有用户的上级映射 (uid => spread_uid)
|
|
|
|
|
+ $us = \app\common\model\user\User::column('spread_uid', 'uid');
|
|
|
|
|
+ $parentMap = $us; // 存储 uid->上级ID 的映射
|
|
|
|
|
+ $id = (array)$id; // 确保ID转为数组
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $result = []; // 存储所有上级ID
|
|
|
|
|
+ $visited = []; // 防止循环引用
|
|
|
|
|
+ $queue = (array)$id; // 初始化队列
|
|
|
|
|
+
|
|
|
|
|
+ while (!empty($queue)) {
|
|
|
|
|
+ $current = array_shift($queue); // 取出当前用户ID
|
|
|
|
|
+
|
|
|
|
|
+ // 如果当前用户未处理过且有上级
|
|
|
|
|
+ if (!isset($visited[$current]) && isset($parentMap[$current]) && $parentMap[$current] > 0) {
|
|
|
|
|
+ $parentId = $parentMap[$current]; // 获取直接上级ID
|
|
|
|
|
+ $visited[$current] = true; // 标记当前用户已访问
|
|
|
|
|
+
|
|
|
|
|
+ // 避免重复处理
|
|
|
|
|
+ if (!isset($visited[$parentId])) {
|
|
|
|
|
+ $result[] = $parentId; // 添加到结果
|
|
|
|
|
+ $queue[] = $parentId; // 将上级加入队列继续查找
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return array_unique($result); // 返回去重后的上级ID列表
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* 获取订单列表头部统计数据
|
|
* 获取订单列表头部统计数据
|
|
|
* @Author:Qinii
|
|
* @Author:Qinii
|