Ver código fonte

初版web授权包

ZhanHan 3 anos atrás
pai
commit
ee5070f6a3

+ 12 - 13
pom.xml

@@ -6,7 +6,7 @@
 
     <groupId>org.example</groupId>
     <artifactId>sky-activate-service</artifactId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0</version>
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
@@ -22,20 +22,19 @@
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
             <!--            打包专用,平时注释掉-->
-
-            <!--            <exclusions>-->
-            <!--                <exclusion>-->
-            <!--                    <groupId>org.springframework.boot</groupId>-->
-            <!--                    <artifactId>spring-boot-starter-tomcat</artifactId>-->
-            <!--                </exclusion>-->
-            <!--            </exclusions>-->
+<!--                <exclusions>-->
+<!--                    <exclusion>-->
+<!--                        <groupId>org.springframework.boot</groupId>-->
+<!--                        <artifactId>spring-boot-starter-tomcat</artifactId>-->
+<!--                    </exclusion>-->
+<!--                </exclusions>-->
         </dependency>
         <!--            打包专用,平时注释掉-->
-        <!--        <dependency>-->
-        <!--            <groupId>javax.servlet</groupId>-->
-        <!--            <artifactId>javax.servlet-api</artifactId>-->
-        <!--            <version>3.1.0</version>-->
-        <!--        </dependency>-->
+<!--                <dependency>-->
+<!--                    <groupId>javax.servlet</groupId>-->
+<!--                    <artifactId>javax.servlet-api</artifactId>-->
+<!--                    <version>3.1.0</version>-->
+<!--                </dependency>-->
 
         <dependency>
             <groupId>org.xerial</groupId>

+ 56 - 41
src/main/java/com/sky/activate/controller/VerifysController.java

@@ -1,15 +1,21 @@
 package com.sky.activate.controller;
 
-import com.sky.activate.entity.User;
+import com.sky.activate.entity.Device;
 import com.sky.activate.service.VerifysService;
-import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.util.DigestUtils;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 
 @RestController
 @RequestMapping("/verify")
