refactor(scenic): 替换ScenicConfigEntity为ScenicConfigManager

- 将所有使用ScenicConfigEntity的地方替换为ScenicConfigManager
- 更新获取景区配置的方法调用
- 修改属性访问方式为通过manager的getter方法
- 移除已废弃的ScenicConfigEntity类及相关方法
- 统一配置读取接口,提高代码一致性与可维护性
This commit is contained in:
2025-12-19 19:02:37 +08:00
parent f2ba5ed65b
commit 3f4d3cb7ac
18 changed files with 114 additions and 190 deletions

View File

@@ -7,7 +7,7 @@ import com.ycwl.basic.mapper.StatisticsMapper;
import com.ycwl.basic.model.pc.broker.entity.BrokerRecord;
import com.ycwl.basic.model.pc.broker.resp.BrokerRespVO;
import com.ycwl.basic.model.pc.order.entity.OrderEntity;
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
import com.ycwl.basic.integration.common.manager.ScenicConfigManager;
import com.ycwl.basic.repository.OrderRepository;
import com.ycwl.basic.repository.ScenicRepository;
import lombok.extern.slf4j.Slf4j;
@@ -43,14 +43,14 @@ public class BrokerBiz {
log.info("订单不存在,订单ID:{}", orderId);
return;
}
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(order.getScenicId());
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(order.getScenicId());
if (scenicConfig == null) {
log.info("景区不存在,订单ID:{}", orderId);
return;
}
int expireDay = 3;
if (scenicConfig.getSampleStoreDay() != null) {
expireDay = scenicConfig.getSampleStoreDay();
if (scenicConfig.getInteger("sample_store_day") != null) {
expireDay = scenicConfig.getInteger("sample_store_day");
}
List<Long> brokerIdList = statisticsMapper.getBrokerIdListForUser(order.getMemberId(), DateUtil.offsetDay(DateUtil.beginOfDay(order.getCreateAt()), -expireDay), order.getCreateAt());
if (brokerIdList == null || brokerIdList.isEmpty()) {
@@ -103,7 +103,7 @@ public class BrokerBiz {
BigDecimal realRate = broker.getBrokerRate();
BigDecimal brokerPrice = order.getPayPrice().multiply(realRate).divide(BigDecimal.valueOf(100), 2, RoundingMode.DOWN);
// todo 需要计算实际提成比例
BigDecimal firstRate = scenicConfig.getBrokerDirectRate();
BigDecimal firstRate = scenicConfig.getBigDecimal("broker_direct_rate");
if (firstRate == null) {
firstRate = BigDecimal.ZERO;
}

View File

@@ -10,7 +10,7 @@ import com.ycwl.basic.model.mobile.statistic.req.StatisticsRecordAddReq;
import com.ycwl.basic.model.pc.face.entity.FaceEntity;
import com.ycwl.basic.model.pc.order.entity.OrderEntity;
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
import com.ycwl.basic.integration.common.manager.ScenicConfigManager;
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
import com.ycwl.basic.pricing.dto.PriceCalculationRequest;
@@ -71,9 +71,9 @@ public class OrderBiz {
PriceObj priceObj = new PriceObj();
priceObj.setGoodsType(goodsType);
priceObj.setGoodsId(goodsId);
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
if (scenicConfig != null) {
if (Boolean.TRUE.equals(scenicConfig.getAllFree())) {
if (Boolean.TRUE.equals(scenicConfig.getBoolean("all_free"))) {
// 景区全免
priceObj.setFree(true);
priceObj.setPrice(BigDecimal.ZERO);

View File

@@ -8,7 +8,7 @@ import com.ycwl.basic.model.pc.order.entity.OrderEntity;
import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity;
import com.ycwl.basic.model.pc.price.resp.GoodsListRespVO;
import com.ycwl.basic.model.pc.price.resp.SimpleGoodsRespVO;
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
import com.ycwl.basic.integration.common.manager.ScenicConfigManager;
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
import com.ycwl.basic.product.capability.ProductTypeCapability;
@@ -65,12 +65,12 @@ public class PriceBiz {
goods.setGoodsType(0);
return goods;
}).forEach(goodsList::add);
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
if (scenicConfig != null) {
if (!Boolean.TRUE.equals(scenicConfig.getDisableSourceVideo())) {
if (!Boolean.TRUE.equals(scenicConfig.getBoolean("disable_source_video"))) {
goodsList.add(new GoodsListRespVO(1L, "录像集", 1));
}
if (!Boolean.TRUE.equals(scenicConfig.getDisableSourceImage())) {
if (!Boolean.TRUE.equals(scenicConfig.getBoolean("disable_source_image"))) {
goodsList.add(new GoodsListRespVO(2L, "照片集", 2));
}
}
@@ -220,9 +220,9 @@ public class PriceBiz {
if (face != null && !face.getMemberId().equals(userId)) {
return null;
}
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
ScenicConfigManager scenicConfig = scenicRepository.getScenicConfigManager(scenicId);
if (scenicConfig != null) {
if (Boolean.TRUE.equals(scenicConfig.getAllFree())) {
if (Boolean.TRUE.equals(scenicConfig.getBoolean("all_free"))) {
// 景区全免
respVO.setFree(true);
respVO.setSlashPrice(BigDecimal.ZERO);
@@ -268,7 +268,7 @@ public class PriceBiz {
if (allContentsPurchased) {
if (scenicConfig != null) {
// 检查录像集
if (!Boolean.TRUE.equals(scenicConfig.getDisableSourceVideo())) {
if (!Boolean.TRUE.equals(scenicConfig.getBoolean("disable_source_video"))) {
boolean hasPurchasedRecording = orderRepository.checkUserBuyFaceItem(userId, faceId, 1, faceId);
if (!hasPurchasedRecording) {
allContentsPurchased = false;
@@ -276,7 +276,7 @@ public class PriceBiz {
}
// 检查照片集
if (allContentsPurchased && !Boolean.TRUE.equals(scenicConfig.getDisableSourceImage())) {
if (allContentsPurchased && !Boolean.TRUE.equals(scenicConfig.getBoolean("disable_source_image"))) {
boolean hasPurchasedPhoto = orderRepository.checkUserBuyFaceItem(userId, faceId, 2, faceId);
if (!hasPurchasedPhoto) {
allContentsPurchased = false;