|
|
@@ -238,32 +238,27 @@ class UserController extends BaseController {
|
|
|
$levelPerf = $userDecInfo['PERF'];// 用户当前级别对应的业绩值
|
|
|
if (!$isMax) {
|
|
|
$userDecPvSum = User::sumDevPvByUserId($userId); // 用户所有报单PV总和
|
|
|
- // 如果总和pv不等于0 并且小于级别业绩
|
|
|
- if ($userDecPvSum !=0 && ($userDecPvSum < $levelPerf)) {
|
|
|
+ // 如果总和小于级别业绩
|
|
|
+ if ($userDecPvSum < $levelPerf) {
|
|
|
return static::notice('请联系客服人员核对业绩',400);
|
|
|
}
|
|
|
- // 下一级业绩
|
|
|
$nextLevelPerf = DeclarationLevel::getNextDecPref($levelPerf)['PERF'];
|
|
|
// 如果总和超过了下一级业绩
|
|
|
- if ($userDecPvSum !=0 && ($userDecPvSum >= $nextLevelPerf)) {
|
|
|
+ if ($userDecPvSum >= $nextLevelPerf) {
|
|
|
return static::notice('请联系客服人员核对业绩',400);
|
|
|
}
|
|
|
- // 获取用户报单PV总和
|
|
|
$type = $isObserve ? 1 : 2;
|
|
|
+ $userInfo['UPGRADE_FUNC'] = $isObserve ? '补差额升级' : '全额升级';// 升级方式
|
|
|
$upgradeType = UpgradeType::getOneByType($type);
|
|
|
// 如果用户不是最大级别,则需要获取是否观察期,算出PV是否有问题,应该补多少,
|
|
|
$userInfo['UPGRADE_TYPE'] = $upgradeType;
|
|
|
$userInfo['NOW_PERF'] = $userDecPvSum;
|
|
|
$userInfo['NEXT_PERF'] = $nextLevelPerf;
|
|
|
- // 用户可选择的级别列表
|
|
|
- $userInfo['LEVEL_LIST'] = DeclarationLevel::getNextAll($levelPerf);
|
|
|
- // 循环列表,补充升级所需要的补差
|
|
|
+ $userInfo['LEVEL_LIST'] = DeclarationLevel::getNextAll($levelPerf);// 用户可选择的级别列表
|
|
|
+ // 循环列表,补充升级所需要的补差.全额升级则不需计算差值
|
|
|
foreach ($userInfo['LEVEL_LIST'] as &$v) {
|
|
|
- // 如果pv是0,则pv默认为用户当前级别的pv值
|
|
|
- $v['REPAIR_PV'] = $v['PERF'] - $userInfo['NOW_PERF'];
|
|
|
+ $v['REPAIR_PV'] = $isObserve ? $v['PERF'] - $userInfo['NOW_PERF'] : $v['PERF'];
|
|
|
}
|
|
|
- // 如果用户是金卡,默认一千有问题.必须是相当于当前的PV 如果是银卡 则分2次升级,订单PV实际上不够3000,因为是补差
|
|
|
-
|
|
|
}
|
|
|
|
|
|
return static::notice(['baseInfo' => $userInfo]);
|