diff --git a/src/main/java/net/geedge/asw/module/app/controller/ApplicationController.java b/src/main/java/net/geedge/asw/module/app/controller/ApplicationController.java index 608f52c..97d2d9c 100644 --- a/src/main/java/net/geedge/asw/module/app/controller/ApplicationController.java +++ b/src/main/java/net/geedge/asw/module/app/controller/ApplicationController.java @@ -1,5 +1,6 @@ package net.geedge.asw.module.app.controller; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import net.geedge.asw.common.util.R; import net.geedge.asw.common.util.RCode; @@ -22,12 +23,16 @@ public class ApplicationController { @Autowired private IApplicationLogService applicationLogService; - @GetMapping("/{id}") - public R detail(@PathVariable("id") String id) { + @GetMapping("/{id}/{version}") + public R detail(@PathVariable("id") String id, @PathVariable(value = "version",required = false) String version) { ApplicationEntity entity = applicationService.getById(id); + if (T.StrUtil.isNotEmpty(version)){ + entity = applicationService.queryByApplicationAndLog(id, version); + } return R.ok().putData("record", entity); } + @GetMapping public R list(@RequestParam Map params) { T.VerifyUtil.is(params).notNull() diff --git a/src/main/java/net/geedge/asw/module/app/dao/ApplicationDao.java b/src/main/java/net/geedge/asw/module/app/dao/ApplicationDao.java index f1c6954..f5c91aa 100644 --- a/src/main/java/net/geedge/asw/module/app/dao/ApplicationDao.java +++ b/src/main/java/net/geedge/asw/module/app/dao/ApplicationDao.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import net.geedge.asw.module.app.entity.ApplicationEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; import java.util.List; import java.util.Map; @@ -12,4 +13,7 @@ import java.util.Map; public interface ApplicationDao extends BaseMapper{ List queryList(Page page, Map params); + + @Select("select * from ( select * from application union select * from application_log ) app where app.id = #{id} and app.op_version = #{version}") + ApplicationEntity queryByApplicationAndLog(String id, String version); } diff --git a/src/main/java/net/geedge/asw/module/app/service/IApplicationService.java b/src/main/java/net/geedge/asw/module/app/service/IApplicationService.java index 5aa6f29..521296c 100644 --- a/src/main/java/net/geedge/asw/module/app/service/IApplicationService.java +++ b/src/main/java/net/geedge/asw/module/app/service/IApplicationService.java @@ -17,4 +17,5 @@ public interface IApplicationService extends IService{ void removeApplication(List ids); + ApplicationEntity queryByApplicationAndLog(String id, String version); } diff --git a/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationServiceImpl.java b/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationServiceImpl.java index ec46f11..a67fb12 100644 --- a/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationServiceImpl.java @@ -24,6 +24,12 @@ public class ApplicationServiceImpl extends ServiceImpl params) { Page page = T.PageUtil.getPage(params);