@@ -19,6 +25,17 @@ public class VerifysController {
     @Autowired
     private VerifysService verifysService;
 
+    public SimpleDateFormat formatterDD = new SimpleDateFormat("yyyy-MM-dd");
+    private static List<Device> devices = new ArrayList<>();
+    // 成功
+    private int SUCCEED = 200;
+    // 未授权
+    private int NO_ACTIVATE = 201;
+    // 字段错误
+    private int PARAM_ERROR = 202;
+    // 过期失效
+    private int LOSE_ACTIVATE = 300;
+
 
     @RequestMapping("/testStr")
     public  String testStr(){
@@ -26,48 +43,46 @@ public class VerifysController {
     }
 
 
-    @PostMapping("/register")
-    public String register(User user){
-//        if(user == null || StringUtils.isEmpty(user.getUsername()) || StringUtils.isEmpty(user.getPassword())){
-//            return MessageManage.getInstance().getResultContent(Constant.PARAM_ERROR, "参数错误", "参数错误");
-//        } else {
-//            User dbUser = verifysService.selectUserByName(user.getUsername());
-//            if(dbUser == null){
-//                user.setFailureTime(new Date(System.currentTimeMillis() + Constant.GENERAL_TIME));
-//                user.setGuid(Tools.getInstance().getUUID());
-//                user.setArchived(0);
-//                user.setDefaultUser(1);
-//                user.setCreateTime(new Date(System.currentTimeMillis()));
-//                user.setLastLoginTime(new Date(System.currentTimeMillis()));
-//                user.setPhoto("https://img1.baidu.com/it/u=2121265281,4059056546&fm=26&fmt=auto&gp=0.jpg");
-//                verifysService.addUser(user);
-//                return MessageManage.getInstance().getResultContent(Constant.SUCCESS, "注册成功", "成功");
-//            } else {
-//                return MessageManage.getInstance().getResultContent(Constant.INTER_ERROR, "该用户已存在", "该用户已存在");
-//            }
-//        }
-        return null;
-    }
+    @PostMapping("/verify")
+    public int verify(HttpServletRequest request){
+        String key = request.getParameter("key");
+        String address = request.getParameter("address");
+        Date dateNow = new Date(System.currentTimeMillis());
+
+        if(StringUtils.isEmpty(key) || StringUtils.isEmpty(address)){
+            return PARAM_ERROR;
+        }
+
+        if(devices.size() < 1){
+            devices = verifysService.selectAll();
+        }
 
-    @PostMapping("/VerifyUser")
-    public String VerifyUser(HttpServletRequest request){
-        /*String userName = request.getParameter("userName");
-        String password = request.getParameter("password");
-        String clientId = request.getParameter("clientId");
-        if(StringUtils.isEmpty(userName) || StringUtils.isEmpty(password)){
-            return MessageManage.getInstance().getResultContent(Constant.PARAM_ERROR, "参数错误", "参数错误");
+        if(devices.size() == 0){
+            return NO_ACTIVATE;
         }
-        User user = verifysService.selectUserByName(userName);
-        if(user == null){
-            return MessageManage.getInstance().getResultContent(Constant.NO_DATA, "用户不存在", "用户不存在");
+
+        for(int i = 0; i < devices.size(); i ++){
+            devices.get(i).setKeyMD5(
+                    DigestUtils.md5DigestAsHex(
+                            devices.get(i).getKey().getBytes()));
         }
-        if(Tools.getInstance().getCurrTime() > user.getFailureTime().getTime()){
-            return MessageManage.getInstance().getResultContent(Constant.USER_FAILURE, "用户过期", "用户过期");
+        boolean isActivate = false;
+        for(Device device : devices){
+            if(device.getKeyMD5().equals(key) ){
+                if(device.getAddress().equals("0.0.0.0") || device.getAddress().equals(address)){
+                    if(device.getLoseDate().getTime() > dateNow.getTime()){
+                        isActivate = true;
+                    }
+                }
+            }
         }
-        if(user.getArchived() != 0){
-            return MessageManage.getInstance().getResultContent(Constant.USER_ARCHIVED, "用户失效", "用户失效");
-        }*/
-        return null;
+
+        if(isActivate){
+            return SUCCEED;
+        } else {
+            return LOSE_ACTIVATE;
+        }
+
     }
 
 }

+ 64 - 0
src/main/java/com/sky/activate/entity/Device.java

@@ -0,0 +1,64 @@
+package com.sky.activate.entity;
+
+import java.util.Date;
+
+public class Device {
+
+    private Integer id;
+    private String address;
+    private String key;
+    private Date loseDate;
+
+    private String keyMD5;
+
+    @Override
+    public String toString() {
+        return "Device{" +
+                "id=" + id +
+                ", address='" + address + '\'' +
+                ", key='" + key + '\'' +
+                ", loseDate=" + loseDate +
+                ", keyMD5='" + keyMD5 + '\'' +
+                '}';
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public String getKey() {
+        return key;
+    }
+
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    public Date getLoseDate() {
+        return loseDate;
+    }
+
+    public void setLoseDate(Date loseDate) {
+        this.loseDate = loseDate;
+    }
+
+    public String getKeyMD5() {
+        return keyMD5;
+    }
+
+    public void setKeyMD5(String keyMD5) {
+        this.keyMD5 = keyMD5;
+    }
+}

+ 0 - 215
src/main/java/com/sky/activate/entity/User.java

@@ -1,215 +0,0 @@
-package com.sky.activate.entity;
-
-import java.io.Serializable;
-import java.util.Date;
-
-public class User implements Serializable {
-
-    private Integer id;                         // 用户主键id
-    private String guid;                        // 用户随机的guid
-    private Date createTime;                    // 用户创建时间
-    private Integer archived;                   // 是否在用,0 在用,1 已删除,2 已过期,3 已拉黑
-    private String email;                       // 邮箱
-//    private String password;                    // 密码,存储密文密码
-    private String phone;                       // 手机号
-    private String username;                    // 用户名
-    private Integer defaultUser;                // 是否是原生用户(非注册), 0 原生用户,1 注册用户 2 东软   // 是否是原生用户(非注册), 0 原生用户,1 注册用户 3DR用户
-    private Date lastLoginTime;                 // 最后获取用户信息时间
-    private String photo;                       // 用户头像
-    private String wechatId;                    // 微信id
-    private String weiboId;                     // 微博id
-    private String qqId;                        // qq id
-    private String wechatUsername;              // 微信用户名
-    private String weiboUsername;               // 微博用户名
-    private String qqUsername;                  // qq用户名
-    private String wechatPhoto;                 // 微信头像
-    private String weiboPhoto;                  // 微博头像
-    private String qqPhoto;                     // qq头像
-    private Date failureTime;                   // 失效时间
-
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public String getGuid() {
-        return guid;
-    }
-
-    public void setGuid(String guid) {
-        this.guid = guid;
-    }
-
-    public Date getCreateTime() {
-        return createTime;
-    }
-
-    public void setCreateTime(Date createTime) {
-        this.createTime = createTime;
-    }
-
-    public Integer getArchived() {
-        return archived;
-    }
-
-    public void setArchived(Integer archived) {
-        this.archived = archived;
-    }
-
-    public String getEmail() {
-        return email;
-    }
-
-    public void setEmail(String email) {
-        this.email = email;
-    }
-
-    public String getPhone() {
-        return phone;
-    }
-
-    public void setPhone(String phone) {
-        this.phone = phone;
-    }
-
-    public String getUsername() {
-        return username;
-    }
-
-    public void setUsername(String username) {
-        this.username = username;
-    }
-
-    public Integer getDefaultUser() {
-        return defaultUser;
-    }
-
-    public void setDefaultUser(Integer defaultUser) {
-        this.defaultUser = defaultUser;
-    }
-
-    public Date getLastLoginTime() {
-        return lastLoginTime;
-    }
-
-    public void setLastLoginTime(Date lastLoginTime) {
-        this.lastLoginTime = lastLoginTime;
-    }
-
-    public String getPhoto() {
-        return photo;
-    }
-
-    public void setPhoto(String photo) {
-        this.photo = photo;
-    }
-
-    public String getWechatId() {
-        return wechatId;
-    }
-
-    public void setWechatId(String wechatId) {
-        this.wechatId = wechatId;
-    }
-
-    public String getWeiboId() {
-        return weiboId;
-    }
-
-    public void setWeiboId(String weiboId) {
-        this.weiboId = weiboId;
-    }
-
-    public String getQqId() {
-        return qqId;
-    }
-
-    public void setQqId(String qqId) {
-        this.qqId = qqId;
-    }
-
-    public String getWechatUsername() {
-        return wechatUsername;
-    }
-
-    public void setWechatUsername(String wechatUsername) {
-        this.wechatUsername = wechatUsername;
-    }
-
-    public String getWeiboUsername() {
-        return weiboUsername;
-    }
-
-    public void setWeiboUsername(String weiboUsername) {
-        this.weiboUsername = weiboUsername;
-    }
-
-    public String getQqUsername() {
-        return qqUsername;
-    }
-
-    public void setQqUsername(String qqUsername) {
-        this.qqUsername = qqUsername;
-    }
-
-    public String getWechatPhoto() {
-        return wechatPhoto;
-    }
-
-    public void setWechatPhoto(String wechatPhoto) {
-        this.wechatPhoto = wechatPhoto;
-    }
-
-    public String getWeiboPhoto() {
-        return weiboPhoto;
-    }
-
-    public void setWeiboPhoto(String weiboPhoto) {
-        this.weiboPhoto = weiboPhoto;
-    }
-
-    public String getQqPhoto() {
-        return qqPhoto;
-    }
-
-    public void setQqPhoto(String qqPhoto) {
-        this.qqPhoto = qqPhoto;
-    }
-
-    public Date getFailureTime() {
-        return failureTime;
-    }
-
-    public void setFailureTime(Date failureTime) {
-        this.failureTime = failureTime;
-    }
-
-    @Override
-    public String toString() {
-        return "User{" +
-                "id=" + id +
-                ", guid='" + guid + '\'' +
-                ", createTime=" + createTime +
-                ", archived=" + archived +
-                ", email='" + email + '\'' +
-                ", phone='" + phone + '\'' +
-                ", username='" + username + '\'' +
-                ", defaultUser=" + defaultUser +
-                ", lastLoginTime=" + lastLoginTime +
-                ", photo='" + photo + '\'' +
-                ", wechatId='" + wechatId + '\'' +
-                ", weiboId='" + weiboId + '\'' +
-                ", qqId='" + qqId + '\'' +
-                ", wechatUsername='" + wechatUsername + '\'' +
-                ", weiboUsername='" + weiboUsername + '\'' +
-                ", qqUsername='" + qqUsername + '\'' +
-                ", wechatPhoto='" + wechatPhoto + '\'' +
-                ", weiboPhoto='" + weiboPhoto + '\'' +
-                ", qqPhoto='" + qqPhoto + '\'' +
-                ", failureTime=" + failureTime +
-                '}';
-    }
-}

+ 4 - 3
src/main/java/com/sky/activate/mapper/VerifysMapper.java

@@ -1,13 +1,14 @@
 package com.sky.activate.mapper;
 
 
-import com.sky.activate.entity.User;
+import com.sky.activate.entity.Device;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Repository
 public interface VerifysMapper {
 
-    User selectUserByName(String username);
 
-    void addUser(User user);
+    List<Device> selectAll();
 }

+ 5 - 7
src/main/java/com/sky/activate/service/VerifysService.java

@@ -1,12 +1,14 @@
 package com.sky.activate.service;
 
 
-import com.sky.activate.entity.User;
+import com.sky.activate.entity.Device;
 import com.sky.activate.mapper.VerifysMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheConfig;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 @Service
 @CacheConfig(cacheNames = {"verifysService"})
 public class VerifysService {
@@ -20,11 +22,7 @@ public class VerifysService {
         return "Hello Word!!!";
     }
 
-    public User selectUserByName(String username) {
-        return verifysMapper.selectUserByName(username);
-    }
-
-    public void addUser(User user) {
-         verifysMapper.addUser(user);
+    public List<Device> selectAll() {
+         return verifysMapper.selectAll();
     }
 }

+ 3 - 40
src/main/resources/mapper/VerifyMapper.xml

@@ -2,45 +2,8 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.sky.activate.mapper.VerifysMapper">
 
+    <select id="selectAll" resultType="com.sky.activate.entity.Device">
+        select * from t_device;
+    </select>
 
-<!--    <resultMap id="BaseResultMap" type="com.sky.oauth.entity.User">-->
-<!--        <result column="id" jdbcType="INTEGER" property="id" />-->
-<!--        <result column="guid" jdbcType="VARCHAR" property="guid" />-->
-<!--        <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />-->
-<!--        <result column="archived" jdbcType="INTEGER" property="archived" />-->
-<!--        <result column="archived" jdbcType="VARCHAR" property="archived" />-->
-<!--        <result column="password" jdbcType="VARCHAR" property="password" />-->
-<!--        <result column="phone" jdbcType="VARCHAR" property="phone" />-->
-<!--        <result column="username" jdbcType="VARCHAR" property="username" />-->
-<!--        <result column="default_user" jdbcType="VARCHAR" property="defaultUser" />-->
-<!--        <result column="last_login_time" jdbcType="TIMESTAMP" property="lastLoginTime" />-->
-<!--        <result column="photo" jdbcType="VARCHAR" property="photo" />-->
-<!--        <result column="wechat_id" jdbcType="VARCHAR" property="wechatId" />-->
-<!--        <result column="weibo_id" jdbcType="VARCHAR" property="weiboId" />-->
-<!--        <result column="qq_id" jdbcType="VARCHAR" property="qqId" />-->
-<!--        <result column="wechat_username" jdbcType="VARCHAR" property="wechatUsername" />-->
-<!--        <result column="weibo_username" jdbcType="VARCHAR" property="weiboUsername" />-->
-<!--        <result column="qq_username" jdbcType="VARCHAR" property="qqUsername" />-->
-<!--        <result column="wechat_photo" jdbcType="VARCHAR" property="wechatPhoto" />-->
-<!--        <result column="weibo_photo" jdbcType="VARCHAR" property="weiboPhoto" />-->
-<!--        <result column="qq_photo" jdbcType="VARCHAR" property="qqPhoto" />-->
-<!--        <result column="failure_time" jdbcType="TIMESTAMP" property="failureTime" />-->
-<!--    </resultMap>-->
-<!--    <select id="selectUserByName" resultType="com.sky.oauth.entity.User"  resultMap="BaseResultMap">-->
-<!--         select * from p_user where username = #{name};-->
-<!--    </select>-->
-
-<!--    &lt;!&ndash; useGeneratedKeys="true" keyProperty="id"&ndash;&gt;-->
-<!--    <insert id="addUser" parameterType="com.sky.oauth.entity.User">-->
-<!--        insert into p_user(-->
-<!--            guid,create_time,archived,email,password,phone,username,default_user, last_login_time, photo,-->
-<!--            wechat_id,weibo_id,qq_id,wechat_username,weibo_username,qq_username, wechat_photo,-->
-<!--            weibo_photo,qq_photo, failure_time-->
-<!--            )-->
-<!--        values (-->
-<!--            #{guid},#{createTime},'0',#{email},#{password},#{phone},#{username},#{defaultUser},#{lastLoginTime},#{photo},-->
-<!--            #{wechatId},#{weiboId},#{qqId},#{wechatUsername},#{weiboUsername},#{qqUsername},#{wechatPhoto},-->
-<!--            #{weiboPhoto},#{qqPhoto},#{failureTime}-->
-<!--            );-->
-<!--    </insert>-->
 </mapper>

BIN
src/main/resources/static/test.db