feat: env session 接口 开发
This commit is contained in:
@@ -84,6 +84,8 @@ public enum RCode {
|
||||
//environment
|
||||
ENVIRONMENT_SESSION_NOT_EXIST(601001, "environment session does not exist"),
|
||||
ENVIRONMENT_NOT_EXIST(601002, "environment does not exist"),
|
||||
ENVIRONMENT_USED(601003, "The environment is already in use"),
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -15,6 +15,8 @@ import net.geedge.asw.module.environment.entity.EnvironmentSessionEntity;
|
||||
import net.geedge.asw.module.environment.service.IEnvironmentService;
|
||||
import net.geedge.asw.module.environment.service.IEnvironmentSessionService;
|
||||
import net.geedge.asw.module.environment.util.EnvironmentUtil;
|
||||
import net.geedge.asw.module.sys.service.ISysUserService;
|
||||
import net.geedge.asw.module.workspace.service.IWorkspaceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@@ -34,6 +36,12 @@ public class EnvironmentController {
|
||||
@Autowired
|
||||
private IEnvironmentSessionService environmentSessionService;
|
||||
|
||||
@Autowired
|
||||
private ISysUserService userService;
|
||||
|
||||
@Autowired
|
||||
private IWorkspaceService workspaceService;
|
||||
|
||||
@GetMapping("/{id}")
|
||||
public R detail(@PathVariable("id") String id) {
|
||||
EnvironmentEntity entity = environmentService.queryInfo(id);
|
||||
@@ -115,4 +123,29 @@ public class EnvironmentController {
|
||||
Page page = environmentService.mySession(params);
|
||||
return R.ok(page);
|
||||
}
|
||||
|
||||
@PostMapping("/{envId}/session")
|
||||
public R saveSession(@PathVariable("envId") String envId, @RequestParam String workspaceId){
|
||||
EnvironmentSessionEntity session = environmentSessionService.saveSession(envId, workspaceId);
|
||||
return R.ok().putData("record", session.getId());
|
||||
}
|
||||
|
||||
@GetMapping("/{envId}/session/{sessionId}")
|
||||
public R querySession(@PathVariable("envId") String envId, @PathVariable("sessionId") String sessionId, @RequestParam String workspaceId){
|
||||
EnvironmentSessionEntity session = environmentSessionService.getOne(new LambdaQueryWrapper<EnvironmentSessionEntity>().eq(EnvironmentSessionEntity::getId, sessionId).eq(EnvironmentSessionEntity::getWorkspaceId, workspaceId));
|
||||
session.setEnv(environmentService.getById(envId));
|
||||
session.setWorkspace(workspaceService.getById(workspaceId));
|
||||
session.setUser(userService.getById(session.getUserId()));
|
||||
return R.ok().putData("record", session);
|
||||
}
|
||||
|
||||
|
||||
@DeleteMapping("/{envId}/session/{sessionId}")
|
||||
public R removeSession(@PathVariable("envId") String envId, @PathVariable("sessionId") String sessionId, @RequestParam String workspaceId){
|
||||
EnvironmentSessionEntity session = environmentSessionService.getById(sessionId);
|
||||
session.setEndTimestamp(System.currentTimeMillis());
|
||||
session.setStatus(2);
|
||||
environmentSessionService.updateById(session);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
package net.geedge.asw.module.environment.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;
|
||||
import net.geedge.asw.module.workspace.entity.WorkspaceEntity;
|
||||
|
||||
@Data
|
||||
@TableName("environment_session")
|
||||
@@ -21,4 +24,13 @@ public class EnvironmentSessionEntity {
|
||||
|
||||
private String workspaceId;
|
||||
|
||||
@TableField(exist = false)
|
||||
private EnvironmentEntity env;
|
||||
|
||||
@TableField(exist = false)
|
||||
private WorkspaceEntity workspace;
|
||||
|
||||
@TableField(exist = false)
|
||||
private SysUserEntity user;
|
||||
|
||||
}
|
||||
@@ -5,4 +5,5 @@ import net.geedge.asw.module.environment.entity.EnvironmentSessionEntity;
|
||||
|
||||
public interface IEnvironmentSessionService extends IService<EnvironmentSessionEntity>{
|
||||
|
||||
EnvironmentSessionEntity saveSession(String envId, String workspaceId);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,44 @@
|
||||
package net.geedge.asw.module.environment.service.impl;
|
||||
|
||||
import cn.dev33.satoken.stp.StpUtil;
|
||||
import cn.hutool.log.Log;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import net.geedge.asw.common.util.ASWException;
|
||||
import net.geedge.asw.common.util.RCode;
|
||||
import net.geedge.asw.common.util.T;
|
||||
import net.geedge.asw.module.environment.dao.EnvironmentSessionDao;
|
||||
import net.geedge.asw.module.environment.entity.EnvironmentSessionEntity;
|
||||
import net.geedge.asw.module.environment.service.IEnvironmentSessionService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class EnvironmentSessionServiceImpl extends ServiceImpl<EnvironmentSessionDao, EnvironmentSessionEntity> implements IEnvironmentSessionService {
|
||||
|
||||
private static final Log log = Log.get();
|
||||
|
||||
@Override
|
||||
public EnvironmentSessionEntity saveSession(String envId, String workspaceId) {
|
||||
|
||||
List<EnvironmentSessionEntity> sessionEntityList = this.list(new LambdaQueryWrapper<EnvironmentSessionEntity>()
|
||||
.eq(EnvironmentSessionEntity::getEnvId, envId)
|
||||
.eq(EnvironmentSessionEntity::getWorkspaceId, workspaceId)
|
||||
.eq(EnvironmentSessionEntity::getStatus, 1));
|
||||
|
||||
if (T.CollectionUtil.isNotEmpty(sessionEntityList)) {
|
||||
throw new ASWException(RCode.ENVIRONMENT_USED);
|
||||
}
|
||||
|
||||
EnvironmentSessionEntity session = new EnvironmentSessionEntity();
|
||||
session.setEnvId(envId);
|
||||
session.setWorkspaceId(workspaceId);
|
||||
session.setStatus(1);
|
||||
session.setStartTimestamp(System.currentTimeMillis());
|
||||
session.setUserId(StpUtil.getLoginIdAsString());
|
||||
|
||||
this.save(session);
|
||||
return session;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,5 +129,8 @@ INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_
|
||||
INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (215, '201017', 'APP_IMPORT_FILE_FORMAT_ERROR', '导入文件格式错误', 'zh', '', 'admin', 1724030366000);
|
||||
INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (217, '401011', 'WORKSPACE_MEMBER_USER_ID_REPEAT', 'Workspace member user repeat', 'en', '', 'admin', 1724030366000);
|
||||
INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (219, '401011', 'WORKSPACE_MEMBER_USER_ID_REPEAT', '工作空间用户重复', 'zh', '', 'admin', 1724030366000);
|
||||
INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (221, '601003', 'ENVIRONMENT_USED', 'The environment is already in use', 'en', '', 'admin', 1724030366000);
|
||||
INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (223, '601003', 'ENVIRONMENT_USED', '环境已在使用中', 'zh', '', 'admin', 1724030366000);
|
||||
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
Reference in New Issue
Block a user