|
@@ -765,7 +765,7 @@ class User extends BaseModel
|
|
$money = round($v['price'] * 0.003, 2);
|
|
$money = round($v['price'] * 0.003, 2);
|
|
$spread['sp_final'] += $money;
|
|
$spread['sp_final'] += $money;
|
|
$spread->save();
|
|
$spread->save();
|
|
- UserBill::income('奖励购物积分', $spread['uid'], 'sp_final', 'add_sp_final', $money, $user['uid'], $spread['sp_final'], '奖励购物积分');
|
|
|
|
|
|
+ UserBill::income('奖励购物积分', $spread['uid'], 'sp_final', 'add_sp_final', $money, $user['uid'], $spread['sp_final'], '用户'.$user['nickname'].'购买成功,奖励购物积分');
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
@@ -820,7 +820,7 @@ class User extends BaseModel
|
|
$v['sp_final'] += $reward;
|
|
$v['sp_final'] += $reward;
|
|
User::where('uid', $v['uid'])
|
|
User::where('uid', $v['uid'])
|
|
->update(['sp_final' => $v['sp_final']]);
|
|
->update(['sp_final' => $v['sp_final']]);
|
|
- UserBill::income('分红奖励', $v['uid'], 'sp_final', 'add_sp_final', $reward, 0, $v['sp_final'], '分红奖励');
|
|
|
|
|
|
+ UserBill::income('分红奖励', $v['uid'], 'sp_final', 'add_sp_final_bonus', $reward, 0, $v['sp_final'], '分红奖励');
|
|
|
|
|
|
}
|
|
}
|
|
unset($moneys);
|
|
unset($moneys);
|
|
@@ -848,71 +848,74 @@ class User extends BaseModel
|
|
$timet = strtotime(date('Y-m-d', time())); // 今天时间
|
|
$timet = strtotime(date('Y-m-d', time())); // 今天时间
|
|
$userl = [];
|
|
$userl = [];
|
|
foreach ($user as $k => $v){
|
|
foreach ($user as $k => $v){
|
|
- $bo = AuctionBooking::where('uid', '=', $v['uid'])->where('create_time', '>=', $time)->where('create_time', '<=', $timet)->find(); // 查看昨天有预约记录
|
|
|
|
- if ($bo){
|
|
|
|
- $dow = User::where('spread_uid', $v['uid'])->select()->toArray(); // 是否有下级
|
|
|
|
- if (!empty($dow)){
|
|
|
|
- foreach ($dow as $key => $value){
|
|
|
|
- $userDow[$value['uid']] = get_downline($user,$value['uid']); // 获取到下级
|
|
|
|
- }
|
|
|
|
- foreach ($userDow as $dk => $dv){
|
|
|
|
- //查询出下级每个分支昨天流水多少
|
|
|
|
- $money = AuctionOrder::where('uid', $dk)->where('status',2)->sum('price');
|
|
|
|
- if ($dv){
|
|
|
|
- $money += AuctionOrder::where('uid', 'in', $dv)->where('status', '=', 2)->sum('price');
|
|
|
|
|
|
+ if ($v['is_real'] == 1){// 是否是团队长,团队长有kpi奖励
|
|
|
|
+ $bo = AuctionBooking::where('uid', '=', $v['uid'])->where('create_time', '>=', $time)->where('create_time', '<=', $timet)->find(); // 查看昨天有预约记录
|
|
|
|
+ if ($bo){
|
|
|
|
+ $dow = User::where('spread_uid', $v['uid'])->select()->toArray(); // 是否有下级
|
|
|
|
+ if (!empty($dow)){
|
|
|
|
+ foreach ($dow as $key => $value){
|
|
|
|
+ $userDow[$value['uid']] = get_downline($user,$value['uid']); // 获取到下级
|
|
}
|
|
}
|
|
- $moneys[$dk] = $money; // 查询到支线下级总额度
|
|
|
|
- }
|
|
|
|
- $userl = $moneys;
|
|
|
|
- sort($moneys); // 排序
|
|
|
|
- array_pop($moneys); // 删除最大的流水
|
|
|
|
- $sum = array_sum($moneys);
|
|
|
|
- $level = self::con($sum);
|
|
|
|
- if ($level > 0){
|
|
|
|
- if (empty($v['spread_uid'])){
|
|
|
|
- // 没有上级
|
|
|
|
- foreach ($userl as $uk => $uv){
|
|
|
|
- $towdow = self::dow($uk);
|
|
|
|
- if ($level > $towdow){
|
|
|
|
- $reward = ($level - $towdow)/100; // 减掉下级获得的倍率
|
|
|
|
|
|
+ foreach ($userDow as $dk => $dv){
|
|
|
|
+ //查询出下级每个分支昨天流水多少
|
|
|
|
+ $money = AuctionOrder::where('uid', $dk)->where('status',2)->sum('price');
|
|
|
|
+ if ($dv){
|
|
|
|
+ $money += AuctionOrder::where('uid', 'in', $dv)->where('status', '=', 2)->sum('price');
|
|
|
|
+ }
|
|
|
|
+ $moneys[$dk] = $money; // 查询到支线下级总额度
|
|
|
|
+ }
|
|
|
|
+ $userl = $moneys;
|
|
|
|
+ sort($moneys); // 排序
|
|
|
|
+ array_pop($moneys); // 删除最大的流水
|
|
|
|
+ $sum = array_sum($moneys);
|
|
|
|
+ $level = self::con($sum);
|
|
|
|
+ if ($level > 0){
|
|
|
|
+ // 到达奖励额度
|
|
|
|
+ if (empty($v['spread_uid'])){
|
|
|
|
+ // 没有上级
|
|
|
|
+ foreach ($userl as $uk => $uv){
|
|
|
|
+ $towdow = self::dow($uk);
|
|
|
|
+ if ($level > $towdow){
|
|
|
|
+ $reward = ($level - $towdow)/100; // 减掉下级获得的倍率
|
|
|
|
+ $userl[$uk] = $uv * $reward;
|
|
|
|
+ }elseif ($level == $towdow){
|
|
|
|
+ $reward = $level/100; // 如果等级相同就只拿百分之十
|
|
|
|
+ $userl[$uk] = ($uv * $reward) * 0.1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ $userMoney = array_sum($userl);
|
|
|
|
+ $v['sp_final'] += $userMoney;
|
|
|
|
+ User::where('uid', $v['uid'])
|
|
|
|
+ ->update(['sp_final' => $v['sp_final']]);
|
|
|
|
+ UserBill::income('KPI奖励', $v['uid'], 'sp_final', 'add_sp_final_kpi', $userMoney, 0, $v['sp_final'], 'KPI奖励');
|
|
|
|
+ }else{
|
|
|
|
+ //有上级
|
|
|
|
+ foreach ($userl as $uk => $uv){
|
|
|
|
+ $towdow = self::dow($uk);
|
|
|
|
+ if ($level > $towdow){
|
|
|
|
+ $reward = ($level - $towdow)/100; // 减掉下级获得的倍率
|
|
|
|
+ }elseif ($level == $towdow){
|
|
|
|
+ $reward = ($level* 0.1)/100; // 如果下级等级相同就只拿百分之十
|
|
|
|
+ }
|
|
$userl[$uk] = $uv * $reward;
|
|
$userl[$uk] = $uv * $reward;
|
|
- }elseif ($level == $towdow){
|
|
|
|
- $reward = $level/100; // 如果等级相同就只拿百分之十
|
|
|
|
- $userl[$uk] = ($uv * $reward) * 0.1;
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
- }
|
|
|
|
- $userMoney = array_sum($userl);
|
|
|
|
- $v['sp_final'] += $userMoney;
|
|
|
|
- User::where('uid', $v['uid'])
|
|
|
|
- ->update(['sp_final' => $v['sp_final']]);
|
|
|
|
- UserBill::income('KPI奖励', $v['uid'], 'sp_final', 'add_sp_final_kpi', $userMoney, 0, $v['sp_final'], 'KPI奖励');
|
|
|
|
- }else{
|
|
|
|
- //有上级
|
|
|
|
- foreach ($userl as $uk => $uv){
|
|
|
|
- $towdow = self::dow($uk);
|
|
|
|
- if ($level > $towdow){
|
|
|
|
- $reward = $level/100; // 减掉下级获得的倍率
|
|
|
|
- }elseif ($level == $towdow){
|
|
|
|
- $reward = ($level* 0.1)/100; // 如果下级等级相同就只拿百分之十
|
|
|
|
|
|
+ $plevel = self::dow($v['spread_uid']);
|
|
|
|
+ $userMoney = array_sum($userl);
|
|
|
|
+ if ($plevel == $level) {
|
|
|
|
+ $userMoney = $userMoney * 0.9; // 如果和上级相同等级只拿百分之九十
|
|
}
|
|
}
|
|
- $userl[$uk] = $uv * $reward;
|
|
|
|
- }
|
|
|
|
- $plevel = self::dow($v['spread_uid']);
|
|
|
|
- $userMoney = array_sum($userl);
|
|
|
|
- if ($plevel == $level) {
|
|
|
|
- $userMoney = $userMoney * 0.9; // 如果和上级相同等级只拿百分之九十
|
|
|
|
|
|
+ $v['sp_final'] += $userMoney;
|
|
|
|
+ User::where('uid', $v['uid'])
|
|
|
|
+ ->update(['sp_final' => $v['sp_final']]);
|
|
|
|
+ UserBill::income('KPI奖励', $v['uid'], 'sp_final', 'add_sp_final_kpi', $userMoney, 0, $v['sp_final'], 'KPI奖励');
|
|
}
|
|
}
|
|
- $v['sp_final'] += $userMoney;
|
|
|
|
- User::where('uid', $v['uid'])
|
|
|
|
- ->update(['sp_final' => $v['sp_final']]);
|
|
|
|
- UserBill::income('KPI奖励', $v['uid'], 'sp_final', 'add_sp_final_kpi', $userMoney, 0, $v['sp_final'], 'KPI奖励');
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
|
+ unset($userl);
|
|
|
|
+ unset($moneys);
|
|
|
|
+ unset($userDow);
|
|
}
|
|
}
|
|
- unset($userl);
|
|
|
|
- unset($moneys);
|
|
|
|
- unset($userDow);
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -925,30 +928,37 @@ class User extends BaseModel
|
|
|
|
|
|
public static function dow($id)
|
|
public static function dow($id)
|
|
{
|
|
{
|
|
- $user = self::field('uid,spread_uid, sp_final')->select();
|
|
|
|
- $dow = User::where('spread_uid', $id)->select()->toArray(); // 是否有下级
|
|
|
|
- if (!empty($dow)) {
|
|
|
|
- foreach ($dow as $key => $value) {
|
|
|
|
- $userDow[$value['uid']] = get_downline($user, $value['uid']);
|
|
|
|
- }
|
|
|
|
- foreach ($userDow as $dk => $dv) {
|
|
|
|
- //查询出下级每个分支昨天流水多少
|
|
|
|
- $money = AuctionOrder::where('uid', $dk)->where('status', 2)->sum('price');
|
|
|
|
- if ($dv) {
|
|
|
|
- $money += AuctionOrder::where('uid', 'in', $dv)->where('status', '=', 2)->sum('price');
|
|
|
|
|
|
+ $users = self::where('uid',$id)->find();
|
|
|
|
+ if ($users['isis_real'] == 1){
|
|
|
|
+ $user = self::field('uid,spread_uid, sp_final')->select();
|
|
|
|
+ $dow = User::where('spread_uid', $id)->select()->toArray(); // 是否有下级
|
|
|
|
+ if (!empty($dow)) {
|
|
|
|
+ foreach ($dow as $key => $value) {
|
|
|
|
+ $userDow[$value['uid']] = get_downline($user, $value['uid']);
|
|
}
|
|
}
|
|
- $moneys[$dk] = $money;
|
|
|
|
|
|
+ foreach ($userDow as $dk => $dv) {
|
|
|
|
+ //查询出下级每个分支昨天流水多少
|
|
|
|
+ $money = AuctionOrder::where('uid', $dk)->where('status', 2)->sum('price');
|
|
|
|
+ if ($dv) {
|
|
|
|
+ $money += AuctionOrder::where('uid', 'in', $dv)->where('status', '=', 2)->sum('price');
|
|
|
|
+ }
|
|
|
|
+ $moneys[$dk] = $money;
|
|
|
|
+ }
|
|
|
|
+ sort($moneys); // 排序
|
|
|
|
+ array_pop($moneys); // 删除最大的流水
|
|
|
|
+ $sum = array_sum($moneys);
|
|
|
|
+ $level = self::con($sum);
|
|
|
|
+ return $level;
|
|
}
|
|
}
|
|
- sort($moneys); // 排序
|
|
|
|
- array_pop($moneys); // 删除最大的流水
|
|
|
|
- $sum = array_sum($moneys);
|
|
|
|
- $level = self::con($sum);
|
|
|
|
- return $level;
|
|
|
|
|
|
+ return 0;
|
|
|
|
+ }else{
|
|
|
|
+ return 0;
|
|
}
|
|
}
|
|
- return 0;
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
public static function con($sum){
|
|
public static function con($sum){
|
|
|
|
+ //算出到达几级的奖励
|
|
$config = SystemConfigService::more([
|
|
$config = SystemConfigService::more([
|
|
'level_one','one_standard','level_two','two_standard','level_three','three_standard','level_four','four_standard','level_five','five_standard'
|
|
'level_one','one_standard','level_two','two_standard','level_three','three_standard','level_four','four_standard','level_five','five_standard'
|
|
]);
|
|
]);
|