CommercialServiceImpl.java 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. package com.ruoyi.demo.service.impl;
  2. import cn.dev33.satoken.annotation.SaIgnore;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.ruoyi.common.core.validate.AddGroup;
  7. import com.ruoyi.common.core.validate.EditGroup;
  8. import com.ruoyi.demo.entity.App;
  9. import com.ruoyi.demo.entity.Commercial;
  10. import com.ruoyi.demo.entity.bo.CommercialBo;
  11. import com.ruoyi.demo.entity.vo.CommercialVo;
  12. import com.ruoyi.demo.mapper.AppMapper;
  13. import com.ruoyi.demo.mapper.CommercialMapper;
  14. import com.ruoyi.demo.service.CommericalService;
  15. import com.ruoyi.demo.utils.InitMapUtil;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.stereotype.Service;
  18. import javax.validation.constraints.NotBlank;
  19. import java.time.LocalDateTime;
  20. import java.util.ArrayList;
  21. import java.util.Arrays;
  22. import java.util.HashMap;
  23. import java.util.List;
  24. import java.util.stream.Collectors;
  25. @Service
  26. public class CommercialServiceImpl implements CommericalService {
  27. @Autowired
  28. CommercialMapper commercialMapper;
  29. @Autowired
  30. InitMapUtil initMapUtil;
  31. @Autowired
  32. AppMapper appMapper;
  33. @Override
  34. public void addCommercial(CommercialVo commercialVo) {
  35. Commercial commercial = new Commercial(commercialVo);
  36. commercial.setCreateTime(LocalDateTime.now());
  37. commercial.setAddrCodeInfo(initMapUtil.getInitAddrCodeMap(commercial.getAddrCode()));
  38. commercialMapper.insert(commercial);
  39. }
  40. @Override
  41. public String deleteCommercial(String[] commercialIds) {
  42. //1.判断旗下是否有小程序
  43. QueryWrapper<App> queryWrapper = new QueryWrapper<>();
  44. queryWrapper.in("commercial_id",commercialIds);
  45. Long aLong = appMapper.selectCount(queryWrapper);
  46. if (aLong != 0L)
  47. return "待删除的商户中存在App";
  48. commercialMapper.deleteBatchIds(Arrays.asList(commercialIds));
  49. return "删除成功";
  50. }
  51. @Override
  52. public Commercial getCommercial(String commercialId) {
  53. return commercialMapper.selectById(commercialId);
  54. }
  55. @Override
  56. public HashMap getCommercialList(CommercialVo commercialVo) {
  57. QueryWrapper<Commercial> queryWrapper = new QueryWrapper<>();
  58. if(commercialVo.getSearchText() != null && !commercialVo.getSearchText().equals("")){
  59. queryWrapper.likeRight("commercial_id",commercialVo.getSearchText());
  60. queryWrapper.or().like("commercial_name",commercialVo.getSearchText());
  61. queryWrapper.or().like("principal_name",commercialVo.getSearchText());
  62. queryWrapper.or().likeRight("principal_telephone",commercialVo.getSearchText());
  63. }
  64. Page<Commercial> page = new Page<>();
  65. page.setCurrent(commercialVo.getPageNum());
  66. page.setSize(commercialVo.getPageSize());
  67. Page<Commercial> commercialPage = commercialMapper.selectPage(page, queryWrapper);
  68. //1.找到需要关联的小程序
  69. ArrayList<String> commercialIds = new ArrayList<>();
  70. List<CommercialBo> result = new ArrayList<>();
  71. for (Commercial commercial : commercialPage.getRecords()) {
  72. commercialIds.add(commercial.getCommercialId());
  73. CommercialBo commercialBo = new CommercialBo(commercial);
  74. commercialBo.setApps(new ArrayList<>());
  75. result.add(commercialBo);
  76. }
  77. QueryWrapper<App> queryWrapper1 = new QueryWrapper<>();
  78. queryWrapper1.select("commercial_id","app_name");
  79. queryWrapper1.in("commercial_id",commercialIds);
  80. List<App> apps = appMapper.selectList(queryWrapper1);
  81. //2.组装Bo
  82. for (CommercialBo commercialBo : result) {
  83. ArrayList<String> list = new ArrayList<>();
  84. apps.stream().forEach(item -> {
  85. if(item.getCommercialId().equals(commercialBo.getCommercialId()))
  86. list.add(item.getAppName());
  87. });
  88. commercialBo.setApps(list);
  89. }
  90. commercialPage.setRecords(null);
  91. HashMap<String, Object> objectObjectHashMap = new HashMap<>();
  92. objectObjectHashMap.put("page",commercialPage);
  93. objectObjectHashMap.put("data",result);
  94. return objectObjectHashMap;
  95. }
  96. @Override
  97. public List<Commercial> getCommercialName() {
  98. QueryWrapper<Commercial> queryWrapper = new QueryWrapper<>();
  99. queryWrapper.select("commercial_name","commercial_id");
  100. List<Commercial> commercials = commercialMapper.selectList(queryWrapper);
  101. return commercials;
  102. }
  103. @Override
  104. public void updateCommercial(CommercialVo commercialVo) {
  105. //1.修改商户
  106. UpdateWrapper<Commercial> updateWrapper = new UpdateWrapper<>();
  107. updateWrapper.eq("commercial_id",commercialVo.getCommercialId())
  108. .set("commercial_name",commercialVo.getCommercialName())
  109. .set("code",commercialVo.getCode())
  110. .set("principal_name",commercialVo.getPrincipalName())
  111. .set("principal_telephone",commercialVo.getPrincipalTelephone())
  112. .set("prove_1",commercialVo.getProve1())
  113. .set("prove_2",commercialVo.getProve2())
  114. .set("prove_3",commercialVo.getProve3())
  115. .set("prove_4",commercialVo.getProve4())
  116. .set("prove_5",commercialVo.getProve5())
  117. .set("addr_code",commercialVo.getAddrCode())
  118. .set("addr_code_info",initMapUtil.getInitAddrCodeMap(commercialVo.getAddrCode()))
  119. .set("addr_info",commercialVo.getAddrInfo());
  120. commercialMapper.update(null,updateWrapper);
  121. //2.修改app中的商户名字
  122. UpdateWrapper<App> updateWrapper1 = new UpdateWrapper<>();
  123. updateWrapper1.eq("commercial_id",commercialVo.getCommercialId())
  124. .set("commercial_name",commercialVo.getCommercialName());
  125. appMapper.update(null,updateWrapper1);
  126. }
  127. }