springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/dtos/community/PageComActDynTypeDTO.java
@@ -17,7 +17,7 @@ @ApiModelProperty("关键词") private String keyWord; @ApiModelProperty(value = "社区id", hidden = true) @ApiModelProperty(value = "社区id") private Long communityId; } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/ActDynTypeApi.java
@@ -23,6 +23,8 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import static java.util.Objects.isNull; @Slf4j @Api(tags = {"社区动态分类模块"}) @RestController @@ -35,8 +37,9 @@ @ApiOperation(value = "分页查询社区动态列表", response = ComActDynTypeVO.class) @PostMapping("/page") public R page(@RequestBody PageComActDynTypeDTO comActDynTypeDTO) { Long communityId = this.getCommunityId(); comActDynTypeDTO.setCommunityId(communityId); if (isNull(comActDynTypeDTO.getCommunityId())) { comActDynTypeDTO.setCommunityId(this.getCommunityId()); } return communityService.pageDynTypeByAdmin(comActDynTypeDTO); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/BigScreenStatisticsApi.java
@@ -1,10 +1,19 @@ package com.panzhihua.community_backstage.api; import static java.util.Objects.isNull; import javax.annotation.Resource; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenResidentActStatisticsInfo; import com.panzhihua.common.model.vos.community.bigscreen.BigScreenVolunteerActStatisticsInfo; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -53,6 +62,9 @@ import com.panzhihua.common.model.vos.community.screen.event.EventPopulationStreetVO; import com.panzhihua.common.model.vos.community.screen.event.EventStatisticsVO; import com.panzhihua.common.model.vos.community.screen.index.IndexStatisticsVO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO; import com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO; import com.panzhihua.common.model.vos.community.switchs.StreetAllAppletsVO; import com.panzhihua.common.model.vos.neighbor.ComActNeighborCircleAdminVO; import com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO; import com.panzhihua.common.model.vos.screen.ScreenDrawEventPopulationTotalVO; @@ -324,7 +336,9 @@ @ApiOperation(value = "首页二级页面-社区动态展示列表", response = ComActDynVO.class) @PostMapping("/index/dynList") public R indexDynList(@RequestBody PageBaseDTO pageBaseDTO) { pageBaseDTO.setCommunityId(this.getCommunityId()); if (isNull(pageBaseDTO.getCommunityId())) { pageBaseDTO.setCommunityId(this.getCommunityId()); } return communityService.indexDynList(pageBaseDTO); } @@ -348,7 +362,9 @@ @ApiOperation(value = "首页二级页面-邻里圈展示列表", response = ComActNeighborCircleAdminVO.class) @PostMapping("/index/neighborList") public R indexNeighborList(@RequestBody PageBaseDTO pageBaseDTO) { pageBaseDTO.setCommunityId(this.getCommunityId()); if (isNull(pageBaseDTO.getCommunityId())) { pageBaseDTO.setCommunityId(this.getCommunityId()); } return communityService.indexNeighborList(pageBaseDTO); } @@ -509,4 +525,10 @@ pageBaseDTO.setCommunityId(this.getCommunityId()); return communityService.indexVolunteerActList(pageBaseDTO); } @ApiOperation(value = "查询所有社区", response = StreetAllAppletsVO.class) @GetMapping("/list/act") public R list() { return communityService.communitySwitchList(); } } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/NeighborApi.java
@@ -19,6 +19,8 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import static java.util.Objects.isNull; /** * @auther llming * @describe @@ -155,7 +157,9 @@ @ApiOperation(value = "分页查询邻里圈话题列表", response = ComActNeighborCircleTopicAdminVO.class) @PostMapping("pageNeighborTopicByAdmin") public R pageNeighborTopicByAdmin(@RequestBody ComActNeighborCircleTopicAdminDTO circleTopicAdminDTO) { circleTopicAdminDTO.setCommunityId(this.getCommunityId()); if (isNull(circleTopicAdminDTO.getCommunityId())) { circleTopicAdminDTO.setCommunityId(this.getCommunityId()); } return communityService.pageNeighborTopicByAdmin(circleTopicAdminDTO); } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/MybatisHmkInterceptor.java
New file @@ -0,0 +1,68 @@ package com.panzhihua.service_community.config; import com.baomidou.mybatisplus.core.toolkit.PluginUtils; import com.baomidou.mybatisplus.extension.plugins.inner.InnerInterceptor; import org.apache.ibatis.executor.Executor; import org.apache.ibatis.executor.statement.StatementHandler; import org.apache.ibatis.mapping.BoundSql; import org.apache.ibatis.mapping.MappedStatement; import org.apache.ibatis.mapping.ParameterMapping; import org.apache.ibatis.plugin.*; import org.apache.ibatis.reflection.DefaultReflectorFactory; import org.apache.ibatis.reflection.MetaObject; import org.apache.ibatis.reflection.SystemMetaObject; import org.apache.ibatis.session.ResultHandler; import org.apache.ibatis.session.RowBounds; import org.springframework.stereotype.Component; import java.lang.reflect.Field; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @Intercepts({ @Signature(type = StatementHandler.class, method = "query", args = {Statement.class, ResultHandler.class}) }) public class MybatisHmkInterceptor implements InnerInterceptor { @Override public void beforeQuery(Executor executor, MappedStatement ms, Object parameter, RowBounds rowBounds, ResultHandler resultHandler, BoundSql boundSql) throws SQLException { String sql=boundSql.getSql(); if(parameter instanceof Long){ if(sql.contains("community_id = ?")&&(long)parameter==10086){ sql=sql.replace("community_id = ?","community_id in (?)"); parameter="30,31"; boundSql.setAdditionalParameter("communityId",parameter); PluginUtils.mpBoundSql(boundSql).sql(sql); } } if(parameter instanceof Map){ List<ParameterMapping> parameterMappingList=new ArrayList<>(); if(sql.contains("community_id = ?")&&((Map<?, ?>) parameter).containsValue(10086L)){ List<ParameterMapping> parameterMappings=boundSql.getParameterMappings(); parameterMappings.forEach(parameterMapping -> { if (parameterMapping.getProperty().equals("communityId")){ ParameterMapping parameterMapping1=new ParameterMapping.Builder(ms.getConfiguration(),"communityId",Object.class).build(); parameterMappingList.add(parameterMapping1); } else { parameterMappingList.add(parameterMapping); } }); sql=sql.replace("community_id = ?","community_id in (?)"); ((Map<?,?>) parameter).replaceAll((k,v)->{ if(v.toString().equals("10086")){ boundSql.setAdditionalParameter(k.toString(),"30,31"); } return v; }); PluginUtils.mpBoundSql(boundSql).parameterMappings(parameterMappingList); PluginUtils.mpBoundSql(boundSql).sql(sql); } } InnerInterceptor.super.beforeQuery(executor, ms, parameter, rowBounds, resultHandler, boundSql); } } springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/config/MybatisPlusConfig.java
@@ -1,5 +1,6 @@ package com.panzhihua.service_community.config; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -24,6 +25,7 @@ public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2)); interceptor.addInnerInterceptor(new MybatisHmkInterceptor()); return interceptor; }