huanghongfa
2020-12-06 22c0fa7dfd9d558ac09b4239101b6ae47b085573
党建接口测试ok
4 文件已重命名
40个文件已修改
3个文件已删除
2个文件已添加
1051 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/applets/pom.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/AppletsApplication.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/PartyBuildingApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/config/SwaggerConfig.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/pom.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/AppletsBackstageApplication.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/config/SwaggerConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/pom.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/config/FtpConfig.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/FtpConstants.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PageActivityMembersVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingActivityVO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingComPbDynVO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/ftp/FTPClientService.java 184 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/partybuilding/PartyBuildingService.java 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/SFTPUtil.java 301 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/constants/FtpConstants.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PageActivityMembersVO.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingActivityVO.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingComPbDynVO.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberVO.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/service/ftp/FTPClientService.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/service/partybuilding/PartyBuildingService.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/utlis/SFTPUtil.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/CommunityBackstageApplication.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/SwaggerConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/PartyBuildingMemberExcelListen.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/pom.xml 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/api/PartyBuildIngApi.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComBpActivityDAO.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbActivityMemberDAO.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbDynDAO.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberDAO.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbMemberDO.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbOrgDO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComBpActivityService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComPbMemberService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/application.yml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/zuul/pom.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/ZuulApplication.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/config/SwaggerConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/resources/application.yml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/pom.xml
@@ -33,10 +33,6 @@
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.panzhihua</groupId>
            <artifactId>common</artifactId>
        </dependency>
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/AppletsApplication.java
@@ -6,9 +6,9 @@
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableOpenApi
@EnableSwagger2
@SpringCloudApplication
@EnableCircuitBreaker
@EnableEurekaClient
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/PartyBuildingApi.java
@@ -27,7 +27,7 @@
    @ApiOperation(value = "分页党建动态/政策文件",response =PartyCommitteeVO.class )
    @PostMapping("pagedynamic")
    public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO){
    public R pageYnamic(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO){
        Integer communityId=1;//todo 获取社区id
        Integer type = partyBuildingComPbDynVO.getType();
        if (ObjectUtils.isEmpty(type)) {
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/config/SwaggerConfig.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/config/Swagger3Config.java
@@ -10,7 +10,6 @@
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -19,7 +18,7 @@
 * @create: 2020-11-19 16:08
 **/
@Configuration
public class Swagger3Config {
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/pom.xml
@@ -32,8 +32,8 @@
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>com.panzhihua</groupId>
@@ -46,10 +46,6 @@
        <dependency>
            <groupId>com.netflix.hystrix</groupId>
            <artifactId>hystrix-javanica</artifactId>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/AppletsBackstageApplication.java
@@ -1,14 +1,13 @@
package com.panzhihua.applets_backstage;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableOpenApi
@EnableSwagger2
@SpringCloudApplication
@EnableCircuitBreaker
@EnableEurekaClient
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/config/SwaggerConfig.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/config/Swagger3Config.java
@@ -18,7 +18,7 @@
 * @create: 2020-11-19 16:08
 **/
@Configuration
public class Swagger3Config {
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
springcloud_k8s_panzhihuazhihuishequ/common/pom.xml
@@ -58,7 +58,7 @@
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <artifactId>springfox-swagger2</artifactId>
        </dependency>
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
@@ -87,7 +87,11 @@
            <artifactId>easyexcel</artifactId>
            <version>2.2.6</version>
        </dependency>
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.53</version>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/config/FtpConfig.java
File was deleted
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/FtpConstants.java
@@ -14,7 +14,7 @@
    /**
     * 端口号
     */
    public static final Integer FTPPORT=21;
    public static final Integer FTPPORT=22;
    /**
     * ftp访问用户名
     */
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PageActivityMembersVO.java
@@ -1,5 +1,6 @@
package com.panzhihua.common.model.vos.partybuilding;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -17,6 +18,7 @@
    private String phone;
    @ApiModelProperty(value ="姓名")
    private String name;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value ="报名时间")
    private String registrationTime;
    @ApiModelProperty(value ="人员主键")
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingActivityVO.java
@@ -1,5 +1,6 @@
package com.panzhihua.common.model.vos.partybuilding;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -15,7 +16,8 @@
 **/
@Data
@ApiModel("党员活动")
public class PartyBuildingActivityVO {
public class
PartyBuildingActivityVO {
    @ApiModelProperty("党员id")
    private Integer id;
@@ -27,25 +29,25 @@
    @ApiModelProperty("1 待发布 2 未开始 3 报名中 4 进行中 5 已结束 6 已取消")
    private Integer status;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("发布时间")
    private Date releaseTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("发布开始时间")
    private Date releaseTimeBegin;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("发布结束时间")
    private Date releaseTimeEnd;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("活动开始时间")
    private Date activityTimeBegin;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("活动结束时间")
    private Date activityTimeEnd;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("报名开始时间")
    private Date enrollTimeBegin;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("报名结束时间")
    private Date enrollTimeEnd;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingComPbDynVO.java
@@ -1,5 +1,6 @@
package com.panzhihua.common.model.vos.partybuilding;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -23,14 +24,14 @@
    private String title;
    @ApiModelProperty("状态 1 待发布 2 已发布")
    private boolean status;
    private Integer status;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("发布时间")
    private Date publishAt;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("发布开始时间")
    private Date publishAtBegin;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty("发布结束时间")
    private Date publishAtEnd;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberVO.java
@@ -1,5 +1,6 @@
package com.panzhihua.common.model.vos.partybuilding;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -15,17 +16,19 @@
@Data
@ApiModel("社区管理》党建》党员信息")
public class PartyBuildingMemberVO {
    @ApiModelProperty(value = "姓名",required = true)
    @ApiModelProperty(value = "姓名")
    private String name;
    @ApiModelProperty(value = "身份证",required = true)
    @ApiModelProperty(value = "身份证")
    private String idCard;
    @ApiModelProperty(value = "入党时间",required = true)
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "入党时间")
    private Date joinTime;
    @ApiModelProperty(value = "转正时间",required = true)
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    @ApiModelProperty(value = "转正时间")
    private Date employmentTime;
    @ApiModelProperty(value = "所属党组织id",required = true)
    @ApiModelProperty(value = "所属党组织id")
    private Integer orgId;
    @ApiModelProperty(value = "头像图片路径",required = true)
    @ApiModelProperty(value = "头像图片路径")
    private String photoPath;
    @ApiModelProperty(value = "社区ID",hidden=true)
    private Integer communityId;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/ftp/FTPClientService.java
File was deleted
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/partybuilding/PartyBuildingService.java
@@ -22,21 +22,21 @@
     * @param partyBuildingMemberVO 党员基本信息
     * @return 新增结果
     */
    @PostMapping("addpartybuildingmember")
    @PostMapping("/partybuildIng/addpartybuildingmember")
    R addPartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO);
    /**
     * 平台所有的党组织
     * @return 党组织集合
     */
    @PostMapping("listpartyorganization")
    @PostMapping("/partybuildIng/listpartyorganization")
    List<PartyOrganizationVO> listPartyOrganization();
    /**
     * 批量新增党员
     * @param list 党员集合
     */
    @PostMapping("listsavepartybuildingmemberexcelVO")
    @PostMapping("/partybuildIng/listsavepartybuildingmemberexcelvo")
    R listSavePartyBuildingMemberExcelVO(@RequestBody List<PartyBuildingMemberExcelVO> list);
    /**
@@ -44,23 +44,23 @@
     * @param pagePartyOrganizationVO 查询信息
     * @return 分页数据
     */
    @PostMapping("pagepartyorganization")
    @PostMapping("/partybuildIng/pagepartyorganization")
    R pagePartyOrganization(@RequestBody PagePartyOrganizationVO pagePartyOrganizationVO);
    /**
     * 党员活动
     * @param id 党员id
     * @param partyBuildingActivityVO 党员活动查询参数
     * @return 参加的所有活动
     */
    @PostMapping("listpartymemberactivities")
    R listPartyMemberActivities(@RequestParam("id") Integer id);
    @PostMapping("/partybuildIng/listpartymemberactivities")
    R listPartyMemberActivities(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO);
    /**
     * 活动报名名单分页查询
     * @param pageActivityMembersVO 查询参数 手机号 名字
     * @return 分页数据
     */
    @PostMapping("pageactivitymembers")
    @PostMapping("/partybuildIng/pageactivitymembers")
    R pageActivityMembers(@RequestBody PageActivityMembersVO pageActivityMembersVO);
    /**
@@ -68,7 +68,7 @@
     * @param partyBuildingMemberVO 编辑字段
     * @return 编辑结果
     */
    @PostMapping("updatepartybuildingmember")
    @PostMapping("/partybuildIng/updatepartybuildingmember")
    R updatePartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO);
    /**
@@ -76,7 +76,7 @@
     * @param id 活动id
     * @return 活动详情内容
     */
    @PostMapping("activityinfo")
    @PostMapping("/partybuildIng/activityinfo")
    R activityinfo(@RequestParam("id") Integer id);
    /**
@@ -84,14 +84,14 @@
     * @param communityId 社区id
     * @return 党员列表
     */
    @PostMapping("listPartyMember")
    @PostMapping("/partybuildIng/listPartyMember")
    R listPartyMember(@RequestParam("communityId")Integer communityId);
    /**
     * 社区下拉选择身份
     * @return 身份集合
     */
    @PostMapping("listidentity")
    @PostMapping("/partybuildIng/listidentity")
    R listIdentity();
    /**
@@ -99,21 +99,21 @@
     * @param partyCommitteeVO 新增信息
     * @return 新增结果
     */
    @PostMapping("addpartycommittee")
    @PostMapping("/partybuildIng/addpartycommittee")
    R addPartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO);
    /**
     * 编辑党委
     * @param partyCommitteeVO 编辑信息
     * @return 编辑结果
     */
    @PostMapping("updatepartycommittee")
    @PostMapping("/partybuildIng/updatepartycommittee")
    R updatePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO);
    /**
     * 删除党委
     * @param partyCommitteeVO 删除id
     * @return 删除结果
     */
    @PostMapping("deletepartycommittee")
    @PostMapping("/partybuildIng/deletepartycommittee")
    R deletePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO);
    /**
@@ -121,7 +121,7 @@
     * @param partyCommitteeVO 查询参数
     * @return 分页集合
     */
    @PostMapping("pagepartycommittee")
    @PostMapping("/partybuildIng/pagepartycommittee")
    R pagePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO);
    /**
@@ -129,7 +129,7 @@
     * @param partyCommitteeVO 动态内容
     * @return 新增结果
     */
    @PostMapping("adddynamic")
    @PostMapping("/partybuildIng/adddynamic")
    R adddYnamic(@RequestBody PartyBuildingComPbDynVO partyCommitteeVO);
    /**
@@ -137,7 +137,7 @@
     * @param partyCommitteeVO 编辑内容
     * @return 编辑结果
     */
    @PostMapping("updatedynamic")
    @PostMapping("/partybuildIng/updatedynamic")
    R updateYnamic(@RequestBody PartyBuildingComPbDynVO partyCommitteeVO);
    /**
@@ -145,7 +145,7 @@
     * @param id 动态主键
     * @return 详情
     */
    @PostMapping("infodynamic")
    @PostMapping("/partybuildIng/infodynamic")
    R infoYnamic(@RequestParam("id") Integer id);
    /**
@@ -153,7 +153,7 @@
     * @param partyBuildingComPbDynVO 查询参数
     * @return 分页数据
     */
    @PostMapping("pagedynamic")
    @PostMapping("/partybuildIng/pagedynamic")
    R pageYnamic(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO);
    /**
@@ -161,7 +161,7 @@
     * @param id 动态主键
     * @return 删除结果
     */
    @PostMapping("deletedynamic")
    @PostMapping("/partybuildIng/deletedynamic")
    R deleteYnamic(@RequestParam("id") Integer id);
    /**
@@ -169,7 +169,7 @@
     * @param partyBuildingActivityVO 参数
     * @return 新增结果
     */
    @PostMapping("addactivity")
    @PostMapping("/partybuildIng/addactivity")
    R addactivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO);
    /**
@@ -177,7 +177,7 @@
     * @param partyBuildingActivityVO 编辑内容
     * @return 编辑结果
     */
    @PostMapping("updateactivity")
    @PostMapping("/partybuildIng/updateactivity")
    R updateActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO);
    /**
@@ -185,7 +185,7 @@
     * @param id 主键id
     * @return 发布结果
     */
    @PostMapping("releaseactivity")
    @PostMapping("/partybuildIng/releaseactivity")
    R releaseActivity(@RequestParam("id") Integer id);
    /**
@@ -193,7 +193,7 @@
     * @param id 主键id
     * @return 删除结果
     */
    @PostMapping("deleteactivity")
    @PostMapping("/partybuildIng/deleteactivity")
    R deleteActivity(@RequestParam("id") Integer id);
    /**
@@ -201,7 +201,7 @@
     * @param partyBuildingActivityVO 查询条件
     * @return 查询结果
     */
    @PostMapping("pageactivity")
    @PostMapping("/partybuildIng/pageactivity")
    R pageActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO);
    /**
@@ -209,6 +209,21 @@
     * @param comPbDynUserVO 记录内容
     * @return 增加结果
     */
    @PostMapping("adddynuser")
    @PostMapping("/partybuildIng/adddynuser")
    R addDynUser(@RequestBody ComPbDynUserVO comPbDynUserVO);
    /**
     * 删除党员
     * @param id 党员主键
     * @return 删除结果
     */
    @PostMapping("/partybuildIng/deletepartybuildingmember")
    R deleteDynUser(@RequestParam("id") Integer id);
    /**
     * 取消活动
     * @param partyBuildingActivityVO 取消原因
     * @return 操作结果
     */
    @PostMapping("/partybuildIng/cancelactivity")
    R cancelActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/utlis/SFTPUtil.java
