From 3e1dcd6c84cfd441d84d3b1649f862117bb81d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B2=85?= <907037276@qq.com> Date: Mon, 16 Oct 2023 15:49:20 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=AF=B9=E5=A4=96=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=BC=80=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ibeetl/admin/core/dao/CoreUserDao.java | 18 +++-- .../ibeetl/admin/core/entity/CoreUser.java | 1 - .../admin/core/service/CoreUserService.java | 8 ++- .../src/main/resources/sql/core/coreUser.md | 30 ++++++++- .../cn/jlw/Interceptor/InterceptorConfig.java | 67 +++++++++++-------- .../com/ibeetl/jlw/web/AccountController.java | 46 +++++++++++++ 6 files changed, 132 insertions(+), 38 deletions(-) create mode 100644 web/src/main/java/com/ibeetl/jlw/web/AccountController.java diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreUserDao.java b/admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreUserDao.java index beff8912..5126918c 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreUserDao.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/dao/CoreUserDao.java @@ -7,6 +7,7 @@ import org.springframework.stereotype.Repository; import java.util.Date; import java.util.List; +import java.util.Map; // 实际可以不用加Repository注解,调用的地方注入时候,Idea会报红,看着难受 @Repository @@ -15,20 +16,29 @@ public interface CoreUserDao extends BaseMapper { /** * 根据角色编码查询用户集合 + * * @param roleCode 角色编码 * @return */ - List getUserByRole( String roleCode); + List getUserByRole(String roleCode); /** * 获取登录次数 * - * @param startDate 查询的开始时间 - * @param endDate 查询的结束时间 - * @param orgId 组织ID + * @param startDate 查询的开始时间 + * @param endDate 查询的结束时间 + * @param orgId 组织ID * @return */ Long getSumLoginCount(Date startDate, Date endDate, Long orgId); + /** + * 根据用户名和密码查询用户 + * + * @param username 用户名 + * @param pwd 密码 + * @return 用户信息 + */ + Map getUserByUsernameAndPwd(String username, String pwd); } diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/entity/CoreUser.java b/admin-core/src/main/java/com/ibeetl/admin/core/entity/CoreUser.java index 443dcb57..3cad207b 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/entity/CoreUser.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/entity/CoreUser.java @@ -16,7 +16,6 @@ import java.util.Date; * 用户实体 * */ - public class CoreUser extends BaseEntity implements AbstractToken { private static final long serialVersionUID = -6531326861708584365L; diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreUserService.java b/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreUserService.java index 79649f01..7c7e5dc1 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreUserService.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/service/CoreUserService.java @@ -24,6 +24,7 @@ import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Date; import java.util.List; +import java.util.Map; import static cn.hutool.core.util.ObjectUtil.defaultIfBlank; import static cn.hutool.core.util.ObjectUtil.defaultIfNull; @@ -246,5 +247,10 @@ public class CoreUserService extends CoreBaseService { // consumer.accept(id); // return id; // } - + /** + * 根据用户名和密码查询用户,用于子系统登录 + */ + public Map getUserByUsernameAndPwd(String username,String password){ + return coreUserDao.getUserByUsernameAndPwd(username,password); + } } diff --git a/admin-core/src/main/resources/sql/core/coreUser.md b/admin-core/src/main/resources/sql/core/coreUser.md index 212e138e..bb609356 100644 --- a/admin-core/src/main/resources/sql/core/coreUser.md +++ b/admin-core/src/main/resources/sql/core/coreUser.md @@ -21,7 +21,31 @@ getSumLoginCount @if(!isEmpty(orgId)) { and t.org_id = #orgId# @} - - - + +getUserByUsernameAndPwd +=== + SELECT + core_user.ID AS userId, + core_user.NAME AS NAME, + core_role.NAME AS roleName, + universities_colleges.universities_colleges_id AS schoolId, + school_class.class_id AS classId, + university_system.university_system_id AS majorId, + university_system.university_system_name AS majorName, + school_class.class_name AS className, + universities_colleges.universities_colleges_name AS schoolName, + university_faculty.university_faculty_id AS collegeId, + university_faculty.university_faculty_name AS collegeName + FROM + core_user + JOIN student ON core_user.CODE = student.student_sn + JOIN universities_colleges ON core_user.ORG_ID = universities_colleges.org_id + JOIN school_class ON student.class_id = school_class.class_id + JOIN university_faculty ON school_class.university_faculty_id = university_faculty.university_faculty_id + JOIN university_system ON school_class.university_system_id = university_system.university_system_id + JOIN core_user_role ON core_user_role.USER_ID = core_user.ID + JOIN core_role ON core_user_role.ROLE_ID = core_role.ID + WHERE + core_user.CODE = #username# + AND PASSWORD = #pwd# \ No newline at end of file diff --git a/web/src/main/java/cn/jlw/Interceptor/InterceptorConfig.java b/web/src/main/java/cn/jlw/Interceptor/InterceptorConfig.java index 3847be43..f06898b1 100644 --- a/web/src/main/java/cn/jlw/Interceptor/InterceptorConfig.java +++ b/web/src/main/java/cn/jlw/Interceptor/InterceptorConfig.java @@ -35,15 +35,23 @@ import static com.ibeetl.admin.core.conf.MVCConf.DEFAULT_APP_NAME; @SuppressWarnings("ALL") public class InterceptorConfig implements WebMvcConfigurer, InitializingBean { - @Autowired private GetSCoreUser getSCoreUser; - @Autowired private GetFile getFile; - @Autowired private GetTStudent getTStudent; - @Autowired private GetTTeacher getTTeacher; - @Autowired private GetReferer getReferer; - @Autowired private GetIp getIp; + @Autowired + private GetSCoreUser getSCoreUser; + @Autowired + private GetFile getFile; + @Autowired + private GetTStudent getTStudent; + @Autowired + private GetTTeacher getTTeacher; + @Autowired + private GetReferer getReferer; + @Autowired + private GetIp getIp; - @Autowired private WebSessionInterceptor webSessionInterceptor; - @Autowired private AuthenticationInterceptor authenticationInterceptor; + @Autowired + private WebSessionInterceptor webSessionInterceptor; + @Autowired + private AuthenticationInterceptor authenticationInterceptor; @Autowired Environment environment; @@ -60,9 +68,9 @@ public class InterceptorConfig implements WebMvcConfigurer, InitializingBean { static { MVCConf.p = p; - try{ - u = "/"+ResourceBundle.getBundle("application").getString("server.servlet.context-path"); - }catch (Exception e){ + try { + u = "/" + ResourceBundle.getBundle("application").getString("server.servlet.context-path"); + } catch (Exception e) { u = ""; } } @@ -103,7 +111,8 @@ public class InterceptorConfig implements WebMvcConfigurer, InitializingBean { // 对外暴露的接口,全部放开 "/**/externalApi/**", "/wx", - "/test/**" + "/test/**", + "/account/**" // "/upload/**" ) .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**").order(1); @@ -115,20 +124,20 @@ public class InterceptorConfig implements WebMvcConfigurer, InitializingBean { //配置图片访问路径转换 @Override - public void addResourceHandlers(ResourceHandlerRegistry registry){ - log.info("路径1 "+p); - if(p.contains("file:")){ - registry.addResourceHandler("/filesystem/courseInfo/**").addResourceLocations(p+"/filesystem/courseInfo/"); - registry.addResourceHandler("/filesystem/temp/**").addResourceLocations(p+"/filesystem/temp/"); - registry.addResourceHandler("/filesystem/zip/**").addResourceLocations(p+"/filesystem/zip/"); - registry.addResourceHandler("/images/**").addResourceLocations(p+"/filesystem/product/images/"); - registry.addResourceHandler("/**/MP*.txt").addResourceLocations(p+"/filesystem/temp/"); - }else { - registry.addResourceHandler("/filesystem/courseInfo/**").addResourceLocations("file:/"+p+"/filesystem/courseInfo/"); - registry.addResourceHandler("/filesystem/temp/**").addResourceLocations("file:/"+p+"/filesystem/temp/"); - registry.addResourceHandler("/filesystem/zip/**").addResourceLocations("file:/"+p+"/filesystem/zip/"); - registry.addResourceHandler("/images/**").addResourceLocations("file:/"+p+"/filesystem/product/images/"); - registry.addResourceHandler("/**/MP*.txt").addResourceLocations("file:/"+p+"/filesystem/temp/"); + public void addResourceHandlers(ResourceHandlerRegistry registry) { + log.info("路径1 " + p); + if (p.contains("file:")) { + registry.addResourceHandler("/filesystem/courseInfo/**").addResourceLocations(p + "/filesystem/courseInfo/"); + registry.addResourceHandler("/filesystem/temp/**").addResourceLocations(p + "/filesystem/temp/"); + registry.addResourceHandler("/filesystem/zip/**").addResourceLocations(p + "/filesystem/zip/"); + registry.addResourceHandler("/images/**").addResourceLocations(p + "/filesystem/product/images/"); + registry.addResourceHandler("/**/MP*.txt").addResourceLocations(p + "/filesystem/temp/"); + } else { + registry.addResourceHandler("/filesystem/courseInfo/**").addResourceLocations("file:/" + p + "/filesystem/courseInfo/"); + registry.addResourceHandler("/filesystem/temp/**").addResourceLocations("file:/" + p + "/filesystem/temp/"); + registry.addResourceHandler("/filesystem/zip/**").addResourceLocations("file:/" + p + "/filesystem/zip/"); + registry.addResourceHandler("/images/**").addResourceLocations("file:/" + p + "/filesystem/product/images/"); + registry.addResourceHandler("/**/MP*.txt").addResourceLocations("file:/" + p + "/filesystem/temp/"); } } @@ -170,9 +179,9 @@ public class InterceptorConfig implements WebMvcConfigurer, InitializingBean { @Override public void afterPropertiesSet() throws Exception { Map var = new HashMap<>(5); - String appName = environment.getProperty("app.name"); - if(appName==null) { - var.put("appName",DEFAULT_APP_NAME); + String appName = environment.getProperty("app.name"); + if (appName == null) { + var.put("appName", DEFAULT_APP_NAME); } var.put("jsVer", System.currentTimeMillis()); diff --git a/web/src/main/java/com/ibeetl/jlw/web/AccountController.java b/web/src/main/java/com/ibeetl/jlw/web/AccountController.java new file mode 100644 index 00000000..14726488 --- /dev/null +++ b/web/src/main/java/com/ibeetl/jlw/web/AccountController.java @@ -0,0 +1,46 @@ +package com.ibeetl.jlw.web; + + +import com.ibeetl.admin.core.entity.CoreUser; +import com.ibeetl.admin.core.service.CoreUserService; +import com.ibeetl.admin.core.web.JsonResult; +import com.ibeetl.jlw.entity.ResourcesApplication; +import com.ibeetl.jlw.service.ResourcesApplicationService; +import com.ibeetl.jlw.web.query.ResourcesApplicationQuery; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +@Api(tags = "对外开放接口") +@RestController +@RequestMapping("account") +public class AccountController { + + @Autowired + private ResourcesApplicationService resourcesApplicationService; + @Autowired + private CoreUserService userService; + + @ApiOperation("查询应用信息") + @GetMapping("findApplications") + public JsonResult findApplications() { + ResourcesApplication info = resourcesApplicationService.getInfo(new ResourcesApplicationQuery()); + resourcesApplicationService.makeApplicationLinkRealUrl(new ResourcesApplicationQuery(), new CoreUser(), info); + resourcesApplicationService.hiddenKey(new ResourcesApplicationQuery(), info); +// sysLogService.applicationLogPoint(info.getRealUrl()); + return JsonResult.success(info); + } + + @ApiOperation("对外提供接口--根据账号密码查询用户") + @PostMapping("findByUsernameAndPwd.json") + public JsonResult> findByUsernameAndPwd(String username, String password) { + Map objectMap = userService.getUserByUsernameAndPwd(username, password); + return JsonResult.success(objectMap); + } +}