Ver código fonte

过期提示

seyason 2 anos atrás
pai
commit
099df3931a

+ 51 - 4
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/AuthRedirectController.java

@@ -28,6 +28,7 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.time.LocalDateTime;
 import java.time.ZoneOffset;
+import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -49,8 +50,8 @@ public class AuthRedirectController {
     UserMapper userMapper;
     @Resource
     WxCorpInfoMapper wxCorpInfoMapper;
-
-
+    @Resource
+    CompanyMapper companyMapper;
 
     @RequestMapping("/corpWXAuth")
     public ModelAndView auth(String code, String state) {
@@ -68,9 +69,11 @@ public class AuthRedirectController {
 
         System.out.println("wxUserId="+wxUserId+", openUserId="+openUserId);
         List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("corpwx_userid", openUserId));
+        Integer companyId = 0;
         if (userList.size() > 0) {
             //该用户已存在
             User curUser = userList.get(0);
+            companyId = curUser.getCompanyId();
             if (curUser.getIsActive() == 1) {
                 reqParam.put("userId", curUser.getId());
             } else {
@@ -88,6 +91,7 @@ public class AuthRedirectController {
                 if (curUser == null) {
                     reqParam.put("errorMsg", MessageUtils.message("user.accountNoExist"));
                 } else if (curUser.getIsActive() == 1) {
+                    companyId = curUser.getCompanyId();
                     reqParam.put("userId", curUser.getId());
 //                    HttpRespMsg httpRespMsg = userService.loginByUserId(curUser.getId(), request);
 //                    reqParam.put("userInfo", httpRespMsg.data);
@@ -100,11 +104,22 @@ public class AuthRedirectController {
         }
         reqParam.put("hasTriedAutoLogin", 1);
         String redirecUrl = null;
+        String router = "index";
+        if (companyId > 0) {
+            HashMap compExpireInfo = getCompExpireInfo(companyId);
+            if (compExpireInfo != null) {
+                //过期了
+                router = "expire";
+                reqParam.put("expDate", compExpireInfo.get("expDate"));
+                reqParam.put("version", compExpireInfo.get("version"));
+            }
+        }
         if (isMobile) {
-            redirecUrl = "http://mobworktime.ttkuaiban.com/#/index";
+            redirecUrl = "https://mobworktime.ttkuaiban.com/#/" + router;
         } else {
-            redirecUrl = "http://worktime.ttkuaiban.com/#/index";
+            redirecUrl = "https://worktime.ttkuaiban.com/#/" + router;
         }
+        System.out.println("redirecUrl="+redirecUrl);
         ModelAndView modelAndView = new ModelAndView(
                 new RedirectView(redirecUrl), reqParam);
 
@@ -112,6 +127,38 @@ public class AuthRedirectController {
     }
 
 
+    private HashMap getCompExpireInfo(Integer companyId) {
+        Company company = companyMapper.selectById(companyId);
+        int version = 1;
+        if (company.getPackageProject() == 1) {
+            version = 2;
+        }
+        if (company.getPackageOa() == 1) {
+            version = 3;
+        }
+        if (company.getPackageEngineering() == 1) {
+            version = 4;
+        }
+        boolean hasExp = false;
+        LocalDateTime expirationDate = company.getExpirationDate();
+        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        if (null != company.getExpirationDate()) {
+            if (expirationDate.isBefore(LocalDateTime.now())) {
+                hasExp = true;
+            }
+        }
+
+        if (hasExp) {
+            String format = dtf.format(expirationDate);
+            HashMap map = new HashMap();
+            map.put("version", version);
+            map.put("expDate", format);
+            return map;
+        } else {
+            return null;
+        }
+    }
+
     @GetMapping("testClient")
     @ResponseBody
     public String test(HttpServletRequest request) {