You've already forked FrameTour-BE
价格配置
This commit is contained in:
22
src/main/java/com/ycwl/basic/service/PriceConfigService.java
Normal file
22
src/main/java/com/ycwl/basic/service/PriceConfigService.java
Normal file
@ -0,0 +1,22 @@
|
||||
package com.ycwl.basic.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity;
|
||||
import com.ycwl.basic.model.pc.price.req.PriceConfigListReq;
|
||||
import com.ycwl.basic.model.pc.price.resp.GoodsListRespVO;
|
||||
import com.ycwl.basic.model.pc.price.resp.PriceConfigRespVO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PriceConfigService extends IService<PriceConfigEntity> {
|
||||
|
||||
List<PriceConfigRespVO> listByCondition(PriceConfigListReq req);
|
||||
|
||||
PriceConfigRespVO findById(Integer id);
|
||||
|
||||
List<GoodsListRespVO> listGoodsByScenic(Long scenicId);
|
||||
|
||||
void fillGoodsName(List<PriceConfigRespVO> result);
|
||||
|
||||
void fillGoodsName(PriceConfigRespVO config);
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
package com.ycwl.basic.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.ycwl.basic.mapper.PriceConfigMapper;
|
||||
import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity;
|
||||
import com.ycwl.basic.model.pc.price.req.PriceConfigListReq;
|
||||
import com.ycwl.basic.model.pc.price.resp.GoodsListRespVO;
|
||||
import com.ycwl.basic.model.pc.price.resp.PriceConfigRespVO;
|
||||
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
|
||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
import com.ycwl.basic.repository.ScenicRepository;
|
||||
import com.ycwl.basic.repository.TemplateRepository;
|
||||
import com.ycwl.basic.service.PriceConfigService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class PriceConfigServiceImpl extends ServiceImpl<PriceConfigMapper, PriceConfigEntity> implements PriceConfigService {
|
||||
|
||||
@Autowired
|
||||
private TemplateRepository templateRepository;
|
||||
@Autowired
|
||||
private ScenicRepository scenicRepository;
|
||||
|
||||
@Override
|
||||
public List<PriceConfigRespVO> listByCondition(PriceConfigListReq req) {
|
||||
return baseMapper.listByCondition(req);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PriceConfigRespVO findById(Integer id) {
|
||||
return baseMapper.getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GoodsListRespVO> listGoodsByScenic(Long scenicId) {
|
||||
List<GoodsListRespVO> goodsList = new ArrayList<>();
|
||||
// 景区视频
|
||||
List<TemplateRespVO> templateList = templateRepository.getTemplateListByScenicId(scenicId);
|
||||
templateList.stream().map(template -> {
|
||||
GoodsListRespVO goods = new GoodsListRespVO();
|
||||
goods.setGoodsId(template.getId());
|
||||
goods.setGoodsName(template.getName());
|
||||
return goods;
|
||||
}).forEach(goodsList::add);
|
||||
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(scenicId);
|
||||
if (scenicConfig != null) {
|
||||
if (!Integer.valueOf(1).equals(scenicConfig.getDisableSourceVideo())) {
|
||||
goodsList.add(new GoodsListRespVO(1L, "原片集"));
|
||||
}
|
||||
if (!Integer.valueOf(1).equals(scenicConfig.getDisableSourceImage())) {
|
||||
goodsList.add(new GoodsListRespVO(2L, "照片集"));
|
||||
}
|
||||
}
|
||||
return goodsList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillGoodsName(List<PriceConfigRespVO> result) {
|
||||
for (PriceConfigRespVO item : result) {
|
||||
fillGoodsName(item);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fillGoodsName(PriceConfigRespVO item) {
|
||||
if (Integer.valueOf(-1).equals(item.getType())) {
|
||||
item.setGoodsNames("景区内所有售卖商品");
|
||||
} else if (StringUtils.isNotBlank(item.getGoodsIds())) {
|
||||
List<String> goodsNames = new ArrayList<>();
|
||||
for (String s : item.getGoodsIds().split(",")) {
|
||||
if (StringUtils.equals(s, "1")) {
|
||||
goodsNames.add("原片集");
|
||||
} else if (StringUtils.equals(s, "2")) {
|
||||
goodsNames.add("照片集");
|
||||
} else {
|
||||
if (StringUtils.isNumeric(s)) {
|
||||
TemplateRespVO template = templateRepository.getTemplate(Long.valueOf(s));
|
||||
if (template != null) {
|
||||
goodsNames.add(template.getName());
|
||||
} else {
|
||||
goodsNames.add("?未知商品【"+s+"】?");
|
||||
}
|
||||
} else {
|
||||
goodsNames.add("!未知商品【"+s+"】!");
|
||||
}
|
||||
}
|
||||
}
|
||||
item.setGoodsNames(StringUtils.join(goodsNames, ","));
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user