deason 7 жил өмнө
parent
commit
c2c9a44cbf

+ 9 - 0
pom.xml

@@ -25,11 +25,20 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-freemarker</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-jpa</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>5.1.46</version>
+        </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>

+ 1 - 1
src/main/java/cn/com/qmth/examcloud/app/controller/DeviceRecordController.java

@@ -32,7 +32,7 @@ public class DeviceRecordController {
 
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     public String main() {
-        return "deviceRecord";
+        return "deviceRecord/list";
     }
 
     @ResponseBody

+ 48 - 23
src/main/java/cn/com/qmth/examcloud/app/model/DeviceRecord.java

@@ -7,26 +7,43 @@
 
 package cn.com.qmth.examcloud.app.model;
 
-import java.io.Serializable;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+import java.util.Date;
 
 /**
  * 设备访问记录
  * 注:用于记录APP端调用接口时header中附带来源信息
  */
-public class DeviceRecord implements Serializable {
-    private static final long serialVersionUID = 1L;
+@Entity
+@Table(name = "app_device_record")
+public class DeviceRecord extends IdEntity {
+    @Column(length = 50)
     private String system;//系统标识,如:ios,android
+    @Column(length = 50)
     private String deviceId;//设备编号
+    @Column(length = 50)
     private String netType;//网络类型,如:WIFI,GPRS,2G,3G,4G,5G
+    @Column(length = 50)
     private String brand;//设备品牌,如:iPhone,小米,华为
+    @Column(length = 50)
     private String model;//型号,如:iPhone6 plus
-    private String sysVer;//系统版本号,如:android6.0,ios11.0.2
-    private String appVer;//app版本号,如:1.0.1,2.0.0
+    @Column(length = 50)
+    private String sysVersion;//系统版本号,如:android6.0,ios11.0.2
+    @Column(length = 50)
+    private String appVersion;//app版本号,如:1.0.1,2.0.0
+    @Column(length = 50)
     private String appCode;//app更新号[整数]
+    @Column(length = 50)
     private String patchCode;//app补丁号
+    @Column(length = 50)
     private String account;//来源账号(登录名或手机号)
-    private String key;//认证KEY
-    private String token;//认证TOKEN
+    @Column(length = 50)
+    private String loginKey;//登录认证KEY
+    @Column(length = 50)
+    private String loginToken;//登录认证TOKEN
+    private Date createDate;//创建时间
 
     public String getSystem() {
         return system;
@@ -68,20 +85,20 @@ public class DeviceRecord implements Serializable {
         this.model = model;
     }
 
-    public String getSysVer() {
-        return sysVer;
+    public String getSysVersion() {
+        return sysVersion;
     }
 
-    public void setSysVer(String sysVer) {
-        this.sysVer = sysVer;
+    public void setSysVersion(String sysVersion) {
+        this.sysVersion = sysVersion;
     }
 
-    public String getAppVer() {
-        return appVer;
+    public String getAppVersion() {
+        return appVersion;
     }
 
-    public void setAppVer(String appVer) {
-        this.appVer = appVer;
+    public void setAppVersion(String appVersion) {
+        this.appVersion = appVersion;
     }
 
     public String getAppCode() {
@@ -108,20 +125,28 @@ public class DeviceRecord implements Serializable {
         this.account = account;
     }
 
-    public String getKey() {
-        return key;
+    public String getLoginKey() {
+        return loginKey;
     }
 
-    public void setKey(String key) {
-        this.key = key;
+    public void setLoginKey(String loginKey) {
+        this.loginKey = loginKey;
     }
 
-    public String getToken() {
-        return token;
+    public String getLoginToken() {
+        return loginToken;
     }
 
-    public void setToken(String token) {
-        this.token = token;
+    public void setLoginToken(String loginToken) {
+        this.loginToken = loginToken;
+    }
+
+    public Date getCreateDate() {
+        return createDate;
+    }
+
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
     }
 
 }

+ 31 - 0
src/main/java/cn/com/qmth/examcloud/app/model/IdEntity.java

@@ -0,0 +1,31 @@
+/*
+ * *************************************************
+ * Copyright (c) 2018 QMTH. All Rights Reserved.
+ * Created by Deason on 2018-07-20 11:24:17.
+ * *************************************************
+ */
+
+package cn.com.qmth.examcloud.app.model;
+
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.MappedSuperclass;
+import java.io.Serializable;
+
+@MappedSuperclass
+public abstract class IdEntity implements Serializable {
+    protected static final long serialVersionUID = 1L;
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    protected Long id;//主键ID
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+}

+ 16 - 0
src/main/java/cn/com/qmth/examcloud/app/repository/DeviceRecordRepository.java

@@ -0,0 +1,16 @@
+/*
+ * *************************************************
+ * Copyright (c) 2018 QMTH. All Rights Reserved.
+ * Created by Deason on 2018-07-20 11:35:31.
+ * *************************************************
+ */
+
+package cn.com.qmth.examcloud.app.repository;
+
+import cn.com.qmth.examcloud.app.model.DeviceRecord;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.repository.PagingAndSortingRepository;
+
+public interface DeviceRecordRepository extends PagingAndSortingRepository<DeviceRecord, Long>, JpaSpecificationExecutor<DeviceRecord> {
+
+}

+ 13 - 1
src/main/java/cn/com/qmth/examcloud/app/service/DeviceRecordService.java

@@ -9,8 +9,11 @@ package cn.com.qmth.examcloud.app.service;
 
 import cn.com.qmth.examcloud.app.model.DeviceRecord;
 import cn.com.qmth.examcloud.app.model.Result;
+import cn.com.qmth.examcloud.app.repository.DeviceRecordRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.jpa.domain.Specification;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -21,9 +24,18 @@ import java.util.List;
 @Service
 public class DeviceRecordService {
     private static Logger log = LoggerFactory.getLogger(DeviceRecordService.class);
+    @Autowired
+    private DeviceRecordRepository deviceRecordRepository;
 
     public Result<List<DeviceRecord>> getDeviceRecordList() {
-        return null;
+        Specification<DeviceRecord> spec = null;
+        List<DeviceRecord> list = deviceRecordRepository.findAll(spec);
+        return new Result<>().success(list);
+    }
+
+    public Result addDeviceRecord(DeviceRecord deviceRecord) {
+        deviceRecordRepository.save(deviceRecord);
+        return new Result<>().success();
     }
 
 }

+ 12 - 0
src/main/resources/application.properties

@@ -11,6 +11,18 @@ logging.level.org.springframework=WARN
 logging.level.org.apache=WARN
 logging.level.com.qmth=DEBUG
 logging.level.cn.com.qmth=DEBUG
+#mysql config
+spring.datasource.url=jdbc:mysql://localhost:3306/app_api?useUnicode=true&characterEncoding=utf-8&useSSL=false
+spring.datasource.username=root
+spring.datasource.password=root
+spring.datasource.driverClassName=com.mysql.jdbc.Driver
+spring.jpa.show-sql=false
+spring.jpa.hibernate.ddl-auto=update
+spring.datasource.testWhileIdle=true
+spring.datasource.validationQuery=SELECT 1
+spring.datasource.sql-script-encoding=UTF-8
+spring.datasource.continue-on-error=false
+spring.datasource.initialize=false
 #蕉昢督昢華硊
 examcloud.exam.admin.url=http://ecs-dev.qmth.com.cn:8001
 #厙蕉督昢華硊

+ 0 - 0
src/main/resources/templates/deviceRecord.ftl → src/main/resources/templates/deviceRecord/list.ftl