From bd72030ab8cb40a02b5b2ed954b20151b23d776f Mon Sep 17 00:00:00 2001
From: lin <sbla5888@163.com>
Date: Fri, 22 Mar 2024 14:33:43 +0800
Subject: [PATCH] 轮播图添加字段

---
 src/main/java/org/springblade/modules/rotation/entity/RotationEntity.java            |   96 ++++++++++++++++---------------
 src/main/java/org/springblade/modules/rotation/service/impl/RotationServiceImpl.java |   36 ++++++++++++
 src/main/java/org/springblade/modules/rotation/vo/RotationVO.java                    |    7 ++
 src/main/java/org/springblade/modules/rotation/mapper/RotationMapper.xml             |   34 ++++++++---
 4 files changed, 118 insertions(+), 55 deletions(-)

diff --git a/src/main/java/org/springblade/modules/rotation/entity/RotationEntity.java b/src/main/java/org/springblade/modules/rotation/entity/RotationEntity.java
index edd6dd5..800951a 100644
--- a/src/main/java/org/springblade/modules/rotation/entity/RotationEntity.java
+++ b/src/main/java/org/springblade/modules/rotation/entity/RotationEntity.java
@@ -16,10 +16,7 @@
  */
 package org.springblade.modules.rotation.entity;
 
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
-import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.*;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
@@ -53,58 +50,65 @@
 	@TableId(value = "id", type = IdType.AUTO)
 	private Integer id;
 
-	/**
-	 * 名称
-	 */
-	@ApiModelProperty(value = "名称")
+	/** 名称 */
+	@ApiModelProperty(value = "名称", example = "")
+	@TableField("name")
 	private String name;
-	/**
-	 * 类型 3:系统 1:公安 2:综治
-	 */
-	@ApiModelProperty(value = "类型 3:系统 1:公安 2:综治")
+
+	/** 类型 1:系统 2:社区 */
+	@ApiModelProperty(value = "类型 1:系统 2:社区", example = "")
+	@TableField("type")
 	private Integer type;
-	/**
-	 * 内容
-	 */
-	@ApiModelProperty(value = "内容")
+
+	/** 内容 */
+	@ApiModelProperty(value = "内容", example = "")
+	@TableField("context")
 	private String context;
-	/**
-	 * 图片地址
-	 */
-	@ApiModelProperty(value = "图片地址")
+
+	/** 图片地址 */
+	@ApiModelProperty(value = "图片地址", example = "")
+	@TableField("url")
 	private String url;
-	/**
-	 * 跳转地址
-	 */
-	@ApiModelProperty(value = "跳转地址")
+
+	/** 跳转地址 */
+	@ApiModelProperty(value = "跳转地址", example = "")
+	@TableField("junp_url")
 	private String junpUrl;
 
-	/**
-	 * 所属社区编号
-	 */
-	@ApiModelProperty(value = "所属社区编号")
+	/** 所属社区编号 */
+	@ApiModelProperty(value = "所属社区编号", example = "")
+	@TableField("community_code")
 	private String communityCode;
 
-	/**
-	 * 创建人
-	 */
-	@JsonSerialize(using = ToStringSerializer.class)
-	@ApiModelProperty("创建人")
-	private Long createUser;
-
-	/**
-	 * 创建时间
-	 */
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@ApiModelProperty("创建时间")
+	/** 创建时间 */
+	@ApiModelProperty(value = "创建时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField("create_time")
 	private Date createTime;
 
-	/**
-	 * 是否删除
-	 */
-	@TableLogic
-	@ApiModelProperty("是否已删除 0:否  1:是")
+	/** 创建人 */
+	@ApiModelProperty(value = "创建人", example = "")
+	@TableField("create_user")
+	private Long createUser;
+
+	/** 是否删除  0:否  1:是 */
+	@ApiModelProperty(value = "是否删除  0:否  1:是", example = "")
+	@TableField("is_deleted")
 	private Integer isDeleted;
 
+	/** 范围 */
+	@ApiModelProperty(value = "范围", example = "")
+	@TableField("rotation_range")
+	private String rotationRange;
+
+	/** 文章id */
+	@ApiModelProperty(value = "文章id", example = "")
+	@TableField("article_id")
+	private Integer articleId;
+
+	/** 是否公开:1:否 2:是 */
+	@ApiModelProperty(value = "是否公开:1:否 2:是", example = "")
+	@TableField("public_flag")
+	private Integer publicFlag;
+
 }
