|
|
@@ -354,19 +354,22 @@ class UserController extends BaseController {
|
|
|
$allDecPackage[$k]['LEVEL_NAME'] = $levelName;
|
|
|
}
|
|
|
|
|
|
+ $stage = 0;
|
|
|
// 分期的总期数
|
|
|
$instalment = intval(Cache::getSystemConfig()['instalment']['VALUE'] ?? 3);
|
|
|
// 查询是否有FX的分期订单
|
|
|
$stageFX = Instalment::getOneStage($baseInfo['ID'], 'FX');
|
|
|
if ($stageFX && $stageFX < $instalment) {
|
|
|
$stage = 100;
|
|
|
- } else {
|
|
|
+ }
|
|
|
+
|
|
|
+ if ($stage != 100) {
|
|
|
// 是否有未完成的BD类型的分期订单
|
|
|
$stage = Instalment::getOneStage($baseInfo['ID'], 'BD');
|
|
|
// 如果分期未完成,切已经升级到顶级,则商品列表只返回分期商品
|
|
|
if ($isMax === true) {
|
|
|
if (!$stage || ($stage >= $instalment)) {
|
|
|
- $stage = 100;
|
|
|
+ $stage = 1000;
|
|
|
} else {
|
|
|
$stage += 1;
|
|
|
}
|
|
|
@@ -390,9 +393,11 @@ class UserController extends BaseController {
|
|
|
|
|
|
// 如果等级已经是顶级 && 没有分期订单,则不查询商品
|
|
|
if ($stage == 100) {
|
|
|
- $query_condition.= ") AND ((INSTALMENT = 0) OR (INSTALMENT = :INSTALMENT))";
|
|
|
- } else {
|
|
|
+ $query_condition.= ") OR ((INSTALMENT = 0) OR (INSTALMENT = :INSTALMENT))";
|
|
|
+ } else if ($stage == 1000) {
|
|
|
$query_condition.= ") AND (INSTALMENT = :INSTALMENT)";
|
|
|
+ } else {
|
|
|
+ $query_condition.= ") OR (INSTALMENT = :INSTALMENT)";
|
|
|
}
|
|
|
|
|
|
$allGoods = ShopGoods::find()->where("STATUS=1 AND CATEGORY_TYPE=1 " . $query_condition, [':INSTALMENT' => $stage])->orderBy('SORT ASC')->asArray()->all();
|