From 7ea43dac46900dab7535bdd3ec957b45e43b5270 Mon Sep 17 00:00:00 2001
From: DESKTOP-71BH0QO\L、ming <172680469@qq.com>
Date: 星期三, 28 四月 2021 17:38:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test

---
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java |  225 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 191 insertions(+), 34 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 cc4180b..440f86e 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,20 +2,25 @@
 
 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.SysUserEditTipsDTO;
+import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO;
 import com.panzhihua.common.model.vos.community.*;
-import com.panzhihua.common.model.vos.user.ComMngFamilyInfoVO;
-import com.panzhihua.common.model.vos.user.UserPhoneVO;
+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.exceptions.UnAuthenticationException;
 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 org.springframework.beans.BeanUtils;
 import org.springframework.util.ObjectUtils;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -33,6 +38,7 @@
  * @author: huang.hongfa weixin hhf9596 qq 959656820
  * @create: 2020-11-24 12:03
  **/
+@Slf4j
 @RestController
 @RequestMapping("/user/")
 @Api(tags = {"我的模块"})
@@ -43,6 +49,8 @@
     private CommunityService communityService;
     @Resource
     private PartyBuildingService partyBuildingService;
+    @Resource
+    private CheckService checkService;
 
     @ApiOperation(value = "当前登录用户信息", response = LoginUserInfoVO.class)
     @GetMapping("info")
@@ -52,27 +60,28 @@
         Long userId = loginUserInfo.getUserId();
         Long areaId = loginUserInfo.getAreaId();
         R<LoginUserInfoVO> r = userService.getUserInfoByUserId(userId + "");
+        String phone = loginUserInfo.getPhone();
         if (R.isOk(r)) {
             Object data = r.getData();
             if (!ObjectUtils.isEmpty(data)) {
                 LoginUserInfoVO loginUserInfoVO = (LoginUserInfoVO) data;
                 R r1 = communityService.detailHouse(userId);
-                if (null!=communityId&&0!=communityId) {
-                    R r2=communityService.detailCommunity(communityId);
+                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);
                         }
                     }
                 }
-                if (null!=areaId&&areaId!=0) {
-                    R r3=communityService.detailArea(areaId);
+                if (null != areaId && areaId != 0) {
+                    R r3 = communityService.detailArea(areaId);
                     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 +103,39 @@
     public R putUserAuthentication(@RequestBody @Validated(AddGroup.class) LoginUserInfoVO loginUserInfoVO) {
         Long userId = this.getUserId();
         loginUserInfoVO.setUserId(userId);
-        return userService.putUserAuthentication(loginUserInfoVO);
+        R r = userService.putUserAuthentication(loginUserInfoVO);
+        if (R.isOk(r)) {
+            //通过发通知
+            SysUserNoticeVO sysUserNoticeVO = new SysUserNoticeVO();
+            sysUserNoticeVO.setUserId(userId);
+            sysUserNoticeVO.setType(3);
+            sysUserNoticeVO.setTitle("实名制审核通过");
+            sysUserNoticeVO.setBusinessType(6);
+            sysUserNoticeVO.setBusinessContent("恭喜你,你已经通过了实名制认证");
+            sysUserNoticeVO.setStatus(0);
+            sysUserNoticeVO.setBusinessStatus(2);
+            R r1 = userService.addNotice(sysUserNoticeVO);
+            if (R.isOk(r1)) {
+                log.info("新增实名认证未通过通知成功【{}】", JSONObject.toJSONString(sysUserNoticeVO));
+            }
+        } 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));
+             }
+             */
+        }
+        return r;
     }
 
     @ApiOperation(value = "修改用户手机号")
@@ -117,15 +158,26 @@
         return userService.putUser(loginUserInfoVO);
     }
 
+    @ApiOperation(value = "修改用户首页活动提示")
+    @PostMapping("editUserTips")
+    public R putUserTips(@RequestBody SysUserEditTipsDTO userEditTipsDTO) {
+        Long userId = this.getUserId();
+        if (userId == null) {
+            return R.fail("请重新登录");
+        }
+        userEditTipsDTO.setUserId(userId);
+        return userService.editUserTips(userEditTipsDTO);
+    }
+
     @ApiOperation(value = "房屋地址下拉列表")
     @GetMapping("listhouse")
