From a712b5be1d79a294f105c0098713207e83c2f1ef Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 10 Dec 2024 11:33:41 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TbVersionController.java | 7 ++++ .../ysk/cashier/service/TbVersionService.java | 2 + .../service/impl/TbVersionServiceImpl.java | 40 ++++++++++--------- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java index 7eb2f419..157162b9 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/controller/TbVersionController.java @@ -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 findBySource(String source){ + return new ResponseEntity<>(tbVersionService.findBySource(source),HttpStatus.OK); + } + @PostMapping @Log("版本管理 新增") @ApiOperation("新增版本") diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbVersionService.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbVersionService.java index decc3ddc..5da5ace0 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/TbVersionService.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/TbVersionService.java @@ -32,6 +32,8 @@ public interface TbVersionService { */ List queryAll(TbVersionQueryCriteria criteria); + TbVersion findBySource(String source); + /** * 根据ID查询 * @param id ID diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbVersionServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbVersionServiceImpl.java index 58ff97b2..91fcabab 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbVersionServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/TbVersionServiceImpl.java @@ -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 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 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()); -// } } }