|
@@ -1,8 +1,8 @@
|
|
|
package cn.haliaeetus.framework.base.filter;
|
|
|
|
|
|
import cn.haliaeetus.entity.PhoneImei;
|
|
|
-import cn.haliaeetus.framework.util.StringUtil;
|
|
|
import cn.haliaeetus.service.BasicInfoService;
|
|
|
+import cn.haliaeetus.service.ExStoreService;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.web.context.WebApplicationContext;
|
|
|
|
|
@@ -10,6 +10,8 @@ import javax.servlet.*;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.io.IOException;
|
|
|
|
|
|
+import static cn.haliaeetus.framework.base.controller.BaseController.buildJson;
|
|
|
+
|
|
|
/**
|
|
|
* @author sunjj
|
|
|
* @version 1.0.0
|
|
@@ -20,12 +22,14 @@ import java.io.IOException;
|
|
|
public class ApiLoginFilter implements Filter {
|
|
|
|
|
|
private BasicInfoService basicInfoService;
|
|
|
+ private ExStoreService exStoreService;
|
|
|
private WebApplicationContext wac;
|
|
|
|
|
|
@Override
|
|
|
public void init(FilterConfig filterConfig) throws ServletException {
|
|
|
wac = (WebApplicationContext) filterConfig.getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
|
|
|
basicInfoService = wac.getBean(BasicInfoService.class);
|
|
|
+ exStoreService = wac.getBean(ExStoreService.class);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -49,7 +53,7 @@ public class ApiLoginFilter implements Filter {
|
|
|
}
|
|
|
PhoneImei phoneImei = basicInfoService.getPhoneImeiByImie(imei);
|
|
|
if(phoneImei==null){
|
|
|
- httpRequest.getRequestDispatcher(path).forward(request, response);
|
|
|
+ phoneImei(phoneImei, imei, appVersion);
|
|
|
return;
|
|
|
}
|
|
|
if(phoneImei.getIsOpen()==0){
|
|
@@ -57,7 +61,7 @@ public class ApiLoginFilter implements Filter {
|
|
|
return;
|
|
|
}
|
|
|
if(!appVersion.equals(phoneImei.getAppVersion())){
|
|
|
- httpRequest.getRequestDispatcher(path).forward(request, response);
|
|
|
+ phoneImei(phoneImei, imei, appVersion);
|
|
|
return;
|
|
|
}
|
|
|
if(phoneImei.getIsLogin()!=1){
|
|
@@ -73,4 +77,30 @@ public class ApiLoginFilter implements Filter {
|
|
|
public void destroy() {
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ public Object phoneImei(PhoneImei phoneImeiOld, String imei, String appVersion){
|
|
|
+ try {
|
|
|
+ PhoneImei phoneImei = new PhoneImei();
|
|
|
+ if (null == phoneImeiOld){
|
|
|
+ phoneImei.setImei(imei);
|
|
|
+ phoneImei.setIsLogin(1);
|
|
|
+ phoneImei.setIsOpen(1);
|
|
|
+ phoneImei.setAppVersion(appVersion);
|
|
|
+ exStoreService.insertPhoneImei(phoneImei);
|
|
|
+ basicInfoService.savePhoneImei(phoneImei);
|
|
|
+ }else {
|
|
|
+ if(phoneImeiOld.getIsOpen()==0){
|
|
|
+ return buildJson(-1,"报备失败,该设备被禁用!");
|
|
|
+ }
|
|
|
+ if(!appVersion.equals(phoneImeiOld.getAppVersion())){
|
|
|
+ phoneImeiOld.setAppVersion(appVersion);
|
|
|
+ exStoreService.updatePhoneImei(phoneImeiOld);
|
|
|
+ basicInfoService.savePhoneImei(phoneImeiOld);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ return buildJson(-1,"报备失败!");
|
|
|
+ }
|
|
|
+ return buildJson(0,"报备成功,请重新登录!");
|
|
|
+ }
|
|
|
}
|