diff --git a/src/main/java/org/springblade/modules/rotation/mapper/RotationMapper.xml b/src/main/java/org/springblade/modules/rotation/mapper/RotationMapper.xml
index 728410d..f9ebd11 100644
--- a/src/main/java/org/springblade/modules/rotation/mapper/RotationMapper.xml
+++ b/src/main/java/org/springblade/modules/rotation/mapper/RotationMapper.xml
@@ -4,15 +4,19 @@
 
     <!-- 通用查询映射结果 -->
     <resultMap id="rotationResultMap" type="org.springblade.modules.rotation.entity.RotationEntity">
-        <result column="id" property="id"/>
-        <result column="name" property="name"/>
-        <result column="type" property="type"/>
-        <result column="context" property="context"/>
-        <result column="url" property="url"/>
-        <result column="junp_url" property="junpUrl"/>
-        <result column="create_time" property="createTime"/>
-        <result column="create_user" property="createUser"/>
-        <result column="is_deleted" property="isDeleted"/>
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="type"    column="type"    />
+        <result property="context"    column="context"    />
+        <result property="url"    column="url"    />
+        <result property="junpUrl"    column="junp_url"    />
+        <result property="communityCode"    column="community_code"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="createUser"    column="create_user"    />
+        <result property="isDeleted"    column="is_deleted"    />
+        <result property="rotationRange"    column="rotation_range"    />
+        <result property="articleId"    column="article_id"    />
+        <result property="publicFlag"    column="public_flag"    />
     </resultMap>
 
     <!--自定义分页查询-->
@@ -34,6 +38,18 @@
         <if test="rotation.regionCode!=null and rotation.regionCode!=''">
             and jr.community_code like concat('%',#{rotation.regionCode},'%')
         </if>
+
+        <if test="rotation.rotationRange != null  and rotation.rotationRange != ''"> and jr.rotation_range = #{rotation.rotationRange}</if>
+        <if test="rotation.articleId != null "> and jr.article_id = #{rotation.articleId}</if>
+        <if test="rotation.publicFlag != null "> and jr.public_flag = #{rotation.publicFlag}</if>
+
+        <if test="rotation.districtIdList != null and rotation.districtIdList.size() > 0 ">
+            and (jr.rotation_range like
+            <foreach collection="rotation.districtIdList" separator=" or jr.rotation_range like" item="id">'%${id}%'
+            </foreach>
+            )
+        </if>
+
         <if test="isAdministrator==2">
             <choose>
                 <when test="rotation.roleName != null and rotation.roleName != ''">
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 cb1571b..da61c58 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,9 +16,18 @@
  */
 package org.springblade.modules.rotation.service.impl;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.common.param.CommonParamSet;
+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.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;
@@ -30,7 +39,9 @@
 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;
 
 /**
  * 轮播图 服务实现类
@@ -55,6 +66,31 @@
 	@Override
 	public IPage<RotationVO> selectRotationPage(IPage<RotationVO> page, RotationVO 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);
+		}
 		List<RotationVO> rotationVOList = baseMapper.selectRotationPage(page, rotation,
 			commonParamSet.getIsAdministrator(),
 			null==commonParamSet.getRegionChildCodesList()?null:String.join("|",commonParamSet.getRegionChildCodesList()),
diff --git a/src/main/java/org/springblade/modules/rotation/vo/RotationVO.java b/src/main/java/org/springblade/modules/rotation/vo/RotationVO.java
index 83afaa4..b291b04 100644
--- a/src/main/java/org/springblade/modules/rotation/vo/RotationVO.java
+++ b/src/main/java/org/springblade/modules/rotation/vo/RotationVO.java
@@ -21,6 +21,8 @@
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.util.List;
+
 /**
  * 轮播图 视图实体类
  *
@@ -52,4 +54,9 @@
 	 */
 	private String roleName;
 
+	private List<String> districtIdList;
+
+	// 物业标记
+	private Integer propertyFlag;
+
 }

--
Gitblit v1.9.3