|
|
@@ -9,6 +9,7 @@ import com.etotem.cfc.entity.User;
|
|
|
import com.etotem.cfc.mapper.MemberUpgradeRecordMapper;
|
|
|
import com.etotem.cfc.mapper.UserMapper;
|
|
|
import com.etotem.cfc.service.MembershipService;
|
|
|
+import com.etotem.cfc.service.SysConfigService;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
@@ -33,6 +34,9 @@ public class MembershipController {
|
|
|
@Resource
|
|
|
private MemberUpgradeRecordMapper memberUpgradeRecordMapper;
|
|
|
|
|
|
+ @Resource
|
|
|
+ private SysConfigService sysConfigService;
|
|
|
+
|
|
|
/**
|
|
|
* 获取所有会员等级
|
|
|
*/
|
|
|
@@ -213,7 +217,7 @@ public class MembershipController {
|
|
|
/**
|
|
|
* 获取任务模板价格列表
|
|
|
*/
|
|
|
- @Operation(summary = "获取任务模板价格")
|
|
|
+ @Operation(summary = "获取会员方案价格列表")
|
|
|
@PostMapping("/plans")
|
|
|
public Result<List<Map<String, Object>>> getPricingPlans() {
|
|
|
List<MembershipLevelDTO> levels = membershipService.getAllLevels();
|
|
|
@@ -222,9 +226,25 @@ public class MembershipController {
|
|
|
Map<String, Object> plan = new HashMap<>();
|
|
|
plan.put("levelCode", level.getLevelCode());
|
|
|
plan.put("levelName", level.getLevelName());
|
|
|
- plan.put("monthly", level.getPriceMonthly());
|
|
|
- plan.put("quarterly", level.getPriceQuarterly());
|
|
|
- plan.put("yearly", level.getPriceYearly());
|
|
|
+ plan.put("levelDesc", level.getLevelDesc());
|
|
|
+ plan.put("recommended", "FAMILY".equals(level.getLevelCode()));
|
|
|
+ // 付费等级价格从 sys_config 读取
|
|
|
+ if ("FAMILY".equals(level.getLevelCode())) {
|
|
|
+ String yearlyStr = sysConfigService.getValue("member_fee_family");
|
|
|
+ plan.put("yearly", yearlyStr != null ? Integer.parseInt(yearlyStr) : 131400);
|
|
|
+ plan.put("monthly", 0);
|
|
|
+ plan.put("quarterly", 0);
|
|
|
+ } else if ("PREMIUM".equals(level.getLevelCode())) {
|
|
|
+ String yearlyStr = sysConfigService.getValue("member_fee_premium");
|
|
|
+ String monthlyStr = sysConfigService.getValue("member_fee_premium_monthly");
|
|
|
+ plan.put("yearly", yearlyStr != null ? Integer.parseInt(yearlyStr) : 1316800);
|
|
|
+ plan.put("monthly", monthlyStr != null ? Integer.parseInt(monthlyStr) : 131400);
|
|
|
+ plan.put("quarterly", 0);
|
|
|
+ } else {
|
|
|
+ plan.put("monthly", level.getPriceMonthly());
|
|
|
+ plan.put("quarterly", level.getPriceQuarterly());
|
|
|
+ plan.put("yearly", level.getPriceYearly());
|
|
|
+ }
|
|
|
plans.add(plan);
|
|
|
}
|
|
|
return Result.success(plans);
|