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.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/controller/BaseController.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/exceptions/PartyBuildingMemberException.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/ComPbDynUserVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PageActivityMembersVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PagePartyOrganizationVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingActivityVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingComPbDynVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberExcelVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyCommitteeVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/partybuilding/PartyOrganizationVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/model/vos/user/RoleVO.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/service/ftp/FTPClientService.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/service/partybuilding/PartyBuildingService.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/classes/com/panzhihua/common/service/user/UserService.classBinary files differ
springcloud_k8s_panzhihuazhihuishequ/common/target/common-1.0-SNAPSHOT.jarBinary 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() != ""'>" + "AND a.`name` = #{name} \n" + " </if> " + "<if test='releaseTimeBegin != null and releaseTimeBegin.trim() != ""'>" + "AND a.create_at BETWEEN #{releaseTimeBegin} \n" + "AND #{releaseTimeEnd} \n" + " </if> " + "<if test='activityTimeBegin != null and activityTimeBegin.trim() != ""'>" + "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() != ""'>" + "and name = #{name} \n" + " </if> " + "<if test='status != null and status.trim() != ""'>" + "AND `status` = #{status} \n" + " </if> " + "<if test='releaseTimeBegin != null and releaseTimeBegin.trim() != ""'>" + "AND release_time BETWEEN #{releaseTimeBegin} \n" + "AND #{releaseTimeEnd} \n" + " </if> " + "<if test='activityTimeBegin != null and activityTimeBegin.trim() != ""'>" + "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() != ""'>" + "AND me.`name` = #{name} \n" + " </if> " + "<if test='phone != null and phone.trim() != ""'>" + "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() != ""'>" + "d.community_id = #{communityId} \n" + " </if> " + "<if test='title != null and title.trim() != ""'>" + "d.title = #{title} \n" + " </if> " + "<if test='status != null and status.trim() != ""'>" + "AND d.`status` = #{status} \n" + " </if> " + "<if test='publishAtBegin != null and publishAtBegin.trim() != ""'>" + "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() != ""'>" + // " </if> " + // "<if test='nameCn != null and nameCn.trim() != ""'>" + // " </if> " + // "<if test='nameCn != null and nameCn.trim() != ""'>" + // " </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() != ""'>" + "o.name=#{orgName}"+ " </if> " + "<if test='account != null and account.trim() != ""'>" + "u.phone=#{account}"+ " </if> " + "<if test='name != null and name.trim() != ""'>" + "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() != ""'>" + "AND m.`name` = #{name} \n" + " </if> " + "<if test='roleId != null and roleId.trim() != ""'>" + "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);