From 5a8a90c095280fbd2106869ecd2bad10e01a57a6 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期四, 23 十二月 2021 18:10:22 +0800
Subject: [PATCH] 12/23  大屏修改

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientMerchantServiceImpl.java |   86 ++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 81 insertions(+), 5 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientMerchantServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientMerchantServiceImpl.java
index a5e3fa5..2f8779f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientMerchantServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientMerchantServiceImpl.java
@@ -8,6 +8,7 @@
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
 
@@ -38,6 +39,7 @@
 import com.panzhihua.common.model.vos.community.convenient.ConvenientProductSpecificationVO;
 import com.panzhihua.common.model.vos.community.convenient.ConvenientProductVO;
 import com.panzhihua.common.model.vos.community.convenient.ConvenientViewStatisticsVO;
+import com.panzhihua.common.model.vos.community.convenient.ExportMerchantVO;
 import com.panzhihua.common.service.user.UserService;
 import com.panzhihua.service_community.dao.ComActDAO;
 import com.panzhihua.service_community.dao.ConvenientConsultationStatisticsDAO;
@@ -52,6 +54,8 @@
 import com.panzhihua.service_community.model.dos.ConvenientViewStatisticsDO;
 import com.panzhihua.service_community.service.ConvenientMerchantService;
 
+import lombok.extern.slf4j.Slf4j;
+
 /**
  * @title: ConvenientMerchantServiceImpl
  * @projectName: 成都呐喊信息技术有限公司-智慧社区项目
@@ -60,6 +64,7 @@
  * @date: 2021/09/16 16:14
  */
 @Service
+@Slf4j
 public class ConvenientMerchantServiceImpl extends ServiceImpl<ConvenientMerchantDAO, ConvenientMerchantDO> implements ConvenientMerchantService {
 
     @Resource
@@ -78,11 +83,16 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R addMerchant(ConvenientMerchantDTO convenientMerchantDTO) {
-        ComActDO comActDO = comActDAO.selectById(convenientMerchantDTO.getCommunityId());
         ConvenientMerchantDO convenientMerchantDO = new ConvenientMerchantDO();
         BeanUtils.copyProperties(convenientMerchantDTO, convenientMerchantDO);
+        if(convenientMerchantDTO.getCommunityId()==0){
+            convenientMerchantDO.setCommunityName("西区社区");
+        }
+        else {
+            ComActDO comActDO = comActDAO.selectById(convenientMerchantDTO.getCommunityId());
+            convenientMerchantDO.setCommunityName(comActDO.getName());
+        }
         convenientMerchantDO.setUserId(0L);
-        convenientMerchantDO.setCommunityName(comActDO.getName());
         convenientMerchantDO.setCreatedAt(new Date());
         int insertResult = this.baseMapper.insert(convenientMerchantDO);
         if (insertResult > 0) {
@@ -120,7 +130,12 @@
         Long communityId = convenientMerchantDTO.getCommunityId();
         if (nonNull(communityId)) {
             ComActDO comActDO = comActDAO.selectById(communityId);
-            convenientMerchantDO.setCommunityName(comActDO.getName());
+            if(comActDO!=null){
+                convenientMerchantDO.setCommunityName(comActDO.getName());
+            }
+            else {
+                convenientMerchantDO.setCommunityName("西区社区");
+            }
         }
         String account = convenientMerchantDTO.getAccount();
         if (isNotBlank(account)) {
@@ -140,6 +155,7 @@
             });
         }
         BeanUtils.copyProperties(convenientMerchantDTO, convenientMerchantDO);
+        convenientMerchantDO.setIntroduction(convenientMerchantDTO.getIntroduction());
         this.baseMapper.updateById(convenientMerchantDO);
         return R.ok();
     }
@@ -159,6 +175,15 @@
         page.setSize(pageConvenientMerchantDTO.getPageSize());
         page.setCurrent(pageConvenientMerchantDTO.getPageNum());
         IPage<ConvenientMerchantVO> iPage = this.baseMapper.pageMerchant(page, pageConvenientMerchantDTO);
