From 5c4e083179170bda00672aa9b8596c5f6c7ef253 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 25 Jun 2021 14:53:33 +0800
Subject: [PATCH] add versionService

---
 gc-shop/src/main/java/com/xzx/gc/shop/mapper/VersionInfoMapper.java |    8 ++++
 gc-shop/src/main/java/com/xzx/gc/shop/service/VersionService.java   |   63 +++++++++++++++++++++++++++++++
 gc-shop/src/main/resources/mapper/shop/VersionInfoMapper.xml        |    4 ++
 3 files changed, 75 insertions(+), 0 deletions(-)

diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/mapper/VersionInfoMapper.java b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/VersionInfoMapper.java
new file mode 100644
index 0000000..33effaa
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/mapper/VersionInfoMapper.java
@@ -0,0 +1,8 @@
+package com.xzx.gc.shop.mapper;
+
+import com.xzx.gc.entity.VersionInfo;
+import com.xzx.gc.util.GcMapper;
+
+public interface VersionInfoMapper extends GcMapper<VersionInfo> {
+
+}
\ No newline at end of file
diff --git a/gc-shop/src/main/java/com/xzx/gc/shop/service/VersionService.java b/gc-shop/src/main/java/com/xzx/gc/shop/service/VersionService.java
new file mode 100644
index 0000000..f6c4cfa
--- /dev/null
+++ b/gc-shop/src/main/java/com/xzx/gc/shop/service/VersionService.java
@@ -0,0 +1,63 @@
+package com.xzx.gc.shop.service;
+
+import cn.hutool.core.convert.Convert;
+import cn.hutool.core.util.NumberUtil;
+import cn.hutool.core.util.StrUtil;
+import com.xzx.gc.common.constant.Constants;
+import com.xzx.gc.common.utils.BusinessUtil;
+import com.xzx.gc.entity.VersionInfo;
+import com.xzx.gc.shop.mapper.VersionInfoMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Comparator;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+@Transactional
+@Slf4j
+public class VersionService {
+
+    @Autowired
+    private VersionInfoMapper versionInfoMapper;
+
+    @Autowired
+    private HttpServletRequest request;
+    
+    @Autowired
+    private BusinessUtil businessUtil;
+
+    public VersionInfo find(){
+        String version = request.getHeader("anroidVersion");
+        if(StrUtil.isNotBlank(version)){
+            Double currentVersion = businessUtil.getVersion(version);
+            VersionInfo versionInfo=new VersionInfo();
+            versionInfo.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
+            VersionInfo versionInfo1 = versionInfoMapper.selectOne(versionInfo);
+            Double newVersion = versionInfo1.getNewVersion();
+            Double minVersion = versionInfo1.getMinVersion();
+
+            if(NumberUtil.compare(currentVersion,newVersion)<0){
+                versionInfo1.setUpdateFlag(Convert.toShort(Constants.RESULT_SUCCESS));
+            }
+            if(NumberUtil.compare(currentVersion,minVersion)<0) {
+                versionInfo1.setForceUpdateFlag(Convert.toShort(Constants.RESULT_SUCCESS));
+            }
+            return  versionInfo1;
+        }else {
+            return null;
+        }
+    }
+
+    public VersionInfo findNew(){
+        VersionInfo versionInfo=new VersionInfo();
+        versionInfo.setDelFlag(Convert.toShort(Constants.DEL_NOT_FLAG));
+        List<VersionInfo> versionInfos = versionInfoMapper.select(versionInfo);
+        return versionInfos.stream().sorted(Comparator.comparingLong(VersionInfo::getId).reversed()).collect(Collectors.toList()).get(0);
+    }
+}
+
diff --git a/gc-shop/src/main/resources/mapper/shop/VersionInfoMapper.xml b/gc-shop/src/main/resources/mapper/shop/VersionInfoMapper.xml
new file mode 100644
index 0000000..d228b77
--- /dev/null
+++ b/gc-shop/src/main/resources/mapper/shop/VersionInfoMapper.xml
@@ -0,0 +1,4 @@
+<?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.xzx.gc.system.mapper.VersionInfoMapper">
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1