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;
|
}
|
|
@Override
|
public AppVersionInfo getClientVersion(String platform, int versionCode) {
|
AppVersionInfo appInfo = getAppVersionInfoListByPlatformAndVersion(platform, versionCode);
|
if (appInfo != null)
|
return appInfo;
|
// 如果不存在就降低版本号查询
|
if (versionCode > 0)
|
return getClientVersion(platform, versionCode - 1);
|
|
return null;
|
}
|
}
|