New file
@@ -0,0 +1,301 @@
package com.panzhihua.common.utlis;
import com.jcraft.jsch.*;
import com.panzhihua.common.constants.FtpConstants;
import org.apache.commons.io.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.*;
import java.util.Properties;
import java.util.Vector;
/**
 * @version 1.0.0
 * @ClassName: SFTPUtil
 * @Description: sftp连接工具类
 */
public class SFTPUtil {
    private transient Logger log = LoggerFactory.getLogger(this.getClass());
    private ChannelSftp sftp;
    private Session session;
    // FTP 登录用户名
    private String userName;
    // FTP 登录密码
    private String password;
    // FTP 服务器地址IP地址
    private String host;
    // FTP 端口
    private int port;
    /**
     * 构造基于密码认证的sftp对象
     *
     * @param userName
     * @param password
     * @param host
     * @param port
     */
    public SFTPUtil(String userName, String password, String host, int port) {
        this.userName = userName;
        this.password = password;
        this.host = host;
        this.port = port;
    }
    public SFTPUtil() {
        this.userName = FtpConstants.FTPUSERNAME;
        this.password = FtpConstants.FTPPASSWORD;
        this.host = FtpConstants.FTPHOST;
        this.port = FtpConstants.FTPPORT;
    }
    /**
     * 连接sftp服务器
     *
     * @throws Exception
     */
    public void login() {
        try {
            JSch jsch = new JSch();
            log.info("sftp connect by host:{} username:{}", host, userName);
            session = jsch.getSession(userName, host, port);
            log.info("Session is build");
            if (password != null) {
                session.setPassword(password);
            }
            Properties config = new Properties();
            config.put("StrictHostKeyChecking", "no");
            session.setConfig(config);
            session.connect();
            log.info("Session is connected");
            Channel channel = session.openChannel("sftp");
            channel.connect();
            log.info("channel is connected");
            sftp = (ChannelSftp) channel;
            log.info(String.format("sftp server host:[%s] port:[%s] is connect successfull", host, port));
        } catch (JSchException e) {
            log.error("Cannot connect to specified sftp server : {}:{} \n Exception message is: {}", new Object[]{host, port, e.getMessage()});
        }
    }
    /**
     * 关闭连接 server
     */
    public void logout() {
        if (sftp != null) {
            if (sftp.isConnected()) {
                sftp.disconnect();
                log.info("sftp is closed already");
            }
        }
        if (session != null) {
            if (session.isConnected()) {
                session.disconnect();
                log.info("sshSession is closed already");
            }
        }
    }
    /**
     * 递归根据路径创建文件夹
     *
     * @param dirs     根据 / 分隔后的数组文件夹名称
     * @param tempPath 拼接路径
     * @param length   文件夹的格式
     * @param index    数组下标
     * @return
     */
    public void mkdirDir(String[] dirs, String tempPath, int length, int index) {
        // 以"/a/b/c/d"为例按"/"分隔后,第0位是"";顾下标从1开始
        index++;
        if (index < length) {
            // 目录不存在,则创建文件夹
            tempPath += "/" + dirs[index];
        }
        try {
            log.info("检测目录[" + tempPath + "]");
            sftp.cd(tempPath);
            if (index < length) {
                mkdirDir(dirs, tempPath, length, index);
            }
        } catch (SftpException ex) {
            log.warn("创建目录[" + tempPath + "]");
            try {
                sftp.mkdir(tempPath);
                sftp.cd(tempPath);
            } catch (SftpException e) {
                e.printStackTrace();
                log.error("创建目录[" + tempPath + "]失败,异常信息[" + e.getMessage() + "]");
            }
            log.info("进入目录[" + tempPath + "]");
            mkdirDir(dirs, tempPath, length, index);
        }
    }
    /**
     * 将输入流的数据上传到sftp作为文件(多层目录)
     *
     * @param directory    上传到该目录(多层目录)
     * @param sftpFileName sftp端文件名
     * @param input        输入流
     * @throws SftpException
     * @throws Exception
     */
    public void uploadMore(String directory, String sftpFileName, InputStream input) throws SftpException {
        try {
            sftp.cd(directory);
        } catch (SftpException e) {
            // 目录不存在,则创建文件夹
            String[] dirs = directory.split("/");
            String tempPath = "";
            int index = 0;
            mkdirDir(dirs, tempPath, dirs.length, index);
        }
        sftp.put(input, sftpFileName);// 上传文件
    }
    /**
     * 将输入流的数据上传到sftp作为文件
     *
     * @param directory    上传到该目录(单层目录)
     * @param sftpFileName sftp端文件名
     * @param input        输入流
     * @throws SftpException
     * @throws Exception
     */
    public void upload(String directory, String sftpFileName, InputStream input) throws SftpException {
        try {
            sftp.cd(directory);
        } catch (SftpException e) {
            log.warn("directory is not exist");
            sftp.mkdir(directory);
            sftp.cd(directory);
        }
        sftp.put(input, sftpFileName);
        log.info("file:{} is upload successful", sftpFileName);
    }
    /**
     * 上传单个文件
     *
     * @param directory  上传到sftp目录
     * @param uploadFile 要上传的文件,包括路径
     * @throws FileNotFoundException
     * @throws SftpException
     * @throws Exception
     */
    public void upload(String directory, String uploadFile) throws FileNotFoundException, SftpException {
        File file = new File(uploadFile);
        upload(directory, file.getName(), new FileInputStream(file));
    }
    /**
     * 将byte[]上传到sftp,作为文件。注意:从String生成byte[]是,要指定字符集。
     *
     * @param directory    上传到sftp目录
     * @param sftpFileName 文件在sftp端的命名
     * @param byteArr      要上传的字节数组
     * @throws SftpException
     * @throws Exception
     */
    public void upload(String directory, String sftpFileName, byte[] byteArr) throws SftpException {
        upload(directory, sftpFileName, new ByteArrayInputStream(byteArr));
    }
    /**
     * 将字符串按照指定的字符编码上传到sftp
     *
     * @param directory    上传到sftp目录
     * @param sftpFileName 文件在sftp端的命名
     * @param dataStr      待上传的数据
     * @param charsetName  sftp上的文件,按该字符编码保存
     * @throws UnsupportedEncodingException
     * @throws SftpException
     * @throws Exception
     */
    public void upload(String directory, String sftpFileName, String dataStr, String charsetName) throws UnsupportedEncodingException, SftpException {
        upload(directory, sftpFileName, new ByteArrayInputStream(dataStr.getBytes(charsetName)));
    }
    /**
     * 下载文件
     *
     * @param directory    下载目录
     * @param downloadFile 下载的文件
     * @param saveFile     存在本地的路径
     * @throws SftpException
     * @throws FileNotFoundException
     * @throws Exception
     */
    public void download(String directory, String downloadFile, String saveFile) throws SftpException, FileNotFoundException {
        if (directory != null && !"".equals(directory)) {
            sftp.cd(directory);
        }
        File file = new File(saveFile);
        sftp.get(downloadFile, new FileOutputStream(file));
        log.info("file:{} is download successful", downloadFile);
    }
    /**
     * 下载文件
     *
     * @param directory    下载目录
     * @param downloadFile 下载的文件名
     * @return 字节数组
     * @throws SftpException
     * @throws IOException
     * @throws Exception
     */
    public byte[] download(String directory, String downloadFile) throws SftpException, IOException {
        if (directory != null && !"".equals(directory)) {
            sftp.cd(directory);
        }
        InputStream is = sftp.get(downloadFile);
        byte[] fileData = IOUtils.toByteArray(is);
        log.info("file:{} is download successful", downloadFile);
        return fileData;
    }
    /**
     * 删除文件
     *
     * @param directory  要删除文件所在目录
     * @param deleteFile 要删除的文件
     * @throws SftpException
     * @throws Exception
     */
    public void delete(String directory, String deleteFile) throws SftpException {
        sftp.cd(directory);
        sftp.rm(deleteFile);
    }
    /**
     * 列出目录下的文件
     *
     * @param directory 要列出的目录
     * @return
     * @throws SftpException
     */
    public Vector<?> listFiles(String directory) throws SftpException {
        return sftp.ls(directory);
    }
    public static void main(String[] args) throws SftpException, IOException {
        SFTPUtil sftp = new SFTPUtil("root", "evanN7F2K5M6", "47.104.148.185", 22);
        sftp.login();
        File file = new File("F:\\settings.xml");
        InputStream is = new FileInputStream(file);
        // 多级目录创建并上传
        sftp.uploadMore("/mnt/data/ftp/ss", "settings.xml", is);
        sftp.logout();
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/constants/FtpConstants.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PageActivityMembersVO.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingActivityVO.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingComPbDynVO.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberVO.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/service/ftp/FTPClientService.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/service/partybuilding/PartyBuildingService.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/utlis/SFTPUtil.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml
@@ -37,10 +37,6 @@
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.panzhihua</groupId>
            <artifactId>common</artifactId>
        </dependency>
@@ -49,12 +45,9 @@
            <artifactId>hystrix-javanica</artifactId>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/CommunityBackstageApplication.java
@@ -1,15 +1,14 @@
package com.panzhihua.community_backstage;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.SpringCloudApplication;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableOpenApi
@EnableSwagger2
@SpringCloudApplication
@EnableCircuitBreaker
@EnableEurekaClient
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java
@@ -1,28 +1,40 @@
package com.panzhihua.community_backstage.api;
import com.alibaba.excel.EasyExcel;
import com.jcraft.jsch.SftpException;
import com.panzhihua.common.constants.FtpConstants;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.*;
import com.panzhihua.common.model.vos.user.RoleVO;
import com.panzhihua.common.service.ftp.FTPClientService;
import com.panzhihua.common.service.partybuilding.PartyBuildingService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.SFTPUtil;
import com.panzhihua.community_backstage.listen.PartyBuildingMemberExcelListen;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.FileUtils;
import org.springframework.core.io.FileSystemResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.activation.MimetypesFileTypeMap;
import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.*;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -37,8 +49,6 @@
public class CommunityPartyBuildingApi extends BaseController {
    @Resource
    private PartyBuildingService partyBuildingService;
    @Resource
    private FTPClientService ftpClientService;
    @Resource
    private UserService userService;
    /**
@@ -79,26 +89,37 @@
    }
    @ApiOperation(value = "下载模板-导入党员")
    @PostMapping("downloadtemplate")
    public R downloadTemplate(HttpServletResponse httpServletResponse) {
        Boolean download = ftpClientService.download(UPLOAD_EXCEL, FtpConstants.FTPFILEPATH_MUBAN, httpServletResponse);
        if (download) {
            return R.ok();
    @GetMapping(value = "downloadtemplate",headers="Accept=application/octet-stream")
    public ResponseEntity<byte[]> downloadTemplate() {
        SFTPUtil sftp = new SFTPUtil();
        sftp.login();
        try {
            byte[] download = sftp.download(FtpConstants.FTPFILEPATH_MUBAN, UPLOAD_EXCEL);
            ResponseEntity.BodyBuilder bodyBuilder = ResponseEntity.ok();
            bodyBuilder.contentType(MediaType.APPLICATION_OCTET_STREAM);
            String encodeFileName = URLEncoder.encode(UPLOAD_EXCEL, "UTF-8");
            bodyBuilder.header("Content-Disposition","attachment;filename="+encodeFileName);
            return bodyBuilder.body(download);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return R.fail();
        return null;
    }
    @ApiOperation(value = "上传照片")
    @PostMapping("uploadimage")
    public R uploadImage(CommonsMultipartFile commonsMultipartFile) {
        String name = commonsMultipartFile.getName();
    @PostMapping(value = "uploadimage",consumes = "multipart/*",headers = "content-type=multipart/form-date")
    public R uploadImage(@RequestParam MultipartFile file, HttpServletRequest request) {
        String name = file.getOriginalFilename();
        try {
            boolean b = ftpClientService.uploadFile(commonsMultipartFile.getInputStream(), name, FtpConstants.FTPFILEPATH_IDCARD);
            if (b) {
                return R.ok(FtpConstants.HTTP_URL + name);
            }
            return R.fail();
        } catch (IOException e) {
            SFTPUtil sftp = new SFTPUtil();
            sftp.login();
            InputStream is = file.getInputStream();
            sftp.uploadMore(FtpConstants.FTPFILEPATH_IDCARD, name, is);
            sftp.logout();
            return R.ok(FtpConstants.HTTP_URL+"/idcard/" + name);
        } catch (Exception e) {
            log.error("上传照片失败【{}】", e.getMessage());
            return R.fail();
        }
@@ -106,15 +127,15 @@
    }
    @ApiOperation(value = "批量新增党员导入excel")
    @PostMapping(value = "downloadtemplate", headers = "content-type=multipart/form-data")
    public R downloadTemplate(CommonsMultipartFile commonsMultipartFile) {
        String fileName = commonsMultipartFile.getOriginalFilename();  //获取文件名
        if (!fileName.equals(UPLOAD_EXCEL.equals(fileName))) {
    @PostMapping(value = "downloadtemplate", consumes = "multipart/*",headers = "content-type=multipart/form-date")
    public R downloadTemplate(@RequestParam MultipartFile file, HttpServletRequest request) {
        String fileName = file.getOriginalFilename();  //获取文件名
        if (!fileName.equals(UPLOAD_EXCEL)) {
            return R.fail(400, "文件名字错误");
        }
        InputStream inputStream = null;
        try {
            inputStream = commonsMultipartFile.getInputStream();
            inputStream = file.getInputStream();//todo 导入要看数据库有无重复数据 加入社区字段 身份证字段导入重复判断
            EasyExcel.read(inputStream, PartyBuildingMemberExcelVO.class, new PartyBuildingMemberExcelListen(partyBuildingService)).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
@@ -125,21 +146,21 @@
    }
    @ApiOperation(value = "党员管理分页查询",response = PartyBuildingMemberVO.class)
    @GetMapping("pagepartyorganization")
    @PostMapping("pagepartyorganization")
    public R pagePartyOrganization(@RequestBody PagePartyOrganizationVO pagePartyOrganizationVO) {
        R r = partyBuildingService.pagePartyOrganization(pagePartyOrganizationVO);
        return r;
    }
    @ApiOperation(value = "党员档案--党员活动",response = PartyBuildingActivityVO.class)
    @GetMapping("listpartymemberactivities")
    public R listPartyMemberActivities(@RequestParam("id") Integer id) {
        R r = partyBuildingService.listPartyMemberActivities(id);
    @PostMapping("listpartymemberactivities")
    public R listPartyMemberActivities(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        R r = partyBuildingService.listPartyMemberActivities(partyBuildingActivityVO);
        return r;
    }
    @ApiOperation(value = "活动报名名单分页查询",response = PageActivityMembersVO.class)
    @GetMapping("pageactivitymembers")
    @PostMapping("pageactivitymembers")
    public R pageActivityMembers(@RequestBody PageActivityMembersVO pageActivityMembersVO) {
        R r = partyBuildingService.pageActivityMembers(pageActivityMembersVO);
        return r;
@@ -163,7 +184,7 @@
    @PutMapping("updateactivity")
    public R updateActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        Integer id = partyBuildingActivityVO.getId();
        if (ObjectUtils.isEmpty(id)) {
        if (ObjectUtils.isEmpty(id)) {//todo 修改报名人数 最低人数 0 的判断
            return R.fail("主键不能为空");
        }
        R r = partyBuildingService.updateActivity(partyBuildingActivityVO);
@@ -204,7 +225,8 @@
        if (empty||emptycancelReason||emptyid) {
            return R.fail("参数不全");
        }
        R r = partyBuildingService.deleteActivity(id);
//        R r = partyBuildingService.deleteActivity(id);
        R r = partyBuildingService.cancelActivity(partyBuildingActivityVO);
        return r;
    }
@@ -311,7 +333,7 @@
    }
    @ApiOperation(value = "分页查询党员动态/政策文件",response = PartyCommitteeVO.class)
    @GetMapping("pagedynamic")
    @PostMapping("pagedynamic")
    public R pageYnamic(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
        Integer type = partyBuildingComPbDynVO.getType();
        if (ObjectUtils.isEmpty(type)) {
@@ -335,18 +357,23 @@
        return r;
    }
    /**
     * 增加阅读记录
     * @param comPbDynUserVO 记录内容
     * @return 增加结果
     */
    @PostMapping("adddynuser")
    public R addDynUser(@RequestBody ComPbDynUserVO comPbDynUserVO){
        R r =partyBuildingService.addDynUser(comPbDynUserVO);
    @ApiOperation(value = "删除党员")
    @DeleteMapping("deletepartybuildingmember")
    public R deleteDynUser(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO){
        Integer id = partyBuildingMemberVO.getId();
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("党员主键不能为空");//todo 加限制只能删除自己小区的党员 或者日志记录
        }
        R r =partyBuildingService.deleteDynUser(id);
        return r;
    }
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/SwaggerConfig.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/config/Swagger3Config.java
@@ -18,7 +18,7 @@
 * @create: 2020-11-19 16:08
 **/
@Configuration
public class Swagger3Config {
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/PartyBuildingMemberExcelListen.java
@@ -2,6 +2,7 @@
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSONObject;
import com.panzhihua.common.constants.HttpStatus;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberExcelVO;
@@ -35,6 +36,7 @@
        list.add(partyBuildingMemberExcelVO);
        // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
        if(list.size() >= BATCH_COUNT){
            log.info("excel导入数据【{}】", JSONObject.toJSONString(list));
            R r = this.partyBuildingService.listSavePartyBuildingMemberExcelVO(list);
            if (r.getCode()!= HttpStatus.SUCCESS) {
                log.error("excel导入数据失败【{}】",r.getMsg());
@@ -46,6 +48,7 @@
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        log.info("excel导入数据【{}】", JSONObject.toJSONString(list));
        this.partyBuildingService.listSavePartyBuildingMemberExcelVO(list); //确保最后遗留的数据保存在数据库中
    }
}
springcloud_k8s_panzhihuazhihuishequ/pom.xml
@@ -77,12 +77,17 @@
            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>swagger-bootstrap-ui</artifactId>
                <version>${swagger-bootstrap-ui.version}</version>
                <version>1.9.6</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-boot-starter</artifactId>
                <version>${springfox-boot-starter.version}</version>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.9.2</version>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.9.2</version>
            </dependency>
            <!-- io常用工具类 -->
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/api/PartyBuildIngApi.java
@@ -51,8 +51,8 @@
     * 批量新增党员
     * @param list 党员集合
     */
    @PostMapping("listsavePartybuildingmemberExcelVO")
    public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list){
    @PostMapping("listsavepartybuildingmemberexcelvo")
    public R listSavePartyBuildingMemberExcelVO(@RequestBody List<PartyBuildingMemberExcelVO> list){
        R r=comPbMemberService.listSavePartyBuildingMemberExcelVO(list);
        return r;
    }
@@ -292,4 +292,26 @@
        return r;
    }
    /**
     * 删除党员
     * @param id 党员主键
     * @return 删除结果
     */
    @PostMapping("deletepartybuildingmember")
    public R deleteDynUser(@RequestParam("id") Integer id){
        R r=comPbMemberService.deleteDynUser(id);
        return r;
    }
    /**
     * 取消活动
     * @param partyBuildingActivityVO 取消原因
     * @return 操作结果
     */
    @PostMapping("cancelactivity")
    public R cancelActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO){
        R r=comBpActivityService.cancelActivity(partyBuildingActivityVO);
        return r;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComBpActivityDAO.java
@@ -26,7 +26,7 @@
            "a.id activityId,\n" +
            "a.NAME,\n" +
            "a.address,\n" +
            "a.satus,\n" +
            "a.status,\n" +
            "a.create_at releaseTimeBegin,\n" +
            "a.activity_time_begin,\n" +
            "a.activity_time_end,\n" +
@@ -65,20 +65,20 @@
            "enroll_time_end \n" +
            "FROM\n" +
            "com_bp_activity \n" +
            "where community_id=#{communityId}\n"+
            "<if test='name != null and name.trim() != &quot;&quot;'>" +
            "and name = #{name} \n" +
            "where community_id=#{partyBuildingActivityVO.communityId}\n"+
            "<if test='partyBuildingActivityVO.name != null and partyBuildingActivityVO.name.trim() != &quot;&quot;'>" +
            "and name = #{partyBuildingActivityVO.name} \n" +
            " </if> " +
            "<if test='status != null and status.trim() != &quot;&quot;'>" +
            "AND `status` = #{status} \n" +
            "<if test='partyBuildingActivityVO.status != null and partyBuildingActivityVO.status != 0'>" +
            "AND `status` = #{partyBuildingActivityVO.status} \n" +
            " </if> " +
            "<if test='releaseTimeBegin != null and releaseTimeBegin.trim() != &quot;&quot;'>" +
            "AND release_time BETWEEN #{releaseTimeBegin} \n" +
            "AND #{releaseTimeEnd} \n" +
            "<if test='partyBuildingActivityVO.releaseTimeBegin != null and partyBuildingActivityVO.releaseTimeBegin.trim() != &quot;&quot;'>" +
            "AND release_time BETWEEN #{partyBuildingActivityVO.releaseTimeBegin} \n" +
            "AND #{partyBuildingActivityVO.releaseTimeEnd} \n" +
            " </if> " +
            "<if test='activityTimeBegin != null and activityTimeBegin.trim() != &quot;&quot;'>" +
            "AND activity_time_begin BETWEEN #{activityTimeBegin} \n" +
            "AND #{activityTimeEnd}" +
            "<if test='partyBuildingActivityVO.activityTimeBegin != null and partyBuildingActivityVO.activityTimeBegin.trim() != &quot;&quot;'>" +
            "AND activity_time_begin BETWEEN #{partyBuildingActivityVO.activityTimeBegin} \n" +
            "AND #{partyBuildingActivityVO.activityTimeEnd}" +
            " </if> " +
            "order by create_at desc "+
            "</script>")
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbActivityMemberDAO.java
@@ -31,12 +31,12 @@
            "JOIN com_pb_member me ON m.member_id = me.id\n" +
            "LEFT JOIN sys_user u ON me.id_card = u.id_card \n" +
            "WHERE\n" +
            "m.activity_id = 1 \n" +
            "<if test='name != null and name.trim() != &quot;&quot;'>" +
            "AND me.`name` = #{name} \n" +
            "m.activity_id = #{pageActivityMembersVO.activityId} \n" +
            "<if test='pageActivityMembersVO.name != null and pageActivityMembersVO.name.trim() != &quot;&quot;'>" +
            "AND me.`name` = #{pageActivityMembersVO.name} \n" +
            " </if> " +
            "<if test='phone != null and phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{phone}" +
            "<if test='pageActivityMembersVO.phone != null and pageActivityMembersVO.phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{pageActivityMembersVO.phone}" +
            " </if> " +
            "</script>")
    IPage<PageActivityMembersVO> pageActivityMembers(Page page, @Param("pageActivityMembersVO") PageActivityMembersVO pageActivityMembersVO);
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbDynDAO.java
@@ -31,23 +31,23 @@
            "FROM\n" +
            "com_pb_dyn d\n" +
            "LEFT JOIN com_pb_dyn_user u ON d.id = u.dyn_id \n" +
            "where d.type=#{type} \n" +
            "<if test='communityId != null and communityId.trim() != &quot;&quot;'>" +
            "d.community_id = #{communityId} \n" +
            "where d.type=#{partyBuildingComPbDynVO.type}  \n" +
            "<if test='partyBuildingComPbDynVO.communityId != null and partyBuildingComPbDynVO.communityId != 0'>" +
            "and d.community_id = #{partyBuildingComPbDynVO.communityId} \n" +
            " </if> " +
            "<if test='title != null and title.trim() != &quot;&quot;'>" +
            "d.title = #{title} \n" +
            "<if test='partyBuildingComPbDynVO.title != null and partyBuildingComPbDynVO.title.trim() != &quot;&quot;'>" +
            "and d.title = #{partyBuildingComPbDynVO.title} \n" +
            " </if> " +
            "<if test='status != null and status.trim() != &quot;&quot;'>" +
            "AND d.`status` = #{status} \n" +
            "<if test='partyBuildingComPbDynVO.status != null and partyBuildingComPbDynVO.status != 0'>" +
            "AND d.`status` = #{partyBuildingComPbDynVO.status} \n" +
            " </if> " +
            "<if test='publishAtBegin != null and publishAtBegin.trim() != &quot;&quot;'>" +
            "AND d.publish_at BETWEEN #{publishAtBegin} \n" +
            "AND #{publishAtEnd} \n" +
            "<if test='partyBuildingComPbDynVO.publishAtBegin != null and partyBuildingComPbDynVO.publishAtBegin.trim() != &quot;&quot;'>" +
            "AND d.publish_at BETWEEN #{partyBuildingComPbDynVO.publishAtBegin} \n" +
            "AND #{partyBuildingComPbDynVO.publishAtEnd} \n" +
            " </if> " +
            "GROUP BY\n" +
            "d.id\n" +
            "ORDER BY d.create_at desc"+
            "</script>")
    IPage<PartyCommitteeVO> pageYnamic(Page page, @Param("partyBuildingComPbDynVO") PartyBuildingComPbDynVO partyBuildingComPbDynVO);
    IPage<PartyBuildingComPbDynVO> pageYnamic(Page page, @Param("partyBuildingComPbDynVO") PartyBuildingComPbDynVO partyBuildingComPbDynVO);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberDAO.java
