|
@@ -28,6 +28,7 @@ import javax.annotation.Resource;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.time.ZoneOffset;
|
|
import java.time.ZoneOffset;
|
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -49,8 +50,8 @@ public class AuthRedirectController {
|
|
UserMapper userMapper;
|
|
UserMapper userMapper;
|
|
@Resource
|
|
@Resource
|
|
WxCorpInfoMapper wxCorpInfoMapper;
|
|
WxCorpInfoMapper wxCorpInfoMapper;
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ CompanyMapper companyMapper;
|
|
|
|
|
|
@RequestMapping("/corpWXAuth")
|
|
@RequestMapping("/corpWXAuth")
|
|
public ModelAndView auth(String code, String state) {
|
|
public ModelAndView auth(String code, String state) {
|
|
@@ -68,9 +69,11 @@ public class AuthRedirectController {
|
|
|
|
|
|
System.out.println("wxUserId="+wxUserId+", openUserId="+openUserId);
|
|
System.out.println("wxUserId="+wxUserId+", openUserId="+openUserId);
|
|
List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("corpwx_userid", openUserId));
|
|
List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("corpwx_userid", openUserId));
|
|
|
|
+ Integer companyId = 0;
|
|
if (userList.size() > 0) {
|
|
if (userList.size() > 0) {
|
|
//该用户已存在
|
|
//该用户已存在
|
|
User curUser = userList.get(0);
|
|
User curUser = userList.get(0);
|
|
|
|
+ companyId = curUser.getCompanyId();
|
|
if (curUser.getIsActive() == 1) {
|
|
if (curUser.getIsActive() == 1) {
|
|
reqParam.put("userId", curUser.getId());
|
|
reqParam.put("userId", curUser.getId());
|
|
} else {
|
|
} else {
|
|
@@ -88,6 +91,7 @@ public class AuthRedirectController {
|
|
if (curUser == null) {
|
|
if (curUser == null) {
|
|
reqParam.put("errorMsg", MessageUtils.message("user.accountNoExist"));
|
|
reqParam.put("errorMsg", MessageUtils.message("user.accountNoExist"));
|
|
} else if (curUser.getIsActive() == 1) {
|
|
} else if (curUser.getIsActive() == 1) {
|
|
|
|
+ companyId = curUser.getCompanyId();
|
|
reqParam.put("userId", curUser.getId());
|
|
reqParam.put("userId", curUser.getId());
|
|
// HttpRespMsg httpRespMsg = userService.loginByUserId(curUser.getId(), request);
|
|
// HttpRespMsg httpRespMsg = userService.loginByUserId(curUser.getId(), request);
|
|
// reqParam.put("userInfo", httpRespMsg.data);
|
|
// reqParam.put("userInfo", httpRespMsg.data);
|
|
@@ -99,12 +103,25 @@ public class AuthRedirectController {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
reqParam.put("hasTriedAutoLogin", 1);
|
|
reqParam.put("hasTriedAutoLogin", 1);
|
|
|
|
+ System.out.println("state========"+state);
|
|
|
|
+ reqParam.put("state", state);
|
|
String redirecUrl = null;
|
|
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) {
|
|
if (isMobile) {
|
|
- redirecUrl = "http://mobworktime.ttkuaiban.com/#/index";
|
|
|
|
|
|
+ redirecUrl = "https://mobworktime.ttkuaiban.com/#/" + router;
|
|
} else {
|
|
} else {
|
|
- redirecUrl = "http://worktime.ttkuaiban.com/#/index";
|
|
|
|
|
|
+ redirecUrl = "https://worktime.ttkuaiban.com/#/" + router;
|
|
}
|
|
}
|
|
|
|
+ System.out.println("redirecUrl="+redirecUrl);
|
|
ModelAndView modelAndView = new ModelAndView(
|
|
ModelAndView modelAndView = new ModelAndView(
|
|
new RedirectView(redirecUrl), reqParam);
|
|
new RedirectView(redirecUrl), reqParam);
|
|
|
|
|
|
@@ -112,6 +129,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")
|
|
@GetMapping("testClient")
|
|
@ResponseBody
|
|
@ResponseBody
|
|
public String test(HttpServletRequest request) {
|
|
public String test(HttpServletRequest request) {
|