From 3b855b9c20751a5fee840e686988e8e094773a54 Mon Sep 17 00:00:00 2001
From: CeDo <cedoogle@gmail.com>
Date: 星期二, 15 六月 2021 11:02:40 +0800
Subject: [PATCH] bugfixed

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java                          |   16 ++++++++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEldersAuthUserMapper.xml                                        |   11 ++++-
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java        |    7 +++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComEldersAuthUserService.java          |    7 +++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComEldersAuthUserMapper.java               |    6 +++
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthUserServiceImpl.java |   10 +++++
 springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/elders/ComElderAuthUserAppVO.java                          |    3 +
 springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/EldersAuthApi.java                                             |    4 +-
 8 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/EldersAuthApi.java b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/EldersAuthApi.java
index 72a478e..ae8eae7 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/EldersAuthApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/EldersAuthApi.java
@@ -78,11 +78,11 @@
 
     /**
      * 新增高龄认证
-     * @param {classNameFirstLower}AddDTO 添加高龄认证传递对象
+     * @param eldersAuthAddByFamilyDTO 添加高龄认证传递对象
      * @return 新增结果
      */
     @PostMapping("/addByFamily")
-    @ApiOperation(value = "通过家庭成员新增高龄认证", response = R.class)
+    @ApiOperation(value = "新增高龄认证", response = R.class)
     R addByFamily(@RequestBody EldersAuthAddByFamilyDTO eldersAuthAddByFamilyDTO){
         eldersAuthAddByFamilyDTO.setSumitUserId(getUserId());
         eldersAuthAddByFamilyDTO.setUserId(getUserId());
diff --git a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/elders/ComElderAuthUserAppVO.java b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/elders/ComElderAuthUserAppVO.java
index 68de582..e363813 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/elders/ComElderAuthUserAppVO.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/elders/ComElderAuthUserAppVO.java
@@ -39,4 +39,7 @@
     @ApiModelProperty(value = "本月是否已认证(1.是 2.否)")
     private Integer isAuth;
 
+    @ApiModelProperty(value = "是否健在",example = "1是,2否")
+    private Integer isExist;
+
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
index 2ddd1b3..b668a7b 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1578,11 +1578,18 @@
     }
 
     @PostMapping("/eldersauth/addByFamilyUser")
+    @Transactional(rollbackFor = Exception.class)
     R addByFamilyUser(@RequestBody EldersAuthAddByFamilyDTO eldersAuthAddByFamilyDTO){
 
         ComEldersAuthUserDO authUserDO = comEldersAuthUserService.getById(eldersAuthAddByFamilyDTO.getFamilyUserId());
         if(authUserDO == null){
             return R.fail("未查询到老人信息");
+        }
+
+        Long elderId = authUserDO.getId();
+        boolean canReAuthThisMonth = comEldersAuthUserService.checkReAuthAgain(elderId);
+        if(!canReAuthThisMonth){
+            return R.fail("当月已认证,不能再次进行认证");
         }
 
         String idCard = authUserDO.getIdCard();
@@ -1609,6 +1616,15 @@
         eldersAuthDO.setBirthDay(birthDay);
         int add = eldersAuthService.getBaseMapper().insert(eldersAuthDO);
         if(add==1){
+            //设置认证成功
+            Long familyUserId = eldersAuthDO.getFamilyUserId();
+            ComEldersAuthUserDO comEldersAuthUserDO = new ComEldersAuthUserDO();
+            comEldersAuthUserDO.setId(familyUserId);
+            comEldersAuthUserDO.setIsAuth(1);
+            boolean updated = comEldersAuthUserService.updateById(comEldersAuthUserDO);
+            if(!updated){
+                throw  new ServiceException("添加认证失败,更新认证状态");
+            }
             //认证成功  添加认证记录
             List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList = comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>()
                     .lambda().eq(ComEldersAuthHistoryRecordDO::getIdCard,idCard).ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth()));
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComEldersAuthUserMapper.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComEldersAuthUserMapper.java
index c7e367b..3e610fc 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComEldersAuthUserMapper.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComEldersAuthUserMapper.java
@@ -26,4 +26,10 @@
     IPage<ComElderAuthUserAppVO> findByPage(Page page,@Param("userId") Long userId);
 
 
