From dfe41d5fa39a2fc3c25689c2c6152ae8fa476bce Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期二, 29 八月 2023 15:36:30 +0800
Subject: [PATCH] 新增商家详情接口 修改查询用户信息报错
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ConvenientMerchantServiceImpl.java | 324 ++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 292 insertions(+), 32 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 31ba566..c973642 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
@@ -1,5 +1,7 @@
package com.panzhihua.service_community.service.impl;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.NumberUtil;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -7,32 +9,28 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.exceptions.ServiceException;
-import com.panzhihua.common.model.dtos.community.convenient.ConvenientMerchantDTO;
-import com.panzhihua.common.model.dtos.community.convenient.DisableOrEnableConvenientMerchantDTO;
-import com.panzhihua.common.model.dtos.community.convenient.PageClassifyMerchantDTO;
-import com.panzhihua.common.model.dtos.community.convenient.PageConvenientMerchantDTO;
-import com.panzhihua.common.model.dtos.community.convenient.PagePopularMerchantDTO;
-import com.panzhihua.common.model.dtos.community.convenient.ResetPasswordConvenientMerchantDTO;
+import com.panzhihua.common.model.dtos.community.convenient.*;
import com.panzhihua.common.model.dtos.grid.EventGridMemberPassResetDTO;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
-import com.panzhihua.common.model.vos.community.convenient.ConvenientMerchantVO;
+import com.panzhihua.common.model.vos.community.convenient.*;
import com.panzhihua.common.service.user.UserService;
-import com.panzhihua.service_community.dao.ComActDAO;
-import com.panzhihua.service_community.dao.ConvenientMerchantDAO;
-import com.panzhihua.service_community.dao.ConvenientServiceCategoryDAO;
-import com.panzhihua.service_community.model.dos.ComActDO;
-import com.panzhihua.service_community.model.dos.ConvenientMerchantDO;
-import com.panzhihua.service_community.model.dos.ConvenientServiceCategoryDO;
+import com.panzhihua.common.utlis.Snowflake;
+import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.ConvenientMerchantService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.math.BigDecimal;
import java.text.SimpleDateFormat;
+import java.util.ArrayList;
import java.util.Date;
import java.util.List;
+import java.util.stream.Collectors;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
@@ -46,6 +44,7 @@
* @date: 2021/09/16 16:14
*/
@Service
+@Slf4j
public class ConvenientMerchantServiceImpl extends ServiceImpl<ConvenientMerchantDAO, ConvenientMerchantDO> implements ConvenientMerchantService {
@Resource
@@ -54,15 +53,42 @@
private ConvenientServiceCategoryDAO convenientServiceCategoryDAO;
@Resource
private ComActDAO comActDAO;
+ @Resource
+ private ConvenientProductDAO convenientProductDAO;
+ @Resource
+ private ConvenientConsultationStatisticsDAO convenientConsultationStatisticsDAO;
+ @Resource
+ private ConvenientViewStatisticsDAO convenientViewStatisticsDAO;
+ @Resource
+ private ComShopFlowerEvaluateDAO comShopFlowerEvaluateDAO;
+
+ 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());
+ //校验微信手机号是否已使用
+ String mobilePhone = convenientMerchantDTO.getMobilePhone();
+ Integer count = this.baseMapper.selectCount(new LambdaQueryWrapper<ConvenientMerchantDO>().eq(ConvenientMerchantDO::getMobilePhone, mobilePhone));
+ if (count > 0) {
+ R.fail("该微信手机号:" + mobilePhone + "已被使用!请更换");
+ }
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) {
@@ -72,7 +98,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());
});
}
@@ -80,7 +106,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 {
@@ -93,14 +119,25 @@
@Transactional(rollbackFor = Exception.class)
public R putMerchant(ConvenientMerchantDTO convenientMerchantDTO) {
Long merchantId = convenientMerchantDTO.getId();
+ String mobilePhone = convenientMerchantDTO.getMobilePhone();
+ ConvenientMerchantDO merchantDO = this.baseMapper.selectOne(new LambdaQueryWrapper<ConvenientMerchantDO>().eq(ConvenientMerchantDO::getMobilePhone, mobilePhone));
ConvenientMerchantDO convenientMerchantDO = this.baseMapper.selectById(merchantId);
if (isNull(convenientMerchantDO)) {
return R.fail("商家不存在");
}
+ Long createBy = convenientMerchantDO.getCreatedBy();
+ BeanUtils.copyProperties(convenientMerchantDTO, convenientMerchantDO);
+ if (nonNull(merchantDO) && !merchantDO.getId().equals(convenientMerchantDO.getId())) {
+ R.fail("该微信手机号:" + mobilePhone + "已被使用!请更换");
+ }
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)) {
@@ -115,10 +152,12 @@
convenientServiceCategoryDAO.deleteMerchantServiceRelation(merchantId);
serviceIds.forEach(serviceId -> {
ConvenientServiceCategoryDO convenientServiceCategoryDO = convenientServiceCategoryDAO.selectById(serviceId);
- convenientServiceCategoryDAO.createMerchantServiceRelation(merchantId, serviceId,
- convenientServiceCategoryDO.getName(), convenientMerchantDTO.getCreatedBy());
+ convenientServiceCategoryDAO.createMerchantServiceRelation(Snowflake.getId(), merchantId, serviceId,
+ convenientServiceCategoryDO.getName(), createBy);
});
}
+
+ convenientMerchantDO.setIntroduction(convenientMerchantDTO.getIntroduction());
this.baseMapper.updateById(convenientMerchantDO);
return R.ok();
}
@@ -138,13 +177,14 @@
page.setSize(pageConvenientMerchantDTO.getPageSize());
page.setCurrent(pageConvenientMerchantDTO.getPageNum());
IPage<ConvenientMerchantVO> iPage = this.baseMapper.pageMerchant(page, pageConvenientMerchantDTO);
- //填充服务范围
- List<ConvenientMerchantVO> records = iPage.getRecords();
- if (!records.isEmpty()) {
- records.forEach(record -> {
- String serviceScope = convenientServiceCategoryDAO.selectServiceScopeByMerchantId(record.getId());
- record.setServiceScope(serviceScope);
- });
+ 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);
}
@@ -152,14 +192,22 @@
@Override
public R getMerchant(Long merchantId) {
ConvenientMerchantVO convenientMerchantVO = this.baseMapper.selectMerchantById(merchantId);
- List<Long> serviceIds = convenientServiceCategoryDAO.selectServiceIdsForMerchant(merchantId);
+ List<String> serviceIds = convenientServiceCategoryDAO.selectServiceIdsForMerchant(merchantId);
convenientMerchantVO.setServiceIds(serviceIds);
return R.ok(convenientMerchantVO);
}
@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();
}
@@ -168,16 +216,19 @@
@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);
}
@Override
public R<ConvenientMerchantVO> getUserMerchantInfoByAccount(String account) {
try {
- R<LoginUserInfoVO> loginUserInfoVOR = userService.getUserInfo(account + "_10");
+ R<LoginUserInfoVO> loginUserInfoVOR = userService.getUserInfo(account + "_5");
LoginUserInfoVO loginUserInfoVO =
JSONObject.parseObject(JSONObject.toJSONString(loginUserInfoVOR.getData()), LoginUserInfoVO.class);
@@ -200,16 +251,48 @@
}
@Override
+ public R<ConvenientMerchantVO> getMerchantInfoByAccount(String account) {
+ try {
+ List<ConvenientMerchantVO> merchantDetailByAccount = this.baseMapper.getMerchantDetailByAccount(account);
+ if (CollUtil.isEmpty(merchantDetailByAccount)) {
+ return R.fail(500, "该账号不存在");
+ }
+ ConvenientMerchantVO convenientMerchantVO = merchantDetailByAccount.get(0);
+ return R.ok(convenientMerchantVO);
+ } catch (Exception e) {
+ return R.fail();
+ }
+ }
+
+ @Override
public R<ConvenientMerchantVO> getUserConvenientMerchantInfo(Long userId) {
ConvenientMerchantDO merchantDO = this.baseMapper.selectOne(new QueryWrapper<ConvenientMerchantDO>()
.lambda().eq(ConvenientMerchantDO::getUserId, userId));
if (isNull(merchantDO)) {
return R.fail("商家不存在");
}
+ Long merchantId = merchantDO.getId();
ConvenientMerchantVO convenientMerchantVO = new ConvenientMerchantVO();
BeanUtils.copyProperties(merchantDO, convenientMerchantVO);
- List<Long> serviceIds = convenientServiceCategoryDAO.selectServiceIdsForMerchant(merchantDO.getId());
+ List<String> serviceIds = convenientServiceCategoryDAO.selectServiceIdsForMerchant(merchantId);
convenientMerchantVO.setServiceIds(serviceIds);
+ Date nowDate = new Date();
+ SimpleDateFormat mothFormat = new SimpleDateFormat("yyyy-MM");
+ 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);
+ convenientMerchantVO.setDayViewNum(dayViewNum);
return R.ok(convenientMerchantVO);
}
@@ -221,7 +304,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);
}
@@ -234,11 +337,19 @@
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);
}
/**
* 小程序获取商家详情
+ *
* @param merchantId
* @return
*/
@@ -249,4 +360,153 @@
String currentMon = simpleDateFormat.format(nowDate).concat("%");
return R.ok(this.baseMapper.getMerchantDetail(merchantId, currentMon));
}
+
+ @Override
+ public R pageSearchMerchant(PageSearchDTO pageSearchDTO) {
+ Date nowDate = new Date();
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM");
+ String currentMon = simpleDateFormat.format(nowDate).concat("%");
+ Page page = new Page<>();
+ page.setSize(pageSearchDTO.getPageSize());
+ page.setCurrent(pageSearchDTO.getPageNum());
+ IPage<ConvenientMerchantVO> merchantVOIPage = this.baseMapper.pageSearchMerchant(page, pageSearchDTO, currentMon);
+ List<ConvenientMerchantVO> records = merchantVOIPage.getRecords();
+ if (!records.isEmpty()) {
+ records.forEach(record -> {
+ List<ConvenientProductVO> merchantProduct = convenientProductDAO.getMerchantProduct(record.getId());
+ List<ConvenientProductSpecificationVO> productSpecifications = convenientProductDAO.getProductSpecifications(record.getId());
+ if (!merchantProduct.isEmpty()) {
+ if (merchantProduct.size() > 2) {
+ merchantProduct = merchantProduct.subList(0, 2);
+ }
+ merchantProduct.forEach(product -> {
+ List<ConvenientProductSpecificationVO> list = new ArrayList<>();
+ productSpecifications.forEach(specification -> {
+ if (product.getId().equals(specification.getProductId())) {
+ list.add(specification);
+ }
+ });
+ product.setProductSpecificationVOList(list);
+ });
+ }
+ record.setProductVOList(merchantProduct);
+ });
+ }
+ return R.ok(merchantVOIPage);
+ }
+
+ @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>()
+ .eq(ConvenientConsultationStatisticsDO::getMerchantId, merchantId).eq(ConvenientConsultationStatisticsDO::getStatisticDate, nowDate));
+ if (isNull(statisticsDO)) {
+ convenientConsultationStatisticsDAO.createTodayStatistic(merchantId);
+ } else {
+ convenientConsultationStatisticsDAO.incrConsultationNum(merchantId, nowDate);
+ }
+ return R.ok();
+ }
+
+ @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>()
+ .eq(ConvenientViewStatisticsDO::getMerchantId, merchantId).eq(ConvenientViewStatisticsDO::getStatisticDate, nowDate));
+ if (isNull(statisticsDO)) {
+ convenientViewStatisticsDAO.createTodayStatistic(merchantId);
+ } else {
+ convenientViewStatisticsDAO.incrViewNum(merchantId, nowDate);
+ }
+ return R.ok();
+ }
+
+ @Override
+ public R exportMerchant(ExportMerchantDTO 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);
+ }
+
+ /**
+ * 定时任务每隔半小时将商家浏览量和咨询量总值计入指定商家数据中
+ *
+ * @return
+ */
+ @Override
+ public R timedTaskWriteDataToMerchantJobHandler() {
+ List<ConvenientConsultationStatisticsVO> consultationVOList = convenientConsultationStatisticsDAO.selectSumForConsultationNum();
+ List<ConvenientViewStatisticsVO> viewVOList = convenientViewStatisticsDAO.selectSumForViewNum();
+ this.baseMapper.batchUpdateMerchantConsultationNum(consultationVOList);
+ 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;
+ }
+
+ @Override
+ public R getMerchantByUserId(Long userId) {
+ ConvenientMerchantVO convenientMerchantVO = this.baseMapper.selectMerchantByUserId(userId);
+ if (isNull(convenientMerchantVO)) {
+ return R.fail("商家不存在");
+ }
+ Long merchantId = convenientMerchantVO.getId();
+ List<String> serviceIds = convenientServiceCategoryDAO.selectServiceIdsForMerchant(merchantId);
+ convenientMerchantVO.setServiceIds(serviceIds);
+ BigDecimal score = comShopFlowerEvaluateDAO.statisticsScore(merchantId);
+ convenientMerchantVO.setScore(null == score ? BigDecimal.ZERO : NumberUtil.round(score, 1));
+ Date nowDate = new Date();
+ SimpleDateFormat mothFormat = new SimpleDateFormat("yyyy-MM");
+ 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);
+ convenientMerchantVO.setDayViewNum(dayViewNum);
+ return R.ok(convenientMerchantVO);
+ }
}
--
Gitblit v1.7.1