From 6adf5d37de9739bde5bb75c51af1846da3ce6ca4 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Thu, 30 Nov 2023 17:49:05 +0800
Subject: [PATCH] 房屋标签迁移user_house_label + 圈子表+点赞+文章范围

---
 src/main/java/org/springblade/modules/circle/service/ICircleService.java             |   62 ++
 src/main/java/org/springblade/modules/circle/mapper/CircleLikeMapper.java            |   62 ++
 src/main/java/org/springblade/modules/circle/entity/CircleEntity.java                |   81 +++
 src/main/java/org/springblade/modules/house/vo/UserHouseLabelVO.java                 |    4 
 src/main/java/org/springblade/modules/circle/controller/CircleLikeController.java    |  134 ++++++
 src/main/java/org/springblade/modules/circle/vo/CircleLikeVO.java                    |   11 
 src/main/java/org/springblade/modules/circle/entity/CircleLikeEntity.java            |   66 +++
 src/main/java/org/springblade/modules/article/controller/ArticleController.java      |    6 
 src/main/java/org/springblade/modules/house/vo/HouseVO.java                          |    3 
 src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml                   |    8 
 src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java     |   71 +++
 src/main/java/org/springblade/modules/circle/service/impl/CircleLikeServiceImpl.java |   71 +++
 src/main/java/org/springblade/modules/circle/dto/CircleLikeDTO.java                  |   10 
 src/main/java/org/springblade/modules/house/controller/HouseLabelController.java     |   10 
 src/main/java/org/springblade/modules/circle/controller/CircleController.java        |  128 ++++++
 src/main/java/org/springblade/modules/house/mapper/HouseLabelMapper.java             |    4 
 src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml                 |   77 +++
 src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml         |    2 
 src/main/java/sql/circle.menu.sql                                                    |   10 
 src/main/java/org/springblade/modules/circle/service/ICircleLikeService.java         |   61 ++
 src/main/java/org/springblade/modules/article/entity/Article.java                    |    6 
 src/main/java/org/springblade/modules/circle/wrapper/CircleLikeWrapper.java          |   50 ++
 src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java |   21 
 src/main/java/org/springblade/modules/circle/vo/CircleVO.java                        |   17 
 src/main/java/sql/circlelike.menu.sql                                                |   10 
 src/main/java/org/springblade/modules/circle/mapper/CircleLikeMapper.xml             |   63 +++
 src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml               |   21 
 src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java  |    5 
 src/main/java/org/springblade/modules/house/wrapper/HouseLabelWrapper.java           |    8 
 src/main/java/org/springblade/modules/article/vo/ArticleVO.java                      |    3 
 src/main/java/org/springblade/modules/circle/mapper/CircleMapper.java                |   61 ++
 src/main/java/org/springblade/modules/circle/wrapper/CircleWrapper.java              |   50 ++
 src/main/java/org/springblade/modules/circle/dto/CircleDTO.java                      |   10 
 src/main/java/org/springblade/modules/house/service/IHouseLabelService.java          |    4 
 34 files changed, 1,148 insertions(+), 62 deletions(-)

diff --git a/src/main/java/org/springblade/modules/article/controller/ArticleController.java b/src/main/java/org/springblade/modules/article/controller/ArticleController.java
index 0ccc26b..f9a5c1c 100644
--- a/src/main/java/org/springblade/modules/article/controller/ArticleController.java
+++ b/src/main/java/org/springblade/modules/article/controller/ArticleController.java
@@ -1,5 +1,6 @@
 package org.springblade.modules.article.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -18,6 +19,7 @@
 
 import javax.validation.Valid;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author zhongrj
@@ -109,11 +111,13 @@
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入articleoy")
 	public R<Article> detail(ArticleVO article) {
-		Article detail = articleService.getArticleOne(article);
+		ArticleVO detail = articleService.getArticleOne(article);
 		UpdateWrapper<Article> objectUpdateWrapper = new UpdateWrapper<>();
 		objectUpdateWrapper.setSql("view_number = view_number + 1");
 		objectUpdateWrapper.eq("id", article.getId());
 		articleService.update(null, objectUpdateWrapper);
+		List<List<String>> lists = (List<List<String>>) JSON.parse(detail.getArticleRange() );
+		detail.setArticleList(lists);
 		return R.data(detail);
 	}
 
diff --git a/src/main/java/org/springblade/modules/article/entity/Article.java b/src/main/java/org/springblade/modules/article/entity/Article.java
index 4bf1603..17c227b 100644
--- a/src/main/java/org/springblade/modules/article/entity/Article.java
+++ b/src/main/java/org/springblade/modules/article/entity/Article.java
@@ -130,4 +130,10 @@
 	@TableLogic
 	@ApiModelProperty("是否已删除 0:否  1:是")
 	private Integer isDeleted;
+
+
+	/** 资讯范围 */
+	@ApiModelProperty(value = "资讯范围", example = "")
+	@TableField("article_range")
+	private String articleRange;
 }
diff --git a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
index fa4fa6b..4fc94c1 100644
--- a/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
+++ b/src/main/java/org/springblade/modules/article/mapper/ArticleMapper.xml
@@ -23,24 +23,12 @@
         <result column="update_user" property="updateUser"/>
         <result column="create_user" property="createUser"/>
         <result column="is_deleted" property="isDeleted"/>
-
-        <!--        <collection property="lickFlag" javaType="int"-->
-        <!--                    column="id" select="selectStlLick">-->
-        <!--        </collection>-->
-
+        <result property="articleRange"    column="article_range"    />
         <collection property="countNumber" column="id" javaType="int" select="selectStlCount">
         </collection>
 
     </resultMap>
 
-    <!--    <select id="selectStlLick" parameterType="Long" resultType="int">-->
-    <!--        select IFNULL(jnl.id, 0) lickFlag-->
-    <!--        FROM jczz_notice jn-->
-    <!--                 LEFT JOIN jczz_notice_like jnl ON jn.id = jnl.notice_id-->
-    <!--        WHERE jnl.notice_user_id = #{notice.userId}-->
-    <!--          and jn.is_deleted = 0-->
-    <!--          and jn.id = #{id}-->
-    <!--    </select>-->
 
     <select id="selectStlCount" resultType="int">
         select count(1) countNumber
@@ -50,6 +38,7 @@
           and jnl.delete_flag = 0
           and jn.id = #{id}
     </select>
+
 
 
     <sql id="selectArticle">
@@ -71,7 +60,8 @@
             update_time,
             update_user,
             create_user,
