feat: env session 接口 开发
This commit is contained in:
@@ -84,6 +84,8 @@ public enum RCode {
|
|||||||
//environment
|
//environment
|
||||||
ENVIRONMENT_SESSION_NOT_EXIST(601001, "environment session does not exist"),
|
ENVIRONMENT_SESSION_NOT_EXIST(601001, "environment session does not exist"),
|
||||||
ENVIRONMENT_NOT_EXIST(601002, "environment 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.IEnvironmentService;
|
||||||
import net.geedge.asw.module.environment.service.IEnvironmentSessionService;
|
import net.geedge.asw.module.environment.service.IEnvironmentSessionService;
|
||||||
import net.geedge.asw.module.environment.util.EnvironmentUtil;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
@@ -34,6 +36,12 @@ public class EnvironmentController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private IEnvironmentSessionService environmentSessionService;
|
private IEnvironmentSessionService environmentSessionService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ISysUserService userService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IWorkspaceService workspaceService;
|
||||||
|
|
||||||
@GetMapping("/{id}")
|
@GetMapping("/{id}")
|
||||||
public R detail(@PathVariable("id") String id) {
|
public R detail(@PathVariable("id") String id) {
|
||||||
EnvironmentEntity entity = environmentService.queryInfo(id);
|
EnvironmentEntity entity = environmentService.queryInfo(id);
|
||||||
@@ -115,4 +123,29 @@ public class EnvironmentController {
|
|||||||
Page page = environmentService.mySession(params);
|
Page page = environmentService.mySession(params);
|
||||||
return R.ok(page);
|
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;
|
package net.geedge.asw.module.environment.entity;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.IdType;
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableField;
|
||||||
import com.baomidou.mybatisplus.annotation.TableId;
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import net.geedge.asw.module.sys.entity.SysUserEntity;
|
||||||
|
import net.geedge.asw.module.workspace.entity.WorkspaceEntity;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@TableName("environment_session")
|
@TableName("environment_session")
|
||||||
@@ -21,4 +24,13 @@ public class EnvironmentSessionEntity {
|
|||||||
|
|
||||||
private String workspaceId;
|
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>{
|
public interface IEnvironmentSessionService extends IService<EnvironmentSessionEntity>{
|
||||||
|
|
||||||
|
EnvironmentSessionEntity saveSession(String envId, String workspaceId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,44 @@
|
|||||||
package net.geedge.asw.module.environment.service.impl;
|
package net.geedge.asw.module.environment.service.impl;
|
||||||
|
|
||||||
|
import cn.dev33.satoken.stp.StpUtil;
|
||||||
import cn.hutool.log.Log;
|
import cn.hutool.log.Log;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
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.dao.EnvironmentSessionDao;
|
||||||
import net.geedge.asw.module.environment.entity.EnvironmentSessionEntity;
|
import net.geedge.asw.module.environment.entity.EnvironmentSessionEntity;
|
||||||
import net.geedge.asw.module.environment.service.IEnvironmentSessionService;
|
import net.geedge.asw.module.environment.service.IEnvironmentSessionService;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class EnvironmentSessionServiceImpl extends ServiceImpl<EnvironmentSessionDao, EnvironmentSessionEntity> implements IEnvironmentSessionService {
|
public class EnvironmentSessionServiceImpl extends ServiceImpl<EnvironmentSessionDao, EnvironmentSessionEntity> implements IEnvironmentSessionService {
|
||||||
|
|
||||||
private static final Log log = Log.get();
|
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 (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 (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 (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;
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user