Browse Source

app登录

he.dujuan 3 years ago
parent
commit
251daf09cb

+ 23 - 6
eladmin-activity/eladmin-activity.iml

@@ -1,14 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
   <component name="FacetManager">
-    <facet type="Spring" name="Spring">
-      <configuration />
-    </facet>
     <facet type="web" name="Web">
       <configuration>
         <webroots />
       </configuration>
     </facet>
+    <facet type="jpa" name="JPA">
+      <configuration>
+        <setting name="validation-enabled" value="true" />
+        <setting name="provider-name" value="Hibernate" />
+        <datasource-mapping>
+          <factory-entry name="entityManagerFactory" />
+        </datasource-mapping>
+        <naming-strategy-map />
+      </configuration>
+    </facet>
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
   </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
     <output url="file://$MODULE_DIR$/target/classes" />
@@ -68,6 +78,16 @@
     <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svg-dom:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-ext:1.10" level="project" />
     <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-svggen:1.10" level="project" />
+    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
+    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
+    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-core:2.3.0" level="project" />
+    <orderEntry type="library" name="Maven: com.sun.xml.bind:jaxb-impl:2.3.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.xml.ws:jaxws-api:2.3.1" level="project" />
+    <orderEntry type="library" name="Maven: javax.xml.soap:javax.xml.soap-api:1.4.0" level="project" />
+    <orderEntry type="library" name="Maven: javax.jws:javax.jws-api:1.1" level="project" />
+    <orderEntry type="library" name="Maven: org.glassfish.corba:glassfish-corba-omgapi:4.1.0" level="project" />
+    <orderEntry type="library" name="Maven: org.mozilla:rhino:1.7.10" level="project" />
     <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-transcoder:1.8" level="project" />
     <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-anim:1.8" level="project" />
     <orderEntry type="library" name="Maven: org.apache.xmlgraphics:batik-awt-util:1.8" level="project" />
@@ -91,8 +111,6 @@
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.1.0.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.2" level="project" />
     <orderEntry type="library" name="Maven: javax.transaction:javax.transaction-api:1.3" level="project" />
-    <orderEntry type="library" name="Maven: javax.xml.bind:jaxb-api:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: javax.activation:javax.activation-api:1.2.0" level="project" />
     <orderEntry type="library" name="Maven: org.hibernate:hibernate-core:5.3.7.Final" level="project" />
     <orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.3.2.Final" level="project" />
     <orderEntry type="library" name="Maven: javax.persistence:javax.persistence-api:2.2" level="project" />
@@ -114,7 +132,6 @@
     <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.1" level="project" />
     <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.1" level="project" />
     <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.25" level="project" />
-    <orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
     <orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
     <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.1.0.RELEASE" level="project" />
     <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.9.7" level="project" />

+ 13 - 3
eladmin-common/eladmin-common.iml

@@ -1,9 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
   <component name="FacetManager">
-    <facet type="Spring" name="Spring">
-      <configuration />
-    </facet>
     <facet type="web" name="Web">
       <configuration>
         <webroots />
@@ -12,6 +9,19 @@
         </sourceRoots>
       </configuration>
     </facet>
+    <facet type="jpa" name="JPA">
+      <configuration>
+        <setting name="validation-enabled" value="true" />
+        <setting name="provider-name" value="Hibernate" />
+        <datasource-mapping>
+          <factory-entry name="entityManagerFactory" />
+        </datasource-mapping>
+        <naming-strategy-map />
+      </configuration>
+    </facet>
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
   </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
     <output url="file://$MODULE_DIR$/target/classes" />

+ 9 - 0
eladmin-system/src/main/java/me/zhengjie/modules/system/repository/UserRepository.java

@@ -39,6 +39,15 @@ public interface UserRepository extends JpaRepository<User, String>, JpaSpecific
      */
     User findByUsername(String username);
 
+    /**
+     * 根据用户名和密码查询
+     * @param username
+     * @param password
+     * @return
+     */
+    @Query(value = "SELECT * FROM sys_user WHERE username = :username AND `password` = :password",nativeQuery = true)
+    User findByUserPass(@Param("username") String username,@Param("password") String password);
+
     /**
      * 根据邮箱查询
      * @param email 邮箱

+ 34 - 1
eladmin-system/src/main/java/me/zhengjie/modules/thirdparty/v1/UserApiController.java

@@ -24,6 +24,8 @@ import me.zhengjie.modules.security.config.bean.SecurityProperties;
 import me.zhengjie.modules.security.security.TokenProvider;
 import me.zhengjie.modules.security.service.OnlineUserService;
 import me.zhengjie.modules.security.service.dto.JwtUserDto;
+import me.zhengjie.modules.system.domain.User;
+import me.zhengjie.modules.system.repository.UserRepository;
 import me.zhengjie.modules.system.service.*;
 import me.zhengjie.modules.system.service.dto.*;
 import me.zhengjie.utils.EncryptUtils;
@@ -71,11 +73,12 @@ public class UserApiController {
     private LoginProperties loginProperties;
 
     private final PasswordEncoder passwordEncoder;
-
+    private final UserRepository userRepository;
     private final String erpapiUrl = "https://portal.caih.com";
 
     private final String key = "DMERPYT!@#$QWER2021+{:>";
 
+
     @Log("获取ERP用户数据")
     @ApiOperation("获取ERP用户数据")
     @AnonymousGetMapping(value = "/busi/comm/usky/queryUser")
@@ -200,6 +203,36 @@ public class UserApiController {
         throw new BadRequestException("认证失败");
     }
 
+    @Log("app登录")
+    @ApiOperation("app登录")
+    @AnonymousGetMapping(value = "/appLogin")
+    public BaseResponse<Object> login(String name,String pass) throws Exception {
+        String dataStr = passwordEncoder.encode(pass);
+        User user = userRepository.findByUsername(name);
+        if (user != null){
+            boolean bo = passwordEncoder.matches(pass,dataStr);
+            if (bo){
+                Map<String,Object> newToken = SecurityUtils.getToken(key);
+                //组装返回值
+                JSONObject returnData = new JSONObject();
+                returnData.put("nonce",newToken.get("nonce"));
+                returnData.put("timestamp",newToken.get("timestamp"));
+                returnData.put("token",newToken.get("token"));
+                returnData.put("userId",user.getId());
+                String cipher = EncryptUtils.desEncrypt(returnData.toJSONString());
+                returnData.put("cipher", cipher);
+                returnData.put("user", user);
+                Map<String, Object> authInfo = new HashMap<String, Object>(1) {{
+                    put("data", returnData);
+                }};
+                System.out.println("returnData:"+returnData.toJSONString());
+                return new BaseResponse<>(authInfo);
+            }
+        }
+        throw new BadRequestException("登录失败!");
+    }
+
+
     @Log("获取用户数据")
     @ApiOperation("获取用户数据")
     @AnonymousPostMapping(value = "/getzkusers")