|
|
@@ -28,6 +28,7 @@ import org.springframework.validation.annotation.Validated;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
import static com.yc.ship.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
import static com.yc.ship.module.product.enums.ErrorCodeConstants.PRICE_TEMPLATE_NOT_EXISTS;
|
|
|
@@ -120,10 +121,15 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
|
|
|
public PriceTemplateRespVO getPriceTemplate(Long id) {
|
|
|
PriceTemplateDO priceTemplate = priceTemplateMapper.selectById(id);
|
|
|
PriceTemplateRespVO respVO = BeanUtils.toBean(priceTemplate, PriceTemplateRespVO.class);
|
|
|
- PriceSingleSettingDO singleSettingDO = priceSingleSettingService.getByObjectId(id);
|
|
|
- respVO.setSingleSetting(BeanUtils.toBean(singleSettingDO, PriceSingleSettingRespVO.class));
|
|
|
List<PriceRoomModelDO> roomModelDOList = priceRoomModelService.getListByObjectId(id);
|
|
|
- respVO.setRoomModelList(BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class));
|
|
|
+ List<PriceRoomModelRespVO> priceRoomModelRespVOS = BeanUtils.toBean(roomModelDOList, PriceRoomModelRespVO.class);
|
|
|
+ List<PriceSingleSettingDO> singleSettingList = priceSingleSettingService.getByObjectId(id);
|
|
|
+ List<PriceSingleSettingRespVO> priceSingleSettingRespVOS = BeanUtils.toBean(singleSettingList, PriceSingleSettingRespVO.class);
|
|
|
+ Map<Long, PriceSingleSettingRespVO> singleSettingRespVOMap = CollectionUtils.convertMap(priceSingleSettingRespVOS, PriceSingleSettingRespVO::getRoomModelId);
|
|
|
+ priceRoomModelRespVOS.stream().forEach(item -> {
|
|
|
+ item.setSingleSetting(singleSettingRespVOMap.get(item.getRoomModelId()));
|
|
|
+ });
|
|
|
+ respVO.setRoomModelList(priceRoomModelRespVOS);
|
|
|
List<PriceFloorDO> floorDOList = priceFloorService.getListByObjectId(id);
|
|
|
respVO.setFloorList(BeanUtils.toBean(floorDOList, PriceFloorRespVO.class));
|
|
|
List<PriceAreaDO> areaList = priceAreaService.getListByObjectId(id);
|
|
|
@@ -151,16 +157,27 @@ public class PriceTemplateServiceImpl implements PriceTemplateService {
|
|
|
roomModel.setObjectId(objectId);
|
|
|
});
|
|
|
priceRoomModelMapper.insertBatch(roomModelList);
|
|
|
+
|
|
|
+ //插入单人票设置
|
|
|
+ List<PriceSingleSettingDO> singleSettingList = new ArrayList<>();
|
|
|
+ roomModelList.stream().forEach(roomModel -> {
|
|
|
+ PriceSingleSettingDO singleSetting = roomModel.getSingleSetting();
|
|
|
+ if(singleSetting != null) {
|
|
|
+ singleSetting.setRoomModelId(roomModel.getRoomModelId());
|
|
|
+ singleSetting.setObjectId(objectId);
|
|
|
+ singleSettingList.add(singleSetting);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if(singleSettingList.size() > 0) {
|
|
|
+ priceSingleSettingMapper.insertBatch(singleSettingList);
|
|
|
+ }
|
|
|
//插入楼层价格系数
|
|
|
List<PriceFloorDO> floorList = vo.getFloorList();
|
|
|
floorList.stream().forEach(floor -> {
|
|
|
floor.setObjectId(objectId);
|
|
|
});
|
|
|
priceFloorMapper.insertBatch(floorList);
|
|
|
- //插入单人票设置
|
|
|
- PriceSingleSettingDO singleSetting = vo.getSingleSetting();
|
|
|
- singleSetting.setObjectId(objectId);
|
|
|
- priceSingleSettingMapper.insert(singleSetting);
|
|
|
+
|
|
|
|
|
|
//插入区域加价
|
|
|
List<PriceAreaDO> areaList = vo.getAreaList();
|