-            is_deleted
+            is_deleted,
+            article_range
         from
             jczz_article
     </sql>
@@ -106,7 +96,6 @@
         <if test="article.articleType != null and article.articleType != ''">
           and  ja.article_type = #{article.articleType}
         </if>
-
         <if test="article.eventType != null">
             and  jpd.event_type = #{article.eventType}
         </if>
@@ -396,6 +385,7 @@
         ja.update_user,
         ja.create_user,
         ja.is_deleted,
+        ja.article_range,
         bdb.dict_value dictValue
         from jczz_article ja LEFT JOIN blade_dict_biz bdb on ja.article_type = bdb.dict_key
         <where>
@@ -417,6 +407,7 @@
             <if test="updateUser != null "> and ja.update_user = #{updateUser}</if>
             <if test="createUser != null "> and ja.create_user = #{createUser}</if>
             <if test="isDeleted != null "> and ja.is_deleted = #{isDeleted}</if>
+            <if test="articleRange != null  and articleRange != ''"> and article_range = #{articleRange}</if>
         </where>
         and  ja.is_deleted = 0
         and ja.publish = 1
diff --git a/src/main/java/org/springblade/modules/article/vo/ArticleVO.java b/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
index 176372d..225ece2 100644
--- a/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
+++ b/src/main/java/org/springblade/modules/article/vo/ArticleVO.java
@@ -4,6 +4,7 @@
 import org.springblade.modules.article.entity.Article;
 
 import java.io.Serializable;
+import java.util.List;
 
 @Data
 public class ArticleVO extends Article implements Serializable {
@@ -68,4 +69,6 @@
 
 	private Integer eventType;
 
+	private List<List<String>> articleList;
+
 }
