价格查询,待处理订单内容

This commit is contained in:
2025-08-14 10:48:59 +08:00
parent 41269572c7
commit 9c932b6ba8
41 changed files with 2371 additions and 1 deletions

View File

@@ -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);
}
}