huanghongfa
2020-12-03 00036b47f300ac0221075aab1e2d366003195289
稳定启动版本除配置中心
27个文件已修改
60个文件已添加
3935 ■■■■■ 已修改文件
springcloud_k8s_panzhihuazhihuishequ/.idea/compiler.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/pom.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/HospitalDTO.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/PartyBuildingApi.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/R1.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/UserApi.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/auth/pom.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/pom.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | 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 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/controller/BaseController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/exceptions/PartyBuildingMemberException.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/ComPbDynUserVO.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PageActivityMembersVO.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PagePartyOrganizationVO.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingActivityVO.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingComPbDynVO.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberExcelVO.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberVO.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyCommitteeVO.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyOrganizationVO.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/user/RoleVO.java 60 ●●●●● 补丁 | 查看 | 原始文档 | 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 214 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/constants/FtpConstants.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/controller/BaseController.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/exceptions/PartyBuildingMemberException.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/ComPbDynUserVO.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/PagePartyOrganizationVO.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/PartyBuildingMemberExcelVO.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/model/vos/partybuilding/PartyCommitteeVO.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyOrganizationVO.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/user/RoleVO.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/service/user/UserService.class 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/common-1.0-SNAPSHOT.jar 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/maven-archiver/pom.properties 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/CommunityBackstageApplication.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java 352 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/LoginApi.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/UserApi.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/PartyBuildingMemberExcelListen.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/pom.xml 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/api/PartyBuildIngApi.java 295 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/config/MybatisPlusConfig.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComBpActivityDAO.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbActivityMemberDAO.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbDynDAO.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbDynUserDAO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberDAO.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbOrgDAO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComBpActivityDO.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbActivityMemberDO.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbDynDO.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbDynUserDO.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbMemberDO.java 80 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbMemberRoleDO.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbOrgDO.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComBpActivityService.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComPbMemberService.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/PartyOrganizationService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java 199 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java 397 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/PartyOrganizationServiceImpl.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/application.yml 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/pom.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/RoleApi.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dos/SysRoleDO.java 74 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dos/SysUserDO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/RoleService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/SercuritFilter.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springcloud_k8s_panzhihuazhihuishequ/.idea/compiler.xml
@@ -9,6 +9,7 @@
        <outputRelativeToContentRoot value="true" />
        <module name="applets" />
        <module name="service_user" />
        <module name="common" />
        <module name="auth" />
        <module name="service_partybuilding" />
        <module name="config_server" />
springcloud_k8s_panzhihuazhihuishequ/applets/pom.xml
@@ -51,13 +51,13 @@
            <version>3.9.9.B</version>
        </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>com.panzhihua</groupId>
            <artifactId>common</artifactId>
        </dependency>
    </dependencies>
    <build>
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/HospitalDTO.java
New file
@@ -0,0 +1,74 @@
package com.panzhihua.applets.api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "医院信息", description = "医院信息")
public class HospitalDTO {
    @ApiModelProperty(notes = "医院Id")
    private Long HospitalId;
    @ApiModelProperty(notes = "医院名称")
    private String hisHospitalName;
    @ApiModelProperty(notes = "医院地址")
    private String hisHospitaladdr;
    @ApiModelProperty(notes = "医院联系电话")
    private String hisContactPhone;
    @ApiModelProperty(notes = "医院联系人")
    private String hisContactPerson;
    @ApiModelProperty(notes = "医院组织编码")
    private String hisOrganizationId;
    @ApiModelProperty(notes = "医院logo")
    private String logo;
    @ApiModelProperty(notes = "医院优秀科室")
    private String greatDept;
    @ApiModelProperty(notes = "医院等级")
    private String grade;
    @ApiModelProperty(notes = "医院经度")
    private Double lng;
    @ApiModelProperty(notes = "医院纬度")
    private Double lat;
    @ApiModelProperty(notes = "医院距离")
    private String distance;
    @ApiModelProperty(notes = "是否关注[0 未关注,1 已关注]")
    private Integer isFollow;
    @ApiModelProperty(notes = "关注数量")
    private Integer countFollow;
    @ApiModelProperty(hidden = true)
    private String goodAt;
    @ApiModelProperty(hidden = true)
    private String position;
    @ApiModelProperty(notes = "医院的描述")
    private String description;
    @ApiModelProperty(notes = "医院的星星")
    private Integer stars;
    @ApiModelProperty(notes = "机构code")
    private String organizationCode;
    @ApiModelProperty(notes = "0:显示医生 1:隐藏医生")
    private Integer isShow;
    @ApiModelProperty(notes = "1:普通医院 2:乡镇医院")
    private Integer type;
}
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/LoginApi.java
@@ -6,6 +6,7 @@
import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
import com.panzhihua.applets.config.WxMaConfiguration;
import com.panzhihua.applets.model.vos.LoginRequest;
import com.panzhihua.common.model.vos.LoginReturnVO;
import com.panzhihua.common.service.auth.TokenService;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.controller.BaseController;
@@ -13,9 +14,7 @@
import com.panzhihua.common.exceptions.WeiXinException;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import com.panzhihua.common.model.vos.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
@@ -39,9 +38,9 @@
    @Resource
    private TokenService tokenService;
    @ApiOperation(value = "登录")
    @ApiOperation(value = "登录" ,response =LoginReturnVO.class )
    @PostMapping("login")
    public R<String> login(@RequestBody LoginRequest loginRequest) {
    public R login(@RequestBody LoginRequest loginRequest) {
        String code = loginRequest.getCode();
        if (ObjectUtils.isEmpty(code)) {
            return R.fail("缺少登录参数");
@@ -61,8 +60,8 @@
        String sessionKey = sessionInfo.getSessionKey();
        String unionid = sessionInfo.getUnionid();
        userService.addOrUpdate(openid,sessionKey,unionid);
        R login = tokenService.loginApplets(openid);
        return login;
        R r = tokenService.loginApplets(openid);
        return r;
    }
    @ApiOperation(value = "维护用户基本信息(昵称、性别、头像)")
@@ -76,13 +75,13 @@
            return R.fail("微信用户参数不全");
        }
        WxMaService maService = wxMaConfiguration.getMaService();
        Long userId = this.getUserId();
        Integer userId = this.getUserId();
        boolean empty2 = ObjectUtils.isEmpty(userId);
        if (empty2) {
            throw new UnAuthenticationException();
        }
        R<LoginUserInfoVO> userInfoByUserId = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = userInfoByUserId.getData();
        R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO =r.getData();
        WxMaUserInfo wxUserInfo = maService.getUserService().getUserInfo(loginUserInfoVO.getSessionKey(),
                encryptedData, iv);
        if (null == wxUserInfo) {
@@ -91,8 +90,8 @@
        String avatarUrl = wxUserInfo.getAvatarUrl();
        String gender = wxUserInfo.getGender();
        String nickName = wxUserInfo.getNickName();
        R r=userService.updateUserWeiXinInfo(userId,nickName,Integer.parseInt(gender),avatarUrl);
        return r;
        R r1=userService.updateUserWeiXinInfo(userId,nickName,Integer.parseInt(gender),avatarUrl);
        return r1;
    }
    @ApiOperation(value = "维护微信用户手机号")
@@ -106,21 +105,21 @@
            return R.fail("微信用户参数不全");
        }
        WxMaService maService = wxMaConfiguration.getMaService();
        Long userId = this.getUserId();
        Integer userId = this.getUserId();
        boolean empty2 = ObjectUtils.isEmpty(userId);
        if (empty2) {
            throw new UnAuthenticationException();
        }
        R<LoginUserInfoVO> userInfoByUserId = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = userInfoByUserId.getData();
        R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = r.getData();
        WxMaPhoneNumberInfo wxMaPhoneNumberInfo = maService.getUserService().getPhoneNoInfo(loginUserInfoVO.getSessionKey(),
                encryptedData, iv);
        if (ObjectUtils.isEmpty(wxMaPhoneNumberInfo) || ObjectUtils.isEmpty(wxMaPhoneNumberInfo.getPhoneNumber())) {
            throw new WeiXinException("微信解析手机号失败");
        }
        String purePhoneNumber = wxMaPhoneNumberInfo.getPurePhoneNumber();
        R r=userService.updateUserWeiXinPhone(userId,purePhoneNumber);
        return r;
        R r1=userService.updateUserWeiXinPhone(userId,purePhoneNumber);
        return r1;
    }
    @ApiOperation(value = "用户登出")
@@ -135,7 +134,7 @@
        return r;
    }
    @ApiOperation(value = "刷新token")
    @ApiOperation(value = "刷新token",response = LoginReturnVO.class)
    @GetMapping("refreshToken")
    @ApiImplicitParam(name ="refreshToken",value = "登录返回的刷新token")
    public R refreshToken(@RequestParam("refreshToken")String refreshToken){
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/PartyBuildingApi.java
New file
@@ -0,0 +1,88 @@
package com.panzhihua.applets.api;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.*;
import com.panzhihua.common.service.partybuilding.PartyBuildingService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党群服务
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-02 16:19
 **/
@RestController
@RequestMapping("/partybuilding/")
@Api(tags = {"党群服务"})
public class PartyBuildingApi extends BaseController {
    @Resource
    private PartyBuildingService partyBuildingService;
    @ApiOperation(value = "分页党建动态/政策文件",response =PartyCommitteeVO.class )
    @PostMapping("pagedynamic")
    public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO){
        Integer communityId=1;//todo 获取社区id
        Integer type = partyBuildingComPbDynVO.getType();
        if (ObjectUtils.isEmpty(type)) {
            return R.fail("类型不能为空");
        }
        partyBuildingComPbDynVO.setCommunityId(communityId);
        R r = partyBuildingService.pageYnamic(partyBuildingComPbDynVO);
        return r;
    }
    @ApiOperation(value = "分页查询党员活动",response = PageActivityMembersVO.class)
    @PostMapping("pageactivity")
    public R pageActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        R r = partyBuildingService.pageActivity(partyBuildingActivityVO);
        return r;
    }
    @ApiOperation(value = "动态/政策文件详情",response =PartyBuildingComPbDynVO.class )
    @GetMapping("infodynamic")
    public R infoYnamic(@RequestParam("id") Integer id) {
        R r = partyBuildingService.infoYnamic(id);
        return r;
    }
    @ApiOperation(value = "增加阅读记录")
    @GetMapping("adddynuser")
    public R addDynUser(@RequestParam("id") Integer id) {
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("主键id不能为空");
        }
        Integer userId = this.getUserId();
        ComPbDynUserVO comPbDynUserVO=new ComPbDynUserVO();
        comPbDynUserVO.setCreateAt(new Date());
        comPbDynUserVO.setDynId(id);
        comPbDynUserVO.setUserId(userId);
        R r = partyBuildingService.addDynUser(comPbDynUserVO);
        return r;
    }
    @ApiOperation(value = "分页党委查询",response =PartyCommitteeVO.class )
    @PostMapping("pagepartycommittee")
    public R pagePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO) {
        //todo 获取用户的社区信息
        Integer communityId = 1;
        partyCommitteeVO.setCommunityId(communityId);
        R r = partyBuildingService.pagePartyCommittee(partyCommitteeVO);
        return r;
    }
    @ApiOperation(value = "活动详情",response = PartyBuildingActivityVO.class)
    @GetMapping("activityinfo")
    public R activityinfo(@RequestParam("id") Integer id) {
        R r = partyBuildingService.activityinfo(id);
        return r;
    }
}
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/R1.java
New file
@@ -0,0 +1,63 @@
/**
 * Copyright (c) 2016-2019 人人开源 All rights reserved.
 *
 * https://www.renren.io
 *
 * 版权所有,侵权必究!
 */
package com.panzhihua.applets.api;
import java.util.HashMap;
import java.util.Map;
/**
 * 返回数据
 *
 * @author Mark sunlightcs@gmail.com
 */