@@ -33,6 +33,7 @@
    @Select("<script> " +
            "SELECT\n" +
            "o.`name` orgName,\n" +
            "m.id_card,\n"+
            "m.`id`,\n" +
            "u.phone,\n" +
            "m.`name`,\n" +
@@ -52,14 +53,14 @@
            "LEFT JOIN sys_user u ON m.id_card = u.id_card\n" +
            "LEFT JOIN com_pb_org o ON m.org_id = o.id"+
            " <where>" +
            "<if test='orgName != null and orgName.trim() != &quot;&quot;'>" +
            "o.name=#{orgName}"+
            "<if test='pagePartyOrganizationVO.orgName != null and pagePartyOrganizationVO.orgName.trim() != &quot;&quot;'>" +
            "and o.name=#{pagePartyOrganizationVO.orgName}"+
            " </if> " +
            "<if test='account != null and account.trim() != &quot;&quot;'>" +
            "u.phone=#{account}"+
            "<if test='pagePartyOrganizationVO.account != null and pagePartyOrganizationVO.account.trim() != &quot;&quot;'>" +
            "and u.phone=#{pagePartyOrganizationVO.account}"+
            " </if> " +
            "<if test='name != null and name.trim() != &quot;&quot;'>" +
            "m.name=#{name}"+
            "<if test='pagePartyOrganizationVO.name != null and pagePartyOrganizationVO.name.trim() != &quot;&quot;'>" +
            "and m.name=#{pagePartyOrganizationVO.name}"+
            " </if> " +
            " </where>" +
            "</script>")
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java
@@ -29,12 +29,12 @@
            "JOIN com_pb_member m ON mr.member_id = m.id\n" +
            "JOIN sys_role r ON mr.role_id = r.role_id \n" +
            "WHERE\n" +
            "mr.community_id = #{communityId} \n" +
            "<if test='communityId != null and communityId.trim() != &quot;&quot;'>" +
            "AND m.`name` = #{name} \n" +
            "mr.community_id = #{partyCommitteeVO.communityId} \n" +
            "<if test='partyCommitteeVO.name != null and partyCommitteeVO.name.trim() != &quot;&quot;'>" +
            "AND m.`name` = #{partyCommitteeVO.name} \n" +
            " </if> " +
            "<if test='roleId != null and roleId.trim() != &quot;&quot;'>" +
            "AND r.role_id =#{roleId}" +
            "<if test='partyCommitteeVO.roleId != null and partyCommitteeVO.roleId != 0'>" +
            "AND r.role_id =#{partyCommitteeVO.roleId}" +
            " </if> " +
            "</script>")
    IPage<PartyCommitteeVO> pagePartyOrganization(Page page, @Param("partyCommitteeVO") PartyCommitteeVO partyCommitteeVO);
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbMemberDO.java
@@ -38,11 +38,6 @@
    private String idCard;
    /**
     * 档案id
     */
    private Integer archivesId;
    /**
     * 姓名
     */
    private String name;
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbOrgDO.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_dangjian.model.dos;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
@@ -11,6 +12,7 @@
 * @create: 2020-11-30 11:34
 **/
