You've already forked FrameTour-BE
价格查询,待处理订单内容
This commit is contained in:
@@ -0,0 +1,149 @@
|
||||
package com.ycwl.basic.pricing.controller;
|
||||
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.pricing.entity.PriceProductConfig;
|
||||
import com.ycwl.basic.pricing.entity.PriceTierConfig;
|
||||
import com.ycwl.basic.pricing.entity.PriceBundleConfig;
|
||||
import com.ycwl.basic.pricing.service.IProductConfigService;
|
||||
import com.ycwl.basic.pricing.service.IPriceBundleService;
|
||||
import com.ycwl.basic.pricing.service.IPricingManagementService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 价格配置管理控制器
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/api/pricing/config")
|
||||
@RequiredArgsConstructor
|
||||
public class PricingConfigController {
|
||||
|
||||
private final IProductConfigService productConfigService;
|
||||
private final IPriceBundleService bundleService;
|
||||
private final IPricingManagementService managementService;
|
||||
|
||||
/**
|
||||
* 获取所有商品配置
|
||||
*/
|
||||
@GetMapping("/products")
|
||||
public ApiResponse<List<PriceProductConfig>> getProductConfigs() {
|
||||
List<PriceProductConfig> configs = productConfigService.getActiveProductConfigs();
|
||||
return ApiResponse.success(configs);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据商品类型获取阶梯配置
|
||||
*/
|
||||
@GetMapping("/tiers/{productType}")
|
||||
public ApiResponse<List<PriceTierConfig>> getTierConfigs(@PathVariable String productType) {
|
||||
List<PriceTierConfig> configs = productConfigService.getTierConfigs(productType);
|
||||
return ApiResponse.success(configs);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据商品类型和商品ID获取阶梯配置
|
||||
*/
|
||||
@GetMapping("/tiers/{productType}/{productId}")
|
||||
public ApiResponse<List<PriceTierConfig>> getTierConfigs(@PathVariable String productType,
|
||||
@PathVariable String productId) {
|
||||
List<PriceTierConfig> configs = productConfigService.getTierConfigs(productType, productId);
|
||||
return ApiResponse.success(configs);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据商品类型和商品ID获取具体配置
|
||||
*/
|
||||
@GetMapping("/products/{productType}/{productId}")
|
||||
public ApiResponse<PriceProductConfig> getProductConfig(@PathVariable String productType,
|
||||
@PathVariable String productId) {
|
||||
PriceProductConfig config = productConfigService.getProductConfig(productType, productId);
|
||||
return ApiResponse.success(config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有阶梯配置
|
||||
*/
|
||||
@GetMapping("/tiers")
|
||||
public ApiResponse<List<PriceTierConfig>> getAllTierConfigs() {
|
||||
log.info("获取所有阶梯定价配置");
|
||||
return ApiResponse.success(List.of());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有一口价配置
|
||||
*/
|
||||
@GetMapping("/bundles")
|
||||
public ApiResponse<List<PriceBundleConfig>> getBundleConfigs() {
|
||||
List<PriceBundleConfig> configs = bundleService.getActiveBundles();
|
||||
return ApiResponse.success(configs);
|
||||
}
|
||||
|
||||
// ==================== 配置管理API(手动处理时间) ====================
|
||||
|
||||
/**
|
||||
* 创建商品配置
|
||||
*/
|
||||
@PostMapping("/products")
|
||||
public ApiResponse<Long> createProductConfig(@RequestBody PriceProductConfig config) {
|
||||
log.info("创建商品配置: {}", config.getProductName());
|
||||
Long id = managementService.createProductConfig(config);
|
||||
return ApiResponse.success(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新商品配置
|
||||
*/
|
||||
@PutMapping("/products/{id}")
|
||||
public ApiResponse<Boolean> updateProductConfig(@PathVariable Long id, @RequestBody PriceProductConfig config) {
|
||||
log.info("更新商品配置: id={}, name={}", id, config.getProductName());
|
||||
config.setId(id);
|
||||
boolean success = managementService.updateProductConfig(config);
|
||||
return ApiResponse.success(success);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建阶梯定价配置
|
||||
*/
|
||||
@PostMapping("/tiers")
|
||||
public ApiResponse<Long> createTierConfig(@RequestBody PriceTierConfig config) {
|
||||
log.info("创建阶梯定价配置: productType={}, price={}", config.getProductType(), config.getPrice());
|
||||
Long id = managementService.createTierConfig(config);
|
||||
return ApiResponse.success(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新阶梯定价配置
|
||||
*/
|
||||
@PutMapping("/tiers/{id}")
|
||||
public ApiResponse<Boolean> updateTierConfig(@PathVariable Long id, @RequestBody PriceTierConfig config) {
|
||||
log.info("更新阶梯定价配置: id={}", id);
|
||||
config.setId(id);
|
||||
boolean success = managementService.updateTierConfig(config);
|
||||
return ApiResponse.success(success);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建一口价配置
|
||||
*/
|
||||
@PostMapping("/bundles")
|
||||
public ApiResponse<Long> createBundleConfig(@RequestBody PriceBundleConfig config) {
|
||||
log.info("创建一口价配置: {}", config.getBundleName());
|
||||
Long id = managementService.createBundleConfig(config);
|
||||
return ApiResponse.success(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新一口价配置
|
||||
*/
|
||||
@PutMapping("/bundles/{id}")
|
||||
public ApiResponse<Boolean> updateBundleConfig(@PathVariable Long id, @RequestBody PriceBundleConfig config) {
|
||||
log.info("更新一口价配置: id={}, name={}", id, config.getBundleName());
|
||||
config.setId(id);
|
||||
boolean success = managementService.updateBundleConfig(config);
|
||||
return ApiResponse.success(success);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user