springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java
@@ -3,8 +3,10 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.panzhihua.applets.weixin.CheckService; import com.panzhihua.applets.model.dtos.ComPbMemberCertificationDTO; import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO; import com.panzhihua.common.model.vos.community.*; import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberVO; import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO; import com.panzhihua.common.model.vos.user.SysUserNoticeVO; import com.panzhihua.common.model.vos.user.UserPhoneVO; @@ -12,7 +14,6 @@ import com.panzhihua.common.service.partybuilding.PartyBuildingService; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.exceptions.UnAuthenticationException; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.validated.AddGroup; @@ -20,6 +21,7 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -300,5 +302,56 @@ return userService.addFeedback(sysUserFeedbackDTO); } @ApiOperation(value = "党员认证" ) @PostMapping("partybuildingembercertification") public R partybuildingembercertification(@RequestBody @Validated(AddGroup.class) ComPbMemberCertificationDTO comPbMemberCertificationDTO) { //totest 党员认证 LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long userId = loginUserInfo.getUserId(); Long communityId = loginUserInfo.getCommunityId(); if (null==communityId||0==communityId) { return R.fail("未绑定社区"); } //判断用户是否已认证成功 R certUser = partyBuildingService.userCertification(userId); Object certUserInfo = certUser.getData(); boolean userCertified = false; if(certUserInfo!=null){ PartyBuildingMemberVO certUserVo = (PartyBuildingMemberVO) certUserInfo; //已认证党员身份,直接返回 userCertified = certUserVo.getAuditResult()==1; } //匹配手机,验证是否进行自动确认 if(userCertified){ return R.fail("用户已完成党员认证"); } PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO(); BeanUtils.copyProperties(comPbMemberCertificationDTO, partyBuildingMemberVO); //用户实名认证信息判断 String idCard = loginUserInfo.getIdCard(); partyBuildingMemberVO.setUserId(userId); if(idCard==null) { return R.fail("用户未完成实名认证"); }else{ partyBuildingMemberVO.setIdCard(loginUserInfo.getIdCard()); partyBuildingMemberVO.setName(loginUserInfo.getName()); } R r = partyBuildingService.addPartyBuildingMember(partyBuildingMemberVO); return r; } @ApiOperation(value = "党员认证查询" ) @GetMapping("partybuildingembercertification") public R partybuildingembercertification() { //totest 党员认证查询 LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long userId = loginUserInfo.getUserId(); return partyBuildingService.userCertification(userId); } } springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/model/dtos/ComPbMemberCertificationDTO.java
New file @@ -0,0 +1,26 @@ package com.panzhihua.applets.model.dtos; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * 党员认证 */ @Data @ApiModel("我的》党员认证") public class ComPbMemberCertificationDTO { @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "入党时间") private Date joinTime; @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8") @ApiModelProperty(value = "转正时间") private Date employmentTime; @ApiModelProperty(value = "所属党组织id") private Long orgId; @ApiModelProperty(value = "头像图片路径") private String photoPath; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PagePartyBuildingMemberVO.java
New file @@ -0,0 +1,28 @@ package com.panzhihua.common.model.vos.partybuilding; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 分页党员认证 * @author: cedoo * @create: 2021-4-7 **/ @Data @ApiModel(value = "分页党员认证") public class PagePartyBuildingMemberVO { @ApiModelProperty(value ="手机号") private String phone; @ApiModelProperty(value ="姓名") private String name; @ApiModelProperty(value ="状态") private Integer auditStatus; @ApiModelProperty(value ="当前页数") private Long pageNum; @ApiModelProperty(value ="每页记录数") private Long pageSize; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/partybuilding/PartyBuildingMemberVO.java
@@ -47,4 +47,8 @@ @ApiModelProperty(value = "报名时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date createAt; @ApiModelProperty(value = "用户ID",hidden=true) private Long userId; @ApiModelProperty(value = "党员审查结果: 0 待审核 1 已审核 2 自动认证 3 已驳回") private Integer auditResult; } springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/service/partybuilding/PartyBuildingService.java
@@ -364,7 +364,19 @@ @PostMapping("/partybuildIng/addactivityinfo") R addActivityApplets(@RequestBody ComPbActivityDTO comPbActivityDTO); /** * 查询用户党员认证信息 * @param id 用户ID * @return 查询结果 */ @GetMapping("/partybuildIng/usercertification") R userCertification(@RequestParam Long id); /** * 查询待认证党员信息 * @param pagePartyBuildingMemberVO 查询参数 * @return 查询结果 */ @GetMapping("/partybuildIng/pageusercertification") R pagePrePartybuildingmember(PagePartyBuildingMemberVO pagePartyBuildingMemberVO); } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/api/CommunityPartyBuildingApi.java
@@ -21,6 +21,7 @@ import com.panzhihua.common.utlis.SFTPUtil; import com.panzhihua.common.validated.AddGroup; import com.panzhihua.community_backstage.listen.PartyBuildingMemberExcelListen; import com.panzhihua.community_backstage.model.dto.PartyBuildingMemberDTO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import javassist.expr.NewArray; @@ -517,4 +518,41 @@ comActMessageVO.setUserId(loginUserInfo.getUserId()); return communityService.pageMyCommunityMessage(comActMessageVO); } @ApiOperation(value = "待认证党员分页查询") @DeleteMapping("pageprepartybuildingmember") public R pagePrePartybuildingmember(@RequestBody PagePartyBuildingMemberVO pagePartyBuildingMemberVO) { //totest 待认证党员分页查询 return partyBuildingService.pagePrePartybuildingmember(pagePartyBuildingMemberVO); } @ApiOperation(value = "待认证党员审核") @DeleteMapping("reviewprepartybuildingmember") public R reviewPrePartybuildingmember(@RequestBody PartyBuildingMemberDTO partyBuildingMemberDTO) { //totest 待认证党员审核 PartyBuildingMemberVO partyBuildingMemberVO = new PartyBuildingMemberVO(); partyBuildingMemberVO.setId(partyBuildingMemberDTO.getId()); /** * 0 待审核 1 已审核 2 自动认证 3 已驳回 */ switch (partyBuildingMemberDTO.getType()){ case 1: partyBuildingMemberVO.setAuditResult(1); break; case 0: partyBuildingMemberVO.setAuditResult(3); break; default: return R.fail("参数错误"); } R updated = partyBuildingService.updatePartyBuildingMember(partyBuildingMemberVO); //审核通过: 修改用户的党员状态 if(R.isOk(updated)) { userService.updateUserIsPartymember(partyBuildingMemberVO.getIdCard()); } return updated; } } springcloud_k8s_panzhihuazhihuishequ/community_backstage/src/main/java/com/panzhihua/community_backstage/model/dto/PartyBuildingMemberDTO.java
New file @@ -0,0 +1,20 @@ package com.panzhihua.community_backstage.model.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; @Data @ApiModel("党员审核") public class PartyBuildingMemberDTO { @ApiModelProperty(value = "id", required = true) private Long id; @ApiModelProperty(value = "操作类型 1通过 0 驳回", required = true, allowableValues = "0 或者 1") @NotBlank(message = "操作类型不能为空") private Integer type; } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/api/PartyBuildIngApi.java
@@ -1,5 +1,6 @@ package com.panzhihua.service_dangjian.api; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.panzhihua.common.exceptions.PartyBuildingMemberException; import com.panzhihua.common.model.dtos.partybuilding.ActivitySignUpDTO; import com.panzhihua.common.model.dtos.partybuilding.ComPbActivityDTO; @@ -7,6 +8,7 @@ import com.panzhihua.common.model.dtos.partybuilding.PageComPbServiceTeamDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.partybuilding.*; import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO; import com.panzhihua.service_dangjian.service.ComBpActivityService; import com.panzhihua.service_dangjian.service.ComPbMemberService; import com.panzhihua.service_dangjian.service.ComPbServiceTeamService; @@ -507,4 +509,25 @@ return comBpActivityService.addActivityApplets(comPbActivityDTO); } /** * 查询用户认证信息 * @param id 用户id * @return 查询结果 */ @GetMapping("usercertification") R userCertification(@RequestParam("id")Long id){ ComPbMemberDO comPbMemberDO = comPbMemberService.getOne(new QueryWrapper<ComPbMemberDO>().lambda().eq(ComPbMemberDO::getUserId, id)); return R.ok(comPbMemberDO); } /** * 查询用户认证信息 * @param pagePartyBuildingMemberVO 查询参数 * @return 查询结果 */ @GetMapping("pageusercertification") R pageUserCertification(@RequestBody PagePartyBuildingMemberVO pagePartyBuildingMemberVO){ return comPbMemberService.pagePrePartyBuilingMember(pagePartyBuildingMemberVO); } } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/dao/ComPbMemberDAO.java
@@ -3,6 +3,7 @@ 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.PagePartyBuildingMemberVO; import com.panzhihua.common.model.vos.partybuilding.PagePartyOrganizationVO; import com.panzhihua.common.model.vos.partybuilding.PartyBuildingMemberVO; import com.panzhihua.service_dangjian.model.dos.ComPbMemberDO; @@ -78,4 +79,43 @@ String selectNameByUserId(Long createBy); @Update("update sys_user u set u.is_partymember=0 where u.id_card=#{idCard}") void updateUserIsPartymember(String idCard); @Select("<script> " + "SELECT\n" + "o.`name` orgName,\n" + "m.org_id,\n"+ "m.id_card,\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' )) partyAge,\n" + "m.join_time,\n" + "m.audit_result, \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 m.user_id is not null " + "<if test='pagePartyBuildingMemberVO.phone != null and pagePartyBuildingMemberVO.phone.trim() != ""'>" + "and u.phone = #{pagePartyBuildingMemberVO.phone} "+ " </if> " + "<if test='pagePartyBuildingMemberVO.name != null and pagePartyBuildingMemberVO.name.trim() != ""'>" + "and u.name like concat (#{pagePartyBuildingMemberVO.name},'%')"+ " </if> " + "<if test='pagePartyBuildingMemberVO.auditStatus != null and pagePartyBuildingMemberVO.auditStatus.trim() != ""'>" + "and m.audit_status = #{pagePartyBuildingMemberVO.auditStatus}"+ " </if> " + "order by m.join_time desc "+ "</script>") IPage<PartyBuildingMemberVO> pagePartyBuildingMemberVO(Page page, @Param("pagePartyBuildingMemberVO") PagePartyBuildingMemberVO pagePartyBuildingMemberVO); } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/model/dos/ComPbMemberDO.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.io.Serializable; @@ -76,4 +77,9 @@ */ private Long communityId; /** * 用户id */ private Long userId; } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/ComPbMemberService.java
@@ -119,4 +119,11 @@ * @return 刷新数据数量 */ R timedTaskPartyBuildingStatus(); /** * 分页查询认证党员 * @param pagePartyBuildingMemberVO 查询参数 * @return 分页数据 */ R pagePrePartyBuilingMember(PagePartyBuildingMemberVO pagePartyBuildingMemberVO); } springcloud_k8s_panzhihuazhihuishequ/service_partybuilding/src/main/java/com/panzhihua/service_dangjian/service/impl/ComPbMemberServiceImpl.java
@@ -474,4 +474,23 @@ return R.ok(num); } @Override public R pagePrePartyBuilingMember(PagePartyBuildingMemberVO pagePartyBuildingMemberVO) { Page page=new Page<>(); Long pageNum = pagePartyBuildingMemberVO.getPageNum(); Long pageSize = pagePartyBuildingMemberVO.getPageSize(); if (null==pageNum||0==pageNum) { pageNum=1l; } if (null==pageSize||0==pageSize) { pageSize=10l; } page.setSize(pageSize); page.setCurrent(pageNum); IPage<PartyBuildingMemberVO> iPage=comPbMemberDAO.pagePartyBuildingMemberVO(page, pagePartyBuildingMemberVO); return R.ok(iPage); } }