+    /**
+     * 统计当月家庭老人 有效认证记录数
+     * @param elderId
+     * @return
+     */
+    int countCurrentMonthValidAuthRecord(@Param("elderId") Long elderId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComEldersAuthUserService.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComEldersAuthUserService.java
index 041b48f..e9c184a 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComEldersAuthUserService.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/ComEldersAuthUserService.java
@@ -14,5 +14,10 @@
 public interface ComEldersAuthUserService extends IService<ComEldersAuthUserDO> {
 
 
-
+    /**
+     * 检查当月是否可再次进行认证
+     * @param elderId
+     * @return
+     */
+    boolean checkReAuthAgain(Long elderId);
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthUserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthUserServiceImpl.java
index a8225b4..4e8a3f8 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthUserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthUserServiceImpl.java
@@ -7,6 +7,8 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 
 /**
  * 用户绑定老人关系 serviceImpl
@@ -20,4 +22,12 @@
 @Service
 public class ComEldersAuthUserServiceImpl extends ServiceImpl<ComEldersAuthUserMapper, ComEldersAuthUserDO> implements ComEldersAuthUserService {
 
+    @Resource
+    private ComEldersAuthUserMapper comEldersAuthUserMapper;
+
+    @Override
+    public boolean checkReAuthAgain(Long elderId) {
+        int validAuthRecord = comEldersAuthUserMapper.countCurrentMonthValidAuthRecord(elderId);
+        return validAuthRecord==0;
+    }
 }
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java
index 0f8e096..2ef4466 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java
@@ -152,6 +152,7 @@
      * @param eldersAuthFeedbackAddDTO
      * @return 新增结果
      */
+    @Transactional(rollbackFor = Exception.class)
     public R addFeedback(EldersAuthFeedbackAddDTO eldersAuthFeedbackAddDTO){
         EldersAuthDO eldersAuthDO = eldersAuthDAO.selectById(eldersAuthFeedbackAddDTO.getAuthId());
         if(eldersAuthDO==null){
@@ -168,6 +169,12 @@
         eldersAuthFeedbackDO.setCreateAt(new Date());
         BeanUtils.copyProperties(eldersAuthFeedbackAddDTO, eldersAuthFeedbackDO);
         if(eldersAuthFeedbackDAO.insert(eldersAuthFeedbackDO)>0){
+            eldersAuthDO.setStatus("1");
+            eldersAuthDO.setIdCard(null);
+            int updated = eldersAuthDAO.updateById(eldersAuthDO);
+            if(updated!=1){
+                throw new ServiceException("更新认证记录状态失败");
+            }
             return R.ok();
         }
         return R.fail();
diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEldersAuthUserMapper.xml b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEldersAuthUserMapper.xml
index 117d31d1..8eb0dd3 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEldersAuthUserMapper.xml
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/resources/mapper/ComEldersAuthUserMapper.xml
@@ -29,16 +29,21 @@
 			ceau.id_card,
 			ceau.relation,
 			ceau.is_auth,
-			ca.`name` AS communityName
+			ca.`name` AS communityName,
+			ae.is_exist
 		FROM
 			com_elders_auth_user AS ceau
 			LEFT JOIN com_act AS ca ON ca.community_id = ceau.community_id
+			LEFT JOIN com_elders_auth_elderly ae ON ceau.big_age_id = ae.id
 		where ceau.user_id = #{userId}
 			order by ceau.create_at desc
-
-
     </select>
 
+    <select id="countCurrentMonthValidAuthRecord" resultType="java.lang.Integer" >
+		SELECT COUNT(*)
+		FROM  com_elders_auth
+		WHERE FAMILY_USER_ID = #{elderId} AND DATE_FORMAT(create_at, '%Y-%m') =  DATE_FORMAT(NOW(), '%Y-%m')  AND  (`type` = 2 OR ( type=1 AND `STATUS` IS NULL) )
+	</select>
 
 
 </mapper>

--
Gitblit v1.7.1