| New file | 
 |  |  | 
 |  |  | 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);
 | 
 |  |  |     }
 | 
 |  |  | }
 | 
 |  |  | 
 |