@Data
@TableName("com_pb_org")
public class ComPbOrgDO implements Serializable {
    /**
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComBpActivityService.java
@@ -61,5 +61,10 @@
     * @return 查询结果
     */
    R pageActivity(PartyBuildingActivityVO partyBuildingActivityVO);
    /**
     * 取消活动
     * @param partyBuildingActivityVO 取消原因
     * @return 操作结果
     */
    R cancelActivity(PartyBuildingActivityVO partyBuildingActivityVO);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComPbMemberService.java
@@ -107,4 +107,12 @@
     * @return 增加结果
     */
    R addDynUser(ComPbDynUserVO comPbDynUserVO);
    /**
     * 删除党员
     * @param id 党员主键
     * @return 删除结果
     */
    R deleteDynUser(Integer id);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java
@@ -195,5 +195,24 @@
        return R.ok(iPage);
    }
    /**
     * 取消活动
     *
     * @param partyBuildingActivityVO 取消原因
     * @return 操作结果
     */
    @Override
    public R cancelActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
        ComBpActivityDO comBpActivityDO=new ComBpActivityDO();
        comBpActivityDO.setId(partyBuildingActivityVO.getId());
        comBpActivityDO.setCancelReason(partyBuildingActivityVO.getCancelReason());
        comBpActivityDO.setCreateBy(partyBuildingActivityVO.getCreateBy());
        int update = comBpActivityDAO.updateById(comBpActivityDO);
        if (update>0) {
            return R.ok();
        }
        return R.fail();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -59,8 +59,8 @@
    public R addPartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
        String idCard = partyBuildingMemberVO.getIdCard();
        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getIdCard, idCard));
        if (ObjectUtils.isEmpty(comPbMemberDO)) {
            throw new PartyBuildingMemberException("党员身份证重复");
        if (!ObjectUtils.isEmpty(comPbMemberDO)) {
           return R.fail("身份证已经存在");
        }
        ComPbMemberDO comPbMemberDO1=new ComPbMemberDO();
        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO1);
