SysQueryVehicleConfigServiceImpl.java 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.ydtech.modules.admin.service.impl;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  4. import com.ydtech.constants.InsuranceEnum;
  5. import com.ydtech.modules.admin.constants.EnabledEnum;
  6. import com.ydtech.modules.admin.dao.SysQueryVehicleConfigMapper;
  7. import com.ydtech.modules.admin.model.dto.SysQueryVehicleConfigDTO;
  8. import com.ydtech.modules.admin.model.po.SysQueryVehicleConfig;
  9. import com.ydtech.modules.admin.model.po.SysQueryVehicleUrl;
  10. import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigQueryPageVo;
  11. import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigQueryVo;
  12. import com.ydtech.modules.admin.model.vo.SysQueryVehicleConfigSaveVo;
  13. import com.ydtech.modules.admin.service.SysQueryVehicleConfigService;
  14. import com.ydtech.modules.admin.service.SysQueryVehicleUrlService;
  15. import com.ydtech.modules.order.entity.BasePageResult;
  16. import com.ydtech.modules.protocol.utils.AssertionUtils;
  17. import com.ydtech.utils.ObjectUtil;
  18. import com.ydtech.utils.StringUtils;
  19. import lombok.RequiredArgsConstructor;
  20. import org.apache.commons.lang3.ObjectUtils;
  21. import org.springframework.beans.BeanUtils;
  22. import org.springframework.stereotype.Service;
  23. import org.springframework.transaction.annotation.Transactional;
  24. import java.util.Collections;
  25. import java.util.List;
  26. import java.util.Objects;
  27. /**
  28. * @author Administrator
  29. * @description 针对表【sys_query_vehicle_config(车型查询配置信息)】的数据库操作Service实现
  30. * @createDate 2024-08-16 10:20:52
  31. */
  32. @Service
  33. @RequiredArgsConstructor
  34. public class SysQueryVehicleConfigServiceImpl extends ServiceImpl<SysQueryVehicleConfigMapper, SysQueryVehicleConfig> implements SysQueryVehicleConfigService {
  35. private final SysQueryVehicleUrlService sysQueryVehicleUrlService;
  36. @Override
  37. @Transactional
  38. public void disposition(SysQueryVehicleConfigSaveVo sysQueryVehicleConfigSaveVo) {
  39. SysQueryVehicleConfigSaveVo.SysQueryVehicleConfigDTO sysQueryVehicleConfigDTO = sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO();
  40. // 保证项目中只能出险一个开启的车险配置
  41. boolean b1 = updateEnabled(sysQueryVehicleConfigDTO.getEnabled());
  42. SysQueryVehicleConfig sysQueryVehicleConfig = sysQueryVehicleConfigDTO.toSysQueryVehicleConfig();
  43. boolean save = save(sysQueryVehicleConfig);
  44. boolean b = sysQueryVehicleUrlService.saveVehicleUrlDTOs(sysQueryVehicleConfig.getId(), sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList());
  45. AssertionUtils.isSucceed(save && b && b1, "配置信息保存失败");
  46. }
  47. @Override
  48. public BasePageResult<SysQueryVehicleConfig> inquire(SysQueryVehicleConfigQueryPageVo sysQueryVehicleConfigQueryVo) {
  49. Page<SysQueryVehicleConfig> page = new Page<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize());
  50. Page<SysQueryVehicleConfig> sysQueryVehicleConfigPage = lambdaQuery()
  51. .eq(StringUtils.isNotEmpty(sysQueryVehicleConfigQueryVo.getCompanyId()), SysQueryVehicleConfig::getCompanyId, sysQueryVehicleConfigQueryVo.getCompanyId())
  52. .eq(ObjectUtils.isNotEmpty(sysQueryVehicleConfigQueryVo.getEnabled()), SysQueryVehicleConfig::getEnabled, sysQueryVehicleConfigQueryVo.getEnabled())
  53. .page(page);
  54. return new BasePageResult<>(sysQueryVehicleConfigQueryVo.getPageNum(), sysQueryVehicleConfigQueryVo.getPageSize(), sysQueryVehicleConfigPage.getTotal(), sysQueryVehicleConfigPage.getPages(), sysQueryVehicleConfigPage.getRecords());
  55. }
  56. @Override
  57. @Transactional
  58. public void deleteVehicleConfig(Integer id) {
  59. // 删除配置信息
  60. boolean b = removeById(id);
  61. // 删除配置链接信息
  62. boolean remove = sysQueryVehicleUrlService.deleteByConfigId(id);
  63. AssertionUtils.isSucceed(remove && b, "配置信息删除失败");
  64. }
  65. @Override
  66. @Transactional
  67. public void modify(Integer id, SysQueryVehicleConfigSaveVo sysQueryVehicleConfigSaveVo) {
  68. // 修改配置信息
  69. SysQueryVehicleConfig sysQueryVehicleConfig = getByIdExist(id, "查询配置信息不存在");
  70. BeanUtils.copyProperties(sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO(), sysQueryVehicleConfig);
  71. // 保证项目中只能出险一个开启的车险配置
  72. boolean b = updateEnabled(sysQueryVehicleConfigSaveVo.getSysQueryVehicleConfigDTO().getEnabled());
  73. sysQueryVehicleConfig.setId(id);
  74. boolean update = updateById(sysQueryVehicleConfig);
  75. // 删除并添加
  76. boolean remove = sysQueryVehicleUrlService.deleteByConfigId(id);
  77. // 批量添加配置信息
  78. boolean saveBatch = sysQueryVehicleUrlService.saveVehicleUrlDTOs(id, sysQueryVehicleConfigSaveVo.getSysQueryVehicleUrlDTOList());
  79. AssertionUtils.isSucceed(update && remove && saveBatch && b, "配置信息修改失败");
  80. }
  81. @Override
  82. public SysQueryVehicleConfigQueryVo queryById(Integer id) {
  83. SysQueryVehicleConfig sysQueryVehicleConfig = getByIdExist(id, "查询配置信息不存在");
  84. SysQueryVehicleConfigQueryVo sysQueryVehicleConfigQueryDTO = new SysQueryVehicleConfigQueryVo();
  85. sysQueryVehicleConfigQueryDTO.setSysQueryVehicleConfig(sysQueryVehicleConfig);
  86. List<SysQueryVehicleUrl> list = sysQueryVehicleUrlService.lambdaQuery().eq(SysQueryVehicleUrl::getConfigId, id).list();
  87. sysQueryVehicleConfigQueryDTO.setSysQueryVehicleUrlList(list);
  88. return sysQueryVehicleConfigQueryDTO;
  89. }
  90. @Override
  91. public SysQueryVehicleConfigDTO getByType(String type) {
  92. SysQueryVehicleConfigDTO sysQueryVehicleConfigDTO = baseMapper.getByType(type);
  93. if(ObjectUtils.isEmpty(sysQueryVehicleConfigDTO)) {
  94. return null;
  95. }
  96. return sysQueryVehicleConfigDTO;
  97. }
  98. @Override
  99. @Transactional
  100. public void openOne(Integer id) {
  101. SysQueryVehicleConfig sysQueryVehicleConfig = getByIdExist(id, "查询配置信息不存在");
  102. Integer enabled = sysQueryVehicleConfig.getEnabled();
  103. Integer i = Objects.equals(EnabledEnum.EE_1.getCode(), enabled) ? EnabledEnum.EE_0.getCode() : EnabledEnum.EE_1.getCode();
  104. boolean b = updateEnabled(i);
  105. sysQueryVehicleConfig.setEnabled(i);
  106. boolean b1 = updateById(sysQueryVehicleConfig);
  107. AssertionUtils.isSucceed(b1 && b, "成功");
  108. }
  109. }