From 8b7258c9427882bb1798f1502eaa35184c6e374e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Fri, 09 Aug 2024 14:29:18 +0800
Subject: [PATCH] 短信指定楼栋发送
---
src/main/java/org/springblade/modules/rotation/service/impl/RotationServiceImpl.java | 88 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 79 insertions(+), 9 deletions(-)
diff --git a/src/main/java/org/springblade/modules/rotation/service/impl/RotationServiceImpl.java b/src/main/java/org/springblade/modules/rotation/service/impl/RotationServiceImpl.java
index df6a263..5cc5f09 100644
--- a/src/main/java/org/springblade/modules/rotation/service/impl/RotationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/rotation/service/impl/RotationServiceImpl.java
@@ -16,18 +16,34 @@
*/
package org.springblade.modules.rotation.service.impl;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.common.param.CommonParamSet;
+import org.springblade.common.utils.AuthUtils;
+import org.springblade.common.utils.RoleUtil;
+import org.springblade.common.utils.SpringUtils;
import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.utils.SpringUtil;
+import org.springblade.modules.district.entity.DistrictEntity;
+import org.springblade.modules.district.service.IDistrictService;
+import org.springblade.modules.property.entity.PropertyCompanyDistrictEntity;
+import org.springblade.modules.property.entity.PropertyCompanyEntity;
+import org.springblade.modules.property.service.IPropertyCompanyDistrictService;
+import org.springblade.modules.property.service.IPropertyCompanyService;
+import org.springblade.modules.property.service.IPropertyDistrictUserService;
import org.springblade.modules.rotation.entity.RotationEntity;
-import org.springblade.modules.rotation.vo.RotationVO;
import org.springblade.modules.rotation.mapper.RotationMapper;
import org.springblade.modules.rotation.service.IRotationService;
-import org.springblade.core.mp.base.BaseServiceImpl;
-import org.springblade.modules.system.entity.Dept;
+import org.springblade.modules.rotation.vo.RotationVO;
import org.springblade.modules.system.service.IDeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* 轮播图 服务实现类
@@ -51,11 +67,65 @@
*/
@Override
public IPage<RotationVO> selectRotationPage(IPage<RotationVO> page, RotationVO rotation) {
-// Dept dept = deptService.getById(AuthUtil.getDeptId());
-// if (null!=dept && !AuthUtil.isAdministrator()){
-// rotation.setRegionCode(dept.getRegionCode());
-// }
- return page.setRecords(baseMapper.selectRotationPage(page, rotation));
+ CommonParamSet<Object> commonParamSet = new CommonParamSet<>().invoke(RotationVO.class, rotation);
+ String userRole = AuthUtil.getUserRole();
+ if (RoleUtil.isProperty(userRole)) {
+ // 查询小区id
+ IPropertyDistrictUserService propertyDistrictUserService = SpringUtils.getBean(IPropertyDistrictUserService.class);
+ List<String> districtIds = propertyDistrictUserService.selectPropertyDistrictByUserId(AuthUtil.getUserId());
+ // 通过用户机构查询用户的物业公司
+ IPropertyCompanyService bean = SpringUtil.getBean(IPropertyCompanyService.class);
+ PropertyCompanyEntity companyEntity = bean.getOne(Wrappers.<PropertyCompanyEntity>lambdaQuery()
+ .eq(PropertyCompanyEntity::getDeptId, AuthUtil.getDeptId()).last("limit 1"));
+ if (companyEntity != null) {
+ IPropertyCompanyDistrictService bean2 = SpringUtils.getBean(IPropertyCompanyDistrictService.class);
+ // 通过物业公司,查询小区
+ List<PropertyCompanyDistrictEntity> propertyCompanyDistrictEntityList = bean2.list(Wrappers.<PropertyCompanyDistrictEntity>lambdaQuery()
+ .eq(PropertyCompanyDistrictEntity::getPropertyCompanyId, companyEntity.getId()));
+ if (propertyCompanyDistrictEntityList.size() > 0) {
+ List<String> collect = propertyCompanyDistrictEntityList.stream().map(i -> i.getDistrictId()).collect(Collectors.toList());
+ districtIds.addAll(collect);
+ }
+ }
+ rotation.setDistrictIdList(districtIds);
+ if (districtIds.size() == 0) {
+ return page.setRecords(new ArrayList<>());
+ }
+ rotation.setPropertyFlag(1);
+ }
+ if(AuthUtils.isMj(userRole)){
+ rotation.setType(1);
+ }
+ if(AuthUtils.isJd(userRole)){
+ rotation.setType(2);
+ }
+ if(AuthUtils.isAdministratorOrAdmin(userRole)){
+ rotation.setType(null);
+ }
+ if (StringUtils.isNotBlank(rotation.getAoiCode())) {
+ // 查询房屋的小区
+ IDistrictService bean = SpringUtils.getBean(IDistrictService.class);
+ DistrictEntity one = bean.getOne(Wrappers.<DistrictEntity>lambdaQuery().eq(DistrictEntity::getAoiCode, rotation.getAoiCode()));
+ List<String> districtIds = new ArrayList<>();
+ districtIds.add(one.getId());
+ rotation.setDistrictIdList(districtIds);
+ }
+ List<RotationVO> rotationVOList = baseMapper.selectRotationPage(page, rotation,
+ commonParamSet.getIsAdministrator(),
+ null == commonParamSet.getRegionChildCodesList() ? null : String.join("|", commonParamSet.getRegionChildCodesList()),
+ null == commonParamSet.getGridCodeList() ? null : String.join("|", commonParamSet.getGridCodeList()));
+ if (rotationVOList.size() == 0) {
+ // 如果没有对应的轮播图,则采用系统默认的
+ rotation.setType(3);
+ rotation.setPublicFlag(2);
+ rotation.setDistrictIdList(null);
+ rotationVOList = baseMapper.selectRotationPage(page,
+ rotation,
+ 1,
+ null == commonParamSet.getRegionChildCodesList() ? null : String.join("|", commonParamSet.getRegionChildCodesList()),
+ null == commonParamSet.getGridCodeList() ? null : String.join("|", commonParamSet.getGridCodeList()));
+ }
+ return page.setRecords(rotationVOList);
}
--
Gitblit v1.9.3