diff --git a/src/main/java/org/springblade/modules/circle/controller/CircleController.java b/src/main/java/org/springblade/modules/circle/controller/CircleController.java
new file mode 100644
index 0000000..60e4c1f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/controller/CircleController.java
@@ -0,0 +1,128 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.secure.BladeUser;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.modules.circle.entity.CircleEntity;
+import org.springblade.modules.circle.vo.CircleVO;
+import org.springblade.modules.circle.wrapper.CircleWrapper;
+import org.springblade.modules.circle.service.ICircleService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 圈子表 控制器
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-circle/circle")
+@Api(value = "圈子表", tags = "圈子表接口")
+public class CircleController extends BladeController {
+
+	private final ICircleService circleService;
+
+	/**
+	 * 圈子表 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入circle")
+	public R<CircleVO> detail(CircleEntity circle) {
+		CircleEntity detail = circleService.getOne(Condition.getQueryWrapper(circle));
+		return R.data(CircleWrapper.build().entityVO(detail));
+	}
+	/**
+	 * 圈子表 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入circle")
+	public R<IPage<CircleVO>> list(CircleEntity circle, Query query) {
+		IPage<CircleEntity> pages = circleService.page(Condition.getPage(query), Condition.getQueryWrapper(circle));
+		return R.data(CircleWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 圈子表 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入circle")
+	public R<IPage<CircleVO>> page(CircleVO circle, Query query) {
+		IPage<CircleVO> pages = circleService.selectCirclePage(Condition.getPage(query), circle);
+		return R.data(pages);
+	}
+
+	/**
+	 * 圈子表 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入circle")
+	public R save(@Valid @RequestBody CircleEntity circle) {
+		circle.setUserId(AuthUtil.getUserId());
+		return R.status(circleService.save(circle));
+	}
+
+	/**
+	 * 圈子表 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入circle")
+	public R update(@Valid @RequestBody CircleEntity circle) {
+		return R.status(circleService.updateById(circle));
+	}
+
+	/**
+	 * 圈子表 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入circle")
+	public R submit(@Valid @RequestBody CircleEntity circle) {
+		return R.status(circleService.saveOrUpdate(circle));
+	}
+
+	/**
+	 * 圈子表 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(circleService.removeBatchByIds(Func.toLongList(ids)));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/circle/controller/CircleLikeController.java b/src/main/java/org/springblade/modules/circle/controller/CircleLikeController.java
new file mode 100644
index 0000000..16775da
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/controller/CircleLikeController.java
@@ -0,0 +1,134 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.controller;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.AllArgsConstructor;
+import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.modules.article.entity.ArticleLikeEntity;
+import org.springblade.modules.circle.entity.CircleLikeEntity;
+import org.springblade.modules.circle.service.ICircleLikeService;
+import org.springblade.modules.circle.vo.CircleLikeVO;
+import org.springblade.modules.circle.wrapper.CircleLikeWrapper;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * 圈子点赞表 控制器
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("blade-circleLike/circleLike")
+@Api(value = "圈子点赞表", tags = "圈子点赞表接口")
+public class CircleLikeController extends BladeController {
+
+	private final ICircleLikeService circleService;
+
+	/**
+	 * 圈子点赞表 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入circle")
+	public R<CircleLikeVO> detail(CircleLikeEntity circle) {
+		CircleLikeEntity detail = circleService.getOne(Condition.getQueryWrapper(circle));
+		return R.data(CircleLikeWrapper.build().entityVO(detail));
+	}
+
+	/**
+	 * 圈子点赞表 分页
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入circle")
+	public R<IPage<CircleLikeVO>> list(CircleLikeEntity circle, Query query) {
+		IPage<CircleLikeEntity> pages = circleService.page(Condition.getPage(query), Condition.getQueryWrapper(circle));
+		return R.data(CircleLikeWrapper.build().pageVO(pages));
+	}
+
+	/**
+	 * 圈子点赞表 自定义分页
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入circle")
+	public R<IPage<CircleLikeVO>> page(CircleLikeVO circle, Query query) {
+		IPage<CircleLikeVO> pages = circleService.selectCircleLikePage(Condition.getPage(query), circle);
+		return R.data(pages);
+	}
+
+	/**
+	 * 圈子点赞表 新增
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入circle")
+	public R save(@Valid @RequestBody CircleLikeEntity circle) {
+		circle.setUserId(AuthUtil.getUserId());
+		return R.status(circleService.save(circle));
+
+	}
+
+	/**
+	 * 圈子点赞表 修改
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入circle")
+	public R update(@Valid @RequestBody CircleLikeEntity circle) {
+		return R.status(circleService.updateById(circle));
+	}
+
+	/**
+	 * 圈子点赞表 新增或修改
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入circle")
+	public R submit(@Valid @RequestBody CircleLikeEntity circle) {
+		UpdateWrapper<CircleLikeEntity> objectUpdateWrapper = new UpdateWrapper<>();
+		objectUpdateWrapper.eq("user_id", circle.getUserId());
+		objectUpdateWrapper.eq("circle_id", circle.getCircleId());
+		return R.status(circleService.saveOrUpdate(circle,objectUpdateWrapper));
+	}
+
+	/**
+	 * 圈子点赞表 删除
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 7)
+	@ApiOperation(value = "逻辑删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(circleService.removeBatchByIds(Func.toLongList(ids)));
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java b/src/main/java/org/springblade/modules/circle/dto/CircleDTO.java
similarity index 82%
copy from src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
copy to src/main/java/org/springblade/modules/circle/dto/CircleDTO.java
index 8d79190..806a41c 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
+++ b/src/main/java/org/springblade/modules/circle/dto/CircleDTO.java
@@ -14,21 +14,21 @@
  *  this software without specific prior written permission.
  *  Author: Chill 庄骞 (smallchill@163.com)
  */
-package org.springblade.modules.house.vo;
+package org.springblade.modules.circle.dto;
 
+import org.springblade.modules.circle.entity.CircleEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springblade.modules.house.entity.HouseLabelEntity;
 
 /**
- * 房屋-标签 视图实体类
+ * 圈子表 数据传输对象实体类
  *
  * @author BladeX
- * @since 2023-10-28
+ * @since 2023-11-30
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-public class HouseLabelVO extends HouseLabelEntity {
+public class CircleDTO extends CircleEntity {
 	private static final long serialVersionUID = 1L;
 
 }
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java b/src/main/java/org/springblade/modules/circle/dto/CircleLikeDTO.java
similarity index 81%
copy from src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
copy to src/main/java/org/springblade/modules/circle/dto/CircleLikeDTO.java
index 8d79190..f9abd11 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
+++ b/src/main/java/org/springblade/modules/circle/dto/CircleLikeDTO.java
@@ -14,21 +14,21 @@
  *  this software without specific prior written permission.
  *  Author: Chill 庄骞 (smallchill@163.com)
  */
-package org.springblade.modules.house.vo;
+package org.springblade.modules.circle.dto;
 
+import org.springblade.modules.circle.entity.CircleLikeEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springblade.modules.house.entity.HouseLabelEntity;
 
 /**
- * 房屋-标签 视图实体类
+ * 圈子点赞表 数据传输对象实体类
  *
  * @author BladeX
- * @since 2023-10-28
+ * @since 2023-11-30
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-public class HouseLabelVO extends HouseLabelEntity {
+public class CircleLikeDTO extends CircleLikeEntity {
 	private static final long serialVersionUID = 1L;
 
 }
diff --git a/src/main/java/org/springblade/modules/circle/entity/CircleEntity.java b/src/main/java/org/springblade/modules/circle/entity/CircleEntity.java
new file mode 100644
index 0000000..1a609f5
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/entity/CircleEntity.java
@@ -0,0 +1,81 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+import java.util.Date;
+
+/**
+ * 圈子表 实体类
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+@Data
+@TableName("jczz_circle")
+@ApiModel(value = "Circle对象", description = "圈子表")
+public class CircleEntity  {
+
+
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "id", type = IdType.AUTO)
+	private Integer id;
+
+	/** 用户id */
+	@ApiModelProperty(value = "用户id", example = "")
+	@TableField("user_id")
+	private Long userId;
+
+	/** 创建时间 */
+	@ApiModelProperty(value = "创建时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField(value = "create_time",fill = FieldFill.INSERT)
+	private Date createTime;
+
+	/** 动态内容 */
+	@ApiModelProperty(value = "动态内容", example = "")
+	@TableField("circle_text")
+	private String circleText;
+
+	/** 动态图片 */
+	@ApiModelProperty(value = "动态图片", example = "")
+	@TableField("circle_images")
+	private String circleImages;
+
+	/** 动态视频 */
+	@ApiModelProperty(value = "动态视频", example = "")
+	@TableField("circle_video")
+	private String circleVideo;
+
+	/** 0 否 1是 */
+	@ApiModelProperty(value = "0 否 1是", example = "")
+	@TableField("deleted_falg")
+	@TableLogic
+	private Integer deletedFalg;
+
+	/** 0 :邻里 1网格 */
+	@ApiModelProperty(value = "0 :邻里 1网格", example = "")
+	@TableField("circle_type")
+	private Integer circleType;
+}
diff --git a/src/main/java/org/springblade/modules/circle/entity/CircleLikeEntity.java b/src/main/java/org/springblade/modules/circle/entity/CircleLikeEntity.java
new file mode 100644
index 0000000..d467fdf
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/entity/CircleLikeEntity.java
@@ -0,0 +1,66 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.EqualsAndHashCode;
+import org.springblade.core.tenant.mp.TenantEntity;
+
+import java.util.Date;
+
+/**
+ * 圈子点赞表 实体类
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+@Data
+@TableName("jczz_circle_like")
+@ApiModel(value = "CircleLike对象", description = "圈子点赞表")
+public class CircleLikeEntity  {
+
+	@ApiModelProperty(value = "主键ID", example = "")
+	@TableId(value = "id", type = IdType.AUTO)
+	private Integer id;
+
+	/** 圈子id */
+	@ApiModelProperty(value = "圈子id", example = "")
+	@TableField("circle_id")
+	private Long circleId;
+
+	/** 点赞用户id */
+	@ApiModelProperty(value = "点赞用户id", example = "")
+	@TableField("user_id")
+	private Long userId;
+
+	/** 点赞时间 */
+	@ApiModelProperty(value = "点赞时间", example = "")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+	@TableField(value = "create_time",fill = FieldFill.INSERT)
+	private Date createTime;
+
+	/** 0:否 1:是 */
+	@ApiModelProperty(value = "0:否 1:是", example = "")
+	@TableField("delete_flag")
+	@TableLogic
+	private Integer deleteFlag;
+
+}
diff --git a/src/main/java/org/springblade/modules/circle/mapper/CircleLikeMapper.java b/src/main/java/org/springblade/modules/circle/mapper/CircleLikeMapper.java
new file mode 100644
index 0000000..a7975ae
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/mapper/CircleLikeMapper.java
@@ -0,0 +1,62 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.mapper;
+
+import io.lettuce.core.dynamic.annotation.Param;
+import org.springblade.modules.circle.dto.CircleLikeDTO;
+import org.springblade.modules.circle.entity.CircleLikeEntity;
+import org.springblade.modules.circle.vo.CircleLikeVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 圈子点赞表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+public interface CircleLikeMapper extends BaseMapper<CircleLikeEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param circle
+	 * @return
+	 */
+	List<CircleLikeVO> selectCircleLikePage(IPage page, @Param("circle") CircleLikeVO circle);
+
+
+	/**
+	 * 查询圈子点赞表
+	 *
+	 * @param id 圈子点赞表ID
+	 * @return 圈子点赞表
+	 */
+	public CircleLikeDTO selectCircleLikeById(Long id);
+
+	/**
+	 * 查询圈子点赞表列表
+	 *
+	 * @param circleLikeDTO 圈子点赞表
+	 * @return 圈子点赞表集合
+	 */
+	public List<CircleLikeDTO> selectCircleLikeList(CircleLikeDTO circleLikeDTO);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/circle/mapper/CircleLikeMapper.xml b/src/main/java/org/springblade/modules/circle/mapper/CircleLikeMapper.xml
new file mode 100644
index 0000000..2696057
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/mapper/CircleLikeMapper.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.circle.mapper.CircleLikeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="circleResultMap" type="org.springblade.modules.circle.vo.CircleLikeVO">
+        <result property="id"    column="id"    />
+        <result property="circleId"    column="circle_id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="deleteFlag"    column="delete_flag"    />
+    </resultMap>
+
+    <resultMap type="org.springblade.modules.circle.vo.CircleLikeVO" id="CircleLikeDTOResult">
+        <result property="id"    column="id"    />
+        <result property="circleId"    column="circle_id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="deleteFlag"    column="delete_flag"    />
+    </resultMap>
+
+    <sql id="selectCircleLike">
+        select
+            id,
+            circle_id,
+            user_id,
+            create_time,
+            delete_flag
+        from
+            jczz_circle_like
+    </sql>
+
+    <select id="selectCircleLikeById" parameterType="long" resultMap="CircleLikeDTOResult">
+        <include refid="selectCircleLike"/>
+        where
+        id = #{id}
+    </select>
+
+    <select id="selectCircleLikeList" parameterType="org.springblade.modules.circle.dto.CircleLikeDTO" resultMap="CircleLikeDTOResult">
+        <include refid="selectCircleLike"/>
+        <where>
+            <if test="id != null "> and id = #{id}</if>
+            <if test="circleId != null "> and circle_id = #{circleId}</if>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="createTime != null "> and create_time = #{createTime}</if>
+            <if test="deleteFlag != null "> and delete_flag = #{deleteFlag}</if>
+        </where>
+    </select>
+
+
+    <select id="selectCircleLikePage" resultMap="circleResultMap">
+        select * from jczz_circle_like
+        <where>
+            <if test="circle.id != null "> and id = #{circle.id}</if>
+            <if test="circle.circleId != null "> and circle_id = #{circle.circleId}</if>
+            <if test="circle.userId != null "> and user_id = #{circle.userId}</if>
+            <if test="circle.createTime != null "> and create_time = #{circle.createTime}</if>
+            <if test="circle.deleteFlag != null "> and delete_flag = #{circle.deleteFlag}</if>
+        </where>
+    </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.java b/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.java
new file mode 100644
index 0000000..79dcd31
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.java
@@ -0,0 +1,61 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.lettuce.core.dynamic.annotation.Param;
+import org.springblade.modules.circle.dto.CircleDTO;
+import org.springblade.modules.circle.entity.CircleEntity;
+import org.springblade.modules.circle.vo.CircleVO;
+
+import java.util.List;
+
+/**
+ * 圈子表 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+public interface CircleMapper extends BaseMapper<CircleEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param circle
+	 * @return
+	 */
+	List<CircleVO> selectCirclePage(IPage page, @Param("circle") CircleVO circle);
+
+	/**
+	 * 查询圈子表
+	 *
+	 * @param id 圈子表ID
+	 * @return 圈子表
+	 */
+	public CircleVO selectCircleById(Integer id);
+
+
+	/**
+	 * 查询圈子表列表
+	 *
+	 * @param circleDTO 圈子表
+	 * @return 圈子表集合
+	 */
+	public List<CircleVO> selectCircleList(CircleDTO circleDTO);
+}
diff --git a/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml b/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml
new file mode 100644
index 0000000..e95699f
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/mapper/CircleMapper.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.modules.circle.mapper.CircleMapper">
+
+    <resultMap type="org.springblade.modules.circle.vo.CircleVO" id="CircleVOResult">
+        <result property="id"    column="id"    />
+        <result property="userId"    column="user_id"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="circleText"    column="circle_text"    />
+        <result property="circleImages"    column="circle_images"    />
+        <result property="circleVideo"    column="circle_video"    />
+        <result property="deletedFalg"    column="deleted_falg"    />
+        <result property="circleType"    column="circle_type"    />
+    </resultMap>
+
+    <sql id="selectCircle">
+        select
+            id,
+            user_id,
+            create_time,
+            circle_text,
+            circle_images,
+            circle_video,
+            deleted_falg,
+            circle_type
+        from
+            jczz_circle
+    </sql>
+
+    <select id="selectCircleById" parameterType="int" resultMap="CircleVOResult">
+        <include refid="selectCircle"/>
+        where
+        id = #{id}
+    </select>
+
+    <select id="selectCircleList" parameterType="org.springblade.modules.circle.dto.CircleDTO" resultMap="CircleVOResult">
+        <include refid="selectCircle"/>
+        <where>
+            <if test="id != null "> and id = #{id}</if>
+            <if test="userId != null "> and user_id = #{userId}</if>
+            <if test="createTime != null "> and create_time = #{createTime}</if>
+            <if test="circleText != null  and circleText != ''"> and circle_text = #{circleText}</if>
+            <if test="circleImages != null  and circleImages != ''"> and circle_images = #{circleImages}</if>
+            <if test="circleVideo != null  and circleVideo != ''"> and circle_video = #{circleVideo}</if>
+            <if test="deletedFalg != null "> and deleted_falg = #{deletedFalg}</if>
+            <if test="circleType != null "> and circle_type = #{circleType}</if>
+        </where>
+    </select>
+
+
+    <select id="selectCirclePage" resultMap="CircleVOResult">
+        select  jc.id,
+        jc.user_id,
+        jc.create_time,
+        jc.circle_text,
+        jc.circle_images,
+        jc.circle_video,
+        jc.deleted_falg,
+        bu.name,
+        bu.avatar,
+        jc.circle_type
+        (selelct count(1) from jczz_circle_like jcl where jcl.circle_id = jc.id  and  user_id = #{userId}  ) likeFlag
+        from jczz_circle jc left join blade_user bu on jc.user_id = bu.id
+        <where>
+            <if test="circle.id != null "> and id = #{circle.id}</if>
+            <if test="circle.userId != null "> and user_id = #{circle.userId}</if>
+            <if test="circle.createTime != null "> and create_time = #{circle.createTime}</if>
+            <if test="circle.circleText != null  and circle.circleText != ''"> and circle_text = #{circle.circleText}</if>
+            <if test="circle.circleImages != null  and circle.circleImages != ''"> and circle_images = #{circle.circleImages}</if>
+            <if test="circle.circleVideo != null  and circle.circleVideo != ''"> and circle_video = #{circle.circleVideo}</if>
+            <if test="circle.deletedFalg != null "> and deleted_falg = #{circle.deletedFalg}</if>
+            <if test="circle.circleType != null "> and circle_type = #{circle.circleType}</if>
+        </where>
+    </select>
+
+
+</mapper>
diff --git a/src/main/java/org/springblade/modules/circle/service/ICircleLikeService.java b/src/main/java/org/springblade/modules/circle/service/ICircleLikeService.java
new file mode 100644
index 0000000..de9d42c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/service/ICircleLikeService.java
@@ -0,0 +1,61 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.circle.dto.CircleLikeDTO;
+import org.springblade.modules.circle.entity.CircleLikeEntity;
+import org.springblade.modules.circle.vo.CircleLikeVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * 圈子点赞表 服务类
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+public interface ICircleLikeService extends IService<CircleLikeEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param circle
+	 * @return
+	 */
+	IPage<CircleLikeVO> selectCircleLikePage(IPage<CircleLikeVO> page, CircleLikeVO circle);
+
+	/**
+	 * 查询圈子点赞表
+	 *
+	 * @param id 圈子点赞表ID
+	 * @return 圈子点赞表
+	 */
+	public CircleLikeDTO selectCircleLikeById(Long id);
+
+	/**
+	 * 查询圈子点赞表列表
+	 *
+	 * @param circleLikeDTO 圈子点赞表
+	 * @return 圈子点赞表集合
+	 */
+	public List<CircleLikeDTO> selectCircleLikeList(CircleLikeDTO circleLikeDTO);
+
+}
diff --git a/src/main/java/org/springblade/modules/circle/service/ICircleService.java b/src/main/java/org/springblade/modules/circle/service/ICircleService.java
new file mode 100644
index 0000000..6532dea
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/service/ICircleService.java
@@ -0,0 +1,62 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.modules.circle.dto.CircleDTO;
+import org.springblade.modules.circle.entity.CircleEntity;
+import org.springblade.modules.circle.vo.CircleVO;
+import org.springblade.core.mp.base.BaseService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * 圈子表 服务类
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+public interface ICircleService extends IService<CircleEntity> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param circle
+	 * @return
+	 */
+	IPage<CircleVO> selectCirclePage(IPage<CircleVO> page, CircleVO circle);
+
+	/**
+	 * 查询圈子表
+	 *
+	 * @param id 圈子表ID
+	 * @return 圈子表
+	 */
+	public CircleVO selectCircleById(Integer id);
+
+	/**
+	 * 查询圈子表列表
+	 *
+	 * @param circleDTO 圈子表
+	 * @return 圈子表集合
+	 */
+	public List<CircleVO> selectCircleList(CircleDTO circleDTO);
+
+
+}
diff --git a/src/main/java/org/springblade/modules/circle/service/impl/CircleLikeServiceImpl.java b/src/main/java/org/springblade/modules/circle/service/impl/CircleLikeServiceImpl.java
new file mode 100644
index 0000000..58e6d74
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/service/impl/CircleLikeServiceImpl.java
@@ -0,0 +1,71 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.circle.dto.CircleLikeDTO;
+import org.springblade.modules.circle.entity.CircleLikeEntity;
+import org.springblade.modules.circle.vo.CircleLikeVO;
+import org.springblade.modules.circle.mapper.CircleLikeMapper;
+import org.springblade.modules.circle.service.ICircleLikeService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * 圈子点赞表 服务实现类
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+@Service
+public class CircleLikeServiceImpl extends ServiceImpl<CircleLikeMapper, CircleLikeEntity> implements ICircleLikeService {
+
+	@Override
+	public IPage<CircleLikeVO> selectCircleLikePage(IPage<CircleLikeVO> page, CircleLikeVO circle) {
+		return page.setRecords(baseMapper.selectCircleLikePage(page, circle));
+	}
+
+
+
+	/**
+	 * 查询圈子点赞表
+	 *
+	 * @param id 圈子点赞表ID
+	 * @return 圈子点赞表
+	 */
+	@Override
+	public CircleLikeDTO selectCircleLikeById(Long id)
+	{
+		return this.baseMapper.selectCircleLikeById(id);
+	}
+
+	/**
+	 * 查询圈子点赞表列表
+	 *
+	 * @param circleLikeDTO 圈子点赞表
+	 * @return 圈子点赞表集合
+	 */
+	@Override
+	public List<CircleLikeDTO> selectCircleLikeList(CircleLikeDTO circleLikeDTO)
+	{
+		return this.baseMapper.selectCircleLikeList(circleLikeDTO);
+	}
+
+}
diff --git a/src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java b/src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java
new file mode 100644
index 0000000..0fc9a6c
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/service/impl/CircleServiceImpl.java
@@ -0,0 +1,71 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.modules.circle.dto.CircleDTO;
+import org.springblade.modules.circle.entity.CircleEntity;
+import org.springblade.modules.circle.vo.CircleVO;
+import org.springblade.modules.circle.mapper.CircleMapper;
+import org.springblade.modules.circle.service.ICircleService;
+import org.springblade.core.mp.base.BaseServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
+
+/**
+ * 圈子表 服务实现类
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+@Service
+public class CircleServiceImpl extends ServiceImpl<CircleMapper, CircleEntity> implements ICircleService {
+
+	@Override
+	public IPage<CircleVO> selectCirclePage(IPage<CircleVO> page, CircleVO circle) {
+		return page.setRecords(baseMapper.selectCirclePage(page, circle));
+	}
+
+	/**
+	 * 查询圈子表
+	 *
+	 * @param id 圈子表ID
+	 * @return 圈子表
+	 */
+	@Override
+	public CircleVO selectCircleById(Integer id)
+	{
+		return this.baseMapper.selectCircleById(id);
+	}
+
+	/**
+	 * 查询圈子表列表
+	 *
+	 * @param circleDTO 圈子表
+	 * @return 圈子表集合
+	 */
+	@Override
+	public List<CircleVO> selectCircleList(CircleDTO circleDTO)
+	{
+		return this.baseMapper.selectCircleList(circleDTO);
+	}
+
+
+
+}
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java b/src/main/java/org/springblade/modules/circle/vo/CircleLikeVO.java
similarity index 79%
copy from src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
copy to src/main/java/org/springblade/modules/circle/vo/CircleLikeVO.java
index 8d79190..aac8bce 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
+++ b/src/main/java/org/springblade/modules/circle/vo/CircleLikeVO.java
@@ -14,21 +14,22 @@
  *  this software without specific prior written permission.
  *  Author: Chill 庄骞 (smallchill@163.com)
  */