-    @ApiImplicitParam(name = "parentCode",value = "父级地址编码",required = false)
+    @ApiImplicitParam(name = "parentCode", value = "父级地址编码", required = false)
     public R listHouses(String parentCode) {
         Long areaId = this.getAreaId();
         if (ObjectUtils.isEmpty(parentCode)) {
-            parentCode="";
+            parentCode = "";
         }
-        return communityService.listHouses(parentCode,areaId);
+        return communityService.listHouses(parentCode, areaId);
     }
 
     @ApiOperation(value = "新增房屋")
@@ -143,9 +195,9 @@
 
     @ApiOperation(value = "家庭成员列表")
     @GetMapping("listfamily")
-    public R listFamily() {
+    public R listFamily(@RequestParam(value = "pageNum") Long pageNum, @RequestParam("pageNum") Long pageSize) {
         Long userId = this.getUserId();
-        return userService.listFamily(userId);
+        return userService.listFamily(userId, pageNum, pageSize);
     }
 
     @ApiOperation(value = "新增家庭成员")
@@ -160,64 +212,76 @@
     @PutMapping("putfamily")
     public R putFamily(@RequestBody ComMngFamilyInfoVO comMngFamilyInfoVO) {
         Long id = comMngFamilyInfoVO.getId();
-        if (null==id||0==id) {
+        if (null == id || 0 == id) {
             return R.fail("成员主键不能为空");
         }
         comMngFamilyInfoVO.setUserId(this.getUserId());
         return userService.putFamily(comMngFamilyInfoVO);
     }
 
-    @ApiOperation(value = "我的活动",response =ComActActivityVO.class )
+    @ApiOperation(value = "我的活动", response = ComActActivityVO.class)
     @GetMapping("listactivity")
     public R listActivity() {
-        Long userId = this.getUserId();
-        List<ComActActivityVO> comActActivityVOS=new ArrayList<>();
-        R r=communityService.listActivity(userId);
+        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)) {
-            comActActivityVOS =(List<ComActActivityVO>) r.getData();
+            comActActivityVOS = (List<ComActActivityVO>) r.getData();
         }
-        R r1=partyBuildingService.listActivity(userId);
+        R r1 = partyBuildingService.listActivity(userId, communityId);
         if (R.isOk(r1)) {
             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> comActActivityVOS1 = new ArrayList<>();
+            comActActivityVOS1 = JSONArray.parseArray(s, ComActActivityVO.class);
             List<ComActActivityVO> collect = comActActivityVOS1.stream().sorted(Comparator.comparing(ComActActivityVO::getBeginAt).reversed()).collect(Collectors.toList());
-            comActActivityVOS=collect;
+            comActActivityVOS = collect;
+        }
+        if (!ObjectUtils.isEmpty(comActActivityVOS)) {
+            List<ComActActivityVO> collect = comActActivityVOS.stream().sorted(Comparator.comparing(ComActActivityVO::getSingDate).reversed()).collect(Collectors.toList());
+            return R.ok(collect);
         }
         return R.ok(comActActivityVOS);
     }
 
-    @ApiOperation(value = "分页查询我的随手拍",response = ComActEasyPhotoVO.class )
+    @ApiOperation(value = "分页查询我的随手拍", response = ComActEasyPhotoVO.class)
     @PostMapping("pageeasyphoto")
     public R pageEasyPhoto(@RequestBody ComActEasyPhotoVO comActEasyPhotoVO) {
         Long userId = this.getUserId();
-        comActEasyPhotoVO.setUserId(userId);
-        comActEasyPhotoVO.setLogInUserId(userId);
+        comActEasyPhotoVO.setSponsorId(userId);
         comActEasyPhotoVO.setCommunityId(null);
-        return communityService.pageEasyPhoto(comActEasyPhotoVO);
+        return communityService.pageEasyPhotoApplets(comActEasyPhotoVO);
     }
 