@@ -116,9 +116,9 @@
                String orgName = partyBuildingMemberExcelVO.getOrgName();
                List<PartyOrganizationVO> collect = partyOrganizationVOArrayList.stream().filter(partyOrganizationVO -> orgName.equals(partyOrganizationVO.getName())).collect(Collectors.toList());
                if (ObjectUtils.isEmpty(collect)) {
                    throw new PartyBuildingMemberException("导入失败,组织不存在"+partyBuildingMemberExcelVO.getName());
                    throw new PartyBuildingMemberException("导入失败,组织不存在"+partyBuildingMemberExcelVO.getOrgName());
                }else{
                    comPbMemberDO.setArchivesId(Integer.parseInt(collect.get(0).getId()));
                    comPbMemberDO.setOrgId(Integer.parseInt(collect.get(0).getId()));
                }
                comPbMemberDO.setEmploymentTime(partyBuildingMemberExcelVO.getEmploymentTime());
                comPbMemberDO.setJoinTime(partyBuildingMemberExcelVO.getJoinTime());
@@ -146,10 +146,10 @@
        Page page=new Page<>();
        Long pageNum = pagePartyOrganizationVO.getPageNum();
        Long pageSize = pagePartyOrganizationVO.getPageSize();
        if (ObjectUtils.isEmpty(pageNum)) {
        if (ObjectUtils.isEmpty(pageNum)||0==pageNum) {
            pageNum=1l;
        }
        if (ObjectUtils.isEmpty(pageSize)) {
        if (ObjectUtils.isEmpty(pageSize)||0==pageSize) {
            pageSize=10l;
        }
        page.setSize(pageSize);
@@ -166,8 +166,11 @@
     */
    @Override
    public R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
        Integer id = partyBuildingMemberVO.getId();
        ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
        Integer orgId = partyBuildingMemberVO.getOrgId();
        if (null!=orgId&&0==orgId) {
            partyBuildingMemberVO.setOrgId(null);
        }
        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO);
        int i = comPbMemberDAO.updateById(comPbMemberDO);
        if (i>0) {
@@ -357,7 +360,7 @@
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PartyCommitteeVO> iPage=comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO);
        IPage<PartyBuildingComPbDynVO> iPage=comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO);
        return R.ok(iPage);
    }
