package com.ydtech.modules.admin.service.impl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ydtech.modules.admin.dao.SysQueryVehicleConfigMapper; import com.ydtech.modules.admin.model.po.SysQueryVehicleConfig; import com.ydtech.modules.admin.model.po.SysQueryVehicleUrl; import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigQueryPageVo; import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigQueryVo; import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigSaveVo; import com.ydtech.modules.admin.service.SysQueryVehicleConfigService; import com.ydtech.modules.admin.service.SysQueryVehicleUrlService; import com.ydtech.modules.order.entity.BasePageResult; import com.ydtech.modules.protocol.utils.AssertionUtils; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; /** * @author Administrator * @description 针对表【sys_query_vehicle_config(车型查询配置信息)】的数据库操作Service实现 * @createDate 2024-08-16 10:20:52 */ @Service @RequiredArgsConstructor public class SysQueryVehicleConfigServiceImpl extends ServiceImpl implements SysQueryVehicleConfigService { private final SysQueryVehicleUrlService sysQueryVehicleUrlService; @Override @Transactional public void disposition(SysQueryVehicleConfigSaveVo sysQueryVehicleConfigSaveVo) { SysQueryVehicleConfigSaveVo.SysQueryVehicleConfigDTO sysQueryVehicleConfigDTO = sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO(); SysQueryVehicleConfig sysQueryVehicleConfig = sysQueryVehicleConfigDTO.toSysQueryVehicleConfig(); boolean save = save(sysQueryVehicleConfig); boolean b = sysQueryVehicleUrlService.saveVehicleUrlDTOs(sysQueryVehicleConfig.getId(), sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList()); AssertionUtils.isSucceed(save && b, "配置信息保存失败"); } @Override public BasePageResult inquire(SysQueryVehicleConfigQueryPageVo sysQueryVehicleConfigQueryVo) { Page page = new Page<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize()); Page sysQueryVehicleConfigPage = lambdaQuery().eq(SysQueryVehicleConfig::getCompanyId, sysQueryVehicleConfigQueryVo.getCompanyId()).eq(SysQueryVehicleConfig::getEnabled, sysQueryVehicleConfigQueryVo.getEnabled()).page(page); return new BasePageResult<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize(), sysQueryVehicleConfigPage.getTotal(), sysQueryVehicleConfigPage.getPages(), sysQueryVehicleConfigPage.getRecords()); } @Override @Transactional public void deleteVehicleConfig(Integer id) { // 删除配置信息 boolean b = removeById(id); // 删除配置链接信息 boolean remove = sysQueryVehicleUrlService.deleteByConfigId(id); AssertionUtils.isSucceed(remove && b, "配置信息删除失败"); } @Override public void modify(Integer id, SysQueryVehicleConfigSaveVo sysQueryVehicleConfigSaveVo) { // 修改配置信息 SysQueryVehicleConfig sysQueryVehicleConfig = getByIdExist(id, "查询配置信息不存在"); BeanUtils.copyProperties(sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO(), sysQueryVehicleConfig); sysQueryVehicleConfig.setId(id); boolean update = updateById(sysQueryVehicleConfig); // 删除并添加 boolean remove = sysQueryVehicleUrlService.deleteByConfigId(id); // 批量添加配置信息 boolean saveBatch = sysQueryVehicleUrlService.saveVehicleUrlDTOs(id, sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList()); AssertionUtils.isSucceed(update && remove && saveBatch, "配置信息修改失败"); } @Override public SysQueryVehicleConfigQueryVo queryById(Integer id) { SysQueryVehicleConfig sysQueryVehicleConfig = getByIdExist(id, "查询配置信息不存在"); SysQueryVehicleConfigQueryVo sysQueryVehicleConfigQueryDTO = new SysQueryVehicleConfigQueryVo(); sysQueryVehicleConfigQueryDTO.setSysQueryVehicleConfig(sysQueryVehicleConfig); List list = sysQueryVehicleUrlService.lambdaQuery().eq(SysQueryVehicleUrl::getConfigId, id).list(); sysQueryVehicleConfigQueryDTO.setSysQueryVehicleUrlList(list); return sysQueryVehicleConfigQueryDTO; } }