admin
2024-01-23 81da61b828e29b7745e1382dfbbaeb685dc083ef
fanli/src/main/java/com/yeshi/fanli/service/impl/config/AppVersionServiceImpl.java
@@ -1,120 +1,136 @@
package com.yeshi.fanli.service.impl.config;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.AppVersionInfoMapper;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class AppVersionServiceImpl implements AppVersionService {
   @Resource
   private AppVersionInfoMapper appVersionInfoMapper;
   @Override
   public void addAppVersion(AppVersionInfo versionInfo) throws Exception {
      if (versionInfo == null)
         return;
      if (StringUtil.isNullOrEmpty(versionInfo.getPlatform()))
         throw new Exception("platform为空");
      if (StringUtil.isNullOrEmpty(versionInfo.getVersion()))
         throw new Exception("version为空");
      if (versionInfo.getVersionCode() == null)
         throw new Exception("versionCode为空");
      versionInfo.setCreateTime(new Date());
      versionInfo.setUpdateTime(new Date());
      appVersionInfoMapper.insertSelective(versionInfo);
   }
   @Override
   public List<AppVersionInfo> getAppVersionInfoListByPlatform(String platform) {
      return appVersionInfoMapper.selectByPlatform(platform);
   }
   @Override
   public AppVersionInfo getAppVersionInfoListByPlatformAndVersion(String platform, int versionCode) {
      return appVersionInfoMapper.selectByPlatformAndVersionCode(platform, versionCode);
   }
   @Override
   public AppVersionInfo getByPlatformAndVersion(String platform, String version) {
      return appVersionInfoMapper.selectByPlatformAndVersion(platform, version);
   }
   @Override
   public List<AppVersionInfo> listByPlatformAndMinVersion(String platform, String version) {
      AppVersionInfo appInfo = getByPlatformAndVersion(platform, version);
      if (appInfo != null) {
         List<AppVersionInfo> list = appVersionInfoMapper.listByPlatformAndMinVersionCode(platform,
               appInfo.getVersionCode());
         return list;
      }
      return null;
   }
   @Override
   public List<Integer> listVersionCodeByVersions(String platform, List<String> listVersion) {
      List<Integer> listVersionCode = null;
      if (listVersion == null || listVersion.size() == 0) {
         return listVersionCode;
      }
      listVersionCode = new ArrayList<Integer>();
      for (String version : listVersion) {
         AppVersionInfo appVersion = getByPlatformAndVersion(platform, version);
         if (appVersion != null && appVersion.getVersionCode() != null) {
            listVersionCode.add(appVersion.getVersionCode());
         }
      }
      return listVersionCode;
   }
   @Override
   public List<AppVersionInfo> listByVersions(String platform, List<String> listVersion) {
      List<AppVersionInfo> listVersionCode = null;
      if (listVersion == null || listVersion.size() == 0) {
         return listVersionCode;
      }
      listVersionCode = new ArrayList<AppVersionInfo>();
      for (String version : listVersion) {
         AppVersionInfo appVersion = getByPlatformAndVersion(platform, version);
         if (appVersion != null) {
            listVersionCode.add(appVersion);
         }
      }
      return listVersionCode;
   }
   @Override
   public List<AppVersionInfo> listByPlatformAndMinVersionCode(String platform, int versionCode) {
      return appVersionInfoMapper.listByPlatformAndMinVersionCode(platform, versionCode);
   }
   @Override
   public AppVersionInfo selectByPrimaryKey(Long id) {
      return appVersionInfoMapper.selectByPrimaryKey(id);
   }
   @Override
   public List<AppVersionInfo> listByVersion(String version) {
      return null;
   }
}
package com.yeshi.fanli.service.impl.config;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import com.yeshi.fanli.entity.SystemEnum;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.AppVersionInfoMapper;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class AppVersionServiceImpl implements AppVersionService {
   @Resource
   private AppVersionInfoMapper appVersionInfoMapper;
   @Override
   public void addAppVersion(AppVersionInfo versionInfo) throws Exception {
      if (versionInfo == null)
         return;
      if (StringUtil.isNullOrEmpty(versionInfo.getPlatform()))
         throw new Exception("platform为空");
      if (StringUtil.isNullOrEmpty(versionInfo.getVersion()))
         throw new Exception("version为空");
      if (versionInfo.getVersionCode() == null)
         throw new Exception("versionCode为空");
      versionInfo.setCreateTime(new Date());
      versionInfo.setUpdateTime(new Date());
      appVersionInfoMapper.insertSelective(versionInfo);
   }
   @Override
   public List<AppVersionInfo> getAppVersionInfoListByPlatform(String platform, SystemEnum system) {
      return appVersionInfoMapper.selectByPlatform(platform,system);
   }
   @Override
   public AppVersionInfo getAppVersionInfoListByPlatformAndVersion(String platform, int versionCode, SystemEnum system) {
      return appVersionInfoMapper.selectByPlatformAndVersionCode(platform, versionCode,system);
   }
   @Override
   public AppVersionInfo getByPlatformAndVersion(String platform, String version, SystemEnum system) {
      return appVersionInfoMapper.selectByPlatformAndVersion(platform, version,system);
   }
   @Override
   public List<AppVersionInfo> listByPlatformAndMinVersion(String platform, String version, SystemEnum system) {
      AppVersionInfo appInfo = getByPlatformAndVersion(platform, version,system);
      if (appInfo != null) {
         List<AppVersionInfo> list = appVersionInfoMapper.listByPlatformAndMinVersionCode(platform,
               appInfo.getVersionCode(),system);
         return list;
      }
      return null;
   }
   @Override
   public List<Integer> listVersionCodeByVersions(String platform, List<String> listVersion, SystemEnum system) {
      List<Integer> listVersionCode = null;
      if (listVersion == null || listVersion.size() == 0) {
         return listVersionCode;
      }
      listVersionCode = new ArrayList<Integer>();
      for (String version : listVersion) {
         AppVersionInfo appVersion = getByPlatformAndVersion(platform, version,system);
         if (appVersion != null && appVersion.getVersionCode() != null) {
            listVersionCode.add(appVersion.getVersionCode());
         }
      }
      return listVersionCode;
   }
   @Override
   public List<AppVersionInfo> listByVersions(String platform, List<String> listVersion, SystemEnum system) {
      List<AppVersionInfo> listVersionCode = null;
      if (listVersion == null || listVersion.size() == 0) {
         return listVersionCode;
      }
      listVersionCode = new ArrayList<AppVersionInfo>();
      for (String version : listVersion) {
         AppVersionInfo appVersion = getByPlatformAndVersion(platform, version,system);
         if (appVersion != null) {
            listVersionCode.add(appVersion);
         }
      }
      return listVersionCode;
   }
   @Override
   public List<AppVersionInfo> listByPlatformAndMinVersionCode(String platform, int versionCode, SystemEnum system) {
      return appVersionInfoMapper.listByPlatformAndMinVersionCode(platform, versionCode,system);
   }
   @Override
   public List<AppVersionInfo> listByPlatformAndMaxVersionCode(String platform, int versionCode, SystemEnum system) {
      return appVersionInfoMapper.listByPlatformAndMaxVersionCode(platform, versionCode,system);
   }
   @Override
   public AppVersionInfo selectByPrimaryKey(Long id) {
      return appVersionInfoMapper.selectByPrimaryKey(id);
   }
   @Override
   public List<AppVersionInfo> listByVersion(String version, SystemEnum system) {
      return null;
   }
   @Override
   public AppVersionInfo getClientVersion(String platform, int versionCode, SystemEnum system) {
      AppVersionInfo appInfo = getAppVersionInfoListByPlatformAndVersion(platform, versionCode,system);
      if (appInfo != null)
         return appInfo;
      // 如果不存在就降低版本号查询
      if (versionCode > 0)
         return getClientVersion(platform, versionCode - 1,system);
      return null;
   }
}