@@ -393,5 +396,22 @@
        return R.ok();
    }
    /**
     * 删除党员
     *
     * @param id 党员主键
     * @return 删除结果
     */
    @Override
    public R deleteDynUser(Integer id) {
        int delete = comPbMemberDAO.deleteById(id);
        if (delete>0) {
            return R.ok();
        }
        return R.fail();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/application.yml
@@ -85,3 +85,6 @@
      logic-delete-value: 1
      #数据库类型
      db-type: mysql
      select-strategy: not_empty
      update-strategy: not_empty
      insert-strategy: not_empty
springcloud_k8s_panzhihuazhihuishequ/zuul/pom.xml
@@ -49,13 +49,13 @@
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/ZuulApplication.java
@@ -7,9 +7,9 @@
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@EnableOpenApi
@EnableSwagger2
@SpringCloudApplication
@EnableCircuitBreaker
@EnableEurekaClient
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/config/SwaggerConfig.java
File was renamed from springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/config/Swagger2Config.java
@@ -28,14 +28,14 @@
@Configuration
@EnableSwagger2
@Primary
public class Swagger2Config implements SwaggerResourcesProvider {
public class SwaggerConfig implements SwaggerResourcesProvider {
    //RouteLocator可以根据zuul配置的路由列表获取服务
    private final RouteLocator routeLocator;
    private String[]ids=new String[]{"appletsbackstage","applets","communitybackstage"};
    public Swagger2Config(RouteLocator routeLocator) {
    public SwaggerConfig(RouteLocator routeLocator) {
        this.routeLocator = routeLocator;
    }
    /**
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java
@@ -66,12 +66,12 @@
        String requestURI = request.getRequestURI();
        boolean contains = requestURI.contains("login");
        boolean doc = requestURI.contains("doc.html");
        boolean css = requestURI.contains("css");
        boolean js = requestURI.contains("js");
        boolean ui = requestURI.contains("ui");
        boolean css = requestURI.contains(".css");
        boolean js = requestURI.contains(".js");
        boolean ui = requestURI.contains("/ui");
        boolean swagger = requestURI.contains("swagger");
        boolean ico = requestURI.contains("ico");
        boolean docs = requestURI.contains("docs");
        boolean ico = requestURI.contains(".ico");
        boolean docs = requestURI.contains("-docs");
        boolean error = requestURI.contains("error");
        boolean refreshToken = requestURI.contains("refreshToken");
        boolean logout = requestURI.contains("logout");
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/resources/application.yml
@@ -37,6 +37,17 @@
      path: /api/communitybackstage/**
      serviceId: communitybackstage
ribbon:
  ConnectTimeout: 60000
  ReadTimeout: 60000
hystrix:
  command:
    default:
      execution:
        isolation:
          thread:
            timeoutInMilliseconds: 60000
eureka:
  client: