Quellcode durchsuchen

系统升级接口代码提交

liujs vor 3 Jahren
Ursprung
Commit
56f18d8b7b

+ 9 - 4
src/main/java/com/parksong/beans/app/AppBean.java

@@ -2,6 +2,8 @@ package com.parksong.beans.app;
 
 import lombok.Data;
 
+import java.util.Date;
+
 /**
  * @author LiuJS
  * @Time 2021/5/27 14:09
@@ -10,8 +12,11 @@ import lombok.Data;
  */
 @Data
 public class AppBean {
-    private String _api_key;
-    private String appKey;
-    private String buildVersion;
-    private String buildBuildVersion;
+    private Integer id;
+    private String apkUrl;
+    private String updateLog;
+    private String version;
+    private Integer versionCode;
+    private boolean needForceUpdate;
+    private Date createTime;
 }

+ 3 - 3
src/main/java/com/parksong/controllers/app/AppController.java

@@ -2,7 +2,7 @@ package com.parksong.controllers.app;
 
 import com.parksong.basics.beans.ResultBean;
 import com.parksong.basics.filter.ApiFilter;
-import com.parksong.filter.delivery.DeliveryFilter;
+import com.parksong.filter.app.AppFilter;
 import com.parksong.services.app.AppService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -24,7 +24,7 @@ public class AppController {
     private AppService appService;
 
     @PostMapping("check")
-    public ResultBean check(@RequestBody ApiFilter<DeliveryFilter> filter) throws Exception {
-        return new ResultBean(appService.checkVersion(filter.getAppVersion()));
+    public ResultBean check(@RequestBody ApiFilter<AppFilter> apiFilter) {
+        return new ResultBean(appService.checkVersion(apiFilter.getData()));
     }
 }

+ 20 - 0
src/main/java/com/parksong/dao/app/AppDao.java

@@ -0,0 +1,20 @@
+package com.parksong.dao.app;
+
+import com.parksong.beans.app.AppBean;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @author LiuJS
+ * @Time 2021/6/3 14:09
+ * @Desc
+ * @Version 1.0
+ */
+@Repository
+public interface AppDao {
+    AppBean getAppInfo();
+
+    List<Boolean> isNeedForceUpdate(@Param("versionCode") Integer versionCode);
+}

+ 16 - 0
src/main/java/com/parksong/filter/app/AppFilter.java

@@ -0,0 +1,16 @@
+package com.parksong.filter.app;
+
+import com.parksong.basics.filter.Filter;
+import lombok.Data;
+
+/**
+ * @author LiuJS
+ * @Time 2021/6/3 16:03
+ * @Desc
+ * @Version 1.0
+ */
+@Data
+public class AppFilter extends Filter {
+
+    private Integer versionCode;
+}

+ 3 - 2
src/main/java/com/parksong/services/app/AppService.java

@@ -1,6 +1,7 @@
 package com.parksong.services.app;
 
-import com.parksong.beans.app.AppDataBean;
+import com.parksong.beans.app.AppBean;
+import com.parksong.filter.app.AppFilter;
 
 /**
  * @author LiuJS
@@ -9,5 +10,5 @@ import com.parksong.beans.app.AppDataBean;
  * @Version 1.0
  */
 public interface AppService {
-    AppDataBean checkVersion(String appVersion) throws Exception;
+    AppBean checkVersion(AppFilter appFilter);
 }

+ 15 - 36
src/main/java/com/parksong/services/app/impl/AppServiceImpl.java

@@ -1,16 +1,15 @@
 package com.parksong.services.app.impl;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.parksong.beans.app.AppDataBean;
+import com.parksong.beans.app.AppBean;
+import com.parksong.dao.app.AppDao;
+import com.parksong.filter.app.AppFilter;
 import com.parksong.services.app.AppService;
-import com.parksong.util.enums.AppEnum;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.methods.PostMethod;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author LiuJS
  * @Time 2021/5/27 13:54
@@ -20,35 +19,15 @@ import org.springframework.stereotype.Service;
 @Service
 @Slf4j
 public class AppServiceImpl implements AppService {
+
+    @Autowired
+    private AppDao appDao;
+
     @Override
-    public AppDataBean checkVersion(String appVersion){
-        try {
-            String postURL = AppEnum.APP_URL.getValue() + "/apiv2/app/check";
-            PostMethod postMethod = null;
-            //添加请求头数据
-            postMethod = new PostMethod(postURL);
-            postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8") ;
-            //参数设置,需要注意的就是里边不能传NULL,要传空字符串
-            NameValuePair[] data = {
-                    new NameValuePair("_api_key",AppEnum.API_KEY.getValue()),
-                    new NameValuePair("appKey",AppEnum.APP_KEY.getValue()),
-                    new NameValuePair("buildVersion",appVersion)
-            };
-            postMethod.setRequestBody(data);
-            HttpClient httpClient = new HttpClient();
-            // 执行POST方法
-            int response = httpClient.executeMethod(postMethod);
-            String result = postMethod.getResponseBodyAsString();
-            log.info(String.valueOf(response));
-            log.info(result);
-            JSONObject jsonObject = JSON.parseObject(result);
-            if (jsonObject != null && jsonObject.getString("data") != null) {
-                AppDataBean appDataBean = JSONObject.parseObject(jsonObject.getString("data"), AppDataBean.class);
-                return appDataBean;
-            }
-        } catch (Exception e) {
-            throw new RuntimeException(e.getMessage());
-        }
-        return null;
+    public AppBean checkVersion(AppFilter appFilter){
+        AppBean appBean = appDao.getAppInfo();
+        List<Boolean> list =  appDao.isNeedForceUpdate(appFilter.getVersionCode());
+        appBean.setNeedForceUpdate(list.contains(true));
+        return appBean;
     }
 }

+ 25 - 0
src/main/resources/com/parksong/mapper/app/AppMapper.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.parksong.dao.app.AppDao" >
+
+  <resultMap id="BaseResultMap" type="com.parksong.beans.app.AppBean" >
+    <id column="id" property="id" jdbcType="INTEGER" />
+    <result column="apk_url" property="apkUrl" jdbcType="VARCHAR" />
+    <result column="update_log" property="updateLog" jdbcType="VARCHAR" />
+    <result column="version" property="version" jdbcType="VARCHAR" />
+    <result column="version_code" property="versionCode" jdbcType="INTEGER" />
+    <result column="need_force_update" property="needForceUpdate" jdbcType="BOOLEAN" />
+    <result column="create_time" property="createTime" jdbcType="DATE" />
+  </resultMap>
+
+  <select id="getAppInfo" resultMap="BaseResultMap">
+    SELECT id, apk_url, update_log, version, version_code, need_force_update, create_time
+    FROM fhm_jeesite.apps
+    WHERE version_code = (SELECT MAX(version_code) FROM fhm_jeesite.apps)
+  </select>
+
+  <select id="isNeedForceUpdate" resultType="java.lang.Boolean">
+    select need_force_update FROM fhm_jeesite.apps where version_code > #{versionCode}
+  </select>
+
+</mapper>