+        if (nonNull(pageConvenientMerchantDTO.getServiceId())) {
+            List<ConvenientMerchantVO> records = iPage.getRecords();
+            if (!records.isEmpty()) {
+                records.forEach(record -> {
+                    String serviceScope = convenientServiceCategoryDAO.selectServiceScopeByMerchantId(record.getId());
+                    record.setServiceScope(serviceScope);
+                });
+            }
+        }
         return R.ok(iPage);
     }
 
@@ -172,7 +197,15 @@
 
     @Override
     public R disableOrEnableMerchant(DisableOrEnableConvenientMerchantDTO disableOrEnableConvenientMerchantDTO) {
+        List<ConvenientMerchantDO> convenientMerchantDOList = this.baseMapper.selectList(new QueryWrapper<ConvenientMerchantDO>()
+                .lambda().in(ConvenientMerchantDO::getId, disableOrEnableConvenientMerchantDTO.getIds()));
+        List<Long> userIds = convenientMerchantDOList.stream().map(ConvenientMerchantDO::getUserId).collect(Collectors.toList());
+        disableOrEnableConvenientMerchantDTO.setUserIds(userIds);
         R result = userService.disableOrEnableMerchantUsers(disableOrEnableConvenientMerchantDTO);
+        int type = disableOrEnableConvenientMerchantDTO.getType().intValue();
+        if (type == 2) {
+            this.baseMapper.batchUpdateBusinessStatus(convenientMerchantDOList, 0);
+        }
         if (R.isOk(result)) {
             return R.ok();
         }
@@ -181,9 +214,12 @@
 
     @Override
     public R resetPasswordMerchant(ResetPasswordConvenientMerchantDTO resetPasswordConvenientMerchantDTO) {
+        List<ConvenientMerchantDO> convenientMerchantDOList = this.baseMapper.selectList(new QueryWrapper<ConvenientMerchantDO>()
+                .lambda().in(ConvenientMerchantDO::getId, resetPasswordConvenientMerchantDTO.getIds()));
+        List<Long> userIds = convenientMerchantDOList.stream().map(ConvenientMerchantDO::getUserId).collect(Collectors.toList());
         EventGridMemberPassResetDTO eventGridMemberPassResetDTO = new EventGridMemberPassResetDTO();
         eventGridMemberPassResetDTO.setPassword(resetPasswordConvenientMerchantDTO.getPassword());
-        eventGridMemberPassResetDTO.setIds(resetPasswordConvenientMerchantDTO.getIds());
+        eventGridMemberPassResetDTO.setIds(userIds);
         return userService.gridMemberPassReset(eventGridMemberPassResetDTO);
     }
 
@@ -229,10 +265,14 @@
         SimpleDateFormat dayFormat = new SimpleDateFormat("yyyy-MM-dd");
         String moth = mothFormat.format(nowDate);
         String day = dayFormat.format(nowDate);
+        int consultationCount = convenientConsultationStatisticsDAO.selectTotalConsultationVolume(merchantId);
         int monthConsultationVolume = convenientConsultationStatisticsDAO.selectMonthConsultationVolume(merchantId, moth);
         int dayConsultationVolume = convenientConsultationStatisticsDAO.selectDayConsultationVolume(merchantId, day);
+        Integer viewCount = convenientViewStatisticsDAO.selectTotalViewNum(merchantId);
         int monthViewNum = convenientViewStatisticsDAO.selectMonthViewNum(merchantId, moth);
         int dayViewNum = convenientViewStatisticsDAO.selectDayViewNum(merchantId, day);
+        convenientMerchantVO.setConsultationVolume(consultationCount);
+        convenientMerchantVO.setViewNum(viewCount);
         convenientMerchantVO.setMonthConsultationVolume(monthConsultationVolume);
         convenientMerchantVO.setDayConsultationVolume(dayConsultationVolume);
         convenientMerchantVO.setMonthViewNum(monthViewNum);
@@ -249,6 +289,15 @@
         page.setSize(pagePopularMerchantDTO.getPageSize());
         page.setCurrent(pagePopularMerchantDTO.getPageNum());
         IPage<ConvenientMerchantVO> merchantVOList = this.baseMapper.getPopularMerchants(page, pagePopularMerchantDTO.getCommunityId(), currentMon);
+        if(pagePopularMerchantDTO.getPageNum().equals(1L)){
+            //第一页默认把犇师傅维修中心加载到第一个
+            List<ConvenientMerchantVO> merchantList = this.baseMapper.selectMerchantByName(pagePopularMerchantDTO.getCommunityId(), currentMon);
+            if(merchantList != null && merchantList.size() > 0){
+                merchantList.addAll(merchantVOList.getRecords());
+                merchantVOList.setRecords(merchantList);
+            }
+
+        }
         return R.ok(merchantVOList);
     }
 
