package com.xiaopeng.operation.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.xiaopeng.operation.dto.XpRideGuideDTO;
import com.xiaopeng.operation.mapper.XpRideGuideMapper;
import com.xiaopeng.api.model.operation.XpRideGuide;
import com.xiaopeng.operation.service.XpRideGuideService;
import com.xiaopeng.operation.vo.XpRideGuideNextVo;
import com.xiaopeng.operation.vo.XpRideGuideVo;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
/**
*
* 乘车指南 服务实现类
*
*
* @author liu
* @since 2026-02-03
*/
@Service
public class XpRideGuideServiceImpl extends ServiceImpl implements XpRideGuideService {
/**
* 获取rideGuide列表
* @return
*/
@Override
public XpRideGuideVo getXpRideGuideList() {
XpRideGuideVo xpRideGuideVo = new XpRideGuideVo();
List list = baseMapper.getXpRideGuideList();
xpRideGuideVo.setGuides(list);
xpRideGuideVo.setTotal(list.size());
return xpRideGuideVo;
}
/**
* 获取rideGuide列表
* @return
*/
@Override
public List getGideList() {
return list();
}
/**
* 保存乘车指南
* @param dto
*/
@Transactional(rollbackFor = Exception.class)
@Override
public void saveGuide(XpRideGuideDTO dto) {
//根据类型删除已配置的乘车指南
lambdaUpdate().eq(XpRideGuide::getGuideType, dto.getGuideList().get(0).getGuideType()).remove();
List guideList = dto.getGuideList();
List xpRideGuides = BeanUtil.copyToList(guideList, XpRideGuide.class);
saveBatch(xpRideGuides);
}
}