Sfoglia il codice sorgente

慧用工接口demo

skyfffire 1 mese fa
parent
commit
06ca4022c4

+ 26 - 0
src/main/java/common/model/base/BaseUser.java

@@ -112,6 +112,32 @@ public abstract class BaseUser<M extends BaseUser<M>> extends Model<M> implement
 	public java.lang.Long getLoginTime() {
 		return getLong("login_time");
 	}
+	/**
+	 * token
+	 */
+	public void setToken(java.lang.String token) {
+		set("token", token);
+	}
+	
+	/**
+	 * token
+	 */
+	public java.lang.String getToken() {
+		return getStr("token");
+	}
+	/**
+	 * 慧用工worker_id
+	 */
+	public void setHygWorkerId(java.lang.String hygWorkerId) {
+		set("hyg_worker_id", hygWorkerId);
+	}
+	
+	/**
+	 * 慧用工worker_id
+	 */
+	public java.lang.String getHygWorkerId() {
+		return getStr("hyg_worker_id");
+	}
 	public void setCreateTime(java.lang.Long createTime) {
 		set("create_time", createTime);
 	}

+ 39 - 2
src/main/java/modules/user/UserController.java

@@ -160,11 +160,14 @@ public class UserController extends MyController {
         }
         
         if (ret.isOk()) {
-            // 更新用户时间
+            String token = createToken("dl-token");
+            // 更新用户登录时间
             service.updateUserLoginTime(mobileNumber);
+            // 更新用户token
+            service.updateToken(mobileNumber, token);
             
             // 将token传回前端
-            ret.set("token", createToken("dl-token"));
+            ret.set("token", token);
 
             // 其它参数的封装
             setSessionAttr("user_id", ((User)ret.get("data")).getStr("id"));
@@ -174,6 +177,40 @@ public class UserController extends MyController {
         
         renderJson(ret);
     }
+    
+    // 慧用工免登请求地址,用来换取手机号
+    public void tokenToMobileNumber() {
+        // --- 从 JSON 请求体中获取参数 ---
+        JSONObject requestBodyJson = MyController.getJsonModelByRequestAndType(getRequest(), JSONObject.class);
+
+        System.out.println(requestBodyJson.toJSONString());
+
+        String token = requestBodyJson.getString("token");
+        
+        if (StrKit.notBlank(token)) {
+            renderText(service.findMobileNumberByToken(token));
+        } else {
+            renderText("");
+        }
+    }
+
+    // 慧用工签约回调地址
+    public void hygSign() {
+        // --- 从 JSON 请求体中获取参数 ---
+        JSONObject requestBodyJson = MyController.getJsonModelByRequestAndType(getRequest(), JSONObject.class);
+
+        System.out.println(requestBodyJson.toJSONString());
+
+        String workerid = requestBodyJson.getString("workerid");
+
+        if (StrKit.notBlank(workerid)) {
+            System.out.println(workerid);
+//            renderText(service.update(hygSign));
+            renderText("");
+        } else {
+            renderText("");
+        }
+    }
 
     @Before(LoginInterceptor.class)
     public void getUserInfo() {

+ 12 - 0
src/main/java/modules/user/UserService.java

@@ -53,6 +53,18 @@ public class UserService {
         Db.update(sql, System.currentTimeMillis(), mobileNumber);
     }
 
+    public void updateToken(String mobileNumber, String token) {
+        String sql = "update t_user set token = ? where mobile_number = ?";
+
+        Db.update(sql, token, mobileNumber);
+    }
+
+    public String findMobileNumberByToken(String token) {
+        String sql = "select mobile_number from t_user where token = ?";
+
+        return Db.queryStr(sql, token);
+    }
+
     public User findUserById(String id) {
         String sql = "select * from t_user where id = ?";
 

+ 16 - 0
src/test/rest/UserControllerTest.http

@@ -1,6 +1,22 @@
 ### 连通性测试
 POST {{ baseUrl }}/user/hello
 
+### 慧用工免登请求地址,用来换取手机号
+POST {{ baseUrl }}/user/tokenToMobileNumber
+Content-Type: application/json
+
+{
+  "token": "-604525842767378248"
+}
+
+### 慧用工签约回调地址
+POST {{ baseUrl }}/user/hygSign
+Content-Type: application/json
+
+{
+  "workerid": "123445"
+}
+
 ### 登录,可以选择传入pwd_md5(密码登录)或verify_code(验证码登录)。如果两者都传入了,后台会优先使用pwd_md5
 ### 登录成功后会返token回来,后面请求需要用户状态的接口都需要携带到headers里面,key是dl-token
 POST {{ baseUrl }}/user/login