| | |
| | | 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.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; |
| | |
| | | import com.panzhihua.service_community.model.dos.ConvenientViewStatisticsDO; |
| | | import com.panzhihua.service_community.service.ConvenientMerchantService; |
| | | |
| | | import lombok.extern.slf4j.Slf4j; |
| | | |
| | | /** |
| | | * @title: ConvenientMerchantServiceImpl |
| | | * @projectName: 成都呐喊信息技术有限公司-智慧社区项目 |
| | |
| | | * @date: 2021/09/16 16:14 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | public class ConvenientMerchantServiceImpl extends ServiceImpl<ConvenientMerchantDAO, ConvenientMerchantDO> implements ConvenientMerchantService { |
| | | |
| | | @Resource |
| | |
| | | @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) { |
| | |
| | | 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)) { |
| | |
| | | }); |
| | | } |
| | | BeanUtils.copyProperties(convenientMerchantDTO, convenientMerchantDO); |
| | | convenientMerchantDO.setIntroduction(convenientMerchantDTO.getIntroduction()); |
| | | this.baseMapper.updateById(convenientMerchantDO); |
| | | return R.ok(); |
| | | } |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | |
| | | @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(); |
| | | } |
| | |
| | | |
| | | @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); |
| | | } |
| | | |
| | |
| | | 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); |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | 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); |
| | | } |
| | | |
| | |
| | | |
| | | @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>() |
| | |
| | | |
| | | @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>() |
| | |
| | | |
| | | @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); |
| | | } |
| | | |
| | | /** |