fix: application 接口url增加 workspaceId path 参数
This commit is contained in:
@@ -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 jakarta.servlet.http.HttpServletResponse;
|
||||
import net.geedge.asw.common.util.ASWException;
|
||||
@@ -18,7 +19,7 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/v1/application")
|
||||
@RequestMapping("/api/v1/{workspaceId}/application")
|
||||
public class ApplicationController {
|
||||
|
||||
@Autowired
|
||||
@@ -28,9 +29,12 @@ public class ApplicationController {
|
||||
private ISysUserService userService;
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public R detail(@PathVariable String id) {
|
||||
ApplicationEntity entity = applicationService.getById(id);
|
||||
if (T.ObjectUtil.isNull(entity)){
|
||||
public R detail(@PathVariable String workspaceId,
|
||||
@PathVariable String id) {
|
||||
ApplicationEntity entity = applicationService.getOne(new LambdaQueryWrapper<ApplicationEntity>()
|
||||
.eq(ApplicationEntity::getId, id)
|
||||
.eq(ApplicationEntity::getWorkspaceId, workspaceId));
|
||||
if (T.ObjectUtil.isNull(entity)) {
|
||||
throw new ASWException(RCode.APP_NOT_EXIST);
|
||||
}
|
||||
SysUserEntity createUser = userService.getById(entity.getCreateUserId());
|
||||
@@ -41,13 +45,11 @@ public class ApplicationController {
|
||||
}
|
||||
|
||||
@GetMapping("/{id}/{version}")
|
||||
public R detail(@PathVariable String id,
|
||||
public R detail(@PathVariable String workspaceId,
|
||||
@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)){
|
||||
ApplicationEntity entity = applicationService.queryByApplicationAndLog(id, version, workspaceId);
|
||||
if (T.ObjectUtil.isNull(entity)) {
|
||||
throw new ASWException(RCode.APP_NOT_EXIST);
|
||||
}
|
||||
SysUserEntity createUser = userService.getById(entity.getCreateUserId());
|
||||
@@ -59,29 +61,34 @@ public class ApplicationController {
|
||||
|
||||
|
||||
@GetMapping
|
||||
public R list(@RequestParam Map<String, Object> params) {
|
||||
public R list(@PathVariable String workspaceId,
|
||||
@RequestParam Map<String, Object> params) {
|
||||
T.VerifyUtil.is(params).notNull()
|
||||
.and(T.MapUtil.getStr(params, "workspaceId")).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
params.put("workspaceId", workspaceId);
|
||||
Page page = applicationService.queryList(params);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
public R add(@RequestBody ApplicationEntity entity) {
|
||||
public R add(@PathVariable String workspaceId,
|
||||
@RequestBody ApplicationEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getName()).notEmpty(RCode.APP_NAME_CANNOT_EMPTY)
|
||||
//.and(entity.getLongName()).notEmpty(RCode.APP_LONGNAME_CANNOT_EMPTY)
|
||||
//.and(entity.getProperties()).notEmpty(RCode.APP_PROPERTIES_CANNOT_EMPTY)
|
||||
//.and(entity.getSurrogates()).notEmpty(RCode.APP_SURROGATES_CANNOT_EMPTY)
|
||||
//.and(entity.getDescription()).notEmpty(RCode.APP_DESCRIPTION_CANNOT_EMPTY)
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
ApplicationEntity applicationEntity = applicationService.saveApplication(entity);
|
||||
return R.ok().putData("id", applicationEntity.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
public R update(@RequestBody ApplicationEntity entity) {
|
||||
public R update(@PathVariable String workspaceId,
|
||||
@RequestBody ApplicationEntity entity) {
|
||||
T.VerifyUtil.is(entity).notNull()
|
||||
.and(entity.getId()).notEmpty(RCode.ID_CANNOT_EMPTY)
|
||||
.and(entity.getName()).notEmpty(RCode.NAME_CANNOT_EMPTY)
|
||||
@@ -89,44 +96,48 @@ public class ApplicationController {
|
||||
//.and(entity.getProperties()).notEmpty(RCode.APP_PROPERTIES_CANNOT_EMPTY)
|
||||
//.and(entity.getSurrogates()).notEmpty(RCode.APP_SURROGATES_CANNOT_EMPTY)
|
||||
//.and(entity.getDescription()).notEmpty(RCode.APP_DESCRIPTION_CANNOT_EMPTY)
|
||||
.and(entity.getWorkspaceId()).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
|
||||
.and(workspaceId).notEmpty(RCode.WORKSPACE_ID_CANNOT_EMPTY);
|
||||
entity.setWorkspaceId(workspaceId);
|
||||
ApplicationEntity applicationEntity = applicationService.updateApplication(entity);
|
||||
return R.ok().putData("id", applicationEntity.getId());
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
public R delete(String[] ids) {
|
||||
public R delete(@PathVariable String workspaceId,
|
||||
String[] ids) {
|
||||
T.VerifyUtil.is(ids).notEmpty();
|
||||
applicationService.removeApplication(T.ListUtil.of(ids));
|
||||
applicationService.removeApplication(T.ListUtil.of(ids), workspaceId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/{id}/log")
|
||||
public R queryLogList(@PathVariable("id") String id) {
|
||||
List<ApplicationEntity> applicationEntityList = applicationService.queryLogList(id);
|
||||
public R queryLogList(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id) {
|
||||
List<ApplicationEntity> applicationEntityList = applicationService.queryLogList(id, workspaceId);
|
||||
return R.ok().putData("record", applicationEntityList);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/{id}/{oldVersion}/{newVersion}")
|
||||
public R applicationCompare(@PathVariable("id") String id,
|
||||
public R applicationCompare(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id,
|
||||
@PathVariable("oldVersion") String oldVersion,
|
||||
@PathVariable("newVersion") String newVersion) {
|
||||
List<ApplicationEntity> list = applicationService.compare(id, oldVersion, newVersion);
|
||||
List<ApplicationEntity> list = applicationService.compare(id, oldVersion, newVersion,workspaceId);
|
||||
return R.ok().putData("record", list);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/{id}/{version}/restore")
|
||||
public R restore(@PathVariable("id") String id,
|
||||
public R restore(@PathVariable String workspaceId,
|
||||
@PathVariable("id") String id,
|
||||
@PathVariable("version") String version) {
|
||||
applicationService.restore(id, version);
|
||||
applicationService.restore(id, version, workspaceId);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@GetMapping("/analyze")
|
||||
public void analyze(@RequestParam String workspaceId,
|
||||
public void analyze(@PathVariable String workspaceId,
|
||||
@RequestParam String pcapIds,
|
||||
HttpServletResponse response) throws IOException {
|
||||
applicationService.redirectDiscoverPage(workspaceId, pcapIds, response);
|
||||
|
||||
@@ -15,10 +15,10 @@ public interface ApplicationDao extends BaseMapper<ApplicationEntity>{
|
||||
|
||||
List<ApplicationEntity> queryList(Page page, Map<String, Object> 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);
|
||||
@Select("select * from ( select * from application union select * from application_log ) app where app.id = #{id} and app.op_version = #{version} and app.workspace_id = #{workspaceId}")
|
||||
ApplicationEntity queryByApplicationAndLog(String id, String version, String workspaceId);
|
||||
|
||||
List<ApplicationEntity> queryLogList(String id);
|
||||
List<ApplicationEntity> queryLogList(String id, String workspaceId);
|
||||
|
||||
List<ApplicationEntity> compare(@Param("params") Map<String, Object> params);
|
||||
|
||||
|
||||
@@ -17,15 +17,15 @@ public interface IApplicationService extends IService<ApplicationEntity>{
|
||||
|
||||
ApplicationEntity updateApplication(ApplicationEntity entity);
|
||||
|
||||
void removeApplication(List<String> ids);
|
||||
void removeApplication(List<String> ids, String workspaceId);
|
||||
|
||||
ApplicationEntity queryByApplicationAndLog(String id, String version);
|
||||
ApplicationEntity queryByApplicationAndLog(String id, String version, String workspaceId);
|
||||
|
||||
List<ApplicationEntity> compare(String id, String oldVersion, String newVersion);
|
||||
List<ApplicationEntity> compare(String id, String oldVersion, String newVersion, String workspaceId);
|
||||
|
||||
List<ApplicationEntity> queryLogList(String id);
|
||||
List<ApplicationEntity> queryLogList(String id, String workspaceId);
|
||||
|
||||
void restore(String id, String version);
|
||||
void restore(String id, String version, String workspaceId);
|
||||
|
||||
void redirectDiscoverPage(String workspaceId, String pcapIds, HttpServletResponse response) throws IOException;
|
||||
|
||||
|
||||
@@ -56,8 +56,8 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationDao, Applicat
|
||||
private KibanaClient kibanaClient;
|
||||
|
||||
@Override
|
||||
public ApplicationEntity queryByApplicationAndLog(String id, String version) {
|
||||
ApplicationEntity entity = this.baseMapper.queryByApplicationAndLog(id, version);
|
||||
public ApplicationEntity queryByApplicationAndLog(String id, String version, String workspaceId) {
|
||||
ApplicationEntity entity = this.baseMapper.queryByApplicationAndLog(id, version, workspaceId);
|
||||
return entity;
|
||||
}
|
||||
|
||||
@@ -122,21 +122,25 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationDao, Applicat
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void removeApplication(List<String> ids) {
|
||||
public void removeApplication(List<String> ids, String workspaceId) {
|
||||
// remove
|
||||
this.removeBatchByIds(ids);
|
||||
applicationLogService.removeBatchByIds(ids);
|
||||
this.remove(new LambdaQueryWrapper<ApplicationEntity>()
|
||||
.in(ApplicationEntity::getId, ids)
|
||||
.eq(ApplicationEntity::getWorkspaceId, workspaceId));
|
||||
applicationLogService.remove(new LambdaQueryWrapper<ApplicationLogEntity>()
|
||||
.in(ApplicationLogEntity::getId, ids)
|
||||
.eq(ApplicationLogEntity::getWorkspaceId, workspaceId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ApplicationEntity> queryLogList(String id) {
|
||||
List<ApplicationEntity> packageList = this.getBaseMapper().queryLogList(id);
|
||||
public List<ApplicationEntity> queryLogList(String id, String workspaceId) {
|
||||
List<ApplicationEntity> packageList = this.getBaseMapper().queryLogList(id, workspaceId);
|
||||
return packageList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ApplicationEntity> compare(String id, String oldVersion, String newVersion) {
|
||||
Map<String, Object> params = Map.of("id", id, "versions", Arrays.asList(oldVersion, newVersion));
|
||||
public List<ApplicationEntity> compare(String id, String oldVersion, String newVersion, String workspaceId) {
|
||||
Map<String, Object> params = Map.of("id", id, "versions", Arrays.asList(oldVersion, newVersion),"workspaceId",workspaceId);
|
||||
List<ApplicationEntity> packageList = this.getBaseMapper().compare(params);
|
||||
return packageList;
|
||||
}
|
||||
@@ -144,13 +148,16 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationDao, Applicat
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void restore(String id, String version) {
|
||||
public void restore(String id, String version, String workspaceId) {
|
||||
// save current to log
|
||||
ApplicationEntity curApplication = this.getById(id);
|
||||
ApplicationEntity curApplication = this.getOne(new LambdaQueryWrapper<ApplicationEntity>()
|
||||
.eq(ApplicationEntity::getId, id)
|
||||
.eq(ApplicationEntity::getWorkspaceId, workspaceId));
|
||||
this.saveApplcationToLog(curApplication);
|
||||
// restore
|
||||
ApplicationLogEntity oldApplication = applicationLogService.getOne(new LambdaQueryWrapper<ApplicationLogEntity>()
|
||||
.eq(ApplicationLogEntity::getId, id)
|
||||
.eq(ApplicationLogEntity::getWorkspaceId, workspaceId)
|
||||
.eq(ApplicationLogEntity::getOpVersion, version));
|
||||
|
||||
oldApplication.setUpdateTimestamp(System.currentTimeMillis());
|
||||
|
||||
@@ -76,6 +76,9 @@
|
||||
<if test="id != null and id != ''">
|
||||
AND app.id = #{id}
|
||||
</if>
|
||||
<if test="workspaceId != null and workspaceId != ''">
|
||||
AND app.workspace_id = #{workspaceId}
|
||||
</if>
|
||||
</where>
|
||||
ORDER BY app.op_version DESC
|
||||
</select>
|
||||
@@ -101,6 +104,9 @@
|
||||
<if test="params.id != null and params.id != ''">
|
||||
AND app.id = #{params.id}
|
||||
</if>
|
||||
<if test="params.workspaceId != null and params.workspaceId != ''">
|
||||
AND app.workspace_id = #{params.workspaceId}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user