From 9723fc4c6c6a4bf8d074d8fe6ce4145abf6bd40f Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期五, 14 十月 2022 16:26:50 +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..03e4a76 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