Parcourir la source

维护定时任务 修改名称 和删头像

lutong il y a 1 jour
Parent
commit
72181aad5c

+ 24 - 31
alien-job/src/main/java/shop/alien/job/store/StoreMembershipCardJob.java

@@ -45,6 +45,8 @@ public class StoreMembershipCardJob {
     // 商家账号注销:0-未注销,1-已注销,2-注销冷静期
     private final static Integer LOGOUT_FLAG_DONE = StoreUser.LOGOUT_FLAG_DONE;
     private final static Integer LOGOUT_FLAG_COOLING = StoreUser.LOGOUT_FLAG_COOLING;
+    private static final String LOGOUT_DISPLAY_NAME = "该用户已注销";
+    private static final int LOGOUT_COOLING_DAYS = 7;
 
     private final StoreMembershipCardMapper storeMembershipCardMapper;
 
@@ -142,19 +144,13 @@ public class StoreMembershipCardJob {
         for (StoreUser storeUser : storeUsers) {
             try {
                 if (null != storeUser.getLogoutTime()) {
-                    // 获取申请注销时间
-                    Date logoutTime = storeUser.getLogoutTime();
-                    // 获取申请注销 7 天后的时间(与通知一致)
-                    Calendar calendar = Calendar.getInstance();
-                    calendar.setTime(logoutTime);
-                    calendar.add(Calendar.DAY_OF_YEAR, 7);
-                    Date sevenDay = calendar.getTime();
-                    // 获取当前时间
-                    Date date = new Date();
-                    if (date.compareTo(sevenDay) >= 0) {
+                    if (isLogoutCoolingExpired(storeUser.getLogoutTime())) {
                         log.info("商家账号冷静期结束,更新注销标记为已注销: userId={}, phone={}, logoutTime={}",
-                                storeUser.getId(), storeUser.getPhone(), logoutTime);
+                                storeUser.getId(), storeUser.getPhone(), storeUser.getLogoutTime());
                         storeUser.setLogoutFlag(LOGOUT_FLAG_DONE);
+                        storeUser.setName(LOGOUT_DISPLAY_NAME);
+                        storeUser.setNickName(LOGOUT_DISPLAY_NAME);
+                        storeUser.setHeadImg(null);
                         storeUserMapper.updateById(storeUser);
                         successCount++;
                     }
@@ -253,20 +249,13 @@ public class StoreMembershipCardJob {
         for (LifeUser lifeUser : lifeUsers) {
             try {
                 if (null != lifeUser.getLogoutTime()) {
-                    // 获取申请注销时间
-                    Date logoutTime = lifeUser.getLogoutTime();
-                    // 获取申请注销 7 天后的时间
-                    Calendar calendar = Calendar.getInstance();
-                    calendar.setTime(logoutTime);
-                    calendar.add(Calendar.DAY_OF_YEAR, 7);
-                    Date sevenDay = calendar.getTime();
-                    // 获取当前时间
-                    Date date = new Date();
-                    if (date.compareTo(sevenDay) >= 0) {
+                    if (isLogoutCoolingExpired(lifeUser.getLogoutTime())) {
                         lifeUserMapper.update(null, new LambdaUpdateWrapper<LifeUser>()
                                 .eq(LifeUser::getId, lifeUser.getId())
                                 .set(LifeUser::getLogoutFlag, LifeUser.LOGOUT_FLAG_DONE)
-                                .set(LifeUser::getDeleteFlag, 1));
+                                .set(LifeUser::getDeleteFlag, 1)
+                                .set(LifeUser::getUserName, LOGOUT_DISPLAY_NAME)
+                                .set(LifeUser::getUserImage, null));
                         successCount++;
                     }
                 }
@@ -284,22 +273,19 @@ public class StoreMembershipCardJob {
         for (LawyerUser lawyerUser : lawyerUsers) {
             try {
                 if (lawyerUser.getLogoutTime() != null) {
-                    Date logoutTime = lawyerUser.getLogoutTime();
-                    Calendar calendar = Calendar.getInstance();
-                    calendar.setTime(logoutTime);
-                    calendar.add(Calendar.DAY_OF_YEAR, 7);
-                    Date sevenDay = calendar.getTime();
-                    Date date = new Date();
-                    if (date.compareTo(sevenDay) >= 0) {
+                    if (isLogoutCoolingExpired(lawyerUser.getLogoutTime())) {
                         log.info("律师账号冷静期结束,更新注销标记为已注销: lawyerId={}, phone={}, logoutTime={}",
-                                lawyerUser.getId(), lawyerUser.getPhone(), logoutTime);
+                                lawyerUser.getId(), lawyerUser.getPhone(), lawyerUser.getLogoutTime());
                         lawyerUserMapper.update(null, new LambdaUpdateWrapper<LawyerUser>()
                                 .eq(LawyerUser::getId, lawyerUser.getId())
                                 .set(LawyerUser::getLogoutFlag, LawyerUser.LOGOUT_FLAG_DONE)
+                                .set(LawyerUser::getName, LOGOUT_DISPLAY_NAME)
+                                .set(LawyerUser::getNickName, LOGOUT_DISPLAY_NAME)
+                                .set(LawyerUser::getHeadImg, null)
                                 .set(LawyerUser::getOrderReceivingStatus, 0)
                                 .set(LawyerUser::getIsOnline, 0)
                                 .set(LawyerUser::getIsRecommended, 0)
-                                .set(LawyerUser::getLastOnlineTime, date));
+                                .set(LawyerUser::getLastOnlineTime, new Date()));
                         successCount++;
                     }
                 }
@@ -312,4 +298,11 @@ public class StoreMembershipCardJob {
         
         log.info("定时任务执行完成: 成功={}, 失败={}", successCount, failCount);
     }
+
+    private static boolean isLogoutCoolingExpired(Date logoutTime) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(logoutTime);
+        calendar.add(Calendar.DAY_OF_YEAR, LOGOUT_COOLING_DAYS);
+        return new Date().compareTo(calendar.getTime()) >= 0;
+    }
 }