From 43f0578e80af82ecae6c61b51bd0539c6b960603 Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期二, 16 八月 2022 19:08:32 +0800 Subject: [PATCH] 服务范围优化 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientMerchantServiceImpl.java | 131 ++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 122 insertions(+), 9 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..4d1984f 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,9 +8,11 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; import javax.annotation.Resource; +import com.panzhihua.common.utlis.Snowflake; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -38,6 +40,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 +55,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 +65,7 @@ * @date: 2021/09/16 16:14 */ @Service +@Slf4j public class ConvenientMerchantServiceImpl extends ServiceImpl<ConvenientMerchantDAO, ConvenientMerchantDO> implements ConvenientMerchantService { @Resource @@ -75,14 +81,28 @@ @Resource private ConvenientViewStatisticsDAO convenientViewStatisticsDAO; + private static final String DQ="510402"; + private static final String RHQ="510411"; + @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){ + if(DQ.equals(convenientMerchantDTO.getAreaCode())){ + convenientMerchantDO.setCommunityName("东区社区"); + }else if(RHQ.equals(convenientMerchantDTO.getAreaCode())){ + convenientMerchantDO.setCommunityName("仁和区社区"); + }else{ + 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) { @@ -92,7 +112,7 @@ List<Long> serviceIds = convenientMerchantDTO.getServiceIds(); serviceIds.forEach(serviceId -> { ConvenientServiceCategoryDO convenientServiceCategoryDO = convenientServiceCategoryDAO.selectById(serviceId); - convenientServiceCategoryDAO.createMerchantServiceRelation(merchantId, serviceId, + convenientServiceCategoryDAO.createMerchantServiceRelation(Snowflake.getId(),merchantId, serviceId, convenientServiceCategoryDO.getName(), convenientMerchantDTO.getCreatedBy()); }); } @@ -100,7 +120,7 @@ //添加user R addUserResult = userService.addConvenientMerchantUser(convenientMerchantDTO); if (R.isOk(addUserResult)) { - Long merchantUserId = ((Integer) addUserResult.getData()).longValue(); + Long merchantUserId =Long.parseLong(addUserResult.getData().toString()); convenientMerchantDO.setUserId(merchantUserId); this.baseMapper.updateById(convenientMerchantDO); } else { @@ -120,7 +140,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)) { @@ -135,11 +160,12 @@ convenientServiceCategoryDAO.deleteMerchantServiceRelation(merchantId); serviceIds.forEach(serviceId -> { ConvenientServiceCategoryDO convenientServiceCategoryDO = convenientServiceCategoryDAO.selectById(serviceId); - convenientServiceCategoryDAO.createMerchantServiceRelation(merchantId, serviceId, + convenientServiceCategoryDAO.createMerchantServiceRelation(Snowflake.getId(),merchantId, serviceId, convenientServiceCategoryDO.getName(), convenientMerchantDTO.getCreatedBy()); }); } BeanUtils.copyProperties(convenientMerchantDTO, convenientMerchantDO); + convenientMerchantDO.setIntroduction(convenientMerchantDTO.getIntroduction()); this.baseMapper.updateById(convenientMerchantDO); return R.ok(); } @@ -159,6 +185,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 +207,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 +224,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 +275,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); @@ -248,7 +298,27 @@ Page page = new Page<>(); page.setSize(pagePopularMerchantDTO.getPageSize()); page.setCurrent(pagePopularMerchantDTO.getPageNum()); - IPage<ConvenientMerchantVO> merchantVOList = this.baseMapper.getPopularMerchants(page, pagePopularMerchantDTO.getCommunityId(), currentMon); + IPage<ConvenientMerchantVO> merchantVOList = this.baseMapper.getPopularMerchants(page, pagePopularMerchantDTO.getCommunityId(), currentMon,pagePopularMerchantDTO.getAreaCode()); + if(pagePopularMerchantDTO.getPageNum().equals(1L)){ + //金沙江默认第一个 + List<ConvenientMerchantVO> merchantVOS=new ArrayList<>(); + ConvenientMerchantVO merchantVO=new ConvenientMerchantVO(); + merchantVO.setName("金沙江智慧物流商贸城"); + merchantVO.setLogo("https://www.psciio.com//idcard/0694d975ed4d4c49bcfb728a678518f2.jpg"); + merchantVO.setIntroduction("农产直销、综合商贸、冷链储运、中央厨房、检验检疫、农博会展、总部商务、综合服务。"); + merchantVO.setServiceScope(""); + merchantVO.setConsultationVolume(0); + merchantVO.setMonthConsultationVolume(0); + merchantVOS.add(merchantVO); + //第一页默认把犇师傅维修中心加载到第一个 + List<ConvenientMerchantVO> merchantList = this.baseMapper.selectMerchantByName(pagePopularMerchantDTO.getCommunityId(), currentMon); + if(merchantList != null && merchantList.size() > 0){ + merchantVOS.addAll(merchantList); + merchantVOS.addAll(merchantVOList.getRecords()); + merchantVOList.setRecords(merchantVOS); + } + + } return R.ok(merchantVOList); } @@ -261,6 +331,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 +390,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 +408,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 +426,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); } /** @@ -356,4 +453,20 @@ this.baseMapper.batchUpdateMerchantViewNum(viewVOList); return R.ok(); } + + /** + * check商家/店铺是否有效 + * @param userId + * @return + */ + @Override + public Boolean checkStoreIsValid(Long userId) { + R<LoginUserInfoVO> loginUserInfo = userService.getUserInfoByUserId(userId.toString()); + LoginUserInfoVO loginUserInfoVO = + JSONObject.parseObject(JSONObject.toJSONString(loginUserInfo.getData()), LoginUserInfoVO.class); + if (isNull(loginUserInfoVO) || !loginUserInfoVO.getType().equals(10) || loginUserInfoVO.getStatus() != 1) { + return false; + } + return true; + } } -- Gitblit v1.7.1