pom.xml | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/ScreenApiApplication.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/Webinterceptor/WebInterceptor.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/config/WebLoginConfig.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/com/moral/controller/WebController.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/system/sysConfig.properties | ●●●●● patch | view | raw | blame | history |
pom.xml
@@ -87,7 +87,7 @@ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> <scope>compile</scope> </dependency> <dependency> src/main/java/com/moral/ScreenApiApplication.java
@@ -3,19 +3,29 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer; import org.springframework.boot.web.support.SpringBootServletInitializer; import org.springframework.context.annotation.Bean; import org.springframework.transaction.annotation.EnableTransactionManagement; @SpringBootApplication @EnableTransactionManagement public class ScreenApiApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(ScreenApiApplication.class); } @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(ScreenApiApplication.class); } public static void main(String[] args) { SpringApplication.run(ScreenApiApplication.class, args); } //Session失效时间 @Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return container -> { container.setSessionTimeout(28800);/*单位为S*/ }; } public static void main(String[] args) { SpringApplication.run(ScreenApiApplication.class, args); } } src/main/java/com/moral/Webinterceptor/WebInterceptor.java
New file @@ -0,0 +1,39 @@ package com.moral.Webinterceptor; import com.alibaba.fastjson.JSONObject; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.PrintWriter; import java.util.HashMap; public class WebInterceptor implements HandlerInterceptor { public static final String SESSION_KEY = "USER_LOGIN"; @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception { if (request.getSession().getAttribute(SESSION_KEY) == null) { HashMap resultMap = new HashMap<String, Object>(); resultMap.put("msg", "未登录"); resultMap.put("accountId", -1); JSONObject json = new JSONObject(resultMap); response.setContentType("application/json; charset=utf-8"); PrintWriter writer = response.getWriter(); writer.write(json.toString()); return false; } return true; } @Override public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { } } src/main/java/com/moral/config/WebLoginConfig.java
New file @@ -0,0 +1,110 @@ package com.moral.config; import com.moral.Webinterceptor.WebInterceptor; import org.springframework.context.annotation.Configuration; import org.springframework.format.FormatterRegistry; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.validation.MessageCodesResolver; import org.springframework.validation.Validator; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.HandlerMethodReturnValueHandler; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.servlet.config.annotation.*; import java.util.List; @Configuration public class WebLoginConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry interceptorRegistry) { InterceptorRegistration registration = interceptorRegistry.addInterceptor(new WebInterceptor()); registration.addPathPatterns("/web/**"); registration.excludePathPatterns("/web/login"); } @Override public void configurePathMatch(PathMatchConfigurer pathMatchConfigurer) { } @Override public void configureContentNegotiation(ContentNegotiationConfigurer contentNegotiationConfigurer) { } @Override public void configureAsyncSupport(AsyncSupportConfigurer asyncSupportConfigurer) { } @Override public void configureDefaultServletHandling(DefaultServletHandlerConfigurer defaultServletHandlerConfigurer) { } @Override public void addFormatters(FormatterRegistry formatterRegistry) { } @Override public void addResourceHandlers(ResourceHandlerRegistry resourceHandlerRegistry) { } @Override public void addCorsMappings(CorsRegistry corsRegistry) { } @Override public void addViewControllers(ViewControllerRegistry viewControllerRegistry) { } @Override public void configureViewResolvers(ViewResolverRegistry viewResolverRegistry) { } @Override public void addArgumentResolvers(List<HandlerMethodArgumentResolver> list) { } @Override public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> list) { } @Override public void configureMessageConverters(List<HttpMessageConverter<?>> list) { } @Override public void extendMessageConverters(List<HttpMessageConverter<?>> list) { } @Override public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> list) { } @Override public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> list) { } @Override public Validator getValidator() { return null; } @Override public MessageCodesResolver getMessageCodesResolver() { return null; } } src/main/java/com/moral/controller/WebController.java
New file @@ -0,0 +1,91 @@ package com.moral.controller; import com.moral.Webinterceptor.WebInterceptor; import com.moral.common.util.BeanUtils; import com.moral.entity.AreaNames; import com.moral.entity.Organization; import com.moral.service.AccountService; import com.moral.service.DictionaryDataService; import com.moral.service.OrganizationService; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import static com.moral.common.util.WebUtils.getParametersStartingWith; @RestController @RequestMapping("/web") @CrossOrigin(origins = "*", maxAge = 3600) @SuppressWarnings({"rawtypes", "unchecked", "unused"}) public class WebController { @Resource AccountService accountService; @Resource DictionaryDataService dictionaryDataService; OrganizationService organizationService; @RequestMapping("login") public Map<String, Object> login(HttpServletRequest request){ Map<String, Object> resultMap = new HashMap<String, Object>(); Map<String, Object> parameters = getParametersStartingWith(request, null); if (!(parameters.containsKey("account") && parameters.containsKey("password"))) { resultMap.put("msg", "用户名及密码不允许为空!"); resultMap.put("accountId", -1); } else { resultMap = accountService.screenLoginNew(parameters); // 添加返回行政区信息字符串操作 Object orgId = resultMap.get("orgId"); if (resultMap.get("orgId") != null && resultMap.get("orgId") instanceof Integer) { StringBuilder areaNamesBuilder = new StringBuilder("中国"); if (!((Integer) orgId).equals(dictionaryDataService.querySupperOrgId())) { Organization organization = organizationService.getOrganizationById((Integer) orgId); if (organization.getAreaNames() != null) { Map<String, String> areaNameMap = BeanUtils.beanToMap(organization.getAreaNames()); List<String> names = areaNameMap.entrySet().stream().filter(item -> { return item.getValue() != null; }).map(item -> { return item.getValue(); }).collect(Collectors.toList()); AreaNames areaNames = organization.getAreaNames(); areaNamesBuilder.append("/"); areaNamesBuilder.append(String.join("/", names)); } // 企业用户 if (organization.getRank() != null && organization.getRank() == 0) { resultMap.put("type", "enterprise"); } else { resultMap.put("type", "government"); } Number mapAreaCode = null; if (organization.getVillageCode() != null) { mapAreaCode = organization.getVillageCode(); } else if (organization.getTownCode() != null) { mapAreaCode = organization.getTownCode(); } else if (organization.getAreaCode() != null) { mapAreaCode = organization.getAreaCode(); } else if (organization.getCityCode() != null) { mapAreaCode = organization.getCityCode(); } else if (organization.getProvinceCode() != null) { mapAreaCode = organization.getProvinceCode(); } resultMap.put("mapAreaCode", mapAreaCode.toString()); } resultMap.put("mapPath", areaNamesBuilder.toString()); } } request.getSession().setAttribute(WebInterceptor.SESSION_KEY,resultMap); return resultMap; } @RequestMapping("add") public String add(){ return "123123"; } } src/main/resources/system/sysConfig.properties
@@ -27,5 +27,5 @@ e19-standard=50 orgId=5 password=123456 noFilters=/**/*.css,/**/*.json,/alarm/**,/screen/**,/**/*.jsp,/**/*.js,/**/*.gif,/**/*.png,/**/*.ico,/**/*.html,/**/*.map,/machineactivate/**,/device/**,/sensor/**,/mobile/**,/page/**,/swagger*/**,/v2/**,/webjars/**,/demo/**,/weixin/alarm-show noFilters=/web/**,/**/*.css,/**/*.json,/alarm/**,/screen/**,/**/*.jsp,/**/*.js,/**/*.gif,/**/*.png,/**/*.ico,/**/*.html,/**/*.map,/machineactivate/**,/device/**,/sensor/**,/mobile/**,/page/**,/swagger*/**,/v2/**,/webjars/**,/demo/**,/weixin/alarm-show specialOrgIds=5