DistributorServiceImpl.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. package com.om.service.impl;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.collection.CollectionUtil;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.om.entity.dto.DistributorDTO;
  6. import com.om.entity.dto.DistributorQueryPageDTO;
  7. import com.om.entity.po.Brand;
  8. import com.om.entity.po.Distributor;
  9. import com.om.entity.vo.DistributorQueryPageVO;
  10. import com.om.entity.vo.DistributorVO;
  11. import com.om.exception.BadReqException;
  12. import com.om.mapper.DistributorMapper;
  13. import com.om.service.IDistributorService;
  14. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  15. import com.om.utils.Result;
  16. import org.springframework.stereotype.Service;
  17. import java.time.LocalDateTime;
  18. import java.util.ArrayList;
  19. import java.util.Collections;
  20. import java.util.List;
  21. /**
  22. * <p>
  23. * 修理厂信息表 服务实现类
  24. * </p>
  25. *
  26. * @author bmmx
  27. * @since 2024-02-08
  28. */
  29. @Service
  30. public class DistributorServiceImpl extends ServiceImpl<DistributorMapper, Distributor> implements IDistributorService {
  31. @Override
  32. public Result createDistributor(DistributorDTO dto) {
  33. //判断是否为空
  34. if (BeanUtil.isEmpty(dto)){
  35. throw new BadReqException("参数为空");
  36. }
  37. Distributor distributor = BeanUtil.copyProperties(dto, Distributor.class);
  38. LocalDateTime now = LocalDateTime.now();
  39. distributor.setCreateTime(now);
  40. distributor.setUpdateTime(now);
  41. //保存
  42. this.save(distributor);
  43. return Result.ok();
  44. }
  45. @Override
  46. public Result<DistributorVO> queryDistributorById(Integer id) {
  47. //根据id查询
  48. Distributor distributor = this.getById(id);
  49. //判断是否为空
  50. if (BeanUtil.isEmpty(distributor)){
  51. throw new BadReqException("该维修厂不存在");
  52. }
  53. //封装vo
  54. DistributorVO distributorVO = BeanUtil.copyProperties(distributor, DistributorVO.class);
  55. return Result.ok(distributorVO);
  56. }
  57. @Override
  58. public Result<List<DistributorVO>> queryList() {
  59. //查询集合
  60. List<Distributor> list = this.list();
  61. if (CollectionUtil.isEmpty(list)){
  62. return Result.ok(Collections.emptyList());
  63. }
  64. List<DistributorVO> distributorVOS = BeanUtil.copyToList(list, DistributorVO.class);
  65. return Result.ok(distributorVOS);
  66. }
  67. @Override
  68. public Result upStatus(Integer id, Integer status) {
  69. //根据id查询
  70. Distributor distributor = this.getById(id);
  71. if (BeanUtil.isEmpty(distributor)){
  72. throw new BadReqException("该维修厂不存在");
  73. }
  74. //修改状态
  75. distributor.setEnableStatus(status);
  76. this.updateById(distributor);
  77. return Result.ok();
  78. }
  79. @Override
  80. public Result updateDistributor(DistributorDTO dto) {
  81. //根据id查询
  82. Distributor distributor = this.getById(dto.getId());
  83. if (BeanUtil.isEmpty(distributor)){
  84. throw new BadReqException("该维修厂不存在");
  85. }
  86. BeanUtil.copyProperties(dto,distributor);
  87. distributor.setUpdateTime(LocalDateTime.now());
  88. //修改
  89. this.updateById(distributor);
  90. return Result.ok();
  91. }
  92. @Override
  93. public Result<DistributorQueryPageVO> queryPageList(DistributorQueryPageDTO dto) {
  94. Integer pageSize = dto.getPageSize();
  95. Integer pageIndex = dto.getPageIndex();
  96. String searchName = dto.getSearchName();
  97. String searchTelephone = dto.getSearchTelephone();
  98. //分页查询
  99. Page<Distributor> page = this.lambdaQuery()
  100. .like(searchName != null, Distributor::getCompany, searchName)
  101. .like(searchTelephone != null, Distributor::getTelephone, searchTelephone)
  102. .orderByDesc(Distributor::getCreateTime)
  103. .page(new Page<>(pageIndex, pageSize));
  104. //封装vo
  105. DistributorQueryPageVO vo = new DistributorQueryPageVO();
  106. vo.setCurrent((int) page.getCurrent());
  107. vo.setSize((int) page.getSize());
  108. vo.setPages((int) page.getPages());
  109. vo.setTotal((int) page.getTotal());
  110. if (searchName !=null || searchTelephone !=null){
  111. vo.setSearchCount(true);
  112. }
  113. List<Distributor> records = page.getRecords();
  114. List<DistributorVO> distributorVOS = BeanUtil.copyToList(records, DistributorVO.class);
  115. vo.setRecords(distributorVOS);
  116. return Result.ok(vo);
  117. }
  118. }