public class R1 extends HashMap<String, Object> {
    private static final long serialVersionUID = 1L;
    public R1() {
        put("code", 0);
        put("msg", "success");
    }
    public static R1 error() {
        return error(500, "未知异常,请联系管理员");
    }
    public static R1 error(String msg) {
        return error(500, msg);
    }
    public static R1 error(int code, String msg) {
        R1 r = new R1();
        r.put("code", code);
        r.put("msg", msg);
        return r;
    }
    public static R1 ok(String msg) {
        R1 r = new R1();
        r.put("msg", msg);
        return r;
    }
    public static R1 ok(Map<String, Object> map) {
        R1 r = new R1();
        r.putAll(map);
        return r;
    }
    public static R1 ok() {
        return new R1();
    }
    @Override
    public R1 put(String key, Object value) {
        super.put(key, value);
        return this;
    }
}
springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java
@@ -30,7 +30,7 @@
    @ApiOperation(value = "当前登录用户信息",response = LoginUserInfoVO.class)
    @GetMapping("info")
    public R getUserInfo(){
        Long userId = this.getUserId();
        Integer userId = this.getUserId();
        boolean empty = ObjectUtils.isEmpty(userId);
        if (empty) {
           throw new UnAuthenticationException();
springcloud_k8s_panzhihuazhihuishequ/applets_backstage/src/main/java/com/panzhihua/applets_backstage/api/UserApi.java
@@ -29,7 +29,7 @@
    @ApiOperation(value = "当前登录用户信息",response = LoginUserInfoVO.class)
    @GetMapping("info")
    public R getUserInfo(){
        Long userId = this.getUserId();
        Integer userId = this.getUserId();
        boolean empty2 = ObjectUtils.isEmpty(userId);
        if (empty2) {
            throw new UnAuthenticationException();
springcloud_k8s_panzhihuazhihuishequ/auth/pom.xml
@@ -85,7 +85,12 @@
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>eu.bitwalker</groupId>
            <artifactId>UserAgentUtils</artifactId>
            <version>1.21</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/common/pom.xml
@@ -76,6 +76,18 @@
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-net</groupId>
            <artifactId>commons-net</artifactId>
            <version>3.6</version>
        </dependency>
        <!--       阿里easyexcel-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>2.2.6</version>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/config/FtpConfig.java
New file
@@ -0,0 +1,52 @@
//package com.panzhihua.common.config;
//
//import com.panzhihua.common.constants.FtpConstants;
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.net.ftp.FTPClient;
//import org.apache.commons.net.ftp.FTPReply;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//import java.io.IOException;
//import java.net.SocketException;
//
///**
// * @program: springcloud_k8s_panzhihuazhihuishequ
// * @description: ftp
// * @author: huang.hongfa weixin hhf9596 qq 959656820
// * @create: 2020-11-30 13:37
// **/
//@Slf4j
//@Configuration
//public class FtpConfig {
//
//    @Bean
//    public FTPClient ftpClient(){
//        FTPClient ftpClient = new FTPClient();
//        ftpClient.setConnectTimeout(1000*30);//设置连接超时时间
//        ftpClient.setControlEncoding("utf-8");//设置ftp字符集
////        ftpClient.enterLocalPassiveMode();//设置被动模式,文件传输端口设置
//        try {
////            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);//设置文件传输模式为二进制,可以保证传输的内容不会被改变
//            ftpClient.setDefaultPort(FtpConstants.FTPPORT);
//            ftpClient.connect(FtpConstants.FTPHOST, FtpConstants.FTPPORT);
//            ftpClient.login(FtpConstants.FTPUSERNAME,FtpConstants.FTPPASSWORD);
//            int replyCode = ftpClient.getReplyCode();
//            if (!FTPReply.isPositiveCompletion(replyCode)){
//                ftpClient.disconnect();
//                log.error("未连接到FTP,用户名或密码错误!");
//                return null;
//            }else {
//                log.error("FTP连接成功!");
//                return ftpClient;
//            }
//        } catch (SocketException socketException) {
//            log.error("FTP的IP地址可能错误,请正确配置!");
//            return null;
//        } catch (IOException ioException) {
//            ioException.printStackTrace();
//            log.error("FTP的端口错误,请正确配置!");
//            return null;
//        }
//    }
//}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/constants/FtpConstants.java
New file
@@ -0,0 +1,38 @@
package com.panzhihua.common.constants;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: ftp
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 13:39
 **/
public class FtpConstants {
    /**
     * ftp站点
     */
    public static final String FTPHOST="47.104.148.185";
    /**
     * 端口号
     */
    public static final Integer FTPPORT=21;
    /**
     * ftp访问用户名
     */
    public static final String FTPUSERNAME="root";
    /**
     * ftp访问密码
     */
    public static final String FTPPASSWORD="evanN7F2K5M6";
    /**
     * excel模板
     */
    public static final String FTPFILEPATH_MUBAN="/mnt/data/ftp/muban/";
    /**
     * 党员保存
     */
    public static final String FTPFILEPATH_IDCARD="/mnt/data/ftp/idcard/";
    /**
     * http访问路径
     */
    public static final String HTTP_URL="http://image.panzhihua.nhys.cdnhxx.com/";
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/controller/BaseController.java
@@ -3,6 +3,7 @@
import com.panzhihua.common.constants.TokenConstant;
import com.panzhihua.common.constants.UserConstants;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
import io.swagger.models.auth.In;
import org.springframework.util.ObjectUtils;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
@@ -27,9 +28,9 @@
     * 获取登录对象信息
     * @return
     */
    public Long getUserId(){
    public Integer getUserId(){
        HttpServletRequest request = this.getRequest();
        Long header = Long.valueOf(request.getHeader(UserConstants.USER_ID));
        Integer header = Integer.valueOf(request.getHeader(UserConstants.USER_ID));
        boolean empty = ObjectUtils.isEmpty(header);
        if (empty) {
            return null;
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/exceptions/PartyBuildingMemberException.java
New file
@@ -0,0 +1,55 @@
package com.panzhihua.common.exceptions;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党建异常
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 11:01
 **/
public class PartyBuildingMemberException extends RuntimeException{
    private static final long serialVersionUID = 1L;
    private String msg="党建异常";
    private int code = 500;
    public PartyBuildingMemberException(String msg) {
        super(msg);
        this.msg = msg;
    }
    public PartyBuildingMemberException() {
        super();
    }
    public PartyBuildingMemberException(String msg, Throwable e) {
        super(msg, e);
        this.msg = msg;
    }
    public PartyBuildingMemberException(String msg, int code) {
        super(msg);
        this.msg = msg;
        this.code = code;
    }
    public PartyBuildingMemberException(String msg, int code, Throwable e) {
        super(msg, e);
        this.msg = msg;
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public int getCode() {
        return code;
    }
    public void setCode(int code) {
        this.code = code;
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/ComPbDynUserVO.java
New file
@@ -0,0 +1,30 @@
package com.panzhihua.common.model.vos.partybuilding;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 动态、政策文件、阅读记录
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-02 17:17
 **/
@Data
@ApiModel("党员动态阅读记录表")
public class ComPbDynUserVO {
    @ApiModelProperty("id")
    private Integer id;
    @ApiModelProperty("党员动态、政策文件id")
    private Integer dynId;
    @ApiModelProperty("小程序用户id")
    private Integer userId;
    @ApiModelProperty("阅读时间")
    private Date createAt;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PageActivityMembersVO.java
New file
@@ -0,0 +1,30 @@
package com.panzhihua.common.model.vos.partybuilding;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 分页活动人员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 09:50
 **/
@Data
@ApiModel(value = "分页活动人员")
public class PageActivityMembersVO {
    @ApiModelProperty(value ="手机号")
    private String phone;
    @ApiModelProperty(value ="姓名")
    private String name;
    @ApiModelProperty(value ="报名时间")
    private String registrationTime;
    @ApiModelProperty(value ="人员主键")
    private Long id;
    @ApiModelProperty(value ="当前页数")
    private Long pageNum;
    @ApiModelProperty(value ="每页记录数")
    private Long pageSize;
    @ApiModelProperty(value ="活动id",required = true)
    private Long activityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PagePartyOrganizationVO.java
New file
@@ -0,0 +1,31 @@
package com.panzhihua.common.model.vos.partybuilding;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 分页党员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 16:10
 **/
@Data
@ApiModel(value = "分页查询党员")
public class PagePartyOrganizationVO {
    @ApiModelProperty(value ="组织名字")
    private String orgName;
    @ApiModelProperty(value ="账户")
    private String account;
    @ApiModelProperty(value ="党员姓名")
    private String name;
    @ApiModelProperty(value ="当前页数")
    private Long pageNum;
    @ApiModelProperty(value ="每页记录数")
    private Long pageSize;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingActivityVO.java
New file
@@ -0,0 +1,88 @@
package com.panzhihua.common.model.vos.partybuilding;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 活动
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 09:08
 **/
@Data
@ApiModel("党员活动")
public class PartyBuildingActivityVO {
    @ApiModelProperty("党员id")
    private Integer id;
    @ApiModelProperty("活动名称")
    private String name;
    @ApiModelProperty("活动地点")
    private String address;
    @ApiModelProperty("1 待发布 2 未开始 3 报名中 4 进行中 5 已结束 6 已取消")
    private Integer status;
    @ApiModelProperty("发布时间")
    private Date releaseTime;
    @ApiModelProperty("发布开始时间")
    private Date releaseTimeBegin;
    @ApiModelProperty("发布结束时间")
    private Date releaseTimeEnd;
    @ApiModelProperty("活动开始时间")
    private Date activityTimeBegin;
    @ApiModelProperty("活动结束时间")
    private Date activityTimeEnd;
    @ApiModelProperty("报名开始时间")
    private Date enrollTimeBegin;
    @ApiModelProperty("报名结束时间")
    private Date enrollTimeEnd;
    @ApiModelProperty("当前页数")
    private Long pageNum;
    @ApiModelProperty("每页记录数")
    private Long pageSize;
    @ApiModelProperty("活动参入人数")
    private Integer participationNum;
    @ApiModelProperty("活动最低参入人数-未达到到时间自动取消")
    private Integer participationLowestNum;
    @ApiModelProperty("活动封面")
    private String cover;
    @ApiModelProperty("活动内容-富文本")
    private String richText;
    @ApiModelProperty("取消原因")
    private String cancelReason;
    @ApiModelProperty("发布人")
    private String createBy;
    @ApiModelProperty("社区id")
    private Integer communityId;
    @ApiModelProperty("活动党员列表")
    private List<PartyBuildingMemberVO> partyBuildingMemberVOS;
    @ApiModelProperty("是否已经报名")
    private Boolean isSign;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingComPbDynVO.java
New file
@@ -0,0 +1,66 @@
package com.panzhihua.common.model.vos.partybuilding;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党建动态
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 15:53
 **/
@Data
@ApiModel("社区管理》党建》党员动态/政策文件")
public class PartyBuildingComPbDynVO {
    @ApiModelProperty("党建动态id")
    private Integer id;
    @ApiModelProperty("标题")
    private String title;
    @ApiModelProperty("状态 1 待发布 2 已发布")
    private boolean status;
    @ApiModelProperty("发布时间")
    private Date publishAt;
    @ApiModelProperty("发布开始时间")
    private Date publishAtBegin;
    @ApiModelProperty("发布结束时间")
    private Date publishAtEnd;
    @ApiModelProperty("封面url")
    private String cover;
    @ApiModelProperty("创建时间")
    private Date createAt;
    @ApiModelProperty("内容")
    private String content;
    @ApiModelProperty("发布人id")
    private Integer createBy;
    @ApiModelProperty("发布人名字")
    private String createByName;
    @ApiModelProperty("阅读量")
    private Integer readingVolume;
    @ApiModelProperty("当前页数")
    private Long pageNum;
    @ApiModelProperty("每页记录数")
    private Long pageSize;
    @ApiModelProperty("1动态 2政策文件")
    private Integer type;
    @ApiModelProperty("社区id")
    private Integer communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberExcelVO.java
New file
@@ -0,0 +1,47 @@
package com.panzhihua.common.model.vos.partybuilding;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 批量党员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 14:57
 **/
@Data
public class PartyBuildingMemberExcelVO  implements Serializable {
    /**
     * 党员姓名
     */
    @ExcelProperty(value = "党员姓名" ,index = 0)
    private String name;
    /**
     * 身份证号
     */
    @ExcelProperty(value = "身份证号" ,index = 1)
    private String idCard;
    /**
     * 所属党组织
     */
    @ExcelProperty(value = "所属党组织" ,index = 2)
    private String orgName;
    /**
     * 入党日期
     */
    @ExcelProperty(value = "入党日期" ,index = 3)
    private Date joinTime;
    /**
     * 转正日期
     */
    @ExcelProperty(value = "转正日期" ,index = 4)
    private Date employmentTime;
    /**
     * 所属社区
     */
    @ExcelProperty(value = "所属社区" ,index = 5)
    private String communityName;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberVO.java
New file
@@ -0,0 +1,45 @@
package com.panzhihua.common.model.vos.partybuilding;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党建
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 10:03
 **/
@Data
@ApiModel("社区管理》党建》党员信息")
public class PartyBuildingMemberVO {
    @ApiModelProperty(value = "姓名",required = true)
    private String name;
    @ApiModelProperty(value = "身份证",required = true)
    private String idCard;
    @ApiModelProperty(value = "入党时间",required = true)
    private Date joinTime;
    @ApiModelProperty(value = "转正时间",required = true)
    private Date employmentTime;
    @ApiModelProperty(value = "所属党组织id",required = true)
    private Integer orgId;
    @ApiModelProperty(value = "头像图片路径",required = true)
    private String photoPath;
    @ApiModelProperty(value = "社区ID",hidden=true)
    private Integer communityId;
    @ApiModelProperty(value = "社区名字")
    private Integer communityName;
    @ApiModelProperty(value = "党组织名字")
    private String orgName;
    @ApiModelProperty(value = "手机号")
    private String phone;
    @ApiModelProperty(value = "党龄")
    private Integer partyAge;
    @ApiModelProperty(value = "状态")
    private String status;
    @ApiModelProperty(value = "党员唯一标识id")
    private Integer id;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyCommitteeVO.java
New file
@@ -0,0 +1,34 @@
package com.panzhihua.common.model.vos.partybuilding;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党委
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 14:15
 **/
@Data
@ApiModel("党委")
public class PartyCommitteeVO {
    @ApiModelProperty(value = "党员id")
    private Integer PartyMemberId;
    @ApiModelProperty(value = "身份id")
    private Integer roleId;
    @ApiModelProperty(value = "身份名字")
    private String roleName;
    @ApiModelProperty(value = "社区id")
    private Integer communityId;
    @ApiModelProperty(value = "主键")
    private Integer id;
    @ApiModelProperty(value = "当前页数")
    private Long pageNum;
    @ApiModelProperty(value = "每页记录数")
    private Long pageSize;
    @ApiModelProperty(value = "党员姓名")
    private String name;
    @ApiModelProperty(value = "党员照片")
    private String photoPath;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyOrganizationVO.java
New file
@@ -0,0 +1,20 @@
package com.panzhihua.common.model.vos.partybuilding;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党组织
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 11:15
 **/
@Data
@ApiModel("党组织")
public class PartyOrganizationVO {
    @ApiModelProperty(value = "党组织id")
    private String id;
    @ApiModelProperty(value = "党组织名字")
    private String name;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/user/RoleVO.java
New file
@@ -0,0 +1,60 @@
package com.panzhihua.common.model.vos.user;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 角色
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 13:55
 **/
@Data
@ApiModel("角色信息")
public class RoleVO {
    @ApiModelProperty("角色id")
    private Long roleId;
    @ApiModelProperty("角色名称")
    private String roleName;
    @ApiModelProperty("角色权限字符串")
    private String roleKey;
    @ApiModelProperty("显示顺序")
    private Integer roleSort;
    @ApiModelProperty("数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限 )")
    private String dataScope;
    @ApiModelProperty("菜单树选择项是否关联显示")
    private boolean menuCheckStrictly;
    @ApiModelProperty("部门树选择项是否关联显示")
    private boolean deptCheckStrictly;
    @ApiModelProperty("角色状态(0正常 1停用)")
    private String status;
    @ApiModelProperty("创建者")
    private String createBy;
    @ApiModelProperty("创建时间")
    private Date createTime;
    @ApiModelProperty("更新者")
    private String updateBy;
    @ApiModelProperty("更新时间")
    private Date updateTime;
    @ApiModelProperty("备注")
    private String remark;
    @ApiModelProperty("社区id")
    private Integer communityId;
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/ftp/FTPClientService.java
New file
@@ -0,0 +1,184 @@
package com.panzhihua.common.service.ftp;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
import sun.misc.BASE64Encoder;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: ftp
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 13:29
 **/
@Slf4j
@Component
public class FTPClientService {
    private FTPClient ftpClient=new FTPClient();
    public String readFileToBase64(String remoteFileName, String remoteDir) {
        if (ftpClient == null) {
            return null;
        }
        String base64 = "";
        InputStream inputStream = null;
        try {
            ftpClient.changeWorkingDirectory(remoteDir);
            FTPFile[] ftpFiles = ftpClient.listFiles(remoteDir);
            Boolean flag = false;
            //遍历当前目录下的文件,判断要读取的文件是否在当前目录下
            for (FTPFile ftpFile : ftpFiles) {
                if (ftpFile.getName().equals(remoteFileName)) {
                    flag = true;
                }
            }
            if (!flag) {
                log.error("directory:{}下没有 {}", remoteDir, remoteFileName);
                return null;
            }
            //获取待读文件输入流
            inputStream = ftpClient.retrieveFileStream(remoteDir + remoteFileName);
            //inputStream.available() 获取返回在不阻塞的情况下能读取的字节数,正常情况是文件的大小
            byte[] bytes = new byte[inputStream.available()];
            inputStream.read(bytes);//将文件数据读到字节数组中
            BASE64Encoder base64Encoder = new BASE64Encoder();
            base64 = base64Encoder.encode(bytes);//将字节数组转成base64字符串
            log.info("read file {} success", remoteFileName);
            ftpClient.logout();
        } catch (IOException e) {
            log.error("read file fail ----->>>{}", e.getCause());
            return null;
        } finally {
            if (ftpClient.isConnected()) {
                try {
                    ftpClient.disconnect();
                } catch (IOException e) {
                    log.error("disconnect fail ------->>>{}", e.getCause());
                }
            }
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    log.error("inputStream close fail -------- {}", e.getCause());
                }
            }
        }
        return base64;
    }
    /**
     * 下载文件到指定目录
     *
     * @param remoteFileName      远程文件名字
     * @param remoteDir           远程文件目录
     * @param httpServletResponse 输出流
     */
    public Boolean download(String remoteFileName, String remoteDir, HttpServletResponse httpServletResponse) {
        if (ftpClient == null) {
            log.error("ftpclient 不存在");
            return false;
        }
        InputStream inputStream = null;
        try {
            ftpClient.changeWorkingDirectory(remoteDir);
            FTPFile[] ftpFiles = ftpClient.listFiles(remoteDir);
            Boolean flag = false;
            //遍历当前目录下的文件,判断要读取的文件是否在当前目录下
            for (FTPFile ftpFile : ftpFiles) {
                if (ftpFile.getName().equals(remoteFileName)) {
                    flag = true;
                }
            }
            if (!flag) {
                log.error("directory:{}下没有 {}", remoteDir, remoteFileName);
                return false;
            }
            //获取待读文件输入流
            inputStream = ftpClient.retrieveFileStream(remoteDir + remoteFileName);
            //inputStream.available() 获取返回在不阻塞的情况下能读取的字节数,正常情况是文件的大小
            byte[] bytes = new byte[inputStream.available()];
            inputStream.read(bytes);//将文件数据读到字节数组中
            httpServletResponse.setContentType("application/vnd.ms-excel");
            httpServletResponse.setHeader("Content-disposition", "attachment;filename=社区党员数据导入模板.xls");
            OutputStream ouputStream = httpServletResponse.getOutputStream();
            ouputStream.write(bytes);
            ouputStream.flush();
            ouputStream.close();
            ftpClient.logout();
        } catch (IOException e) {
            log.error("read file fail ----->>>{}", e.getCause());
            return false;
        } finally {
            if (ftpClient.isConnected()) {
                try {
                    ftpClient.disconnect();
                } catch (IOException e) {
                    log.error("disconnect fail ------->>>{}", e.getCause());
                }
            }
            if (inputStream != null) {
                try {
                    inputStream.close();
                } catch (IOException e) {
                    log.error("inputStream close fail -------- {}", e.getCause());
                }
            }
        }
        return true;
    }
    /**
     * 上传文件
     *
     * @param inputStream 待上传文件的输入流
     * @param originName  文件保存时的名字
     * @param remoteDir   文件要存放的目录
     */
    public boolean uploadFile(InputStream inputStream, String originName, String remoteDir) {
        if (ftpClient == null) {
            return false;
        }
        try {
            ftpClient.changeWorkingDirectory(remoteDir);//进入到文件保存的目录
            Boolean isSuccess = ftpClient.storeFile(originName, inputStream);//保存文件
//            if (!isSuccess){
//                throw new BusinessException(ResponseCode.UPLOAD_FILE_FAIL_CODE,originName+"---》上传失败!");
//            }
            log.info("{}---》上传成功!", originName);
            ftpClient.logout();
            return true;
        } catch (IOException e) {
            log.error("{}---》上传失败!", originName);
//            throw new BusinessException(ResponseCode.UPLOAD_FILE_FAIL_CODE,originName+"上传失败!");
            return false;
        } finally {
            if (ftpClient.isConnected()) {
                try {
                    ftpClient.disconnect();
                } catch (IOException e) {
                    log.error("disconnect fail ------->>>{}", e.getCause());
                }
            }
        }
    }
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/partybuilding/PartyBuildingService.java
New file
@@ -0,0 +1,214 @@
package com.panzhihua.common.service.partybuilding;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.*;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党建
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 09:50
 **/
@FeignClient(value = "partybuilding")
public interface PartyBuildingService {
    /**
     * 新增党员
     * @param partyBuildingMemberVO 党员基本信息
     * @return 新增结果
     */
    @PostMapping("addpartybuildingmember")
    R addPartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO);
    /**
     * 平台所有的党组织
     * @return 党组织集合
     */
    @PostMapping("listpartyorganization")
    List<PartyOrganizationVO> listPartyOrganization();
    /**
     * 批量新增党员
     * @param list 党员集合
     */
    @PostMapping("listsavepartybuildingmemberexcelVO")
    R listSavePartyBuildingMemberExcelVO(@RequestBody List<PartyBuildingMemberExcelVO> list);
    /**
     * 分页查询党员信息
     * @param pagePartyOrganizationVO 查询信息
     * @return 分页数据
     */
    @PostMapping("pagepartyorganization")
    R pagePartyOrganization(@RequestBody PagePartyOrganizationVO pagePartyOrganizationVO);
    /**
     * 党员活动
     * @param id 党员id
     * @return 参加的所有活动
     */
    @PostMapping("listpartymemberactivities")
    R listPartyMemberActivities(@RequestParam("id") Integer id);
    /**
     * 活动报名名单分页查询
     * @param pageActivityMembersVO 查询参数 手机号 名字
     * @return 分页数据
     */
    @PostMapping("pageactivitymembers")
    R pageActivityMembers(@RequestBody PageActivityMembersVO pageActivityMembersVO);
    /**
     * 编辑党员信息 新增字段均可编辑
     * @param partyBuildingMemberVO 编辑字段
     * @return 编辑结果
     */
    @PostMapping("updatepartybuildingmember")
    R updatePartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO);
    /**
     * 党员活动详情
     * @param id 活动id
     * @return 活动详情内容
     */
    @PostMapping("activityinfo")
    R activityinfo(@RequestParam("id") Integer id);
    /**
     * 查询指定社区的所有党员
     * @param communityId 社区id
     * @return 党员列表
     */
    @PostMapping("listPartyMember")
    R listPartyMember(@RequestParam("communityId")Integer communityId);
    /**
     * 社区下拉选择身份
     * @return 身份集合
     */
    @PostMapping("listidentity")
    R listIdentity();
    /**
     * 新增党委
     * @param partyCommitteeVO 新增信息
     * @return 新增结果
     */
    @PostMapping("addpartycommittee")
    R addPartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO);
    /**
     * 编辑党委
     * @param partyCommitteeVO 编辑信息
     * @return 编辑结果
     */
    @PostMapping("updatepartycommittee")
    R updatePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO);
    /**
     * 删除党委
     * @param partyCommitteeVO 删除id
     * @return 删除结果
     */
    @PostMapping("deletepartycommittee")
    R deletePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO);
    /**
     * 分页社区党委查询
     * @param partyCommitteeVO 查询参数
     * @return 分页集合
     */
    @PostMapping("pagepartycommittee")
    R pagePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO);
    /**
     * 新建党建动态
     * @param partyCommitteeVO 动态内容
     * @return 新增结果
     */
    @PostMapping("adddynamic")
    R adddYnamic(@RequestBody PartyBuildingComPbDynVO partyCommitteeVO);
    /**
     * 编辑动态
     * @param partyCommitteeVO 编辑内容
     * @return 编辑结果
     */
    @PostMapping("updatedynamic")
    R updateYnamic(@RequestBody PartyBuildingComPbDynVO partyCommitteeVO);
    /**
     * 动态详情
     * @param id 动态主键
     * @return 详情
     */
    @PostMapping("infodynamic")
    R infoYnamic(@RequestParam("id") Integer id);
    /**
     * 分页查询党员动态/政策文件
     * @param partyBuildingComPbDynVO 查询参数
     * @return 分页数据
     */
    @PostMapping("pagedynamic")
    R pageYnamic(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO);
    /**
     * 删除动态
     * @param id 动态主键
     * @return 删除结果
     */
    @PostMapping("deletedynamic")
    R deleteYnamic(@RequestParam("id") Integer id);
    /**
     * 新增党员活动
     * @param partyBuildingActivityVO 参数
     * @return 新增结果
     */
    @PostMapping("addactivity")
    R addactivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO);
    /**
     * 编辑党员活动
     * @param partyBuildingActivityVO 编辑内容
     * @return 编辑结果
     */
    @PostMapping("updateactivity")
    R updateActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO);
    /**
     * 发布党员活动
     * @param id 主键id
     * @return 发布结果
     */
    @PostMapping("releaseactivity")
    R releaseActivity(@RequestParam("id") Integer id);
    /**
     * 删除党员活动
     * @param id 主键id
     * @return 删除结果
     */
    @PostMapping("deleteactivity")
    R deleteActivity(@RequestParam("id") Integer id);
    /**
     * 分页查询党员活动
     * @param partyBuildingActivityVO 查询条件
     * @return 查询结果
     */
    @PostMapping("pageactivity")
    R pageActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO);
    /**
     * 增加阅读记录
     * @param comPbDynUserVO 记录内容
     * @return 增加结果
     */
    @PostMapping("adddynuser")
    R addDynUser(@RequestBody ComPbDynUserVO comPbDynUserVO);
}
springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/user/UserService.java
@@ -37,7 +37,7 @@
     * @return 维护结果
     */
    @PostMapping("/updateUserWeiXinInfo")
    R updateUserWeiXinInfo(@RequestParam("userId")Long userId, @RequestParam("nickName")String nickName, @RequestParam("gender")int gender, @RequestParam("avatarUrl")String avatarUrl);
    R updateUserWeiXinInfo(@RequestParam("userId")Integer userId, @RequestParam("nickName")String nickName, @RequestParam("gender")int gender, @RequestParam("avatarUrl")String avatarUrl);
    /**
     * 维护微信用户手机号
@@ -46,7 +46,7 @@
     * @return 维护结果
     */
    @PostMapping("/updateUserWeiXinPhone")
    R updateUserWeiXinPhone(@RequestParam("userId")Long userId, @RequestParam("purePhoneNumber")String purePhoneNumber);
    R updateUserWeiXinPhone(@RequestParam("userId")Integer userId, @RequestParam("purePhoneNumber")String purePhoneNumber);
    /**
     * 获取平台用户
@@ -78,4 +78,12 @@
     */
    @PostMapping("/role/getUserRoles")
    R<List<String>> getUserRoles(@RequestParam("username") String username);
    /**
     * 查询社区的党委角色
     * @param communityId 社区id
     * @return 党委角色列表
     */
    @PostMapping("/role/listidentity")
    R listIdentity(@RequestParam("communityId")Integer communityId);
}
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/constants/FtpConstants.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/controller/BaseController.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/exceptions/PartyBuildingMemberException.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/ComPbDynUserVO.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/PagePartyOrganizationVO.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/PartyBuildingMemberExcelVO.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/model/vos/partybuilding/PartyCommitteeVO.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyOrganizationVO.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/user/RoleVO.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/service/user/UserService.class
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/common-1.0-SNAPSHOT.jar
Binary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/maven-archiver/pom.properties
New file
@@ -0,0 +1,5 @@
#Generated by Maven
#Fri Nov 27 17:26:33 CST 2020
version=1.0-SNAPSHOT
groupId=com.panzhihua
artifactId=common
springcloud_k8s_panzhihuazhihuishequ/common/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
New file
@@ -0,0 +1,37 @@
com\panzhihua\common\constants\Constants.class
com\panzhihua\common\controller\BaseController.class
com\panzhihua\common\utlis\HttpHelper.class
com\panzhihua\common\service\user\UserService.class
com\panzhihua\common\utlis\HttpUtils$TrustAnyTrustManager.class
com\panzhihua\common\utlis\IpUtils.class
com\panzhihua\common\utlis\HttpUtils.class
com\panzhihua\common\model\vos\R.class
com\panzhihua\common\utlis\StringUtils.class
com\panzhihua\common\model\vos\LoginUserInfoVO.class
com\panzhihua\common\utlis\HttpUtils$TrustAnyHostnameVerifier.class
com\panzhihua\common\utlis\SpringUtils.class
com\panzhihua\common\constants\TokenConstant.class
com\panzhihua\common\exceptions\TokenException.class
com\panzhihua\common\utlis\HTMLFilter.class
com\panzhihua\common\utlis\Convert.class
com\panzhihua\common\utlis\MessageUtils.class
com\panzhihua\common\utlis\EscapeUtil.class
com\panzhihua\common\utlis\LogUtils.class
com\panzhihua\common\model\vos\LoginReturnVO.class
com\panzhihua\common\constants\HttpStatus.class
com\panzhihua\common\exceptions\UnAuthenticationException.class
com\panzhihua\common\utlis\Threads.class
com\panzhihua\common\service\auth\TokenService.class
com\panzhihua\common\utlis\ResultUtil.class
com\panzhihua\common\utlis\HttpUtils$1.class
com\panzhihua\common\constants\UserConstants.class
com\panzhihua\common\exceptions\UnAuthorizationException.class
com\panzhihua\common\utlis\JWTTokenUtil.class
com\panzhihua\common\utlis\AddressUtils.class
com\panzhihua\common\constants\SecurityConstants.class
com\panzhihua\common\utlis\ServletUtils.class
com\panzhihua\common\model\vos\MenuVO.class
com\panzhihua\common\utlis\CharsetKit.class
com\panzhihua\common\utlis\StrFormatter.class
com\panzhihua\common\exceptions\WeiXinException.class
com\panzhihua\common\enums\UserStatus.class
springcloud_k8s_panzhihuazhihuishequ/common/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
New file
@@ -0,0 +1,34 @@
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\controller\BaseController.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\HttpHelper.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\constants\UserConstants.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\model\vos\R.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\ServletUtils.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\ResultUtil.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\StrFormatter.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\EscapeUtil.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\exceptions\UnAuthenticationException.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\AddressUtils.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\StringUtils.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\HTMLFilter.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\model\vos\LoginUserInfoVO.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\CharsetKit.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\constants\Constants.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\enums\UserStatus.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\HttpUtils.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\LogUtils.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\service\user\UserService.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\Convert.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\JWTTokenUtil.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\exceptions\TokenException.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\MessageUtils.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\exceptions\UnAuthorizationException.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\model\vos\LoginReturnVO.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\service\auth\TokenService.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\SpringUtils.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\constants\TokenConstant.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\Threads.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\constants\SecurityConstants.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\model\vos\MenuVO.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\constants\HttpStatus.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\utlis\IpUtils.java
F:\nahan\panzhihua_zhihuishequ\zhihuishequ\springcloud_k8s_panzhihuazhihuishequ\common\src\main\java\com\panzhihua\common\exceptions\WeiXinException.java
springcloud_k8s_panzhihuazhihuishequ/community_backstage/pom.xml
@@ -53,6 +53,8 @@
            <artifactId>springfox-boot-starter</artifactId>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/CommunityBackstageApplication.java
@@ -6,6 +6,7 @@
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;
@EnableOpenApi
@@ -13,6 +14,7 @@
@EnableCircuitBreaker
@EnableEurekaClient
@EnableFeignClients(basePackages = {"com.panzhihua.common.service"})
@ComponentScan("com.panzhihua")
public class CommunityBackstageApplication {
    public static void main(String[] args) {
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java
New file
@@ -0,0 +1,352 @@
package com.panzhihua.community_backstage.api;
import com.alibaba.excel.EasyExcel;
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.community_backstage.listen.PartyBuildingMemberExcelListen;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 社区党建引领
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 09:45
 **/
@Slf4j
@Api(tags = {"社区党建引领"})
@RestController
@RequestMapping("/communitypartybuilding/")
public class CommunityPartyBuildingApi extends BaseController {
    @Resource
    private PartyBuildingService partyBuildingService;
    @Resource
    private FTPClientService ftpClientService;
    @Resource
    private UserService userService;
    /**
     * 导入模板名字
     */
    private final String UPLOAD_EXCEL = "社区党员数据导入模板.xlsx";
    @ApiOperation(value = "社区所有党组织",response = PartyOrganizationVO.class)
    @GetMapping("listpartyorganization")
    public R listPartyOrganization() {
        final Integer userId = this.getUserId();
        List<PartyOrganizationVO> partyOrganizationVOList = new ArrayList<>();
        partyOrganizationVOList = partyBuildingService.listPartyOrganization();
        return R.ok(partyOrganizationVOList);
    }
    @ApiOperation(value = "新增党员")
    @PostMapping("addpartybuildingmember")
    public R addPartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO) {
        final Integer userId = this.getUserId();
        //todo 获取用户的社区信息
        Integer communityId = 1;
        partyBuildingMemberVO.setCommunityId(communityId);
        R r = partyBuildingService.addPartyBuildingMember(partyBuildingMemberVO);
        return r;
    }
    @ApiOperation(value = "编辑党员")
    @PutMapping("updatepartybuildingmember")
    public R updatePartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO) {
        Integer id = partyBuildingMemberVO.getId();
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("党员id不能为空");
        }
        R r = partyBuildingService.updatePartyBuildingMember(partyBuildingMemberVO);
        return r;
    }
    @ApiOperation(value = "下载模板-导入党员")
    @PostMapping("downloadtemplate")
    public R downloadTemplate(HttpServletResponse httpServletResponse) {
        Boolean download = ftpClientService.download(UPLOAD_EXCEL, FtpConstants.FTPFILEPATH_MUBAN, httpServletResponse);
        if (download) {
            return R.ok();
        }
        return R.fail();
    }
    @ApiOperation(value = "上传照片")
    @PostMapping("uploadimage")
    public R uploadImage(CommonsMultipartFile commonsMultipartFile) {
        String name = commonsMultipartFile.getName();
        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) {
            log.error("上传照片失败【{}】", e.getMessage());
            return R.fail();
        }
    }
    @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))) {
            return R.fail(400, "文件名字错误");
        }
        InputStream inputStream = null;
        try {
            inputStream = commonsMultipartFile.getInputStream();
            EasyExcel.read(inputStream, PartyBuildingMemberExcelVO.class, new PartyBuildingMemberExcelListen(partyBuildingService)).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return R.ok();
    }
    @ApiOperation(value = "党员管理分页查询",response = PartyBuildingMemberVO.class)
    @GetMapping("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);
        return r;
    }
    @ApiOperation(value = "活动报名名单分页查询",response = PageActivityMembersVO.class)
    @GetMapping("pageactivitymembers")
    public R pageActivityMembers(@RequestBody PageActivityMembersVO pageActivityMembersVO) {
        R r = partyBuildingService.pageActivityMembers(pageActivityMembersVO);
        return r;
    }
    @ApiOperation(value = "活动详情",response = PartyBuildingActivityVO.class)
    @GetMapping("activityinfo")
    public R activityinfo(@RequestParam("id") Integer id) {
        R r = partyBuildingService.activityinfo(id);
        return r;
    }
    @ApiOperation(value = "新增党员活动")
    @PostMapping("addactivity")
    public R addActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        R r = partyBuildingService.addactivity(partyBuildingActivityVO);
        return r;
    }
    @ApiOperation(value = "编辑党员活动")
    @PutMapping("updateactivity")
    public R updateActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        Integer id = partyBuildingActivityVO.getId();
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("主键不能为空");
        }
        R r = partyBuildingService.updateActivity(partyBuildingActivityVO);
        return r;
    }
    @ApiOperation(value = "发布党员活动")
    @PutMapping("releaseactivity")
    public R releaseActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        Integer id = partyBuildingActivityVO.getId();
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("主键不能为空");
        }
        R r = partyBuildingService.releaseActivity(id);
        return r;
    }
    @ApiOperation(value = "删除党员活动")
    @DeleteMapping("deleteactivity")
    public R deleteActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        Integer id = partyBuildingActivityVO.getId();
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("主键不能为空");
        }
        R r = partyBuildingService.deleteActivity(id);
        return r;
    }
    @ApiOperation(value = "取消党员活动")
    @PutMapping("cancelactivity")
    public R cancelActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        Integer id = partyBuildingActivityVO.getId();
        String createBy = partyBuildingActivityVO.getCreateBy();
        String cancelReason = partyBuildingActivityVO.getCancelReason();
        boolean empty = ObjectUtils.isEmpty(createBy);
        boolean emptycancelReason = ObjectUtils.isEmpty(cancelReason);
        boolean emptyid = ObjectUtils.isEmpty(id);
        if (empty||emptycancelReason||emptyid) {
            return R.fail("参数不全");
        }
        R r = partyBuildingService.deleteActivity(id);
        return r;
    }
    @ApiOperation(value = "分页查询党员活动",response = PageActivityMembersVO.class)
    @PostMapping("pageactivity")
    public R pageActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO) {
        Integer CommunityId=1;//todo 获取社区id
        partyBuildingActivityVO.setCommunityId(CommunityId);
        R r = partyBuildingService.pageActivity(partyBuildingActivityVO);
        return r;
    }
    @ApiOperation(value = "社区下拉选择党员",response = PartyBuildingMemberVO.class)
    @GetMapping("listpartymember")
    public R listPartyMember() {
        final Integer userId = this.getUserId();
        //todo 获取用户的社区信息
        Integer communityId = 1;
        R r = partyBuildingService.listPartyMember(communityId);
        return r;
    }
    @ApiOperation(value = "社区下拉选择身份",response = RoleVO.class)
    @GetMapping("listidentity")
    public R listIdentity() {
        final Integer userId = this.getUserId();
        //todo 获取用户的社区信息
        Integer communityId = 1;
        R r = userService.listIdentity(communityId);
        return r;
    }
    @ApiOperation(value = "新增党委")
    @PostMapping("addpartycommittee")
    public R addPartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO) {
        final Integer userId = this.getUserId();
        //todo 获取用户的社区信息
        Integer communityId = 1;
        partyCommitteeVO.setCommunityId(communityId);
        R r = partyBuildingService.addPartyCommittee(partyCommitteeVO);
        return r;
    }
    @ApiOperation(value = "编辑党委")
    @PutMapping("updatepartycommittee")
    public R updatePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO) {
        final Integer userId = this.getUserId();
        //todo 获取用户的社区信息
        Integer communityId = 1;
        partyCommitteeVO.setCommunityId(communityId);
        R r = partyBuildingService.updatePartyCommittee(partyCommitteeVO);
        return r;
    }
    @ApiOperation(value = "删除党委")
    @DeleteMapping("deletepartycommittee")
    public R deletePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO) {
        final Integer userId = this.getUserId();
        //todo 获取用户的社区信息
        Integer communityId = 1;
        partyCommitteeVO.setCommunityId(communityId);
        R r = partyBuildingService.deletePartyCommittee(partyCommitteeVO);
        return r;
    }
    @ApiOperation(value = "分页党委查询",response = PartyCommitteeVO.class)
    @PostMapping("pagepartycommittee")
    public R pagePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO) {
        final Integer userId = this.getUserId();
        //todo 获取用户的社区信息
        Integer communityId = 1;
        partyCommitteeVO.setCommunityId(communityId);
        R r = partyBuildingService.pagePartyCommittee(partyCommitteeVO);
        return r;
    }
    @ApiOperation(value = "新建动态/政策文件")
    @PostMapping("adddynamic")
    public R adddYnamic(@RequestBody PartyBuildingComPbDynVO partyCommitteeVO) {
        final Integer userId = this.getUserId();
        Integer communityId=1;//todo 获取社区id
        partyCommitteeVO.setCreateBy(userId);
        partyCommitteeVO.setCommunityId(communityId);
        R r = partyBuildingService.adddYnamic(partyCommitteeVO);
        return r;
    }
    @ApiOperation(value = "编辑动态/政策文件")
    @PutMapping("updatedynamic")
    public R updateYnamic(@RequestBody PartyBuildingComPbDynVO partyCommitteeVO) {
        Integer id = partyCommitteeVO.getId();
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("动态主键不能为空");
        }
        R r = partyBuildingService.updateYnamic(partyCommitteeVO);
        return r;
    }
    @ApiOperation(value = "动态/政策文件详情",response = PartyBuildingComPbDynVO.class)
    @GetMapping("infodynamic")
    public R infoYnamic(@RequestParam("id") Integer id) {
        R r = partyBuildingService.infoYnamic(id);
        return r;
    }
    @ApiOperation(value = "分页查询党员动态/政策文件",response = PartyCommitteeVO.class)
    @GetMapping("pagedynamic")
    public R pageYnamic(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
        Integer type = partyBuildingComPbDynVO.getType();
        if (ObjectUtils.isEmpty(type)) {
            return R.fail("类型不能为空");
        }
        Integer userId = this.getUserId();
        Integer communityId=1;//todo 获取社区id
        partyBuildingComPbDynVO.setCommunityId(communityId);
        R r = partyBuildingService.pageYnamic(partyBuildingComPbDynVO);
        return r;
    }
    @ApiOperation(value = "删除动态/政策文件")
    @DeleteMapping("deletedynamic")
    public R deleteYnamic(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
        Integer id = partyBuildingComPbDynVO.getId();
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("动态主键不能为空");
        }
        R r = partyBuildingService.deleteYnamic(id);
        return r;
    }
    /**
     * 增加阅读记录
     * @param comPbDynUserVO 记录内容
     * @return 增加结果
     */
    @PostMapping("adddynuser")
    public R addDynUser(@RequestBody ComPbDynUserVO comPbDynUserVO){
        R r =partyBuildingService.addDynUser(comPbDynUserVO);
        return r;
    }
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/LoginApi.java
@@ -1,6 +1,7 @@
package com.panzhihua.community_backstage.api;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.model.vos.LoginReturnVO;
import com.panzhihua.common.service.auth.TokenService;
import com.panzhihua.community_backstage.model.vos.LoginBody;
import com.panzhihua.common.model.vos.R;
@@ -25,7 +26,7 @@
    @Resource
    private TokenService tokenService;
    @ApiOperation(value = "社区平台登录")
    @ApiOperation(value = "社区平台登录",response = LoginReturnVO.class)
    @PostMapping("login")
    public R login(@RequestBody LoginBody loginBody){
        String account = loginBody.getAccount();
@@ -39,7 +40,7 @@
        return r;
    }
    @ApiOperation(value = "刷新token")
    @ApiOperation(value = "刷新token",response =LoginReturnVO.class)
    @GetMapping("refreshToken")
    @ApiImplicitParam(name ="refreshToken",value = "登录返回的刷新token")
    public R refreshToken(@RequestParam("refreshToken")String refreshToken){
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/UserApi.java
@@ -29,13 +29,13 @@
    @ApiOperation(value = "当前登录用户信息",response = LoginUserInfoVO.class)
    @GetMapping("info")
    public R getUserInfo(){
        Long userId = this.getUserId();
        Integer userId = this.getUserId();
        boolean empty2 = ObjectUtils.isEmpty(userId);
        if (empty2) {
            throw new UnAuthenticationException();
        }
        R<LoginUserInfoVO> userInfoByUserId = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = userInfoByUserId.getData();
        R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
        LoginUserInfoVO loginUserInfoVO = (LoginUserInfoVO)r.getData();
        return R.ok(loginUserInfoVO);
    }
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/listen/PartyBuildingMemberExcelListen.java
New file
@@ -0,0 +1,51 @@
package com.panzhihua.community_backstage.listen;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.panzhihua.common.constants.HttpStatus;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberExcelVO;
import com.panzhihua.common.service.partybuilding.PartyBuildingService;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员导入监听
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 15:12
 **/
@Slf4j
public class PartyBuildingMemberExcelListen extends AnalysisEventListener<PartyBuildingMemberExcelVO> {
    private PartyBuildingService partyBuildingService;
    public PartyBuildingMemberExcelListen(PartyBuildingService partyBuildingService){
        this.partyBuildingService = partyBuildingService;
    }
    private static final int BATCH_COUNT = 100;
    private List<PartyBuildingMemberExcelVO> list = new ArrayList<>();
    @Override
    public void invoke(PartyBuildingMemberExcelVO partyBuildingMemberExcelVO, AnalysisContext analysisContext) {
        list.add(partyBuildingMemberExcelVO);
        // 达到BATCH_COUNT了,需要去存储一次数据库,防止数据几万条数据在内存,容易OOM
        if(list.size() >= BATCH_COUNT){
            R r = this.partyBuildingService.listSavePartyBuildingMemberExcelVO(list);
            if (r.getCode()!= HttpStatus.SUCCESS) {
                log.error("excel导入数据失败【{}】",r.getMsg());
            }
            list.clear();           //清空list
        }
    }
    @Override
    public void doAfterAllAnalysed(AnalysisContext analysisContext) {
        this.partyBuildingService.listSavePartyBuildingMemberExcelVO(list); //确保最后遗留的数据保存在数据库中
    }
}
springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/resources/application.yml
@@ -1,5 +1,5 @@
server:
  port: 8198
  port: 8199
  encoding:
    force-response: true #中文乱码
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/pom.xml
@@ -28,18 +28,37 @@
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>com.netflix.hystrix</groupId>
            <artifactId>hystrix-javanica</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.panzhihua</groupId>
            <artifactId>common</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-redis</artifactId>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/api/PartyBuildIngApi.java
New file
@@ -0,0 +1,295 @@
package com.panzhihua.service_dangjian.api;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.*;
import com.panzhihua.service_dangjian.service.ComBpActivityService;
import com.panzhihua.service_dangjian.service.ComPbMemberService;
import com.panzhihua.service_dangjian.service.PartyOrganizationService;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党建
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 10:41
 **/
@RequestMapping("/partybuildIng/")
@RestController
public class PartyBuildIngApi {
    @Resource
    private ComPbMemberService comPbMemberService;
    @Resource
    private PartyOrganizationService partyOrganizationService;
    @Resource
    private ComBpActivityService comBpActivityService;
    /**
     * 平台所有的党组织
     * @return 党组织集合
     */
    @PostMapping("listpartyorganization")
    public List<PartyOrganizationVO> listPartyOrganization(){
        List<PartyOrganizationVO> partyOrganizationVOS=partyOrganizationService.listPartyOrganization();
        return partyOrganizationVOS;
    }
    /**
     * 新增党员
     * @param partyBuildingMemberVO 党员基本信息
     * @return 新增结果
     */
    @PostMapping("addpartybuildingmember")
    public R addPartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO){
        R r=comPbMemberService.addPartyBuildingMember(partyBuildingMemberVO);
        return r;
    }
    /**
     * 批量新增党员
     * @param list 党员集合
     */
    @PostMapping("listsavePartybuildingmemberExcelVO")
    public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list){
        R r=comPbMemberService.listSavePartyBuildingMemberExcelVO(list);
        return r;
    }
    /**
     * 分页查询党员信息
     * @param pagePartyOrganizationVO 查询信息
     * @return 分页数据
     */
    @PostMapping("pagepartyorganization")
    public R pagePartyOrganization(@RequestBody PagePartyOrganizationVO pagePartyOrganizationVO){
        R r=comPbMemberService.pagePartyOrganization(pagePartyOrganizationVO);
        return r;
    }
    /**
     * 党员活动查询
     * @param partyBuildingActivityVO 查询参数
     * @return 参加的所有活动
     */
    @PostMapping("listpartymemberactivities")
    public R listPartyMemberActivities(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO){
        Integer id = partyBuildingActivityVO.getId();
        if (ObjectUtils.isEmpty(id)) {
            return R.fail("党员id不能为空");
        }
        R r=comBpActivityService.listPartyMemberActivities(partyBuildingActivityVO);
        return r;
    }
    /**
     * 活动报名名单分页查询
     * @param pageActivityMembersVO 查询参数 手机号 名字
     * @return 分页数据
     */
    @PostMapping("pageactivitymembers")
    public R pageActivityMembers(@RequestBody PageActivityMembersVO pageActivityMembersVO){
        R r=comBpActivityService.pageActivityMembers(pageActivityMembersVO);
        return r;
    }
    /**
     * 编辑党员信息 新增字段均可编辑
     * @param partyBuildingMemberVO 编辑字段
     * @return 编辑结果
     */
    @PostMapping("updatepartybuildingmember")
    public R updatePartyBuildingMember(@RequestBody PartyBuildingMemberVO partyBuildingMemberVO){
        R r=comPbMemberService.updatePartyBuildingMember(partyBuildingMemberVO);
        return r;
    }
    /**
     * 党员活动详情
     * @param id 活动id
     * @return 活动详情内容
     */
    @PostMapping("activityinfo")
    public R activityinfo(@RequestParam("id") Integer id){
        R r=comBpActivityService.activityinfo(id);
        return r;
    }
    /**
     * 查询指定社区的所有党员
     * @param communityId 社区id
     * @return 党员列表
     */
    @PostMapping("listPartyMember")
    public R listPartyMember(@RequestParam("communityId")Integer communityId){
        R r=comPbMemberService.listPartyMember(communityId);
        return r;
    }
    /**
     * 新增党委
     * @param partyCommitteeVO 新增信息
     * @return 新增结果
     */
    @PostMapping("addpartycommittee")
    public R addPartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO){
        R r=comPbMemberService.addPartyCommittee(partyCommitteeVO);
        return r;
    }
    /**
     * 编辑党委
     * @param partyCommitteeVO 编辑信息
     * @return 编辑结果
     */
    @PostMapping("updatepartycommittee")
    public R updatePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO){
        R r=comPbMemberService.updatePartyCommittee(partyCommitteeVO);
        return r;
    }
    /**
     * 删除党委
     * @param partyCommitteeVO 删除id
     * @return 删除结果
     */
    @PostMapping("deletepartycommittee")
    public R deletePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO){
        R r=comPbMemberService.deletePartyCommittee(partyCommitteeVO);
        return r;
    }
    /**
     * 分页社区党委查询
     * @param partyCommitteeVO 查询参数
     * @return 分页集合
     */
    @PostMapping("pagepartycommittee")
    public R pagePartyCommittee(@RequestBody PartyCommitteeVO partyCommitteeVO){
        R r=comPbMemberService.pagePartyCommittee(partyCommitteeVO);
        return r;
    }
    /**
     * 新建党建动态
     * @param partyCommitteeVO 动态内容
     * @return 新增结果
     */
    @PostMapping("adddynamic")
    public R adddYnamic(@RequestBody PartyBuildingComPbDynVO partyCommitteeVO){
        R r=comPbMemberService.adddYnamic(partyCommitteeVO);
        return r;
    }
    /**
     * 编辑动态
     * @param partyCommitteeVO 编辑内容
     * @return 编辑结果
     */
    @PostMapping("updatedynamic")
    public R updateYnamic(@RequestBody PartyBuildingComPbDynVO partyCommitteeVO){
        R r=comPbMemberService.updateYnamic(partyCommitteeVO);
        return r;
    }
    /**
     * 动态详情
     * @param id 动态主键
     * @return 详情
     */
    @PostMapping("infodynamic")
    public R infoYnamic(@RequestParam("id") Integer id){
        R r=comPbMemberService.infoYnamic(id);
        return r;
    }
    /**
     * 分页查询党员动态/政策文件
     * @param partyBuildingComPbDynVO 查询参数
     * @return 分页数据
     */
    @PostMapping("pagedynamic")
    public R pageYnamic(@RequestBody PartyBuildingComPbDynVO partyBuildingComPbDynVO){
        R r=comPbMemberService.pageYnamic(partyBuildingComPbDynVO);
        return r;
    }
    /**
     * 删除动态
     * @param id 动态主键
     * @return 删除结果
     */
    @PostMapping("deletedynamic")
    public R deleteYnamic(@RequestParam("id") Integer id){
        R r=comPbMemberService.deleteYnamic(id);
        return r;
    }
    /**
     * 新增党员活动
     * @param partyBuildingActivityVO 参数
     * @return 新增结果
     */
    @PostMapping("addactivity")
    public R addactivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO){
        R r=comBpActivityService.addactivity(partyBuildingActivityVO);
        return r;
    }
    /**
     * 编辑党员活动
     * @param partyBuildingActivityVO 编辑内容
     * @return 编辑结果
     */
    @PostMapping("updateactivity")
    public R updateActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO){
        R r=comBpActivityService.updateActivity(partyBuildingActivityVO);
        return r;
    }
    /**
     * 发布党员活动
     * @param id 主键id
     * @return 发布结果
     */
    @PostMapping("releaseactivity")
    public R releaseActivity(@RequestParam("id") Integer id){
        R r=comBpActivityService.releaseActivity(id);
        return r;
    }
    /**
     * 删除党员活动
     * @param id 主键id
     * @return 删除结果
     */
    @PostMapping("deleteactivity")
    public R deleteActivity(@RequestParam("id") Integer id){
        R r=comBpActivityService.deleteActivity(id);
        return r;
    }
    /**
     * 分页查询党员活动
     * @param partyBuildingActivityVO 查询条件
     * @return 查询结果
     */
    @PostMapping("pageactivity")
    public R pageActivity(@RequestBody PartyBuildingActivityVO partyBuildingActivityVO){
        R r=comBpActivityService.pageActivity(partyBuildingActivityVO);
        return r;
    }
    /**
     * 增加阅读记录
     * @param comPbDynUserVO 记录内容
     * @return 增加结果
     */
    @PostMapping("adddynuser")
    public R addDynUser(@RequestBody ComPbDynUserVO comPbDynUserVO){
        R r=comPbMemberService.addDynUser(comPbDynUserVO);
        return r;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/config/MybatisPlusConfig.java
New file
@@ -0,0 +1,37 @@
package com.panzhihua.service_dangjian.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.autoconfigure.ConfigurationCustomizer;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 分页
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 16:26
 **/
@Configuration
public class MybatisPlusConfig {
    /**
     * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除)
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));
        return interceptor;
    }
    @Bean
    public ConfigurationCustomizer configurationCustomizer() {
        return configuration -> configuration.setUseDeprecatedExecutor(false);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComBpActivityDAO.java
New file
@@ -0,0 +1,86 @@
package com.panzhihua.service_dangjian.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
import com.panzhihua.service_dangjian.model.dos.ComBpActivityDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员活动
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 17:59
 **/
@Mapper
public interface ComBpActivityDAO extends BaseMapper<ComBpActivityDO> {
    @Select("<script> " +
            "SELECT\n" +
            "a.id activityId,\n" +
            "a.NAME,\n" +
            "a.address,\n" +
            "a.satus,\n" +
            "a.create_at releaseTimeBegin,\n" +
            "a.activity_time_begin,\n" +
            "a.activity_time_end,\n" +
            "a.enroll_time_begin,\n" +
            "a.enroll_time_end \n" +
            "FROM\n" +
            "com_pb_activity_member m\n" +
            "JOIN com_bp_activity a ON m.activity_id = a.id \n" +
            "WHERE\n" +
            "m.member_id = 1 \n" +
            "<if test='name != null and name.trim() != &quot;&quot;'>" +
            "AND a.`name` = #{name} \n" +
            " </if> " +
            "<if test='releaseTimeBegin != null and releaseTimeBegin.trim() != &quot;&quot;'>" +
            "AND a.create_at BETWEEN #{releaseTimeBegin} \n" +
            "AND #{releaseTimeEnd} \n" +
            " </if> " +
            "<if test='activityTimeBegin != null and activityTimeBegin.trim() != &quot;&quot;'>" +
            "AND a.activity_time_begin BETWEEN #{activityTimeBegin} \n" +
            "AND #{activityTimeEnd}" +
            " </if> " +
            "</script>")
    List<PartyBuildingActivityVO> listPartyMemberActivities(PartyBuildingActivityVO partyBuildingActivityVO);
    @Select("<script> " +
            "SELECT\n" +
            "id,\n" +
            "NAME,\n" +
            "address,\n" +
            "STATUS,\n" +
            "release_time,\n" +
            "activity_time_begin,\n" +
            "activity_time_end,\n" +
            "enroll_time_begin,\n" +
            "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" +
            " </if> " +
            "<if test='status != null and status.trim() != &quot;&quot;'>" +
            "AND `status` = #{status} \n" +
            " </if> " +
            "<if test='releaseTimeBegin != null and releaseTimeBegin.trim() != &quot;&quot;'>" +
            "AND release_time BETWEEN #{releaseTimeBegin} \n" +
            "AND #{releaseTimeEnd} \n" +
            " </if> " +
            "<if test='activityTimeBegin != null and activityTimeBegin.trim() != &quot;&quot;'>" +
            "AND activity_time_begin BETWEEN #{activityTimeBegin} \n" +
            "AND #{activityTimeEnd}" +
            " </if> " +
            "order by create_at desc "+
            "</script>")
    IPage<PageActivityMembersVO> pageActivity(Page page, @Param("partyBuildingActivityVO") PartyBuildingActivityVO partyBuildingActivityVO);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbActivityMemberDAO.java
New file
@@ -0,0 +1,44 @@
package com.panzhihua.service_dangjian.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
import com.panzhihua.service_dangjian.model.dos.ComPbActivityMemberDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 活动成员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 10:04
 **/
@Mapper
public interface ComPbActivityMemberDAO extends BaseMapper<ComPbActivityMemberDO> {
    @Select("<script> " +
            "SELECT\n" +
            "m.id,\n" +
            "me.NAME,\n" +
            "u.phone,\n" +
            "m.create_at registrationTime \n" +
            "FROM\n" +
            "com_pb_activity_member m\n" +
            "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" +
            " </if> " +
            "<if test='phone != null and phone.trim() != &quot;&quot;'>" +
            "AND u.phone = #{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
New file
@@ -0,0 +1,53 @@
package com.panzhihua.service_dangjian.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingComPbDynVO;
import com.panzhihua.common.model.vos.partybuilding.PartyCommitteeVO;
import com.panzhihua.service_dangjian.model.dos.ComPbDynDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 动态
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 15:49
 **/
@Mapper
public interface ComPbDynDAO extends BaseMapper<ComPbDynDO> {
    @Select("<script> " +
            "SELECT\n" +
            "d.id,\n" +
            "d.title,\n" +
            "COUNT( u.id ) readingVolume,\n" +
            "d.`status`,\n" +
            "d.publish_at,\n" +
            "d.create_at \n" +
            "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" +
            " </if> " +
            "<if test='title != null and title.trim() != &quot;&quot;'>" +
            "d.title = #{title} \n" +
            " </if> " +
            "<if test='status != null and status.trim() != &quot;&quot;'>" +
            "AND d.`status` = #{status} \n" +
            " </if> " +
            "<if test='publishAtBegin != null and publishAtBegin.trim() != &quot;&quot;'>" +
            "AND d.publish_at BETWEEN #{publishAtBegin} \n" +
            "AND #{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);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbDynUserDAO.java
New file
@@ -0,0 +1,15 @@
package com.panzhihua.service_dangjian.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.service_dangjian.model.dos.ComPbDynUserDO;
import org.apache.ibatis.annotations.Mapper;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员动态阅读记录
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-02 10:29
 **/
@Mapper
public interface ComPbDynUserDAO extends BaseMapper<ComPbDynUserDO> {
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberDAO.java
New file
@@ -0,0 +1,67 @@
package com.panzhihua.service_dangjian.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.partybuilding.PagePartyOrganizationVO;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberVO;
import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 10:52
 **/
@Mapper
public interface ComPbMemberDAO extends BaseMapper<ComPbMemberDO> {
//    -------------------动态模板-------------
//    @Select("<script> " +
//            " <where>" +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </if> " +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </if> " +
//            "<if test='nameCn != null and nameCn.trim() != &quot;&quot;'>" +
//            " </if> " +
//            " </where>" +
//            "</script>")
    @Select("<script> " +
            "SELECT\n" +
            "o.`name` orgName,\n" +
            "m.`id`,\n" +
            "u.phone,\n" +
            "m.`name`,\n" +
            "m.photo_path,\n" +
            "TIMESTAMPDIFF(\n" +
            "YEAR,\n" +
            "m.employment_time,\n" +
            "DATE_FORMAT( NOW(), '%Y-%m-%d %H:%i:%s' )) partyAge,\n" +
            "m.join_time,\n" +
            "m.employment_time,\n" +
            "CASE\n" +
            "WHEN u.id_card IS NULL THEN\n" +
            "'未注册' ELSE '已注册' \n" +
            "END STATUS \n" +
            "FROM\n" +
            "com_pb_member m\n" +
            "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> " +
            "<if test='account != null and account.trim() != &quot;&quot;'>" +
            "u.phone=#{account}"+
            " </if> " +
            "<if test='name != null and name.trim() != &quot;&quot;'>" +
            "m.name=#{name}"+
            " </if> " +
            " </where>" +
            "</script>")
    IPage<PartyBuildingMemberVO> pagePartyOrganization(Page page, @Param("pagePartyOrganizationVO") PagePartyOrganizationVO pagePartyOrganizationVO);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberRoleDAO.java
New file
@@ -0,0 +1,41 @@
package com.panzhihua.service_dangjian.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberVO;
import com.panzhihua.common.model.vos.partybuilding.PartyCommitteeVO;
import com.panzhihua.service_dangjian.model.dos.ComPbMemberRoleDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党委
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 14:36
 **/
@Mapper
public interface ComPbMemberRoleDAO extends BaseMapper<ComPbMemberRoleDO> {
    @Select("<script> " +
            "SELECT\n" +
            "mr.id,\n" +
            "m.NAME,\n" +
            "m.photo_path,\n" +
            "r.role_name \n" +
            "FROM\n" +
            "com_pb_member_role mr\n" +
            "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" +
            " </if> " +
            "<if test='roleId != null and roleId.trim() != &quot;&quot;'>" +
            "AND r.role_id =#{roleId}" +
            " </if> " +
            "</script>")
    IPage<PartyCommitteeVO> pagePartyOrganization(Page page, @Param("partyCommitteeVO") PartyCommitteeVO partyCommitteeVO);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbOrgDAO.java
New file
@@ -0,0 +1,15 @@
package com.panzhihua.service_dangjian.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.panzhihua.service_dangjian.model.dos.ComPbOrgDO;
import org.apache.ibatis.annotations.Mapper;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党组织
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 11:35
 **/
@Mapper
public interface ComPbOrgDAO extends BaseMapper<ComPbOrgDO> {
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComBpActivityDO.java
New file
@@ -0,0 +1,105 @@
package com.panzhihua.service_dangjian.model.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员活动
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 17:54
 **/
@Data
@TableName(value = "com_bp_activity")
public class ComBpActivityDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 活动名称
     */
    private String name;
    /**
     * 活动地点
     */
    private String address;
    /**
     * 1 待发布 2 未开始 3 报名中 4 进行中 5 已结束 6 已取消
     */
    private Integer status;
    /**
     * 创建时间
     */
    private Date createAt;
    /**
     * 活动开始时间
     */
    private Date activityTimeBegin;
    /**
     * 活动结束时间
     */
    private Date activityTimeEnd;
    /**
     * 报名开始时间
     */
    private Date enrollTimeBegin;
    /**
     * 报名结束时间
     */
    private Date enrollTimeEnd;
    /**
     * 活动参入人数
     */
    private Integer participationNum;
    /**
     * 活动封面
     */
    private String cover;
    /**
     * 活动内容-富文本
     */
    private String richText;
    /**
     * 活动最低参入人数-未达到到时间自动取消
     */
    private Integer participationLowestNum;
    /**
     * 取消原因
     */
    private String cancelReason;
    /**
     * 发布人
     */
    private String createBy;
    /**
     * 发布时间
     */
    private Date releaseTime;
    /**
     * 社区id
     */
    private Integer communityId;
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbActivityMemberDO.java
New file
@@ -0,0 +1,39 @@
package com.panzhihua.service_dangjian.model.dos;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 活动成员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 10:02
 **/
@Data
@TableName(value = "com_pb_activity_member")
public class ComPbActivityMemberDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    private Integer id;
    /**
     * 党员活动id
     */
    private Integer activityId;
    /**
     * 党员id
     */
    private Integer memberId;
    /**
     * 报名时间
     */
    private Date createAt;
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbDynDO.java
New file
@@ -0,0 +1,70 @@
package com.panzhihua.service_dangjian.model.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党建动态/政策文件
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 15:47
 **/
@Data
@TableName(value = "com_pb_dyn")
public class ComPbDynDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 党建动态id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 标题
     */
    private String title;
    /**
     * 状态  1 待发布 2 已发布
     */
    private boolean status;
    /**
     * 发布时间
     */
    private Date publishAt;
    /**
     * 封面url
     */
    private String cover;
    /**
     * 创建时间
     */
    private Date createAt;
    /**
     * 内容
     */
    private String content;
    /**
     * 党员表创建人主键id
     */
    private Integer createBy;
    /**
     * 1动态 2政策文件
     */
    private Integer type;
    /**
     * 社区id
     */
    private Integer communityId;
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbDynUserDO.java
New file
@@ -0,0 +1,39 @@
package com.panzhihua.service_dangjian.model.dos;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员动态阅读记录表
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-02 10:17
 **/
@Data
@TableName(value = "com_pb_dyn_user")
public class ComPbDynUserDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    private Integer id;
    /**
     * 党员动态id
     */
    private Integer dynId;
    /**
     * 党员id
     */
    private Integer userId;
    /**
     * 阅读时间
     */
    private Date createAt;
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbMemberDO.java
New file
@@ -0,0 +1,80 @@
package com.panzhihua.service_dangjian.model.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 10:48
 **/
@Data
@TableName("com_pb_member")
public class ComPbMemberDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 党员在表中的id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 所属党组织id
     */
    private Integer orgId;
    /**
     * 身份证号
     */
    private String idCard;
    /**
     * 档案id
     */
    private Integer archivesId;
    /**
     * 姓名
     */
    private String name;
    /**
     * 头像图片路径
     */
    private String photoPath;
    /**
     * 入党时间
     */
    private Date joinTime;
    /**
     * 转正时间
     */
    private Date employmentTime;
    /**
     * 党员审查结果
     */
    private String auditResult;
    /**
     * 创建时间
     */
    private Date createAt;
    /**
     * 修改时间
     */
    private Date updateAt;
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbMemberRoleDO.java
New file
@@ -0,0 +1,42 @@
package com.panzhihua.service_dangjian.model.dos;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党委
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 14:35
 **/
@Data
@TableName("com_pb_member_role")
public class ComPbMemberRoleDO implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Integer id;
    /**
     * 党员id
     */
    private Integer memberId;
    /**
     * 党员身份id
     */
    private Integer roleId;
    /**
     * 社区id
     */
    private Integer communityId;
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbOrgDO.java
New file
@@ -0,0 +1,35 @@
package com.panzhihua.service_dangjian.model.dos;
import lombok.Data;
import java.io.Serializable;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党组织
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 11:34
 **/
@Data
public class ComPbOrgDO implements Serializable {
    /**
     * 党组织id
     */
    private Integer id;
    /**
     * 党组织等级
     */
    private Integer level;
    /**
     * 父节点id
     */
    private Integer parentId;
    /**
     * 组织名称
     */
    private String name;
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComBpActivityService.java
New file
@@ -0,0 +1,65 @@
package com.panzhihua.service_dangjian.service;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
import com.panzhihua.service_dangjian.dao.ComBpActivityDAO;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员活动
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 09:16
 **/
public interface ComBpActivityService {
    /**
     * 查询某个党员加入的所有党员活动
     * @param partyBuildingActivityVO 查询参数
     * @return 活动集合
     */
    R listPartyMemberActivities(PartyBuildingActivityVO partyBuildingActivityVO);
    /**
     * 活动报名名单分页查询
     * @param pageActivityMembersVO 查询参数 手机号 名字
     * @return 分页数据
     */
    R pageActivityMembers(PageActivityMembersVO pageActivityMembersVO);
    /**
     * 党员活动详情
     * @param id 活动id
     * @return 活动详情内容
     */
    R activityinfo(Integer id);
    /**
     * 新增党员活动
     * @param partyBuildingActivityVO 参数
     * @return 新增结果
     */
    R addactivity(PartyBuildingActivityVO partyBuildingActivityVO);
    /**
     * 编辑党员活动
     * @param partyBuildingActivityVO 编辑内容
     * @return 编辑结果
     */
    R updateActivity(PartyBuildingActivityVO partyBuildingActivityVO);
    /**
     * 发布党员活动
     * @param id 主键id
     * @return 发布结果
     */
    R releaseActivity(Integer id);
    /**
     * 删除党员活动
     * @param id 主键id
     * @return 删除结果
     */
    R deleteActivity(Integer id);
    /**
     * 分页查询党员活动
     * @param partyBuildingActivityVO 查询条件
     * @return 查询结果
     */
    R pageActivity(PartyBuildingActivityVO partyBuildingActivityVO);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComPbMemberService.java
New file
@@ -0,0 +1,110 @@
package com.panzhihua.service_dangjian.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.*;
import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 10:53
 **/
public interface ComPbMemberService extends IService<ComPbMemberDO> {
    /**
     * 新增党员
     * @param partyBuildingMemberVO 党员基本信息
     * @return 新增结果
     */
    R addPartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO);
    /**
     * 批量新增党员
     * @param list 党员集合
     * @return 新增结果
     */
    R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list);
    /**
     * 分页党员
     * @param pagePartyOrganizationVO 查询信息
     * @return 分页数据
     */
    R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO);
    /**
     * 编辑党员信息 新增字段均可编辑
     * @param partyBuildingMemberVO 编辑字段
     * @return 编辑结果
     */
    R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO);
    /**
     * 查询指定社区的所有党员
     * @param communityId 社区id
     * @return 党员列表
     */
    R listPartyMember(Integer communityId);
    /**
     * 新增党委
     * @param partyCommitteeVO 新增信息
     * @return 新增结果
     */
    R addPartyCommittee(PartyCommitteeVO partyCommitteeVO);
    /**
     * 编辑党委
     * @param partyCommitteeVO 编辑信息
     * @return 编辑结果
     */
    R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO);
    /**
     * 删除党委
     * @param partyCommitteeVO 删除id
     * @return 删除结果
     */
    R deletePartyCommittee(PartyCommitteeVO partyCommitteeVO);
    /**
     * 分页社区党委查询
     * @param partyCommitteeVO 查询参数
     * @return 分页集合
     */
    R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO);
    /**
     * 新建党建动态
     * @param partyCommitteeVO 动态内容
     * @return 新增结果
     */
    R adddYnamic(PartyBuildingComPbDynVO partyCommitteeVO);
    /**
     * 编辑动态
     * @param partyCommitteeVO 编辑内容
     * @return 编辑结果
     */
    R updateYnamic(PartyBuildingComPbDynVO partyCommitteeVO);
    /**
     * 动态详情
     * @param id 动态主键
     * @return 详情
     */
    R infoYnamic(Integer id);
    /**
     * 分页查询党员动态
     * @param partyBuildingComPbDynVO 查询参数
     * @return 分页数据
     */
    R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO);
    /**
     * 删除动态
     * @param id 动态主键
     * @return 删除结果
     */
    R deleteYnamic(Integer id);
    /**
     * 增加阅读记录
     * @param comPbDynUserVO 阅读记录
     * @return 增加结果
     */
    R addDynUser(ComPbDynUserVO comPbDynUserVO);
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/PartyOrganizationService.java
New file
@@ -0,0 +1,19 @@
package com.panzhihua.service_dangjian.service;
import com.panzhihua.common.model.vos.partybuilding.PartyOrganizationVO;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党组织
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 11:39
 **/
public interface PartyOrganizationService {
    /**
     * 平台所有党组织
     * @return 党组织集合
     */
    List<PartyOrganizationVO> listPartyOrganization();
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComBpActivityServiceImpl.java
New file
@@ -0,0 +1,199 @@
package com.panzhihua.service_dangjian.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.PageActivityMembersVO;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingActivityVO;
import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberVO;
import com.panzhihua.service_dangjian.dao.ComBpActivityDAO;
import com.panzhihua.service_dangjian.dao.ComPbActivityMemberDAO;
import com.panzhihua.service_dangjian.dao.ComPbMemberDAO;
import com.panzhihua.service_dangjian.model.dos.ComBpActivityDO;
import com.panzhihua.service_dangjian.model.dos.ComPbActivityMemberDO;
import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO;
import com.panzhihua.service_dangjian.service.ComBpActivityService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员活动
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-12-01 09:16
 **/
@Service
public class ComBpActivityServiceImpl implements ComBpActivityService {
    @Resource
    private ComBpActivityDAO comBpActivityDAO;
    @Resource
    private ComPbActivityMemberDAO comPbActivityMemberDAO;
    @Resource
    private ComPbMemberDAO comPbMemberDAO;
    /**
     * 查询某个党员加入的所有党员活动
     *
     * @param partyBuildingActivityVO 查询参数
     * @return 活动集合
     */
    @Override
    public R listPartyMemberActivities(PartyBuildingActivityVO partyBuildingActivityVO) {
        List<PartyBuildingActivityVO> partyBuildingActivityVOS = comBpActivityDAO.listPartyMemberActivities(partyBuildingActivityVO);
        return R.ok(partyBuildingActivityVOS);
    }
    /**
     * 活动报名名单分页查询
     *
     * @param pageActivityMembersVO 查询参数 手机号 名字
     * @return 分页数据
     */
    @Override
    public R pageActivityMembers(PageActivityMembersVO pageActivityMembersVO) {
        Page page = new Page<>();
        Long pageNum = pageActivityMembersVO.getPageNum();
        Long pageSize = pageActivityMembersVO.getPageSize();
        if (ObjectUtils.isEmpty(pageNum)) {
            pageNum = 1l;
        }
        if (ObjectUtils.isEmpty(pageSize)) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PageActivityMembersVO> iPage = comPbActivityMemberDAO.pageActivityMembers(page, pageActivityMembersVO);
        return R.ok(iPage);
    }
    /**
     * 党员活动详情
     *
     * @param id 活动id
     * @return 活动详情内容
     */
    @Override
    public R activityinfo(Integer id) {
        ComBpActivityDO comBpActivityDO = comBpActivityDAO.selectById(id);
        if (ObjectUtils.isEmpty(comBpActivityDO)) {
            return R.fail();
        }
        PartyBuildingActivityVO partyBuildingActivityVO=new PartyBuildingActivityVO();
        BeanUtils.copyProperties(comBpActivityDO,partyBuildingActivityVO);
        List<ComPbActivityMemberDO> comPbActivityMemberDOS = comPbActivityMemberDAO.selectList(new QueryWrapper<ComPbActivityMemberDO>().lambda().eq(ComPbActivityMemberDO::getActivityId, id));
        if (!ObjectUtils.isEmpty(comPbActivityMemberDOS)) {
            List<Integer> collect = comPbActivityMemberDOS.stream().map(ComPbActivityMemberDO::getMemberId).collect(Collectors.toList());
            List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(new QueryWrapper<ComPbMemberDO>().lambda().in(ComPbMemberDO::getId, collect));
            List<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>();
            comPbMemberDOS.forEach(comPbMemberDO -> {
                PartyBuildingMemberVO partyBuildingMemberVO=new PartyBuildingMemberVO();
                BeanUtils.copyProperties(comPbMemberDO,partyBuildingMemberVO);
                partyBuildingMemberVOS.add(partyBuildingMemberVO);
            });
            partyBuildingActivityVO.setPartyBuildingMemberVOS(partyBuildingMemberVOS);
        }
        return R.ok(partyBuildingActivityVO);
    }
    /**
     * 新增党员活动
     *
     * @param partyBuildingActivityVO 参数
     * @return 新增结果
     */
    @Override
    public R addactivity(PartyBuildingActivityVO partyBuildingActivityVO) {
        ComBpActivityDO comBpActivityDO=new ComBpActivityDO();
        BeanUtils.copyProperties(partyBuildingActivityVO,comBpActivityDO);
        comBpActivityDO.setCreateAt(new Date());
        int insert = comBpActivityDAO.insert(comBpActivityDO);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 编辑党员活动
     *
     * @param partyBuildingActivityVO 编辑内容
     * @return 编辑结果
     */
    @Override
    public R updateActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
        ComBpActivityDO comBpActivityDO=new ComBpActivityDO();
        BeanUtils.copyProperties(partyBuildingActivityVO,comBpActivityDO);
        int update = comBpActivityDAO.updateById(comBpActivityDO);
        if (update>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 发布党员活动
     *
     * @param id 主键id
     * @return 发布结果
     */
    @Override
    public R releaseActivity(Integer id) {
        ComBpActivityDO comBpActivityDO=new ComBpActivityDO();
        comBpActivityDO.setId(id);
        comBpActivityDO.setStatus(2);
        comBpActivityDO.setReleaseTime(new Date());
        int update = comBpActivityDAO.updateById(comBpActivityDO);
        if (update>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 删除党员活动
     *
     * @param id 主键id
     * @return 删除结果
     */
    @Override
    public R deleteActivity(Integer id) {
        int delete = comBpActivityDAO.deleteById(id);
        if (delete>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 分页查询党员活动
     *
     * @param partyBuildingActivityVO 查询条件
     * @return 查询结果
     */
    @Override
    public R pageActivity(PartyBuildingActivityVO partyBuildingActivityVO) {
        Page page = new Page<>();
        Long pageNum = partyBuildingActivityVO.getPageNum();
        Long pageSize = partyBuildingActivityVO.getPageSize();
        if (ObjectUtils.isEmpty(pageNum)) {
            pageNum = 1l;
        }
        if (ObjectUtils.isEmpty(pageSize)) {
            pageSize = 10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PageActivityMembersVO> iPage = comBpActivityDAO.pageActivity(page, partyBuildingActivityVO);
        return R.ok(iPage);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
New file
@@ -0,0 +1,397 @@
package com.panzhihua.service_dangjian.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.panzhihua.common.exceptions.PartyBuildingMemberException;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.partybuilding.*;
import com.panzhihua.service_dangjian.dao.*;
import com.panzhihua.service_dangjian.model.dos.*;
import com.panzhihua.service_dangjian.service.ComPbMemberService;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党员
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 10:53
 **/
@Service
public class ComPbMemberServiceImpl extends ServiceImpl<ComPbMemberDAO,ComPbMemberDO> implements ComPbMemberService {
    @Resource
    private ComPbMemberDAO comPbMemberDAO;
    @Resource
    private StringRedisTemplate stringRedisTemplate;
    @Resource
    private ComPbOrgDAO comPbOrgDAO;
    @Resource
    private ComPbMemberRoleDAO comPbMemberRoleDAO;
    @Resource
    private ComPbDynDAO comPbDynDAO;
    @Resource
    private ComPbDynUserDAO comPbDynUserDAO;
    private final String REDIS_ORG_ALL="ogrlist";
    /**
     * 新增党员
     *
     * @param partyBuildingMemberVO 党员基本信息
     * @return 新增结果
     */
    @Override
    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("党员身份证重复");
        }
        ComPbMemberDO comPbMemberDO1=new ComPbMemberDO();
        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO1);
        Date date=new Date();
        comPbMemberDO1.setCreateAt(date);
        comPbMemberDO1.setUpdateAt(date);
        int insert = comPbMemberDAO.insert(comPbMemberDO1);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 批量新增党员
     *
     * @param list 党员集合
     * @return 新增结果
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R listSavePartyBuildingMemberExcelVO(List<PartyBuildingMemberExcelVO> list) {
        Boolean aBoolean = stringRedisTemplate.hasKey(REDIS_ORG_ALL);
        ValueOperations<String, String> valueOperations = stringRedisTemplate.opsForValue();
        List<PartyOrganizationVO> partyOrganizationVOS=new ArrayList<>();
        if (aBoolean) {
            String orgs = valueOperations.get(REDIS_ORG_ALL);
            if (!ObjectUtils.isEmpty(orgs)) {
               partyOrganizationVOS= JSONArray.parseArray(orgs,PartyOrganizationVO.class);
            }
        } else {
            List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(null);
            if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
                List<PartyOrganizationVO> partyOrganizationVOList=new ArrayList<>();
                comPbOrgDOS.forEach(comPbOrgDO -> {
                    PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO();
                    partyOrganizationVO.setId(comPbOrgDO.getId()+"");
                    partyOrganizationVO.setName(comPbOrgDO.getName());
                    partyOrganizationVOList.add(partyOrganizationVO);
                });
                partyOrganizationVOS= partyOrganizationVOList;
            }
            valueOperations.set(REDIS_ORG_ALL,JSONArray.toJSONString(partyOrganizationVOS),24, TimeUnit.HOURS);
        }
        List<ComPbMemberDO> comPbMemberDOS=new ArrayList<>();
        if (!ObjectUtils.isEmpty(list)) {
            List<PartyOrganizationVO> partyOrganizationVOArrayList=partyOrganizationVOS;
            list.forEach(partyBuildingMemberExcelVO -> {
                ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
                Date date=new Date();
                comPbMemberDO.setUpdateAt(date);
                comPbMemberDO.setCreateAt(date);
                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());
                }else{
                    comPbMemberDO.setArchivesId(Integer.parseInt(collect.get(0).getId()));
                }
                comPbMemberDO.setEmploymentTime(partyBuildingMemberExcelVO.getEmploymentTime());
                comPbMemberDO.setJoinTime(partyBuildingMemberExcelVO.getJoinTime());
                comPbMemberDO.setName(partyBuildingMemberExcelVO.getName());
                comPbMemberDO.setIdCard(partyBuildingMemberExcelVO.getIdCard());
                comPbMemberDOS.add(comPbMemberDO);
            });
        }
        try {
            this.saveBatch(comPbMemberDOS);
        } catch (Exception e) {
            throw new PartyBuildingMemberException("导入失败,存入数据库错误");
        }
        return R.ok();
    }
    /**
     * 分页党员
     *
     * @param pagePartyOrganizationVO 查询信息
     * @return 分页数据
     */
    @Override
    public R pagePartyOrganization(PagePartyOrganizationVO pagePartyOrganizationVO) {
        Page page=new Page<>();
        Long pageNum = pagePartyOrganizationVO.getPageNum();
        Long pageSize = pagePartyOrganizationVO.getPageSize();
        if (ObjectUtils.isEmpty(pageNum)) {
            pageNum=1l;
        }
        if (ObjectUtils.isEmpty(pageSize)) {
            pageSize=10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyOrganization(page, pagePartyOrganizationVO);
        return R.ok(iPage);
    }
    /**
     * 编辑党员信息 新增字段均可编辑
     *
     * @param partyBuildingMemberVO 编辑字段
     * @return 编辑结果
     */
    @Override
    public R updatePartyBuildingMember(PartyBuildingMemberVO partyBuildingMemberVO) {
        Integer id = partyBuildingMemberVO.getId();
        ComPbMemberDO comPbMemberDO=new ComPbMemberDO();
        BeanUtils.copyProperties(partyBuildingMemberVO,comPbMemberDO);
        int i = comPbMemberDAO.updateById(comPbMemberDO);
        if (i>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 查询指定社区的所有党员
     *
     * @param communityId 社区id
     * @return 党员列表
     */
    @Override
    public R listPartyMember(Integer communityId) {
        List<ComPbMemberDO> comPbMemberDOS = comPbMemberDAO.selectList(null);
        if (ObjectUtils.isEmpty(comPbMemberDOS)) {
           return R.ok();
        }
        List<PartyBuildingMemberVO> partyBuildingMemberVOS=new ArrayList<>();
        comPbMemberDOS.forEach(comPbMemberDO -> {
            PartyBuildingMemberVO partyBuildingMemberVO=new PartyBuildingMemberVO();
            BeanUtils.copyProperties(comPbMemberDO,partyBuildingMemberVO);
            partyBuildingMemberVOS.add(partyBuildingMemberVO);
        });
        return R.ok(partyBuildingMemberVOS);
    }
    /**
     * 新增党委
     *
     * @param partyCommitteeVO 新增信息
     * @return 新增结果
     */
    @Override
    public R addPartyCommittee(PartyCommitteeVO partyCommitteeVO) {
        ComPbMemberRoleDO comPbMemberRoleDO1 = comPbMemberRoleDAO.selectOne(new QueryWrapper<ComPbMemberRoleDO>().lambda().eq(ComPbMemberRoleDO::getMemberId, partyCommitteeVO.getPartyMemberId()));
        if (!ObjectUtils.isEmpty(comPbMemberRoleDO1)) {
            return R.fail("党员身份已经存在");
        }
        ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO();
        comPbMemberRoleDO.setCommunityId(partyCommitteeVO.getCommunityId());
        comPbMemberRoleDO.setMemberId(partyCommitteeVO.getPartyMemberId());
        comPbMemberRoleDO.setRoleId(partyCommitteeVO.getRoleId());
        int insert = comPbMemberRoleDAO.insert(comPbMemberRoleDO);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 编辑党委
     *
     * @param partyCommitteeVO 编辑信息
     * @return 编辑结果
     */
    @Override
    public R updatePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
        ComPbMemberRoleDO comPbMemberRoleDO=new ComPbMemberRoleDO();
        comPbMemberRoleDO.setCommunityId(partyCommitteeVO.getCommunityId());
        comPbMemberRoleDO.setMemberId(partyCommitteeVO.getPartyMemberId());
        comPbMemberRoleDO.setRoleId(partyCommitteeVO.getRoleId());
        comPbMemberRoleDO.setId(partyCommitteeVO.getId());
        int update = comPbMemberRoleDAO.updateById(comPbMemberRoleDO);
        if (update>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 删除党委
     *
     * @param partyCommitteeVO 删除id
     * @return 删除结果
     */
    @Override
    public R deletePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
        int delete = comPbMemberRoleDAO.deleteById(partyCommitteeVO.getId());
        if (delete>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 分页社区党委查询
     *
     * @param partyCommitteeVO 查询参数
     * @return 分页集合
     */
    @Override
    public R pagePartyCommittee(PartyCommitteeVO partyCommitteeVO) {
        Page page=new Page<>();
        Long pageNum = partyCommitteeVO.getPageNum();
        Long pageSize = partyCommitteeVO.getPageSize();
        if (ObjectUtils.isEmpty(pageNum)) {
            pageNum=1l;
        }
        if (ObjectUtils.isEmpty(pageSize)) {
            pageSize=10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PartyCommitteeVO> iPage=comPbMemberRoleDAO.pagePartyOrganization(page, partyCommitteeVO);
        return R.ok(iPage);
    }
    /**
     * 新建党建动态
     *
     * @param partyCommitteeVO 动态内容
     * @return 新增结果
     */
    @Override
    public R adddYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
        ComPbDynDO comPbDynDO=new ComPbDynDO();
        BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO);
        comPbDynDO.setCreateAt(new Date());
        int insert = comPbDynDAO.insert(comPbDynDO);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 编辑动态
     *
     * @param partyCommitteeVO 编辑内容
     * @return 编辑结果
     */
    @Override
    public R updateYnamic(PartyBuildingComPbDynVO partyCommitteeVO) {
        ComPbDynDO comPbDynDO=new ComPbDynDO();
        BeanUtils.copyProperties(partyCommitteeVO,comPbDynDO);
        int insert = comPbDynDAO.updateById(comPbDynDO);
        if (insert>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 动态详情
     *
     * @param id 动态主键
     * @return 详情
     */
    @Override
    public R infoYnamic(Integer id) {
        ComPbDynDO comPbDynDO = comPbDynDAO.selectById(id);
        if (ObjectUtils.isEmpty(comPbDynDO)) {
            return R.fail("动态不存在");
        }
        PartyBuildingComPbDynVO partyBuildingComPbDynVO=new PartyBuildingComPbDynVO();
        Integer createBy = comPbDynDO.getCreateBy();
        ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectById(createBy);
        if (ObjectUtils.isEmpty(comPbMemberDO)) {
            return R.fail("发布人不存在");
        }
        Integer integer = comPbDynUserDAO.selectCount(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId, id));
        BeanUtils.copyProperties(comPbDynDO,partyBuildingComPbDynVO);
        partyBuildingComPbDynVO.setCreateByName(comPbMemberDO.getName());
        partyBuildingComPbDynVO.setReadingVolume(null==integer?0:integer);
        return R.ok(partyBuildingComPbDynVO);
    }
    /**
     * 分页查询党员动态
     *
     * @param partyBuildingComPbDynVO 查询参数
     * @return 分页数据
     */
    @Override
    public R pageYnamic(PartyBuildingComPbDynVO partyBuildingComPbDynVO) {
        Page page=new Page<>();
        Long pageNum = partyBuildingComPbDynVO.getPageNum();
        Long pageSize = partyBuildingComPbDynVO.getPageSize();
        if (ObjectUtils.isEmpty(pageNum)) {
            pageNum=1l;
        }
        if (ObjectUtils.isEmpty(pageSize)) {
            pageSize=10l;
        }
        page.setSize(pageSize);
        page.setCurrent(pageNum);
        IPage<PartyCommitteeVO> iPage=comPbDynDAO.pageYnamic(page, partyBuildingComPbDynVO);
        return R.ok(iPage);
    }
    /**
     * 删除动态
     *
     * @param id 动态主键
     * @return 删除结果
     */
    @Override
    public R deleteYnamic(Integer id) {
        int delete = comPbDynDAO.deleteById(id);
        if (delete>0) {
            return R.ok();
        }
        return R.fail();
    }
    /**
     * 增加阅读记录
     *
     * @param comPbDynUserVO 阅读记录
     * @return 增加结果
     */
    @Override
    public R addDynUser(ComPbDynUserVO comPbDynUserVO) {
        ComPbDynUserDO comPbDynUserDO = comPbDynUserDAO.selectOne(new QueryWrapper<ComPbDynUserDO>().lambda().eq(ComPbDynUserDO::getDynId,comPbDynUserVO.getDynId()).eq(ComPbDynUserDO::getUserId,comPbDynUserVO.getUserId()));
        if (ObjectUtils.isEmpty(comPbDynUserDO)) {
            comPbDynUserDO=new ComPbDynUserDO();
            BeanUtils.copyProperties(comPbDynUserVO,comPbDynUserDO);
            comPbDynUserDAO.insert(comPbDynUserDO);
        }
        return R.ok();
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/PartyOrganizationServiceImpl.java
New file
@@ -0,0 +1,43 @@
package com.panzhihua.service_dangjian.service.impl;
import com.panzhihua.common.model.vos.partybuilding.PartyOrganizationVO;
import com.panzhihua.service_dangjian.dao.ComPbOrgDAO;
import com.panzhihua.service_dangjian.model.dos.ComPbOrgDO;
import com.panzhihua.service_dangjian.service.PartyOrganizationService;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 党组织
 * @author: huang.hongfa weixin hhf9596 qq 959656820
 * @create: 2020-11-30 11:40
 **/
@Service
public class PartyOrganizationServiceImpl implements PartyOrganizationService {
    @Resource
    private ComPbOrgDAO comPbOrgDAO;
    /**
     * 平台所有党组织
     *
     * @return 党组织集合
     */
    @Override
    public List<PartyOrganizationVO> listPartyOrganization() {
        List<PartyOrganizationVO> partyOrganizationVOS=new ArrayList<>();
        List<ComPbOrgDO> comPbOrgDOS = comPbOrgDAO.selectList(null);
        if (!ObjectUtils.isEmpty(comPbOrgDOS)) {
            comPbOrgDOS.forEach(comPbOrgDO -> {
                PartyOrganizationVO partyOrganizationVO=new PartyOrganizationVO();
                partyOrganizationVO.setId(comPbOrgDO.getId()+"");
                partyOrganizationVO.setName(comPbOrgDO.getName());
                partyOrganizationVOS.add(partyOrganizationVO);
            });
        }
        return partyOrganizationVOS;
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/resources/application.yml
@@ -1 +1,87 @@
server:
  port: 8198
spring:
  application:
    name: partybuilding
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/smart_life?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: 123456
    druid:
      # 初始连接数
      initialSize: 5
      # 最小连接池数量
      minIdle: 10
      # 最大连接池数量
      maxActive: 20
      # 配置获取连接等待超时的时间
      maxWait: 60000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      timeBetweenEvictionRunsMillis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      minEvictableIdleTimeMillis: 300000
      # 配置一个连接在池中最大生存的时间,单位是毫秒
      maxEvictableIdleTimeMillis: 900000
      # 配置检测连接是否有效
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      webStatFilter:
        enabled: true
      statViewServlet:
        enabled: true
        # 设置白名单,不填则允许所有访问
        allow:
        url-pattern: /monitor/druid/*
      filter:
        stat:
          enabled: true
          # 慢SQL记录
          log-slow-sql: false
          slow-sql-millis: 1000
          merge-sql: true
        wall:
          config:
            multi-statement-allow: true
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8192/eureka
      instance:
        prefer‐ip‐address: true #可以跨域访问
feign:
  hystrix:
    enabled: true
mybatis-plus:
  #SIMPLE:该执行器类型不做特殊的事情,为每个语句的执行创建一个新的预处理语句,REUSE:该执行器类型会复用预处理语句,BATCH:该执行器类型会批量执行所有的更新语句
  default-executor-type: REUSE
  configuration:
    # 是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN(下划线命名) 到经典 Java 属性名 aColumn(驼峰命名) 的类似映射
    map-underscore-to-camel-case: true
    # 全局地开启或关闭配置文件中的所有映射器已经配置的任何缓存,默认为 true
    cache-enabled: false
    #如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段
    call-setters-on-nulls: true
    # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      #表名下划线命名默认true
      table-underline: true
      #id类型
      id-type: auto
      #是否开启大写命名,默认不开启
      #capital-mode: false
      #逻辑已删除值,(逻辑删除下有效) 需要注入逻辑策略LogicSqlInjector 以@Bean方式注入
      logic-not-delete-value: 0
      #逻辑未删除值,(逻辑删除下有效)
      logic-delete-value: 1
      #数据库类型
      db-type: mysql
springcloud_k8s_panzhihuazhihuishequ/service_user/pom.xml
@@ -67,6 +67,7 @@
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>
    </dependencies>
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/api/RoleApi.java
@@ -41,4 +41,14 @@
    public R<List<String>> getUserRoles(@RequestParam("username") String username){
        return roleService.getUserRoles(username);
    }
    /**
     * 查询社区的党委角色
     * @param communityId 社区id
     * @return 党委角色列表
     */
    @PostMapping("listidentity")
    public R listIdentity(@RequestParam("communityId")Integer communityId){
        return roleService.listIdentity(communityId);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dos/SysRoleDO.java
@@ -7,6 +7,8 @@
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
 * 角色表 sys_role
@@ -19,44 +21,78 @@
{
    private static final long serialVersionUID = 1L;
    /** 角色ID */
    /**
     * 角色id
     */
    @TableId(type = IdType.AUTO)
    private Long roleId;
    /** 角色名称 */
    /**
     * 角色名称
     */
    private String roleName;
    /** 角色权限 */
    /**
     * 角色权限字符串
     */
    private String roleKey;
    /** 角色排序 */
    private String roleSort;
    /**
     * 显示顺序
     */
    private Integer roleSort;
    /** 数据范围(1:所有数据权限;2:自定义数据权限;3:本部门数据权限;4:本部门及以下数据权限) */
    /**
     * 数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限 )
     */
    private String dataScope;
    /** 菜单树选择项是否关联显示( 0:父子不互相关联显示 1:父子互相关联显示) */
    /**
     * 菜单树选择项是否关联显示
     */
    private boolean menuCheckStrictly;
    /** 部门树选择项是否关联显示(0:父子不互相关联显示 1:父子互相关联显示 ) */
    /**
     * 部门树选择项是否关联显示
     */
    private boolean deptCheckStrictly;
    /** 角色状态(0正常 1停用) */
    /**
     * 角色状态(0正常 1停用)
     */
    private String status;
    /** 删除标志(0代表存在 2代表删除) */
    private String delFlag;
    /**
     * 创建者
     */
    private String createBy;
    /** 用户是否存在此角色标识 默认不存在 */
    private boolean flag = false;
    /**
     * 创建时间
     */
    private Date createTime;
    /** 菜单组 */
    @TableField(exist = false)
    private Long[] menuIds;
    /**
     * 更新者
     */
    private String updateBy;
    /** 部门组(数据权限) */
    @TableField(exist = false)
    private Long[] deptIds;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 备注
     */
    private String remark;
    /**
     * 社区id
     */
    private Integer communityId;
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/model/dos/SysUserDO.java
@@ -78,7 +78,7 @@
    /**
     * 身份证号
     */
    private String idcard;
    private String idCard;
    /**
     * 生日
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/RoleService.java
@@ -23,4 +23,10 @@
     * @return 所有角色
     */
    R<List<String>> getUserRoles(String username);
    /**
     * 查询社区的党委角色
     * @param communityId 社区id
     * @return 党委角色列表
     */
    R listIdentity(Integer communityId);
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java
@@ -1,10 +1,15 @@
package com.panzhihua.service_user.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.panzhihua.common.model.vos.MenuVO;
import com.panzhihua.common.model.vos.R;
import com.panzhihua.common.model.vos.user.RoleVO;
import com.panzhihua.service_user.dao.RoleDAO;
import com.panzhihua.service_user.model.dos.SysRoleDO;
import com.panzhihua.service_user.service.RoleService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.ArrayList;
@@ -42,4 +47,24 @@
        List<String> roles=roleDAO.selectRoles(username);
        return R.ok(roles);
    }
    /**
     * 查询社区的党委角色
     *
     * @param communityId 社区id
     * @return 党委角色列表
     */
    @Override
    public R listIdentity(Integer communityId) {
        List<RoleVO> roleVOS=new ArrayList<>();
        List<SysRoleDO> sysRoleDOS = roleDAO.selectList(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getCommunityId, communityId));
        if (!ObjectUtils.isEmpty(sysRoleDOS)) {
            sysRoleDOS.forEach(sysRoleDO -> {
                RoleVO roleVO=new RoleVO();
                BeanUtils.copyProperties(sysRoleDO,roleVO);
                roleVOS.add(roleVO);
            });
        }
        return R.ok(roleVOS);
    }
}
springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -1,5 +1,6 @@
package com.panzhihua.service_user.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.panzhihua.common.constants.UserConstants;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
@@ -129,7 +130,9 @@
        if (1 == type) {
            sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getOpenid, name));
        } else {
            sysUserDO = userDao.selectOne(new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type).eq(SysUserDO::getAccount, name).or().eq(SysUserDO::getPhone, name));
            LambdaQueryWrapper<SysUserDO> wrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type);
            wrapper.and(sysUserDOLambdaQueryWrapper ->sysUserDOLambdaQueryWrapper .eq(SysUserDO::getAccount, name).or().eq(SysUserDO::getPhone, name));
            sysUserDO = userDao.selectOne(wrapper);
        }
        boolean empty = ObjectUtils.isEmpty(sysUserDO);
        if (empty) {
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/JWTAuthenticationTokenFilter.java
@@ -121,8 +121,8 @@
                        String roles = valueOperations.get(key);
                        authorities = JSONArray.parseArray(roles, SimpleGrantedAuthority.class);
                    } else {
                        R<List<String>> roles = userService.getUserRoles(username);
                        List<String> data = roles.getData();
                        R<List<String>> r = userService.getUserRoles(username);
                        List<String> data =(List<String>)r.getData();
                        if (!ObjectUtils.isEmpty(data)) {
                            data.forEach(s -> {
                                authorities1.add(new SimpleGrantedAuthority(s));
springcloud_k8s_panzhihuazhihuishequ/zuul/src/main/java/com/panzhihua/zuul/filters/SercuritFilter.java
@@ -52,8 +52,8 @@
            String roleAll = valueOperations.get(SecurityConstants.ROLE_ALL);
            menuVOS= JSONArray.parseArray(roleAll,MenuVO.class);
        }else{
            R<List<MenuVO>> allMenu = userService.getAllMenu();
            List<MenuVO> data = allMenu.getData();
            R<List<MenuVO>> r = userService.getAllMenu();
            List<MenuVO> data = (List<MenuVO>)r.getData();
            if (!ObjectUtils.isEmpty(data)) {
                menuVOS=data;
                valueOperations.set(SecurityConstants.ROLE_ALL,JSONArray.toJSONString(data),24, TimeUnit.HOURS);