From 43f0578e80af82ecae6c61b51bd0539c6b960603 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期二, 16 八月 2022 19:08:32 +0800
Subject: [PATCH] 服务范围优化

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java |   84 +++++++++++++++++++++++++++--------------
 1 files changed, 55 insertions(+), 29 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 68ef37a..b48296f 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
@@ -2,29 +2,24 @@
 
 import static java.util.stream.Collectors.toList;
 
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.Collectors;
 
 import javax.annotation.Resource;
+import javax.validation.Valid;
 
+import com.panzhihua.applets.umf.UmfPayUtil;
+import com.panzhihua.common.constants.HttpStatus;
+import com.panzhihua.common.model.dtos.community.social.PageProjectDTO;
+import com.panzhihua.common.model.vos.community.rentHouse.WxPayOrderVO;
+import com.panzhihua.common.utlis.DateUtils;
 import org.apache.commons.lang.StringUtils;
 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.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 org.springframework.web.bind.annotation.*;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -96,6 +91,10 @@
             Object data = r.getData();
             if (!ObjectUtils.isEmpty(data)) {
                 LoginUserInfoVO loginUserInfoVO = (LoginUserInfoVO)data;
+                //是否保存unionid
+//                if (Objects.isNull(loginUserInfoVO.getUnionid()) || "无".equals(loginUserInfoVO.getUnionid())) {
+//                    return R.fail(HttpStatus.UNAUTHORIZED, "token过期");
+//                }
                 R r1 = communityService.detailHouse(userId);
                 if(StringUtils.isNotEmpty(loginUserInfoVO.getIdCard())){
                     //查询实名用户绑定的实有人口地址
@@ -147,6 +146,7 @@
     public R putUserAuthentication(@RequestBody @Validated(AddGroup.class) LoginUserInfoVO loginUserInfoVO) {
         Long userId = this.getUserId();
         loginUserInfoVO.setUserId(userId);
+        loginUserInfoVO.setCommunityId(this.getCommunityId());
         R r = userService.putUserAuthentication(loginUserInfoVO);
         if (R.isOk(r)) {
             // 通过发通知
@@ -262,22 +262,21 @@
     }
 
     @ApiOperation(value = "我的活动", response = ComActActivityVO.class)
-    @ApiImplicitParam(name = "status", value = "活动状态(4 进行中 5 已结束 6 已取消)", required = false)
     @GetMapping("listactivity")
-    public R listActivity(@RequestParam("status") Integer status) {
+    public R listActivity(@RequestParam(value = "status", required = false) Integer status,@RequestParam(value = "type", required = false) Integer type) {
         LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
         Long userId = loginUserInfo.getUserId();
         Long communityId = loginUserInfo.getCommunityId();
         List<ComActActivityVO> comActActivityVOS = new ArrayList<>();
-        R r = communityService.listActivity(userId);
-        if (R.isOk(r)) {
+        R r = communityService.listActivity(userId, status,type);
+        if (R.isOk(r)&&r.getData()!=null) {
             comActActivityVOS = (List<ComActActivityVO>)r.getData();
         }
-        R r1 = partyBuildingService.listActivity(userId, communityId, status);
-        if (R.isOk(r1)) {
-            List<ComActActivityVO> data = (List<ComActActivityVO>)r1.getData();
-            comActActivityVOS.addAll(data);
-        }
+//        R r1 = partyBuildingService.listActivity(userId, communityId, status);
+//        if (R.isOk(r1)&&r1.getData()!=null) {
+//            List<ComActActivityVO> data = (List<ComActActivityVO>)r1.getData();
+//            comActActivityVOS.addAll(data);
+//        }
         if (!ObjectUtils.isEmpty(comActActivityVOS)) {
             String s = JSONArray.toJSONString(comActActivityVOS);
             List<ComActActivityVO> comActActivityVOS1 = new ArrayList<>();
@@ -299,6 +298,17 @@
                     comActActRegistVOS.forEach(activitySignInVO -> {
                         if (comActActivityVO.getId().equals(activitySignInVO.getActivityId())) {
                             currentList.add(activitySignInVO);
+                            if(activitySignInVO.getEndTime()!=null){
+                                comActActivityVO.setIsComment(1);
+                                if(comActActivityVO.getTimes()==null){
+                                    comActActivityVO.setTimes(1);
+                                    comActActivityVO.setAward(activitySignInVO.getAward());
+                                }
+                                else {
+                                    comActActivityVO.setTimes(comActActivityVO.getTimes()+1);
+                                    comActActivityVO.setAward(comActActivityVO.getAward() + activitySignInVO.getAward());
+                                }
+                            }
                         }
                     });
                     if (currentList.size() > 10) {
@@ -306,17 +316,25 @@
                     } else {
                         comActActivityVO.setActivitySignInList(currentList);
                     }
+                    Integer limit = comActActivityVO.getLimit();
+                    if(limit != null && limit>0 &&currentList.size()>0){
+                        if(limit==currentList.size()&&currentList.get(currentList.size()-1).getEndTime()!=null){
+                            comActActivityVO.setIsRegist(1);
+                        }
+                    }
                 });
             }
             //当前用户活动评分
             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());
-                    }
-                }));
+                collect.forEach(comActActivityVO -> {
+                 List<ComActActEvaluateVO> evaluateVOS=comActActEvaluateVOS.stream().filter(comActActEvaluateVO -> comActActEvaluateVO.getActivityId().equals(comActActivityVO.getId())).collect(toList());
+                 if(comActActivityVO.getSignCount()<=evaluateVOS.size()){
+                     comActActivityVO.setIsComment(0);
+                 }
+                 comActActivityVO.setComActActEvaluateVOList(evaluateVOS);
+                });
             }
             return R.ok(collect);
         }
@@ -408,7 +426,7 @@
         }
 
         // 判断用户是否已认证成功
-        R certUser = partyBuildingService.userCertification(userId);
+        R certUser = partyBuildingService.userCertification(userId,communityId);
 
         Object certUserInfo = certUser.getData();
         AtomicBoolean userCertified = new AtomicBoolean(false);
@@ -443,6 +461,7 @@
         } else {
             partyBuildingMemberVO.setIdCard(loginUserInfo.getIdCard());
             partyBuildingMemberVO.setName(loginUserInfo.getName());
+            partyBuildingMemberVO.setPhone(loginUserInfo.getPhone());
         }
 
         R r = partyBuildingService.addPartyBuildingMember(partyBuildingMemberVO);
@@ -455,7 +474,7 @@
         // 党员认证查询
         LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
         Long userId = loginUserInfo.getUserId();
-        R r = partyBuildingService.userCertification(userId);
+        R r = partyBuildingService.userCertification(userId,this.getCommunityId());
 
         if (R.isOk(r)) {
             List<PartyBuildingMemberVO> partyBuildingMemberVOList =
@@ -493,4 +512,11 @@
         userArchivesVO.setUserId(userId);
         return userService.updateUserArchives(userArchivesVO);
     }
+
+    @ApiOperation(value = "分页查询用户报名的项目")
+    @PostMapping("project")
+    public R pageProjectWhichIsSignedByUser(@RequestBody @Valid PageProjectDTO pageProjectDTO) {
+        pageProjectDTO.setUserId(this.getUserId());
+        return communityService.pageProjectWhichIsSignedByUser(pageProjectDTO);
+    }
 }

--
Gitblit v1.7.1