版本查询

This commit is contained in:
2024-12-10 11:33:41 +08:00
parent c82dcd3496
commit a712b5be1d
3 changed files with 31 additions and 18 deletions

View File

@@ -1,6 +1,7 @@
package cn.ysk.cashier.controller;
import cn.ysk.cashier.annotation.Log;
import cn.ysk.cashier.annotation.rest.AnonymousGetMapping;
import cn.ysk.cashier.dto.TbVersionQueryCriteria;
import cn.ysk.cashier.pojo.TbVersion;
import cn.ysk.cashier.service.TbVersionService;
@@ -27,6 +28,12 @@ public class TbVersionController {
return new ResponseEntity<>(tbVersionService.queryAllPage(criteria),HttpStatus.OK);
}
@GetMapping("findBySource")
@ApiOperation("查询所属渠道升级版本")
public ResponseEntity<Object> findBySource(String source){
return new ResponseEntity<>(tbVersionService.findBySource(source),HttpStatus.OK);
}
@PostMapping
@Log("版本管理 新增")
@ApiOperation("新增版本")

View File

@@ -32,6 +32,8 @@ public interface TbVersionService {
*/
List<TbVersionDto> queryAll(TbVersionQueryCriteria criteria);
TbVersion findBySource(String source);
/**
* 根据ID查询
* @param id ID

View File

@@ -8,17 +8,21 @@ import cn.ysk.cashier.pojo.TbVersion;
import cn.ysk.cashier.repository.TbVersionRepository;
import cn.ysk.cashier.service.TbVersionService;
import cn.ysk.cashier.utils.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.criteria.Predicate;
import java.time.Instant;
import java.util.List;
import java.util.Map;
import java.util.Optional;
/**
* @author ww
@@ -47,6 +51,22 @@ public class TbVersionServiceImpl implements TbVersionService {
return tbVersionMapper.toDto(tbVersionRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)));
}
@Override
public TbVersion findBySource(String source) {
Specification<TbVersion> spec = (root, criteriaQuery, criteriaBuilder) -> {
Predicate param1 = criteriaBuilder.equal(root.get("source"), source);
Predicate param2 = criteriaBuilder.equal(root.get("sel"), 1);
// 使用or方法将两个条件组合起来表示满足其中一个条件即可
return criteriaBuilder.and(param1, param2);
};
Optional<TbVersion> one = tbVersionRepository.findOne(spec);
if(one.isPresent()){
return one.get();
}else {
return null;
}
}
@Override
@Transactional
public TbVersionDto findById(Integer id) {
@@ -58,17 +78,12 @@ public class TbVersionServiceImpl implements TbVersionService {
@Override
@Transactional(rollbackFor = Exception.class)
public TbVersionDto create(TbVersion resources) {
int exist = tbVersionRepository.isExist(resources.getSource(), resources.getVersion());
int exist = tbVersionRepository.isExist(resources.getSource(), resources.getVersion());
if (exist > 0) {
throw new BadRequestException("该版本已存在。");
}
resources.setCreatedAt(Instant.now().toEpochMilli());
TbVersionDto dto = tbVersionMapper.toDto(tbVersionRepository.save(resources));
// if (dto.getIsUp() == 1) {
// //产品标识:型号:版本
// //VERSION:PC::version 存在即需要强制更新
// redisUtils.set(CacheKey.VERSION + dto.getSource() + ":" + dto.getVersion(), dto);
// }
return dto;
}
@@ -77,23 +92,15 @@ public class TbVersionServiceImpl implements TbVersionService {
public void update(TbVersion resources) {
TbVersion tbVersion = tbVersionRepository.findById(resources.getId()).orElseGet(TbVersion::new);
ValidationUtil.isNull(tbVersion.getId(), "TbVersion", "id", resources.getId());
// redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion());
tbVersion.copy(resources);
tbVersion.setUpdatedAt(Instant.now().toEpochMilli());
tbVersionRepository.save(tbVersion);
// if (resources.getIsUp() == 1) {
// //产品标识:型号:版本
// //LDBL_APP_VERSION:ios:version 存在即需要强制更新
// redisUtils.set(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion(), tbVersion.getMessage());
// } else {
// redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion());
// }
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateSel(TbVersion resources) {
tbVersionRepository.updateSelBySource(resources.getSource(),resources.getId());
tbVersionRepository.updateSelBySource(resources.getSource(), resources.getId());
}
@Override
@@ -102,9 +109,6 @@ public class TbVersionServiceImpl implements TbVersionService {
TbVersion tbVersion = tbVersionRepository.findById(id).orElseGet(TbVersion::new);
ValidationUtil.isNull(tbVersion.getId(), "TbVersion", "id", id);
tbVersionRepository.deleteById(id);
// if (tbVersion.getIsUp() == 1) {
// redisUtils.del(tbVersion.getSource() + "_VERSION:" + tbVersion.getType() + ":" + tbVersion.getVersion());
// }
}
}