You've already forked FrameTour-BE
- 在 PriceBiz 和 PriceRepository 中添加对一价全包价格配置的处理逻辑 - 通过 IOnePricePurchaseService 获取一价全包配置信息 - 在查询商品列表时,增加对一价全包配置的判断和处理 -优化分享逻辑,修复了部分情况下分享状态不正确的问题
This commit is contained in:
@@ -9,6 +9,8 @@ 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.GoodsListRespVO;
|
||||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||||
|
import com.ycwl.basic.pricing.entity.PriceOnePriceConfig;
|
||||||
|
import com.ycwl.basic.pricing.service.IOnePricePurchaseService;
|
||||||
import com.ycwl.basic.repository.FaceRepository;
|
import com.ycwl.basic.repository.FaceRepository;
|
||||||
import com.ycwl.basic.repository.PriceRepository;
|
import com.ycwl.basic.repository.PriceRepository;
|
||||||
import com.ycwl.basic.repository.ScenicRepository;
|
import com.ycwl.basic.repository.ScenicRepository;
|
||||||
@@ -37,6 +39,8 @@ public class PriceBiz {
|
|||||||
private FaceRepository faceRepository;
|
private FaceRepository faceRepository;
|
||||||
@Autowired
|
@Autowired
|
||||||
private CouponBiz couponBiz;
|
private CouponBiz couponBiz;
|
||||||
|
@Autowired
|
||||||
|
private IOnePricePurchaseService onePricePurchaseService;
|
||||||
|
|
||||||
public List<GoodsListRespVO> listGoodsByScenic(Long scenicId) {
|
public List<GoodsListRespVO> listGoodsByScenic(Long scenicId) {
|
||||||
List<GoodsListRespVO> goodsList = new ArrayList<>();
|
List<GoodsListRespVO> goodsList = new ArrayList<>();
|
||||||
@@ -139,7 +143,7 @@ public class PriceBiz {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
respVO.setShare(false);
|
respVO.setShare(false);
|
||||||
if (face != null && face.getMemberId().equals(userId)) {
|
if (face == null || !face.getMemberId().equals(userId)) {
|
||||||
respVO.setShare(true);
|
respVO.setShare(true);
|
||||||
}
|
}
|
||||||
return respVO;
|
return respVO;
|
||||||
|
@@ -1,5 +1,7 @@
|
|||||||
package com.ycwl.basic.repository;
|
package com.ycwl.basic.repository;
|
||||||
|
|
||||||
|
import com.ycwl.basic.pricing.entity.PriceOnePriceConfig;
|
||||||
|
import com.ycwl.basic.pricing.service.IOnePricePurchaseService;
|
||||||
import com.ycwl.basic.utils.JacksonUtil;
|
import com.ycwl.basic.utils.JacksonUtil;
|
||||||
import com.ycwl.basic.mapper.PriceConfigMapper;
|
import com.ycwl.basic.mapper.PriceConfigMapper;
|
||||||
import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity;
|
import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity;
|
||||||
@@ -7,7 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.data.redis.core.RedisTemplate;
|
import org.springframework.data.redis.core.RedisTemplate;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.util.Collections;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
@@ -19,8 +21,24 @@ public class PriceRepository {
|
|||||||
private RedisTemplate<String, String> redisTemplate;
|
private RedisTemplate<String, String> redisTemplate;
|
||||||
public static final String PRICE_SCENIC_TYPE_GOODS_CACHE = "price:s%s:t%s:g%s";
|
public static final String PRICE_SCENIC_TYPE_GOODS_CACHE = "price:s%s:t%s:g%s";
|
||||||
public static final String PRICE_ID_CACHE = "price:%s";
|
public static final String PRICE_ID_CACHE = "price:%s";
|
||||||
|
@Autowired
|
||||||
|
private IOnePricePurchaseService onePricePurchaseService;
|
||||||
|
|
||||||
public PriceConfigEntity getPriceConfigByScenicTypeGoods(Long scenicId, Integer type, String goodsId) {
|
public PriceConfigEntity getPriceConfigByScenicTypeGoods(Long scenicId, Integer type, String goodsId) {
|
||||||
|
if (type == -1) {
|
||||||
|
PriceOnePriceConfig config = onePricePurchaseService.getActiveConfigByScenic(scenicId);
|
||||||
|
if (config == null || !config.isTimeValid() || !config.isScenicMatch(scenicId)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
PriceConfigEntity entity = new PriceConfigEntity();
|
||||||
|
entity.setId(config.getId().intValue());
|
||||||
|
entity.setScenicId(config.getScenicId());
|
||||||
|
entity.setType(type);
|
||||||
|
entity.setSlashPrice(config.getOriginalPrice());
|
||||||
|
entity.setPrice(config.getOnePrice());
|
||||||
|
entity.setGoodsIds(goodsId);
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
String cacheKey = String.format(PRICE_SCENIC_TYPE_GOODS_CACHE, scenicId, type, goodsId);
|
String cacheKey = String.format(PRICE_SCENIC_TYPE_GOODS_CACHE, scenicId, type, goodsId);
|
||||||
PriceConfigEntity priceConfigEntity = null;
|
PriceConfigEntity priceConfigEntity = null;
|
||||||
if (redisTemplate.hasKey(cacheKey)) {
|
if (redisTemplate.hasKey(cacheKey)) {
|
||||||
@@ -37,6 +55,17 @@ public class PriceRepository {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public PriceConfigEntity getPriceConfig(Integer id) {
|
public PriceConfigEntity getPriceConfig(Integer id) {
|
||||||
|
PriceOnePriceConfig config = onePricePurchaseService.getConfigById(Long.valueOf(id));
|
||||||
|
if (config != null && config.isTimeValid() && config.getIsActive()) {
|
||||||
|
PriceConfigEntity priceConfig = new PriceConfigEntity();
|
||||||
|
priceConfig.setId(config.getId().intValue());
|
||||||
|
priceConfig.setScenicId(config.getScenicId());
|
||||||
|
priceConfig.setType(-1);
|
||||||
|
priceConfig.setGoodsIds("");
|
||||||
|
priceConfig.setSlashPrice(config.getOriginalPrice());
|
||||||
|
priceConfig.setPrice(config.getOnePrice());
|
||||||
|
return priceConfig;
|
||||||
|
}
|
||||||
String cacheKey = String.format(PRICE_ID_CACHE, id);
|
String cacheKey = String.format(PRICE_ID_CACHE, id);
|
||||||
PriceConfigEntity priceConfigEntity = null;
|
PriceConfigEntity priceConfigEntity = null;
|
||||||
if (redisTemplate.hasKey(cacheKey)) {
|
if (redisTemplate.hasKey(cacheKey)) {
|
||||||
|
Reference in New Issue
Block a user