GEmergencyRepairServiceImpl.java 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package com.ruoyi.gas.service.impl;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4. import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
  7. import com.ruoyi.common.core.page.TableDataInfo;
  8. import com.ruoyi.common.utils.PageUtils;
  9. import com.ruoyi.common.utils.StringUtils;
  10. import com.ruoyi.gas.domain.GEmergencyRepair;
  11. import com.ruoyi.gas.domain.bo.GEmergencyRepairBo;
  12. import com.ruoyi.gas.domain.bo.GEmergencyRepairPhotoBo;
  13. import com.ruoyi.gas.domain.vo.GEmergencyRepairVo;
  14. import com.ruoyi.gas.mapper.GEmergencyRepairMapper;
  15. import com.ruoyi.gas.service.IGEmergencyRepairPhotoService;
  16. import com.ruoyi.gas.service.IGEmergencyRepairService;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.stereotype.Service;
  19. import java.util.Collection;
  20. import java.util.List;
  21. import java.util.Map;
  22. import java.util.stream.Collectors;
  23. /**
  24. * 抢险维修Service业务层处理
  25. *
  26. * @author JX.Li
  27. * @date 2023-10-23
  28. */
  29. @Service
  30. public class GEmergencyRepairServiceImpl extends ServicePlusImpl<GEmergencyRepairMapper, GEmergencyRepair, GEmergencyRepairVo> implements IGEmergencyRepairService {
  31. @Autowired
  32. private IGEmergencyRepairPhotoService igEmergencyRepairPhotoService;
  33. @Override
  34. public GEmergencyRepairVo queryById(Long id) {
  35. GEmergencyRepairVo byId = baseMapper.getById(id);
  36. byId.setPhotoList(baseMapper.getPhoto(id));
  37. return byId;
  38. }
  39. @Override
  40. public TableDataInfo<GEmergencyRepairVo> queryPageList(GEmergencyRepairBo bo) {
  41. Page<GEmergencyRepairVo> page = new Page<>(bo.getPageNum(), bo.getPageSize());
  42. Page<GEmergencyRepairVo> list = baseMapper.getList(bo, page);
  43. return PageUtils.buildDataInfo(list);
  44. }
  45. @Override
  46. public List<GEmergencyRepairVo> queryList(GEmergencyRepairBo bo) {
  47. return listVo(buildQueryWrapper(bo));
  48. }
  49. private LambdaQueryWrapper<GEmergencyRepair> buildQueryWrapper(GEmergencyRepairBo bo) {
  50. Map<String, Object> params = bo.getParams();
  51. LambdaQueryWrapper<GEmergencyRepair> lqw = Wrappers.lambdaQuery();
  52. lqw.like(StringUtils.isNotBlank(bo.getRepairName()), GEmergencyRepair::getRepairName, bo.getRepairName());
  53. return lqw;
  54. }
  55. @Override
  56. public Boolean insertByBo(GEmergencyRepairBo bo) {
  57. GEmergencyRepair add = BeanUtil.toBean(bo, GEmergencyRepair.class);
  58. validEntityBeforeSave(add);
  59. boolean flag = save(add);
  60. if (flag) {
  61. bo.setId(add.getId());
  62. //添加照片
  63. List<String> piclist = bo.getPhotoList();
  64. if (piclist != null) {
  65. for (int i = 0; i < bo.getPhotoList().size(); i++) {
  66. GEmergencyRepairPhotoBo photo = new GEmergencyRepairPhotoBo();
  67. photo.setEmergencyRepairId(bo.getId());
  68. photo.setPicUrl(bo.getPhotoList().get(i));
  69. igEmergencyRepairPhotoService.insertByBo(photo);
  70. }
  71. }
  72. }
  73. return flag;
  74. }
  75. @Override
  76. public Boolean updateByBo(GEmergencyRepairBo bo) {
  77. GEmergencyRepair update = BeanUtil.toBean(bo, GEmergencyRepair.class);
  78. validEntityBeforeSave(update);
  79. List<String> piclist = bo.getPhotoList();
  80. if (piclist != null) {
  81. //原有的照片
  82. List<String> photolist = baseMapper.getPhoto(bo.getId());
  83. //原有的照片不在新传的照片里
  84. List<String> dellist = photolist.stream().filter(i -> !piclist.contains(i)).collect(Collectors.toList());
  85. //删除照片
  86. if (dellist.size() > 0) {
  87. igEmergencyRepairPhotoService.deleteByUrl(bo.getId(), dellist);
  88. }
  89. //新传的照片不在原有的照片里
  90. List<String> inslist = piclist.stream().filter(i -> !photolist.contains(i)).collect(Collectors.toList());
  91. if (inslist.size() > 0) {
  92. for (int i = 0; i < inslist.size(); i++) {
  93. if (StringUtils.isNotEmpty(inslist.get(i))) {
  94. //添加照片
  95. GEmergencyRepairPhotoBo photo = new GEmergencyRepairPhotoBo();
  96. photo.setEmergencyRepairId(bo.getId());
  97. photo.setPicUrl(inslist.get(i));
  98. igEmergencyRepairPhotoService.insertByBo(photo);
  99. }
  100. }
  101. }
  102. }
  103. return updateById(update);
  104. }
  105. /**
  106. * 保存前的数据校验
  107. *
  108. * @param entity 实体类数据
  109. */
  110. private void validEntityBeforeSave(GEmergencyRepair entity) {
  111. //TODO 做一些数据校验,如唯一约束
  112. }
  113. @Override
  114. public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
  115. if (isValid) {
  116. //TODO 做一些业务上的校验,判断是否需要校验
  117. }
  118. return removeByIds(ids);
  119. }
  120. }