-package org.springblade.modules.house.vo;
+package org.springblade.modules.circle.vo;
 
+import org.springblade.modules.circle.entity.CircleLikeEntity;
+import org.springblade.core.tool.node.INode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springblade.modules.house.entity.HouseLabelEntity;
 
 /**
- * 房屋-标签 视图实体类
+ * 圈子点赞表 视图实体类
  *
  * @author BladeX
- * @since 2023-10-28
+ * @since 2023-11-30
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-public class HouseLabelVO extends HouseLabelEntity {
+public class CircleLikeVO extends CircleLikeEntity {
 	private static final long serialVersionUID = 1L;
 
 }
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java b/src/main/java/org/springblade/modules/circle/vo/CircleVO.java
similarity index 75%
copy from src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
copy to src/main/java/org/springblade/modules/circle/vo/CircleVO.java
index 8d79190..789f508 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
+++ b/src/main/java/org/springblade/modules/circle/vo/CircleVO.java
@@ -14,21 +14,28 @@
  *  this software without specific prior written permission.
  *  Author: Chill 庄骞 (smallchill@163.com)
  */
-package org.springblade.modules.house.vo;
+package org.springblade.modules.circle.vo;
 
+import org.springblade.modules.circle.entity.CircleEntity;
+import org.springblade.core.tool.node.INode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springblade.modules.house.entity.HouseLabelEntity;
 
 /**
- * 房屋-标签 视图实体类
+ * 圈子表 视图实体类
  *
  * @author BladeX
- * @since 2023-10-28
+ * @since 2023-11-30
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-public class HouseLabelVO extends HouseLabelEntity {
+public class CircleVO extends CircleEntity {
 	private static final long serialVersionUID = 1L;
 
+	private String name;
+
+	private String avatar;
+
+	private Integer likeFlag;
+
 }
diff --git a/src/main/java/org/springblade/modules/circle/wrapper/CircleLikeWrapper.java b/src/main/java/org/springblade/modules/circle/wrapper/CircleLikeWrapper.java
new file mode 100644
index 0000000..b86e440
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/wrapper/CircleLikeWrapper.java
@@ -0,0 +1,50 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.circle.entity.CircleLikeEntity;
+import org.springblade.modules.circle.vo.CircleLikeVO;
+import java.util.Objects;
+
+/**
+ * 圈子点赞表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+public class CircleLikeWrapper extends BaseEntityWrapper<CircleLikeEntity, CircleLikeVO>  {
+
+	public static CircleLikeWrapper build() {
+		return new CircleLikeWrapper();
+ 	}
+
+	@Override
+	public CircleLikeVO entityVO(CircleLikeEntity circle) {
+		CircleLikeVO circleVO = Objects.requireNonNull(BeanUtil.copy(circle, CircleLikeVO.class));
+
+		//User createUser = UserCache.getUser(circle.getCreateUser());
+		//User updateUser = UserCache.getUser(circle.getUpdateUser());
+		//circleVO.setCreateUserName(createUser.getName());
+		//circleVO.setUpdateUserName(updateUser.getName());
+
+		return circleVO;
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/circle/wrapper/CircleWrapper.java b/src/main/java/org/springblade/modules/circle/wrapper/CircleWrapper.java
new file mode 100644
index 0000000..2dda406
--- /dev/null
+++ b/src/main/java/org/springblade/modules/circle/wrapper/CircleWrapper.java
@@ -0,0 +1,50 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.modules.circle.wrapper;
+
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.modules.circle.entity.CircleEntity;
+import org.springblade.modules.circle.vo.CircleVO;
+import java.util.Objects;
+
+/**
+ * 圈子表 包装类,返回视图层所需的字段
+ *
+ * @author BladeX
+ * @since 2023-11-30
+ */
+public class CircleWrapper extends BaseEntityWrapper<CircleEntity, CircleVO>  {
+
+	public static CircleWrapper build() {
+		return new CircleWrapper();
+ 	}
+
+	@Override
+	public CircleVO entityVO(CircleEntity circle) {
+		CircleVO circleVO = Objects.requireNonNull(BeanUtil.copy(circle, CircleVO.class));
+
+		//User createUser = UserCache.getUser(circle.getCreateUser());
+		//User updateUser = UserCache.getUser(circle.getUpdateUser());
+		//circleVO.setCreateUserName(createUser.getName());
+		//circleVO.setUpdateUserName(updateUser.getName());
+
+		return circleVO;
+	}
+
+
+}
diff --git a/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
index 18f9fd2..59ae9ac 100644
--- a/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
+++ b/src/main/java/org/springblade/modules/discuss/mapper/PublicDiscussMapper.xml
@@ -125,7 +125,7 @@
         jpd.appoint_user,
         jpd.user_ids,
         jpd.event_type,
