zhangchen 4 цаг өмнө
parent
commit
c33f627196

+ 4 - 1
alien-entity/src/main/java/shop/alien/entity/store/vo/LawyerUserVo.java

@@ -88,7 +88,7 @@ public class LawyerUserVo implements Serializable {
     @TableField("updated_user_id")
     private Integer updatedUserId;
 
-    @ApiModelProperty(value = "注销标记, 0:未注销, 1:已注销")
+    @ApiModelProperty(value = "注销标记, 0:未注销, 1:已注销, 2:注销冷静期")
     @TableField("logout_flag")
     private Integer logoutFlag;
 
@@ -304,6 +304,9 @@ public class LawyerUserVo implements Serializable {
     @ApiModelProperty(value = "登录Token")
     private String token;
 
+    @ApiModelProperty(value = "申请注销结束时间(logoutTime+7天),格式yyyy/mm/dd,未申请注销时为null")
+    private String logoutEndTime;
+
     @ApiModelProperty(value = "一级法律场景id")
     private String firstLevelScenarioId;
 

+ 19 - 0
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/LawyerUserLogInServiceImpl.java

@@ -27,6 +27,8 @@ import shop.alien.util.common.JwtUtil;
 
 import java.util.*;
 import java.util.stream.Collectors;
+import java.time.ZoneId;
+import java.time.format.DateTimeFormatter;
 
 /**
  * 二期-门店用户 服务实现类
@@ -39,6 +41,8 @@ import java.util.stream.Collectors;
 @RequiredArgsConstructor
 public class LawyerUserLogInServiceImpl extends ServiceImpl<LawyerUserMapper, LawyerUser> implements LawyerUserLogInService {
 
+    private static final DateTimeFormatter LOGOUT_END_TIME_FORMAT = DateTimeFormatter.ofPattern("yyyy/MM/dd");
+
     @Value("${jwt.expiration-time}")
     private String effectiveTime;
 
@@ -83,6 +87,7 @@ public class LawyerUserLogInServiceImpl extends ServiceImpl<LawyerUserMapper, La
 
         LawyerUserVo lawyerUserVo = new LawyerUserVo();
         BeanUtils.copyProperties(lawyerUser, lawyerUserVo);
+        lawyerUserVo.setLogoutEndTime(resolveLogoutEndTime(lawyerUser.getLogoutTime(), lawyerUser.getLogoutFlag()));
         Map<String, String> tokenMap = new HashMap<>();
         tokenMap.put("phone", lawyerUser.getPhone());
         tokenMap.put("userName", lawyerUser.getName());
@@ -94,6 +99,20 @@ public class LawyerUserLogInServiceImpl extends ServiceImpl<LawyerUserMapper, La
         return R.data(lawyerUserVo);
     }
 
+    /**
+     * 申请注销结束时间:logoutTime 起算第 7 天(T+0~T+7),与冷静期一致。
+     */
+    private static String resolveLogoutEndTime(Date logoutTime, Integer logoutFlag) {
+        if (logoutTime == null || logoutFlag == null || logoutFlag == 0) {
+            return null;
+        }
+        return logoutTime.toInstant()
+                .atZone(ZoneId.systemDefault())
+                .toLocalDate()
+                .plusDays(7)
+                .format(LOGOUT_END_TIME_FORMAT);
+    }
+
     @Override
     public R<LawyerUserVo> register(LawyerUserDto lawyerUserDto) {
         LawyerUser lawyerUser = lawyerUserMapper.selectOne(new LambdaQueryWrapper<LawyerUser>()