From d5f6aef383fed6c7ead3dbd01983d055bff03d6c Mon Sep 17 00:00:00 2001 From: zhangshuai Date: Tue, 6 Aug 2024 18:15:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20application=20=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=20user=20=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/controller/ApplicationController.java | 37 +++++++-- .../asw/module/app/dao/ApplicationDao.java | 6 ++ .../asw/module/app/dao/ApplicationLogDao.java | 8 -- .../module/app/entity/ApplicationEntity.java | 8 ++ .../app/entity/ApplicationLogEntity.java | 4 +- .../impl/ApplicationLogServiceImpl.java | 22 ----- .../service/impl/ApplicationServiceImpl.java | 16 ++++ .../db/mapper/app/ApplicationLogMapper.xml | 40 --------- .../db/mapper/app/ApplicationMapper.xml | 82 +++++++++++++++++-- 9 files changed, 138 insertions(+), 85 deletions(-) delete mode 100644 src/main/resources/db/mapper/app/ApplicationLogMapper.xml 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 9fcc94e..4944840 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,16 +1,18 @@ 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.ASWException; import net.geedge.asw.common.util.R; import net.geedge.asw.common.util.RCode; import net.geedge.asw.common.util.T; import net.geedge.asw.module.app.entity.ApplicationEntity; -import net.geedge.asw.module.app.service.IApplicationLogService; import net.geedge.asw.module.app.service.IApplicationService; +import net.geedge.asw.module.sys.entity.SysUserEntity; +import net.geedge.asw.module.sys.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @RestController @@ -21,14 +23,35 @@ public class ApplicationController { private IApplicationService applicationService; @Autowired - private IApplicationLogService applicationLogService; + private ISysUserService userService; + + @GetMapping("/{id}") + public R detail(@PathVariable String id) { + ApplicationEntity entity = applicationService.getById(id); + if (T.ObjectUtil.isNull(entity)){ + throw new ASWException(RCode.APP_NOT_EXIST); + } + SysUserEntity createUser = userService.getById(entity.getCreateUserId()); + SysUserEntity updateUser = userService.getById(entity.getUpdateUserId()); + entity.setCreateUser(createUser); + entity.setUpdateUser(updateUser); + return R.ok().putData("record", entity); + } @GetMapping("/{id}/{version}") - public R detail(@PathVariable("id") String id, @PathVariable(value = "version",required = false) String version) { + public R detail(@PathVariable String id, + @PathVariable(required = false) String version) { ApplicationEntity entity = applicationService.getById(id); if (T.StrUtil.isNotEmpty(version)){ entity = applicationService.queryByApplicationAndLog(id, version); } + if (T.ObjectUtil.isNull(entity)){ + throw new ASWException(RCode.APP_NOT_EXIST); + } + SysUserEntity createUser = userService.getById(entity.getCreateUserId()); + SysUserEntity updateUser = userService.getById(entity.getUpdateUserId()); + entity.setCreateUser(createUser); + entity.setUpdateUser(updateUser); return R.ok().putData("record", entity); } @@ -79,14 +102,14 @@ public class ApplicationController { @GetMapping("/log/{id}") public R queryLogList(@PathVariable("id") String id) { - Page page = applicationLogService.queryList(id); - return R.ok().putData("record", page); + List applicationEntityList = applicationService.queryLogList(id); + return R.ok().putData("record", applicationEntityList); } @GetMapping("/log/{id1}/{id2}") public R applicationCompare(@PathVariable("id1") String id1, @PathVariable("id2") String id2) { - Page page = applicationLogService.compare(id1,id2); + Page page = applicationService.compare(id1, id2); return R.ok().putData("record", page); } } 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 f5c91aa..87ab274 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 @@ -16,4 +16,10 @@ public interface ApplicationDao extends BaseMapper{ @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); + + List queryLogList(String id); + + List compare(Page page, Map params); + + } diff --git a/src/main/java/net/geedge/asw/module/app/dao/ApplicationLogDao.java b/src/main/java/net/geedge/asw/module/app/dao/ApplicationLogDao.java index 48fc3b6..913dcf2 100644 --- a/src/main/java/net/geedge/asw/module/app/dao/ApplicationLogDao.java +++ b/src/main/java/net/geedge/asw/module/app/dao/ApplicationLogDao.java @@ -1,18 +1,10 @@ package net.geedge.asw.module.app.dao; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import net.geedge.asw.module.app.entity.ApplicationLogEntity; import org.apache.ibatis.annotations.Mapper; -import java.util.List; -import java.util.Map; @Mapper public interface ApplicationLogDao extends BaseMapper { - - List queryList(Page page, Map params); - - List compare(Page page, Map params); - } diff --git a/src/main/java/net/geedge/asw/module/app/entity/ApplicationEntity.java b/src/main/java/net/geedge/asw/module/app/entity/ApplicationEntity.java index fc62f68..ab9e3fc 100644 --- a/src/main/java/net/geedge/asw/module/app/entity/ApplicationEntity.java +++ b/src/main/java/net/geedge/asw/module/app/entity/ApplicationEntity.java @@ -1,9 +1,11 @@ package net.geedge.asw.module.app.entity; import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; +import net.geedge.asw.module.sys.entity.SysUserEntity; @Data @TableName("application") @@ -25,4 +27,10 @@ public class ApplicationEntity { private String workspaceId; private Integer opVersion; + @TableField(exist = false) + private SysUserEntity createUser; + + @TableField(exist = false) + private SysUserEntity updateUser; + } \ No newline at end of file diff --git a/src/main/java/net/geedge/asw/module/app/entity/ApplicationLogEntity.java b/src/main/java/net/geedge/asw/module/app/entity/ApplicationLogEntity.java index 48415aa..16a7661 100644 --- a/src/main/java/net/geedge/asw/module/app/entity/ApplicationLogEntity.java +++ b/src/main/java/net/geedge/asw/module/app/entity/ApplicationLogEntity.java @@ -1,14 +1,12 @@ package net.geedge.asw.module.app.entity; -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @Data @TableName("application_log") public class ApplicationLogEntity { - @TableId(type = IdType.ASSIGN_UUID) + private String id; private String name; private String longName; diff --git a/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationLogServiceImpl.java b/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationLogServiceImpl.java index 1eb7757..7dd3dc5 100644 --- a/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationLogServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/app/service/impl/ApplicationLogServiceImpl.java @@ -1,35 +1,13 @@ package net.geedge.asw.module.app.service.impl; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import net.geedge.asw.common.util.T; import net.geedge.asw.module.app.dao.ApplicationLogDao; import net.geedge.asw.module.app.entity.ApplicationLogEntity; import net.geedge.asw.module.app.service.IApplicationLogService; import org.springframework.stereotype.Service; -import java.util.Arrays; -import java.util.List; -import java.util.Map; @Service public class ApplicationLogServiceImpl extends ServiceImpl implements IApplicationLogService { - @Override - public Page queryList(String id) { - Map params = Map.of("id", id); - Page page = T.PageUtil.getPage(params); - List packageList = this.getBaseMapper().queryList(page, params); - page.setRecords(packageList); - return page; - } - - @Override - public Page compare(String id1, String id2) { - Map params = Map.of("ids", Arrays.asList(id1, id2)); - Page page = T.PageUtil.getPage(params); - List packageList = this.getBaseMapper().compare(page, params); - page.setRecords(packageList); - return page; - } } 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 a67fb12..f72f3e1 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 @@ -15,6 +15,7 @@ import net.geedge.asw.module.app.service.IApplicationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -86,4 +87,19 @@ public class ApplicationServiceImpl extends ServiceImpl queryLogList(String id) { + List packageList = this.getBaseMapper().queryLogList(id); + return packageList; + } + + @Override + public Page compare(String id1, String id2) { + Map params = Map.of("ids", Arrays.asList(id1, id2)); + Page page = T.PageUtil.getPage(params); + List packageList = this.getBaseMapper().compare(page, params); + page.setRecords(packageList); + return page; + } } diff --git a/src/main/resources/db/mapper/app/ApplicationLogMapper.xml b/src/main/resources/db/mapper/app/ApplicationLogMapper.xml deleted file mode 100644 index c701328..0000000 --- a/src/main/resources/db/mapper/app/ApplicationLogMapper.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/src/main/resources/db/mapper/app/ApplicationMapper.xml b/src/main/resources/db/mapper/app/ApplicationMapper.xml index 9396a10..4dfc19b 100644 --- a/src/main/resources/db/mapper/app/ApplicationMapper.xml +++ b/src/main/resources/db/mapper/app/ApplicationMapper.xml @@ -2,13 +2,42 @@ + + + + + + + + + + + + + + + + + - SELECT - app.* + app.*, + cu.id as cu_id, + cu.name as cu_name, + uu.id as uu_id, + uu.id as uu_name FROM application app + left join sys_user cu on app.create_user_id = cu.id + left join sys_user uu on app.update_user_id = uu.id app.id in @@ -20,16 +49,59 @@ AND ( locate(#{params.q}, app.name) OR locate(#{params.q}, app.description) ) + + AND app.id = #{params.id} + AND app.workspace_id = #{params.workspaceId} - - GROUP BY - app.id ORDER BY app.id + + + + + \ No newline at end of file