-        (SELECT user_id from jczz_user_public_enroll where user_id = #{userId})userId
+        (SELECT user_id from jczz_user_public_enroll where user_id = #{userId} and public_discuss_id = jpd.id)userId
         from
         jczz_public_discuss jpd
         <where>
diff --git a/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java b/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
index 9cc3a94..f6dc98e 100644
--- a/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
+++ b/src/main/java/org/springblade/modules/district/service/impl/DistrictServiceImpl.java
@@ -17,6 +17,8 @@
 package org.springblade.modules.district.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springblade.common.node.TreeIntegerNode;
+import org.springblade.common.node.TreeStringNode;
 import org.springblade.common.utils.NodeTreeUtil;
 import org.springblade.modules.district.entity.DistrictEntity;
 import org.springblade.modules.district.vo.DistrictVO;
@@ -25,6 +27,8 @@
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+
+import java.util.List;
 
 /**
  * 小区表 服务实现类
@@ -47,6 +51,21 @@
 	 */
 	@Override
 	public Object getDistrictTree(DistrictVO district) {
-		return NodeTreeUtil.getStringNodeTree(baseMapper.getDistrictTree(district));
+		List<TreeStringNode> stringNodeTree = NodeTreeUtil.getStringNodeTree(baseMapper.getDistrictTree(district));
+		stringNodeTree.forEach(node -> recursion(node));
+		return stringNodeTree;
+	}
+
+
+	/**
+	 * 去除空的数据组
+	 * @param node
+	 */
+	private void recursion(TreeStringNode node) {
+		if (node.getChildren() != null && node.getChildren().size() > 0) {
+			node.getChildren().forEach(node2 -> recursion(node2));
+		} else {
+			node.setChildren(null);
+		}
 	}
 }
diff --git a/src/main/java/org/springblade/modules/house/controller/HouseLabelController.java b/src/main/java/org/springblade/modules/house/controller/HouseLabelController.java
index cc8545d..2483b52 100644
--- a/src/main/java/org/springblade/modules/house/controller/HouseLabelController.java
+++ b/src/main/java/org/springblade/modules/house/controller/HouseLabelController.java
@@ -31,7 +31,7 @@
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.modules.house.entity.HouseLabelEntity;
-import org.springblade.modules.house.vo.HouseLabelVO;
+import org.springblade.modules.house.vo.UserHouseLabelVO;
 import org.springblade.modules.house.wrapper.HouseLabelWrapper;
 import org.springblade.modules.house.service.IHouseLabelService;
 import org.springblade.core.boot.ctrl.BladeController;
@@ -56,7 +56,7 @@
 	@GetMapping("/detail")
 	@ApiOperationSupport(order = 1)
 	@ApiOperation(value = "详情", notes = "传入houseLabel")
-	public R<HouseLabelVO> detail(HouseLabelEntity houseLabel) {
+	public R<UserHouseLabelVO> detail(HouseLabelEntity houseLabel) {
 		HouseLabelEntity detail = houseLabelService.getOne(Condition.getQueryWrapper(houseLabel));
 		return R.data(HouseLabelWrapper.build().entityVO(detail));
 	}
@@ -66,7 +66,7 @@
 	@GetMapping("/list")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入houseLabel")
-	public R<IPage<HouseLabelVO>> list(HouseLabelEntity houseLabel, Query query) {
+	public R<IPage<UserHouseLabelVO>> list(HouseLabelEntity houseLabel, Query query) {
 		IPage<HouseLabelEntity> pages = houseLabelService.page(Condition.getPage(query), Condition.getQueryWrapper(houseLabel));
 		return R.data(HouseLabelWrapper.build().pageVO(pages));
 	}
@@ -77,8 +77,8 @@
 	@GetMapping("/page")
 	@ApiOperationSupport(order = 3)
 	@ApiOperation(value = "分页", notes = "传入houseLabel")
-	public R<IPage<HouseLabelVO>> page(HouseLabelVO houseLabel, Query query) {
-		IPage<HouseLabelVO> pages = houseLabelService.selectHouseLabelPage(Condition.getPage(query), houseLabel);
+	public R<IPage<UserHouseLabelVO>> page(UserHouseLabelVO houseLabel, Query query) {
+		IPage<UserHouseLabelVO> pages = houseLabelService.selectHouseLabelPage(Condition.getPage(query), houseLabel);
 		return R.data(pages);
 	}
 
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseLabelMapper.java b/src/main/java/org/springblade/modules/house/mapper/HouseLabelMapper.java
index ad4e083..fbc9939 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseLabelMapper.java
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseLabelMapper.java
@@ -17,7 +17,7 @@
 package org.springblade.modules.house.mapper;
 
 import org.springblade.modules.house.entity.HouseLabelEntity;
-import org.springblade.modules.house.vo.HouseLabelVO;
+import org.springblade.modules.house.vo.UserHouseLabelVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import java.util.List;
@@ -37,7 +37,7 @@
 	 * @param houseLabel
 	 * @return
 	 */
-	List<HouseLabelVO> selectHouseLabelPage(IPage page, HouseLabelVO houseLabel);
+	List<UserHouseLabelVO> selectHouseLabelPage(IPage page, UserHouseLabelVO houseLabel);
 
 
 }
diff --git a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
index aa3fb5d..a0a0f72 100644
--- a/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
+++ b/src/main/java/org/springblade/modules/house/mapper/HouseMapper.xml
@@ -77,8 +77,8 @@
     <!--房屋详情-->
     <resultMap id="houseAndHouseLabelMap" type="org.springblade.modules.house.vo.HouseVO" autoMapping="true">
         <id property="id" column="id"/>
-        <collection property="houseLabelVOList" javaType="java.util.List"
-                    ofType="org.springblade.modules.house.vo.HouseLabelVO" autoMapping="true">
+        <collection property="userHouseLabelVOList" javaType="java.util.List"
+                    ofType="org.springblade.modules.house.vo.UserHouseLabelVO" autoMapping="true">
             <id property="id" column="cid"/>
             <result property="remark" column="cremark"/>
         </collection>
@@ -112,8 +112,8 @@
         jh.*,
         jhl.id as cid,jhl.*,jhl.remark as cremark
         from jczz_house jh
-        left join jczz_house_label jhl on jh.house_code = jhl.house_code
-        where jh.is_deleted = 0
+        left join jczz_user_house_label jhl on jh.house_code = jhl.house_code
+        where jh.is_deleted = 0 and jhl.lable_type = 2
         and jh.house_code = #{house.houseCode}
     </select>
 
diff --git a/src/main/java/org/springblade/modules/house/service/IHouseLabelService.java b/src/main/java/org/springblade/modules/house/service/IHouseLabelService.java
index 0f68aab..5c41b04 100644
--- a/src/main/java/org/springblade/modules/house/service/IHouseLabelService.java
+++ b/src/main/java/org/springblade/modules/house/service/IHouseLabelService.java
@@ -18,7 +18,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.modules.house.entity.HouseLabelEntity;
-import org.springblade.modules.house.vo.HouseLabelVO;
+import org.springblade.modules.house.vo.UserHouseLabelVO;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 /**
@@ -36,7 +36,7 @@
 	 * @param houseLabel
 	 * @return
 	 */
-	IPage<HouseLabelVO> selectHouseLabelPage(IPage<HouseLabelVO> page, HouseLabelVO houseLabel);
+	IPage<UserHouseLabelVO> selectHouseLabelPage(IPage<UserHouseLabelVO> page, UserHouseLabelVO houseLabel);
 
 
 	/**
diff --git a/src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java b/src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java
index dfd04a3..ea3c954 100644
--- a/src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java
+++ b/src/main/java/org/springblade/modules/house/service/impl/HouseLabelServiceImpl.java
@@ -19,10 +19,9 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springblade.modules.house.entity.HouseLabelEntity;
-import org.springblade.modules.house.vo.HouseLabelVO;
+import org.springblade.modules.house.vo.UserHouseLabelVO;
 import org.springblade.modules.house.mapper.HouseLabelMapper;
 import org.springblade.modules.house.service.IHouseLabelService;
-import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.modules.label.entity.LabelEntity;
 import org.springblade.modules.label.service.ILabelService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -42,7 +41,7 @@
 	private ILabelService labelService;
 
 	@Override
-	public IPage<HouseLabelVO> selectHouseLabelPage(IPage<HouseLabelVO> page, HouseLabelVO houseLabel) {
+	public IPage<UserHouseLabelVO> selectHouseLabelPage(IPage<UserHouseLabelVO> page, UserHouseLabelVO houseLabel) {
 		return page.setRecords(baseMapper.selectHouseLabelPage(page, houseLabel));
 	}
 
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseVO.java b/src/main/java/org/springblade/modules/house/vo/HouseVO.java
index 27dfb06..e7e5d70 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/HouseVO.java
@@ -17,7 +17,6 @@
 package org.springblade.modules.house.vo;
 
 import org.springblade.modules.house.entity.HouseEntity;
-import org.springblade.core.tool.node.INode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -40,5 +39,5 @@
 	 */
 	private String address;
 
-	private List<HouseLabelVO> houseLabelVOList = new ArrayList<>();
+	private List<UserHouseLabelVO> userHouseLabelVOList = new ArrayList<>();
 }
diff --git a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java b/src/main/java/org/springblade/modules/house/vo/UserHouseLabelVO.java
similarity index 89%
rename from src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
rename to src/main/java/org/springblade/modules/house/vo/UserHouseLabelVO.java
index 8d79190..869a0f8 100644
--- a/src/main/java/org/springblade/modules/house/vo/HouseLabelVO.java
+++ b/src/main/java/org/springblade/modules/house/vo/UserHouseLabelVO.java
@@ -18,7 +18,7 @@
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import org.springblade.modules.house.entity.HouseLabelEntity;
+import org.springblade.modules.house.entity.UserHouseLabelEntity;
 
 /**
  * 房屋-标签 视图实体类
@@ -28,7 +28,7 @@
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
-public class HouseLabelVO extends HouseLabelEntity {
+public class UserHouseLabelVO extends UserHouseLabelEntity {
 	private static final long serialVersionUID = 1L;
 
 }
diff --git a/src/main/java/org/springblade/modules/house/wrapper/HouseLabelWrapper.java b/src/main/java/org/springblade/modules/house/wrapper/HouseLabelWrapper.java
index 2c3cd5d..aab363a 100644
--- a/src/main/java/org/springblade/modules/house/wrapper/HouseLabelWrapper.java
+++ b/src/main/java/org/springblade/modules/house/wrapper/HouseLabelWrapper.java
@@ -19,7 +19,7 @@
 import org.springblade.core.mp.support.BaseEntityWrapper;
 import org.springblade.core.tool.utils.BeanUtil;
 import org.springblade.modules.house.entity.HouseLabelEntity;
-import org.springblade.modules.house.vo.HouseLabelVO;
+import org.springblade.modules.house.vo.UserHouseLabelVO;
 
 import java.util.Objects;
 
@@ -29,15 +29,15 @@
  * @author BladeX
  * @since 2023-10-28
  */
-public class HouseLabelWrapper extends BaseEntityWrapper<HouseLabelEntity, HouseLabelVO>  {
+public class HouseLabelWrapper extends BaseEntityWrapper<HouseLabelEntity, UserHouseLabelVO>  {
 
 	public static HouseLabelWrapper build() {
 		return new HouseLabelWrapper();
  	}
 
 	@Override
-	public HouseLabelVO entityVO(HouseLabelEntity houseLabel) {
-		HouseLabelVO houseLabelVO = Objects.requireNonNull(BeanUtil.copy(houseLabel, HouseLabelVO.class));
+	public UserHouseLabelVO entityVO(HouseLabelEntity houseLabel) {
+		UserHouseLabelVO houseLabelVO = Objects.requireNonNull(BeanUtil.copy(houseLabel, UserHouseLabelVO.class));
 
 		//User createUser = UserCache.getUser(houseLabel.getCreateUser());
 		//User updateUser = UserCache.getUser(houseLabel.getUpdateUser());
diff --git a/src/main/java/sql/circle.menu.sql b/src/main/java/sql/circle.menu.sql
new file mode 100644
index 0000000..461e42a
--- /dev/null
+++ b/src/main/java/sql/circle.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730120254748745729', 1123598815738675201, 'circle', '圈子表', 'menu', '/circle/circle', NULL, 1, 1, 0, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730120254748745730', '1730120254748745729', 'circle_add', '新增', 'add', '/circle/circle/add', 'plus', 1, 2, 1, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730120254748745731', '1730120254748745729', 'circle_edit', '修改', 'edit', '/circle/circle/edit', 'form', 2, 2, 2, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730120254748745732', '1730120254748745729', 'circle_delete', '删除', 'delete', '/api/blade-circle/circle/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730120254748745733', '1730120254748745729', 'circle_view', '查看', 'view', '/circle/circle/view', 'file-text', 4, 2, 2, 1, NULL, 0);
diff --git a/src/main/java/sql/circlelike.menu.sql b/src/main/java/sql/circlelike.menu.sql
new file mode 100644
index 0000000..4c0c193
--- /dev/null
+++ b/src/main/java/sql/circlelike.menu.sql
@@ -0,0 +1,10 @@
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730146232548057090', 1123598815738675201, 'circle', '圈子点赞表', 'menu', '/circle/circle', NULL, 1, 1, 0, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730146232548057091', '1730146232548057090', 'circle_add', '新增', 'add', '/circle/circle/add', 'plus', 1, 2, 1, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730146232548057092', '1730146232548057090', 'circle_edit', '修改', 'edit', '/circle/circle/edit', 'form', 2, 2, 2, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730146232548057093', '1730146232548057090', 'circle_delete', '删除', 'delete', '/api/blade-circle/circle/remove', 'delete', 3, 2, 3, 1, NULL, 0);
+INSERT INTO `blade_menu`(`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
+VALUES ('1730146232548057094', '1730146232548057090', 'circle_view', '查看', 'view', '/circle/circle/view', 'file-text', 4, 2, 2, 1, NULL, 0);

--
Gitblit v1.9.3