-    @ApiOperation(value = "分页查询我的微心愿",response = ComActMicroWishVO.class )
+    @ApiOperation(value = "分页查询我的微心愿", response = ComActMicroWishVO.class)
     @PostMapping("pagemicrowish")
     public R pageMicroWish(@RequestBody ComActMicroWishVO comActMicroWishVO) {
         Long userId = this.getUserId();
         comActMicroWishVO.setUserId(userId);
         comActMicroWishVO.setCommunityId(null);
+        Integer status = comActMicroWishVO.getStatus();
+        if (null != status && status == 1) {
+            comActMicroWishVO.setIsPageMyWish(1);
+        } else {
+            comActMicroWishVO.setIsPageMyWish(null);
+        }
+
         return communityService.pageMicroWish(comActMicroWishVO);
     }
 
-    @ApiOperation(value = "用户确认心愿" )
+    @ApiOperation(value = "用户确认心愿")
     @PutMapping("microwishconfirm")
     public R putMicroWishConfirm(@RequestBody ComActMicroWishVO comActMicroWishVO) {
         Long userId = this.getUserId();
         comActMicroWishVO.setUserId(userId);
         comActMicroWishVO.setCommunityId(null);
         Long id = comActMicroWishVO.getId();
-        if (null==id||0==id) {
+        if (null == id || 0 == id) {
             return R.fail("心愿主键不能为空");
         }
         String evaluate = comActMicroWishVO.getEvaluate();
@@ -225,7 +289,7 @@
             return R.fail("用户评价不能为空");
         }
         Integer score = comActMicroWishVO.getScore();
-        if (null==score||0==score) {
+        if (null == score || 0 == score) {
             return R.fail("评分不能为空");
         }
         comActMicroWishVO.setEvaluateAt(new Date());
@@ -233,12 +297,105 @@
         return communityService.putMicroWishConfirm(comActMicroWishVO);
     }
 
-    @ApiOperation(value = "调试接口--清除昵称、社区、小区" )
+    @ApiOperation(value = "调试接口--清除昵称、社区、小区")
     @DeleteMapping("usertest")
     public R deleteUserTest() {
         Long userId = this.getUserId();
         return userService.deleteUserTest(userId);
     }
 
+    @ApiOperation(value = "意见反馈")
+    @PostMapping("feedback")
+    public R addFeedback(@RequestBody @Validated(AddGroup.class) SysUserFeedbackDTO sysUserFeedbackDTO) {
+        //        微信内容审核
+        String msg = sysUserFeedbackDTO.getContent();
+        if (!checkService.checkMessage(msg)) {
+            return R.fail("内容违规");
+        }
+        LoginUserInfoVO loginUserInfo = this.getLoginUserInfo();
+        Long userId = loginUserInfo.getUserId();
+        Long communityId = loginUserInfo.getCommunityId();
+        Long areaId = loginUserInfo.getAreaId();
+        if (null == communityId || 0 == communityId) {
+            return R.fail("未绑定社区");
+        }
+        sysUserFeedbackDTO.setCommunityId(communityId);
+        sysUserFeedbackDTO.setAreaId(areaId);
+        sysUserFeedbackDTO.setUserId(userId);
+        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);
+    }
+
+
+    @ApiOperation(value = "获取用户电子档案", response = UserArchivesVO.class)
+    @PostMapping("getUserArchives")
+    public R getUserArchives() {
+        Long userId = this.getUserId();
+        if (userId == null) {
+            return R.fail("请重新登录");
+        }
+        return userService.getUserArchives(userId);
+    }
+
+    @ApiOperation(value = "编辑用户电子档案")
+    @PostMapping("updateUserArchives")
+    public R updateUserArchives(@RequestBody UpdateUserArchivesVO userArchivesVO) {
+        Long userId = this.getUserId();
+        if (userId == null) {
+            return R.fail("请重新登录");
+        }
+        userArchivesVO.setUserId(userId);
+        return userService.updateUserArchives(userArchivesVO);
+    }
 }

--
Gitblit v1.7.1