From 177249c76aeea0b4bf8d8816d4994e3b445b45ce Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期四, 02 九月 2021 10:39:34 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/zzj' into zzj --- springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java | 188 +++++++++++++++++++++++++++++----------------- 1 files changed, 118 insertions(+), 70 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java index 709f928..baaf378 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java +++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java @@ -1,39 +1,63 @@ package com.panzhihua.applets.api; -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.constants.UserConstants; -import com.panzhihua.common.model.dtos.shop.ExcelShopOrderDTO; -import com.panzhihua.common.constants.SecurityConstants; -import com.panzhihua.common.constants.UserConstants; -import com.panzhihua.common.model.dtos.user.SysUserEditTipsDTO; -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.*; -import com.panzhihua.common.service.community.CommunityService; -import com.panzhihua.common.service.partybuilding.PartyBuildingService; -import com.panzhihua.common.service.user.UserService; -import com.panzhihua.common.controller.BaseController; -import com.panzhihua.common.model.vos.LoginUserInfoVO; -import com.panzhihua.common.model.vos.R; -import com.panzhihua.common.validated.AddGroup; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; +import java.util.ArrayList; +import java.util.Comparator; +import java.util.Date; +import java.util.List; +import java.util.Optional; +import java.util.TreeSet; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.stream.Collectors; + +import javax.annotation.Resource; + +import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import org.springframework.beans.BeanUtils; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.util.ObjectUtils; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; -import javax.annotation.Resource; -import java.util.*; -import java.util.concurrent.atomic.AtomicBoolean; -import java.util.stream.Collectors; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.panzhihua.applets.model.dtos.ComPbMemberCertificationDTO; +import com.panzhihua.applets.weixin.CheckService; +import com.panzhihua.common.constants.SecurityConstants; +import com.panzhihua.common.constants.UserConstants; +import com.panzhihua.common.controller.BaseController; +import com.panzhihua.common.model.dtos.user.SysUserEditTipsDTO; +import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO; +import com.panzhihua.common.model.vos.LoginUserInfoVO; +import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ComActActRegistVO; +import com.panzhihua.common.model.vos.community.ComActActivityVO; +import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; +import com.panzhihua.common.model.vos.community.ComActMicroWishVO; +import com.panzhihua.common.model.vos.community.ComActVO; +import com.panzhihua.common.model.vos.community.ComMngStructAreaVO; +import com.panzhihua.common.model.vos.community.ComMngStructHouseVO; +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.UpdateUserArchivesVO; +import com.panzhihua.common.model.vos.user.UserArchivesVO; +import com.panzhihua.common.model.vos.user.UserPhoneVO; +import com.panzhihua.common.service.community.CommunityService; +import com.panzhihua.common.service.partybuilding.PartyBuildingService; +import com.panzhihua.common.service.user.UserService; +import com.panzhihua.common.validated.AddGroup; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; /** * @program: springcloud_k8s_panzhihuazhihuishequ @@ -69,14 +93,15 @@ if (R.isOk(r)) { Object data = r.getData(); if (!ObjectUtils.isEmpty(data)) { - LoginUserInfoVO loginUserInfoVO = (LoginUserInfoVO) data; + LoginUserInfoVO loginUserInfoVO = (LoginUserInfoVO)data; R r1 = communityService.detailHouse(userId); if (null != communityId && 0 != communityId) { R r2 = communityService.detailCommunity(communityId); if (R.isOk(r2)) { Object data1 = r2.getData(); if (!ObjectUtils.isEmpty(data1)) { - loginUserInfoVO.setComActVO(JSONObject.parseObject(JSONObject.toJSONString(data1), ComActVO.class)); + loginUserInfoVO + .setComActVO(JSONObject.parseObject(JSONObject.toJSONString(data1), ComActVO.class)); r.setData(loginUserInfoVO); } } @@ -86,7 +111,8 @@ if (R.isOk(r3)) { Object data1 = r3.getData(); if (!ObjectUtils.isEmpty(data1)) { - loginUserInfoVO.setComMngStructAreaVO(JSONObject.parseObject(JSONObject.toJSONString(data1), ComMngStructAreaVO.class)); + loginUserInfoVO.setComMngStructAreaVO( + JSONObject.parseObject(JSONObject.toJSONString(data1), ComMngStructAreaVO.class)); r.setData(loginUserInfoVO); } } @@ -94,7 +120,7 @@ if (R.isOk(r1)) { Object data1 = r1.getData(); if (!ObjectUtils.isEmpty(data1)) { - loginUserInfoVO.setComMngStructHouseVOS((List<ComMngStructHouseVO>) data1); + loginUserInfoVO.setComMngStructHouseVOS((List<ComMngStructHouseVO>)data1); r.setData(loginUserInfoVO); } } @@ -110,7 +136,7 @@ loginUserInfoVO.setUserId(userId); R r = userService.putUserAuthentication(loginUserInfoVO); if (R.isOk(r)) { - //通过发通知 + // 通过发通知 SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO(); sysUserNoticeVO.setUserId(userId); sysUserNoticeVO.setType(3); @@ -123,26 +149,19 @@ if (R.isOk(r1)) { log.info("新增实名认证未通过通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO)); } - //清空缓存 + // 清空缓存 String userRoleKey = UserConstants.LOGIN_USER_INFO + this.getLoginUserInfo().getUserId(); String userAppletRoleKey = SecurityConstants.ROLE_APPLETS_USER + this.getLoginUserInfo().getUserId(); stringRedisTemplate.delete(userRoleKey); stringRedisTemplate.delete(userAppletRoleKey); } else { - //未通过发通知 + // 未通过发通知 /** - SysUserNoticeVO sysUserNoticeVO=new SysUserNoticeVO(); - sysUserNoticeVO.setUserId(userId); - sysUserNoticeVO.setType(3); - sysUserNoticeVO.setTitle("实名制审核未通过"); - sysUserNoticeVO.setBusinessType(6); - sysUserNoticeVO.setBusinessContent(String.format("驳回原因:%s",r.getMsg())); - sysUserNoticeVO.setStatus(0); - sysUserNoticeVO.setBusinessStatus(1); - R r1 = userService.addNotice(sysUserNoticeVO); - if (R.isOk(r1)) { - log.info("新增实名认证未通过通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO)); - } + * SysUserNoticeVO sysUserNoticeVO=new SysUserNoticeVO(); sysUserNoticeVO.setUserId(userId); + * sysUserNoticeVO.setType(3); sysUserNoticeVO.setTitle("实名制审核未通过"); sysUserNoticeVO.setBusinessType(6); + * sysUserNoticeVO.setBusinessContent(String.format("驳回原因:%s",r.getMsg())); sysUserNoticeVO.setStatus(0); + * sysUserNoticeVO.setBusinessStatus(1); R r1 = userService.addNotice(sysUserNoticeVO); if (R.isOk(r1)) { + * log.info("新增实名认证未通过通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO)); } */ } return r; @@ -238,22 +257,47 @@ List<ComActActivityVO> comActActivityVOS = new ArrayList<>(); R r = communityService.listActivity(userId); if (R.isOk(r)) { - comActActivityVOS = (List<ComActActivityVO>) r.getData(); + comActActivityVOS = (List<ComActActivityVO>)r.getData(); } R r1 = partyBuildingService.listActivity(userId, communityId); if (R.isOk(r1)) { - List<ComActActivityVO> data = (List<ComActActivityVO>) r1.getData(); + List<ComActActivityVO> data = (List<ComActActivityVO>)r1.getData(); comActActivityVOS.addAll(data); } if (!ObjectUtils.isEmpty(comActActivityVOS)) { String s = JSONArray.toJSONString(comActActivityVOS); List<ComActActivityVO> comActActivityVOS1 = new ArrayList<>(); comActActivityVOS1 = JSONArray.parseArray(s, ComActActivityVO.class); - List<ComActActivityVO> collect = comActActivityVOS1.stream().sorted(Comparator.comparing(ComActActivityVO::getBeginAt).reversed()).collect(Collectors.toList()); + List<ComActActivityVO> collect = comActActivityVOS1.stream() + .sorted(Comparator.comparing(ComActActivityVO::getBeginAt).reversed()).collect(Collectors.toList()); comActActivityVOS = collect; } if (!ObjectUtils.isEmpty(comActActivityVOS)) { - List<ComActActivityVO> collect = comActActivityVOS.stream().sorted(Comparator.comparing(ComActActivityVO::getSingDate).reversed()).collect(Collectors.toList()); + List<ComActActivityVO> collect = comActActivityVOS.stream() + .sorted(Comparator.comparing(ComActActivityVO::getSingDate).reversed()).collect(Collectors.toList()); + //当前用户最近签到时间 + R r2 = communityService.listSignInActivity(userId); + if (R.isOk(r2) && !ObjectUtils.isEmpty(r2.getData())) { + ArrayList<ComActActRegistVO> comActActRegistVOS = JSONArray.parseArray(JSONArray.toJSONString(r2.getData()), ComActActRegistVO.class).stream() + .sorted(Comparator.comparing(ComActActRegistVO::getCreateAt).reversed()) + .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> + new TreeSet<>(Comparator.comparing(f -> String.join("", f.getUserId().toString(), f.getActivityId().toString())))), ArrayList::new)); + collect.forEach(comActActivityVO -> comActActRegistVOS.forEach(activitySignInVO -> { + if (comActActivityVO.getId().equals(activitySignInVO.getActivityId())) { + comActActivityVO.setActivitySignInDate(activitySignInVO.getCreateAt()); + } + })); + } + //当前用户活动评分 + R r3 = communityService.listEvaluate(userId); + if (R.isOk(r3) && !ObjectUtils.isEmpty(r3.getData())) { + List<ComActActEvaluateVO> comActActEvaluateVOS = JSONArray.parseArray(JSONArray.toJSONString(r3.getData()), ComActActEvaluateVO.class); + collect.forEach(comActActivityVO -> comActActEvaluateVOS.forEach(comActActEvaluateVO -> { + if (comActActEvaluateVO.getActivityId().equals(comActActivityVO.getId())) { + comActActivityVO.setMyRating(comActActEvaluateVO.getStarLevel()); + } + })); + } return R.ok(collect); } return R.ok(comActActivityVOS); @@ -313,7 +357,7 @@ @ApiOperation(value = "意见反馈") @PostMapping("feedback") public R addFeedback(@RequestBody @Validated(AddGroup.class) SysUserFeedbackDTO sysUserFeedbackDTO) { - // 微信内容审核 + // 微信内容审核 String msg = sysUserFeedbackDTO.getContent(); if (!checkService.checkMessage(msg)) { return R.fail("内容违规"); @@ -333,8 +377,9 @@ @ApiOperation(value = "党员认证") @PostMapping("partybuildingembercertification") - public R partybuildingembercertification(@RequestBody @Validated(AddGroup.class) ComPbMemberCertificationDTO comPbMemberCertificationDTO) { - //党员认证 + public R partybuildingembercertification( + @RequestBody @Validated(AddGroup.class) ComPbMemberCertificationDTO comPbMemberCertificationDTO) { + // 党员认证 LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long userId = loginUserInfo.getUserId(); Long communityId = loginUserInfo.getCommunityId(); @@ -342,23 +387,25 @@ return R.fail("未绑定社区"); } - //判断用户是否已认证成功 + // 判断用户是否已认证成功 R certUser = partyBuildingService.userCertification(userId); Object certUserInfo = certUser.getData(); AtomicBoolean userCertified = new AtomicBoolean(false); if (R.isOk(certUser) && certUserInfo != null) { try { - List<PartyBuildingMemberVO> partyBuildingMemberVOList = JSONArray.parseArray(JSONArray.toJSONString(certUser.getData()), PartyBuildingMemberVO.class); - //已认证党员身份,直接返回 - if(partyBuildingMemberVOList!=null && partyBuildingMemberVOList.size()>0) { + List<PartyBuildingMemberVO> partyBuildingMemberVOList = + JSONArray.parseArray(JSONArray.toJSONString(certUser.getData()), PartyBuildingMemberVO.class); + // 已认证党员身份,直接返回 + if (partyBuildingMemberVOList != null && partyBuildingMemberVOList.size() > 0) { partyBuildingMemberVOList.forEach(vo -> { userCertified.set(vo.getAuditResult() == 1); }); } - }catch (Exception e){} + } catch (Exception e) { + } } - //匹配手机,验证是否进行自动确认 + // 匹配手机,验证是否进行自动确认 if (userCertified.get()) { return R.fail("您已审核通过,无需重复提交"); } @@ -368,7 +415,7 @@ partyBuildingMemberVO.setAuditResult(0); partyBuildingMemberVO.setCommunityId(communityId); - //用户实名认证信息判断 + // 用户实名认证信息判断 String idCard = loginUserInfo.getIdCard(); partyBuildingMemberVO.setUserId(userId); if (idCard == null) { @@ -385,25 +432,26 @@ @ApiOperation(value = "党员认证查询") @GetMapping("partybuildingembercertification") public R partybuildingembercertification() { - //党员认证查询 + // 党员认证查询 LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); Long userId = loginUserInfo.getUserId(); R r = partyBuildingService.userCertification(userId); - if(R.isOk(r)) { - List<PartyBuildingMemberVO> partyBuildingMemberVOList = JSONArray.parseArray(JSONArray.toJSONString(r.getData()), PartyBuildingMemberVO.class); - if(partyBuildingMemberVOList!=null && partyBuildingMemberVOList.size()>0){ - Optional<PartyBuildingMemberVO> ot = partyBuildingMemberVOList.stream().filter(partyBuildingMemberVO -> partyBuildingMemberVO.getAuditResult()==1).findFirst(); - if(ot.isPresent()){ + if (R.isOk(r)) { + List<PartyBuildingMemberVO> partyBuildingMemberVOList = + JSONArray.parseArray(JSONArray.toJSONString(r.getData()), PartyBuildingMemberVO.class); + if (partyBuildingMemberVOList != null && partyBuildingMemberVOList.size() > 0) { + Optional<PartyBuildingMemberVO> ot = partyBuildingMemberVOList.stream() + .filter(partyBuildingMemberVO -> partyBuildingMemberVO.getAuditResult() == 1).findFirst(); + if (ot.isPresent()) { return R.ok(ot.get()); - }else{ + } else { return R.ok(partyBuildingMemberVOList.get(0)); } } } return R.ok(); } - @ApiOperation(value = "获取用户电子档案", response = UserArchivesVO.class) @PostMapping("getUserArchives") -- Gitblit v1.7.1