@@ -261,6 +310,13 @@
         page.setSize(pageClassifyMerchantDTO.getPageSize());
         page.setCurrent(pageClassifyMerchantDTO.getPageNum());
         IPage<ConvenientMerchantVO> merchantVOList = this.baseMapper.getClassifyMerchants(page, pageClassifyMerchantDTO, currentMon);
+        List<ConvenientMerchantVO> records = merchantVOList.getRecords();
+        if (!records.isEmpty()) {
+            records.forEach(record -> {
+                String serviceScope = convenientServiceCategoryDAO.selectServiceScopeByMerchantId(record.getId());
+                record.setServiceScope(serviceScope);
+            });
+        }
         return R.ok(merchantVOList);
     }
 
@@ -313,6 +369,10 @@
 
     @Override
     public R consultMerchant(Long merchantId) {
+        ConvenientMerchantDO merchantDO = this.baseMapper.selectById(merchantId);
+        if (isNull(merchantDO)) {
+            return R.fail("商家不存在");
+        }
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
         String nowDate = simpleDateFormat.format(new Date());
         ConvenientConsultationStatisticsDO statisticsDO = convenientConsultationStatisticsDAO.selectOne(new LambdaQueryWrapper<ConvenientConsultationStatisticsDO>()
@@ -327,6 +387,10 @@
 
     @Override
     public R incrMerchantView(Long merchantId) {
+        ConvenientMerchantDO merchantDO = this.baseMapper.selectById(merchantId);
+        if (isNull(merchantDO)) {
+            return R.fail("商家不存在");
+        }
         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
         String nowDate = simpleDateFormat.format(new Date());
         ConvenientViewStatisticsDO statisticsDO = convenientViewStatisticsDAO.selectOne(new LambdaQueryWrapper<ConvenientViewStatisticsDO>()
@@ -341,7 +405,19 @@
 
     @Override
     public R exportMerchant(ExportMerchantDTO exportMerchantDTO) {
-        return R.ok(this.baseMapper.exportMerchant(exportMerchantDTO));
+        List<Long> needExportIds = exportMerchantDTO.getIds();
+        if (nonNull(needExportIds) && !needExportIds.isEmpty()) {
+            //根据id导出
+            return R.ok(this.baseMapper.exportMerchantByIds(needExportIds));
+        }
+        List<ExportMerchantVO> exportMerchantVOList = this.baseMapper.exportMerchantBySearch(exportMerchantDTO);
+        if (nonNull(exportMerchantDTO.getServiceId()) && !exportMerchantVOList.isEmpty()) {
+            exportMerchantVOList.forEach(merchant -> {
+                String serviceScope = convenientServiceCategoryDAO.selectServiceScopeByMerchantId(merchant.getId());
+                merchant.setServiceScope(serviceScope);
+            });
+        }
+        return R.ok(exportMerchantVOList);
     }
 
     /**

--
Gitblit v1.7.1