CommercialServiceImpl.java 6.1 KB

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