perf: 加强版本校验,删除apk联动删除patch

dev
huangfeng 19 hours ago
parent 383d6a8833
commit 500733efcb

@ -105,4 +105,28 @@ public class UpgradePatchServiceImpl implements UpgradePatchService {
patchMapper.deleteByPrimaryKey(id); patchMapper.deleteByPrimaryKey(id);
new File(patchpath + record.getPath()).delete(); new File(patchpath + record.getPath()).delete();
} }
@Override
public void delete(String app, String version) throws Exception {
MntnUpgradesPatchExample example = new MntnUpgradesPatchExample();
MntnUpgradesPatchExample.Criteria criteria = example.createCriteria();
criteria.andAppEqualTo(app);
criteria.andOldVerEqualTo(version);
List<MntnUpgradesPatch> list = patchMapper.selectByExample(example);
if (!CollectionUtils.isEmpty(list)) {
for (MntnUpgradesPatch item : list) {
this.delete(item.getId());
}
}
criteria = example.createCriteria();
criteria.andAppEqualTo(app);
criteria.andNewVerEqualTo(version);
list = patchMapper.selectByExample(example);
if (!CollectionUtils.isEmpty(list)) {
for (MntnUpgradesPatch item : list) {
this.delete(item.getId());
}
}
}
} }

@ -13,6 +13,7 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -55,6 +56,16 @@ public class UpgradeServiceImpl implements UpgradeService {
@Override @Override
public boolean upload(MntnUpgrades item, MultipartFile file) throws Exception { public boolean upload(MntnUpgrades item, MultipartFile file) throws Exception {
if (StringUtils.hasLength(item.getApp()) && StringUtils.hasLength(item.getVersion())) {
MntnUpgradesExample example = new MntnUpgradesExample();
MntnUpgradesExample.Criteria criteria = example.createCriteria();
criteria.andAppEqualTo(item.getApp());
criteria.andVersionEqualTo(item.getVersion());
List<MntnUpgrades> list = mapper.selectByExample(example);
if (!CollectionUtils.isEmpty(list)) {
throw new ApiException("该版本已存在");
}
}
String fileName = file.getOriginalFilename(); String fileName = file.getOriginalFilename();
String ext = StringUtils.getFilenameExtension(fileName); String ext = StringUtils.getFilenameExtension(fileName);
String path = DateUtil.format(new Date(), "yyyyMMdd") + "_upd_" String path = DateUtil.format(new Date(), "yyyyMMdd") + "_upd_"
@ -93,5 +104,8 @@ public class UpgradeServiceImpl implements UpgradeService {
MntnUpgrades record = mapper.selectByPrimaryKey(id); MntnUpgrades record = mapper.selectByPrimaryKey(id);
mapper.deleteByPrimaryKey(id); mapper.deleteByPrimaryKey(id);
new File(apkpath + record.getPath()).delete(); new File(apkpath + record.getPath()).delete();
if (StringUtils.hasLength(record.getApp()) && StringUtils.hasLength(record.getVersion())) {
patchService.delete(record.getApp(), record.getVersion());
}
} }
} }

@ -13,4 +13,6 @@ public interface UpgradePatchService {
void delete(Integer id) throws Exception; void delete(Integer id) throws Exception;
void delete(String app, String version) throws Exception;
} }

Loading…
Cancel
Save