diff --git a/src/main/java/com/yj/earth/aspect/RoleAccessAspect.java b/src/main/java/com/yj/earth/aspect/RoleAccessAspect.java index ec40073..00a751a 100644 --- a/src/main/java/com/yj/earth/aspect/RoleAccessAspect.java +++ b/src/main/java/com/yj/earth/aspect/RoleAccessAspect.java @@ -50,7 +50,7 @@ public class RoleAccessAspect { // 获取用户角色信息 Role role = roleService.getById(user.getRoleId()); if (role == null) { - return ApiResponse.failure("用户角色不存在"); + return ApiResponse.failure("用户未分配角色"); } // 获取注解信息 diff --git a/src/main/java/com/yj/earth/business/controller/RoleMenuController.java b/src/main/java/com/yj/earth/business/controller/RoleMenuController.java index d6fb371..0239d3e 100644 --- a/src/main/java/com/yj/earth/business/controller/RoleMenuController.java +++ b/src/main/java/com/yj/earth/business/controller/RoleMenuController.java @@ -7,7 +7,6 @@ import com.yj.earth.business.service.RoleMenuService; import com.yj.earth.common.util.ApiResponse; import com.yj.earth.dto.roleMenu.AddRoleMenuDto; import com.yj.earth.dto.roleMenu.UpdateMenuDto; -import com.yj.earth.dto.roleOperate.UpdateRoleOperateDto; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; @@ -15,6 +14,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; @@ -48,17 +48,24 @@ public class RoleMenuController { String menu = entry.getKey(); List permissions = entry.getValue(); - if (permissions == null || permissions.isEmpty()) { - continue; + if (permissions == null) { + permissions = new ArrayList<>(); } - // 为每个权限创建一条角色-菜单-权限关联记录 - for (String permission : permissions) { + if (permissions.isEmpty()) { RoleMenu roleMenu = new RoleMenu(); roleMenu.setRoleId(roleId); roleMenu.setMenu(menu); - roleMenu.setPermission(permission); + roleMenu.setPermission(null); roleMenuService.save(roleMenu); + } else { + for (String permission : permissions) { + RoleMenu roleMenu = new RoleMenu(); + roleMenu.setRoleId(roleId); + roleMenu.setMenu(menu); + roleMenu.setPermission(permission); + roleMenuService.save(roleMenu); + } } } } @@ -82,14 +89,14 @@ public class RoleMenuController { return ApiResponse.success(null); } - @Operation(summary = "查询角色权限") + @Operation(summary = "查询角色菜单权限") @PostMapping("/query") - public ApiResponse query(@Parameter(description = "角色权限ID") @RequestParam(required = true) String id) { + public ApiResponse query(@Parameter(description = "角色菜单权限ID") @RequestParam(required = true) String id) { RoleMenu roleMenu = roleMenuService.getById(id); return ApiResponse.success(roleMenu); } - @Operation(summary = "查询所有方案") + @Operation(summary = "所有角色菜单权限") @PostMapping("/list") public ApiResponse list(@Parameter(description = "分页数量") @RequestParam(value = "pageNum") Integer pageNum, @Parameter(description = "分页大小") @RequestParam(value = "pageSize") Integer pageSize) { diff --git a/src/main/java/com/yj/earth/business/controller/RoleOperateController.java b/src/main/java/com/yj/earth/business/controller/RoleOperateController.java index 9caa5bf..c3b1a7d 100644 --- a/src/main/java/com/yj/earth/business/controller/RoleOperateController.java +++ b/src/main/java/com/yj/earth/business/controller/RoleOperateController.java @@ -52,14 +52,14 @@ public class RoleOperateController { return ApiResponse.success(null); } - @Operation(summary = "查询角色权限") + @Operation(summary = "查询角色操作权限") @PostMapping("/query") - public ApiResponse query(@Parameter(description = "角色权限ID") @RequestParam(required = true) String id) { + public ApiResponse query(@Parameter(description = "角色操作权限ID") @RequestParam(required = true) String id) { RoleOperate roleOperate = roleOperateService.getById(id); return ApiResponse.success(roleOperate); } - @Operation(summary = "查询所有方案") + @Operation(summary = "所有角色操作权限") @PostMapping("/list") public ApiResponse list(@Parameter(description = "分页数量") @RequestParam(value = "pageNum") Integer pageNum, @Parameter(description = "分页大小") @RequestParam(value = "pageSize") Integer pageSize) { diff --git a/src/main/java/com/yj/earth/business/controller/TsEventController.java b/src/main/java/com/yj/earth/business/controller/TsEventController.java new file mode 100644 index 0000000..a8db49a --- /dev/null +++ b/src/main/java/com/yj/earth/business/controller/TsEventController.java @@ -0,0 +1,59 @@ +package com.yj.earth.business.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.yj.earth.business.domain.TsEvent; +import com.yj.earth.business.service.TsEventService; +import com.yj.earth.common.util.ApiResponse; +import com.yj.earth.dto.tsEvent.AddTsEventDto; +import com.yj.earth.dto.tsEvent.UpdateTsEventDto; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.BeanUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + + +@Tag(name = "态势事件管理") +@RestController +@RequestMapping("/tsEvent") +public class TsEventController { + @Resource + private TsEventService tsEventService; + + @PostMapping("/add") + @Operation(summary = "添加态势事件") + public ApiResponse add(@RequestBody AddTsEventDto addTsEventDto) { + TsEvent tsEvent = new TsEvent(); + BeanUtils.copyProperties(addTsEventDto, tsEvent); + tsEventService.save(tsEvent); + return ApiResponse.success(null); + } + + @PostMapping("/delete") + @Operation(summary = "删除态势事件") + public ApiResponse delete(@Parameter(description = "态势事件ID") @RequestParam(required = true) String id) { + tsEventService.removeById(id); + return ApiResponse.success(null); + } + + @PostMapping("/update") + @Operation(summary = "修改态势事件") + public ApiResponse update(@RequestBody UpdateTsEventDto updateTsEventDto) { + TsEvent tsEvent = new TsEvent(); + BeanUtils.copyProperties(updateTsEventDto, tsEvent); + return ApiResponse.success(null); + } + + @GetMapping("/query") + @Operation(summary = "查询某个态势方案下资源下的事件") + public ApiResponse query( + @Parameter(description = "态势方案ID") @RequestParam(required = true) String planId, + @Parameter(description = "态势资源ID") @RequestParam(required = true) String sourceId) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TsEvent::getPlanId, planId); + queryWrapper.eq(TsEvent::getSourceId, sourceId); + return ApiResponse.success(tsEventService.list(queryWrapper)); + } +} diff --git a/src/main/java/com/yj/earth/business/controller/TsSourceController.java b/src/main/java/com/yj/earth/business/controller/TsSourceController.java new file mode 100644 index 0000000..e63c957 --- /dev/null +++ b/src/main/java/com/yj/earth/business/controller/TsSourceController.java @@ -0,0 +1,55 @@ +package com.yj.earth.business.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.yj.earth.business.domain.TsSource; +import com.yj.earth.business.service.TsSourceService; +import com.yj.earth.common.util.ApiResponse; +import com.yj.earth.dto.tsSource.AddTsSourceDto; +import com.yj.earth.dto.tsSource.UpdateTsSourceDto; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.beans.BeanUtils; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Tag(name = "态势资源管理") +@RestController +@RequestMapping("/tsSource") +public class TsSourceController { + @Resource + private TsSourceService tsSourceService; + + @PostMapping("/add") + @Operation(summary = "添加态势资源") + public ApiResponse add(@RequestBody AddTsSourceDto addTsSourceDto) { + TsSource tsSource = new TsSource(); + BeanUtils.copyProperties(addTsSourceDto, tsSource); + tsSourceService.save(tsSource); + return ApiResponse.success(null); + } + + @Operation(summary = "删除态势资源") + @PostMapping("/delete") + public ApiResponse delete(@Parameter(description = "态势资源ID") @RequestParam(required = true) String id) { + tsSourceService.removeById(id); + return ApiResponse.success(null); + } + + @Operation(summary = "修改态势资源") + @PostMapping("/update") + public ApiResponse update(@RequestBody UpdateTsSourceDto updateTsSourceDto) { + TsSource tsSource = new TsSource(); + BeanUtils.copyProperties(updateTsSourceDto, tsSource); + return ApiResponse.success(null); + } + + @Operation(summary = "查询某个方案下的态势资源") + @PostMapping("/query") + public ApiResponse query(@Parameter(description = "态势方案ID") @RequestParam(required = true) String id) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(TsSource::getPlanId, id); + return ApiResponse.success(tsSourceService.list(queryWrapper)); + } +} diff --git a/src/main/java/com/yj/earth/business/controller/UserController.java b/src/main/java/com/yj/earth/business/controller/UserController.java index d10a23e..e093521 100644 --- a/src/main/java/com/yj/earth/business/controller/UserController.java +++ b/src/main/java/com/yj/earth/business/controller/UserController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.yj.earth.annotation.RoleAccess; +import com.yj.earth.business.domain.Role; import com.yj.earth.business.domain.RoleMenu; import com.yj.earth.business.domain.RoleOperate; import com.yj.earth.business.domain.User; @@ -189,4 +190,25 @@ public class UserController { userService.updateById(user); return ApiResponse.success(null); } + + @Operation(summary = "当前用户是否为管理员") + @GetMapping("/isAdmin") + public ApiResponse isAdmin() { + // 获取用户ID + String userId = StpUtil.getLoginIdAsString(); + // 查询用户角色名称 + User user = userService.getById(userId); + if (user == null) { + return ApiResponse.failure("用户不存在"); + } + // 查询角色名称 + Role role = roleService.getById(user.getRoleId()); + if (role == null) { + return ApiResponse.failure("角色不存在"); + } + if (role.getIsSuper() == 1) { + return ApiResponse.success(true); + } + return ApiResponse.success(false); + } } diff --git a/src/main/java/com/yj/earth/business/domain/Icon.java b/src/main/java/com/yj/earth/business/domain/Icon.java index ce4f3b9..21cb712 100644 --- a/src/main/java/com/yj/earth/business/domain/Icon.java +++ b/src/main/java/com/yj/earth/business/domain/Icon.java @@ -1,5 +1,7 @@ package com.yj.earth.business.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; @@ -24,7 +26,9 @@ public class Icon { @Schema(description = "图标视图") private String view; @Schema(description = "创建时间") + @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; @Schema(description = "更新时间") + @TableField(fill = FieldFill.UPDATE) private LocalDateTime updatedAt; } diff --git a/src/main/java/com/yj/earth/business/domain/IconLibrary.java b/src/main/java/com/yj/earth/business/domain/IconLibrary.java index 370009c..9051f41 100644 --- a/src/main/java/com/yj/earth/business/domain/IconLibrary.java +++ b/src/main/java/com/yj/earth/business/domain/IconLibrary.java @@ -9,23 +9,12 @@ import java.io.Serializable; import java.time.LocalDateTime; import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; -/** - *

- * - *

- * - * @author 周志雄 - * @since 2025-09-24 - */ -@Getter -@Setter -@Accessors(chain = true) -@TableName("icon_library") -@Schema(name = "IconLibrary", description = "") +@Data public class IconLibrary implements Serializable { private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/yj/earth/business/domain/IconType.java b/src/main/java/com/yj/earth/business/domain/IconType.java index fe7debb..72b253d 100644 --- a/src/main/java/com/yj/earth/business/domain/IconType.java +++ b/src/main/java/com/yj/earth/business/domain/IconType.java @@ -1,5 +1,7 @@ package com.yj.earth.business.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -16,7 +18,9 @@ public class IconType { @Schema(description = "树形索引") private Integer treeIndex; @Schema(description = "创建时间") + @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; @Schema(description = "更新时间") + @TableField(fill = FieldFill.UPDATE) private LocalDateTime updatedAt; } diff --git a/src/main/java/com/yj/earth/business/domain/Matter.java b/src/main/java/com/yj/earth/business/domain/Matter.java index 46990b1..7d69c5f 100644 --- a/src/main/java/com/yj/earth/business/domain/Matter.java +++ b/src/main/java/com/yj/earth/business/domain/Matter.java @@ -5,37 +5,30 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import java.io.Serializable; +import java.time.LocalDateTime; + import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; -/** - *

- * - *

- * - * @author 周志雄 - * @since 2025-10-30 - */ -@Getter -@Setter -@Accessors(chain = true) -@Schema(name = "Matter", description = "") +@Data public class Matter implements Serializable { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.ASSIGN_UUID) + @Schema(description = "主键") private String id; - + @Schema(description = "名称") private String name; - + @Schema(description = "数量") private Integer num; - + @Schema(description = "创建时间") @TableField(fill = FieldFill.INSERT) - private String createdAt; - + private LocalDateTime createdAt; + @Schema(description = "更新时间") @TableField(fill = FieldFill.UPDATE) - private String updatedAt; + private LocalDateTime updatedAt; } diff --git a/src/main/java/com/yj/earth/business/domain/Military.java b/src/main/java/com/yj/earth/business/domain/Military.java index 5858dab..e54f03d 100644 --- a/src/main/java/com/yj/earth/business/domain/Military.java +++ b/src/main/java/com/yj/earth/business/domain/Military.java @@ -1,5 +1,7 @@ package com.yj.earth.business.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; @@ -22,7 +24,9 @@ public class Military { @Schema(description = "军标数据") private byte[] militaryData; @Schema(description = "创建时间") + @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; @Schema(description = "更新时间") + @TableField(fill = FieldFill.UPDATE) private LocalDateTime updatedAt; } diff --git a/src/main/java/com/yj/earth/business/domain/MilitaryType.java b/src/main/java/com/yj/earth/business/domain/MilitaryType.java index ecf43f8..951ca3d 100644 --- a/src/main/java/com/yj/earth/business/domain/MilitaryType.java +++ b/src/main/java/com/yj/earth/business/domain/MilitaryType.java @@ -1,5 +1,7 @@ package com.yj.earth.business.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -16,7 +18,9 @@ public class MilitaryType { @Schema(description = "树形索引") private Integer treeIndex; @Schema(description = "创建时间") + @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; @Schema(description = "更新时间") + @TableField(fill = FieldFill.UPDATE) private LocalDateTime updatedAt; } diff --git a/src/main/java/com/yj/earth/business/domain/Model.java b/src/main/java/com/yj/earth/business/domain/Model.java index 76a3dff..8b6a97a 100644 --- a/src/main/java/com/yj/earth/business/domain/Model.java +++ b/src/main/java/com/yj/earth/business/domain/Model.java @@ -1,5 +1,7 @@ package com.yj.earth.business.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; @@ -30,7 +32,9 @@ public class Model { @Schema(description = "模型数据URL") private String modelUrl; @Schema(description = "创建时间") + @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; @Schema(description = "更新时间") + @TableField(fill = FieldFill.UPDATE) private LocalDateTime updatedAt; } diff --git a/src/main/java/com/yj/earth/business/domain/ModelType.java b/src/main/java/com/yj/earth/business/domain/ModelType.java index e26f415..3ad65d2 100644 --- a/src/main/java/com/yj/earth/business/domain/ModelType.java +++ b/src/main/java/com/yj/earth/business/domain/ModelType.java @@ -1,5 +1,7 @@ package com.yj.earth.business.domain; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -16,7 +18,9 @@ public class ModelType { @Schema(description = "树状索引") private Integer treeIndex; @Schema(description = "创建时间") + @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; @Schema(description = "更新时间") + @TableField(fill = FieldFill.UPDATE) private LocalDateTime updatedAt; } diff --git a/src/main/java/com/yj/earth/business/domain/TsEvent.java b/src/main/java/com/yj/earth/business/domain/TsEvent.java new file mode 100644 index 0000000..998cf64 --- /dev/null +++ b/src/main/java/com/yj/earth/business/domain/TsEvent.java @@ -0,0 +1,46 @@ +package com.yj.earth.business.domain; + +import com.baomidou.mybatisplus.annotation.FieldFill; +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 java.io.Serializable; +import java.time.LocalDateTime; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +@Data +public class TsEvent implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id", type = IdType.ASSIGN_UUID) + @Schema(description = "主键") + private String id; + @Schema(description = "态势方案ID") + private String planId; + @Schema(description = "态势资源ID") + private String sourceId; + @Schema(description = "事件名称") + private String name; + @Schema(description = "事件回调") + private String callback; + @Schema(description = "开始时间") + private LocalDateTime startTime; + @Schema(description = "结束时间") + private LocalDateTime endTime; + @Schema(description = "其他参数") + private String detail; + @Schema(description = "创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createdAt; + @Schema(description = "更新时间") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updatedAt; +} diff --git a/src/main/java/com/yj/earth/business/domain/TsPlan.java b/src/main/java/com/yj/earth/business/domain/TsPlan.java index f990cfc..24cd13b 100644 --- a/src/main/java/com/yj/earth/business/domain/TsPlan.java +++ b/src/main/java/com/yj/earth/business/domain/TsPlan.java @@ -32,6 +32,9 @@ public class TsPlan implements Serializable { @Schema(description = "创建人") private String createdBy; + @Schema(description = "仿真开始时间") + private LocalDateTime simulationStartTime; + @Schema(description = "创建时间") @TableField(fill = FieldFill.INSERT) private LocalDateTime createdAt; diff --git a/src/main/java/com/yj/earth/business/domain/TsSource.java b/src/main/java/com/yj/earth/business/domain/TsSource.java new file mode 100644 index 0000000..a834f9f --- /dev/null +++ b/src/main/java/com/yj/earth/business/domain/TsSource.java @@ -0,0 +1,43 @@ +package com.yj.earth.business.domain; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +@Data +public class TsSource implements Serializable { + private static final long serialVersionUID = 1L; + @TableId(value = "id", type = IdType.ASSIGN_UUID) + @Schema(description = "主键") + private String id; + @Schema(description = "资源名称") + private String sourceName; + @Schema(description = "资源类型") + private String sourceType; + @Schema(description = "资源路径") + private String sourcePath; + @Schema(description = "父级ID") + private String parentId; + @Schema(description = "树状索引") + private Integer treeIndex; + @Schema(description = "是否显示") + private Integer isShow; + @Schema(description = "其他内容") + private String detail; + @Schema(description = "前端参数") + private String params; + @Schema(description = "方案ID") + private String planId; + @Schema(description = "创建时间") + @TableField(fill = FieldFill.INSERT) + private LocalDateTime createdAt; + @Schema(description = "更新时间") + @TableField(fill = FieldFill.UPDATE) + private LocalDateTime updatedAt; +} diff --git a/src/main/java/com/yj/earth/business/mapper/TsEventMapper.java b/src/main/java/com/yj/earth/business/mapper/TsEventMapper.java new file mode 100644 index 0000000..cdc4308 --- /dev/null +++ b/src/main/java/com/yj/earth/business/mapper/TsEventMapper.java @@ -0,0 +1,18 @@ +package com.yj.earth.business.mapper; + +import com.yj.earth.business.domain.TsEvent; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author 周志雄 + * @since 2025-11-03 + */ +@Mapper +public interface TsEventMapper extends BaseMapper { + +} diff --git a/src/main/java/com/yj/earth/business/mapper/TsSourceMapper.java b/src/main/java/com/yj/earth/business/mapper/TsSourceMapper.java new file mode 100644 index 0000000..ce6d7e7 --- /dev/null +++ b/src/main/java/com/yj/earth/business/mapper/TsSourceMapper.java @@ -0,0 +1,18 @@ +package com.yj.earth.business.mapper; + +import com.yj.earth.business.domain.TsSource; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * Mapper 接口 + *

+ * + * @author 周志雄 + * @since 2025-11-03 + */ +@Mapper +public interface TsSourceMapper extends BaseMapper { + +} diff --git a/src/main/java/com/yj/earth/business/service/TsEventService.java b/src/main/java/com/yj/earth/business/service/TsEventService.java new file mode 100644 index 0000000..3da5c8f --- /dev/null +++ b/src/main/java/com/yj/earth/business/service/TsEventService.java @@ -0,0 +1,16 @@ +package com.yj.earth.business.service; + +import com.yj.earth.business.domain.TsEvent; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author 周志雄 + * @since 2025-11-03 + */ +public interface TsEventService extends IService { + +} diff --git a/src/main/java/com/yj/earth/business/service/TsSourceService.java b/src/main/java/com/yj/earth/business/service/TsSourceService.java new file mode 100644 index 0000000..fb3d104 --- /dev/null +++ b/src/main/java/com/yj/earth/business/service/TsSourceService.java @@ -0,0 +1,16 @@ +package com.yj.earth.business.service; + +import com.yj.earth.business.domain.TsSource; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 服务类 + *

+ * + * @author 周志雄 + * @since 2025-11-03 + */ +public interface TsSourceService extends IService { + +} diff --git a/src/main/java/com/yj/earth/business/service/impl/TsEventServiceImpl.java b/src/main/java/com/yj/earth/business/service/impl/TsEventServiceImpl.java new file mode 100644 index 0000000..dd6a8ee --- /dev/null +++ b/src/main/java/com/yj/earth/business/service/impl/TsEventServiceImpl.java @@ -0,0 +1,20 @@ +package com.yj.earth.business.service.impl; + +import com.yj.earth.business.domain.TsEvent; +import com.yj.earth.business.mapper.TsEventMapper; +import com.yj.earth.business.service.TsEventService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author 周志雄 + * @since 2025-11-03 + */ +@Service +public class TsEventServiceImpl extends ServiceImpl implements TsEventService { + +} diff --git a/src/main/java/com/yj/earth/business/service/impl/TsSourceServiceImpl.java b/src/main/java/com/yj/earth/business/service/impl/TsSourceServiceImpl.java new file mode 100644 index 0000000..110082d --- /dev/null +++ b/src/main/java/com/yj/earth/business/service/impl/TsSourceServiceImpl.java @@ -0,0 +1,20 @@ +package com.yj.earth.business.service.impl; + +import com.yj.earth.business.domain.TsSource; +import com.yj.earth.business.mapper.TsSourceMapper; +import com.yj.earth.business.service.TsSourceService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 服务实现类 + *

+ * + * @author 周志雄 + * @since 2025-11-03 + */ +@Service +public class TsSourceServiceImpl extends ServiceImpl implements TsSourceService { + +} diff --git a/src/main/java/com/yj/earth/common/util/CodeUtil.java b/src/main/java/com/yj/earth/common/util/CodeUtil.java index 91d736c..375d7fd 100644 --- a/src/main/java/com/yj/earth/common/util/CodeUtil.java +++ b/src/main/java/com/yj/earth/common/util/CodeUtil.java @@ -34,7 +34,7 @@ public class CodeUtil { } // 传入需要生成代码的表名 - Generation("role_menu"); + Generation("ts_event"); } public static void Generation(String... tableName) { diff --git a/src/main/java/com/yj/earth/datasource/DatabaseManager.java b/src/main/java/com/yj/earth/datasource/DatabaseManager.java index 2030830..c95d043 100644 --- a/src/main/java/com/yj/earth/datasource/DatabaseManager.java +++ b/src/main/java/com/yj/earth/datasource/DatabaseManager.java @@ -59,6 +59,8 @@ public class DatabaseManager { classes.add(RoleOperate.class); classes.add(RoleMenu.class); classes.add(TsPlan.class); + classes.add(TsSource.class); + classes.add(TsEvent.class); ENTITY_CLASSES = Collections.unmodifiableList(classes); } diff --git a/src/main/java/com/yj/earth/design/TsEvent.java b/src/main/java/com/yj/earth/design/TsEvent.java new file mode 100644 index 0000000..f638e24 --- /dev/null +++ b/src/main/java/com/yj/earth/design/TsEvent.java @@ -0,0 +1,30 @@ +package com.yj.earth.design; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class TsEvent { + @Schema(description = "主键") + private String id; + @Schema(description = "态势方案ID") + private String planId; + @Schema(description = "态势资源ID") + private String sourceId; + @Schema(description = "事件名称") + private String name; + @Schema(description = "事件回调") + private String callback; + @Schema(description = "开始时间") + private LocalDateTime startTime; + @Schema(description = "结束时间") + private LocalDateTime endTime; + @Schema(description = "其他参数") + private String detail; + @Schema(description = "创建时间") + private LocalDateTime createdAt; + @Schema(description = "更新时间") + private LocalDateTime updatedAt; +} diff --git a/src/main/java/com/yj/earth/design/TsPlan.java b/src/main/java/com/yj/earth/design/TsPlan.java index 5b460c0..e903893 100644 --- a/src/main/java/com/yj/earth/design/TsPlan.java +++ b/src/main/java/com/yj/earth/design/TsPlan.java @@ -15,6 +15,8 @@ public class TsPlan { private String desc; @Schema(description = "创建人") private String createdBy; + @Schema(description = "仿真开始时间") + private LocalDateTime simulationStartTime; @Schema(description = "创建时间") private LocalDateTime createdAt; @Schema(description = "更新时间") diff --git a/src/main/java/com/yj/earth/design/TsSource.java b/src/main/java/com/yj/earth/design/TsSource.java new file mode 100644 index 0000000..0287c2b --- /dev/null +++ b/src/main/java/com/yj/earth/design/TsSource.java @@ -0,0 +1,34 @@ +package com.yj.earth.design; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class TsSource { + @Schema(description = "主键") + private String id; + @Schema(description = "资源名称") + private String sourceName; + @Schema(description = "资源类型") + private String sourceType; + @Schema(description = "资源路径") + private String sourcePath; + @Schema(description = "父级ID") + private String parentId; + @Schema(description = "树状索引") + private Integer treeIndex; + @Schema(description = "是否显示") + private Integer isShow; + @Schema(description = "其他内容") + private String detail; + @Schema(description = "前端参数") + private String params; + @Schema(description = "方案ID") + private String planId; + @Schema(description = "创建时间") + private LocalDateTime createdAt; + @Schema(description = "更新时间") + private LocalDateTime updatedAt; +} diff --git a/src/main/java/com/yj/earth/dto/roleMenu/AddRoleMenuDto.java b/src/main/java/com/yj/earth/dto/roleMenu/AddRoleMenuDto.java index 2031691..d564ba2 100644 --- a/src/main/java/com/yj/earth/dto/roleMenu/AddRoleMenuDto.java +++ b/src/main/java/com/yj/earth/dto/roleMenu/AddRoleMenuDto.java @@ -11,6 +11,5 @@ public class AddRoleMenuDto { @Schema(description = "角色ID") private String roleId; @Schema(description = "权限列表") - // 键为菜单名、值为该菜单的权限集合 private List>> permissionList; } diff --git a/src/main/java/com/yj/earth/dto/tsEvent/AddTsEventDto.java b/src/main/java/com/yj/earth/dto/tsEvent/AddTsEventDto.java new file mode 100644 index 0000000..01bc63c --- /dev/null +++ b/src/main/java/com/yj/earth/dto/tsEvent/AddTsEventDto.java @@ -0,0 +1,26 @@ +package com.yj.earth.dto.tsEvent; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class AddTsEventDto { + @Schema(description = "主键") + private String id; + @Schema(description = "态势方案ID") + private String planId; + @Schema(description = "态势资源ID") + private String sourceId; + @Schema(description = "事件名称") + private String name; + @Schema(description = "事件回调") + private String callback; + @Schema(description = "开始时间") + private LocalDateTime startTime; + @Schema(description = "结束时间") + private LocalDateTime endTime; + @Schema(description = "其他参数") + private String detail; +} diff --git a/src/main/java/com/yj/earth/dto/tsEvent/UpdateTsEventDto.java b/src/main/java/com/yj/earth/dto/tsEvent/UpdateTsEventDto.java new file mode 100644 index 0000000..10407a5 --- /dev/null +++ b/src/main/java/com/yj/earth/dto/tsEvent/UpdateTsEventDto.java @@ -0,0 +1,26 @@ +package com.yj.earth.dto.tsEvent; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +public class UpdateTsEventDto { + @Schema(description = "主键") + private String id; + @Schema(description = "态势方案ID") + private String planId; + @Schema(description = "态势资源ID") + private String sourceId; + @Schema(description = "事件名称") + private String name; + @Schema(description = "事件回调") + private String callback; + @Schema(description = "开始时间") + private LocalDateTime startTime; + @Schema(description = "结束时间") + private LocalDateTime endTime; + @Schema(description = "其他参数") + private String detail; +} diff --git a/src/main/java/com/yj/earth/dto/tsPlan/AddTsPlanDto.java b/src/main/java/com/yj/earth/dto/tsPlan/AddTsPlanDto.java index c5ea3a1..3118343 100644 --- a/src/main/java/com/yj/earth/dto/tsPlan/AddTsPlanDto.java +++ b/src/main/java/com/yj/earth/dto/tsPlan/AddTsPlanDto.java @@ -3,10 +3,14 @@ package com.yj.earth.dto.tsPlan; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.time.LocalDateTime; + @Data public class AddTsPlanDto { @Schema(description = "方案名称") private String name; @Schema(description = "方案描述") private String desc; + @Schema(description = "仿真开始时间") + private LocalDateTime simulationStartTime; } diff --git a/src/main/java/com/yj/earth/dto/tsPlan/UpdateTsPlanDto.java b/src/main/java/com/yj/earth/dto/tsPlan/UpdateTsPlanDto.java index ccf053c..943aa58 100644 --- a/src/main/java/com/yj/earth/dto/tsPlan/UpdateTsPlanDto.java +++ b/src/main/java/com/yj/earth/dto/tsPlan/UpdateTsPlanDto.java @@ -3,6 +3,8 @@ package com.yj.earth.dto.tsPlan; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.time.LocalDateTime; + @Data public class UpdateTsPlanDto { @Schema(description = "方案Id") @@ -11,4 +13,6 @@ public class UpdateTsPlanDto { private String name; @Schema(description = "方案描述") private String desc; + @Schema(description = "仿真开始时间") + private LocalDateTime simulationStartTime; } diff --git a/src/main/java/com/yj/earth/dto/tsSource/AddTsSourceDto.java b/src/main/java/com/yj/earth/dto/tsSource/AddTsSourceDto.java new file mode 100644 index 0000000..9073c68 --- /dev/null +++ b/src/main/java/com/yj/earth/dto/tsSource/AddTsSourceDto.java @@ -0,0 +1,28 @@ +package com.yj.earth.dto.tsSource; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class AddTsSourceDto { + @Schema(description = "主键") + private String id; + @Schema(description = "资源名称") + private String sourceName; + @Schema(description = "资源类型") + private String sourceType; + @Schema(description = "资源路径") + private String sourcePath; + @Schema(description = "父级ID") + private String parentId; + @Schema(description = "树状索引") + private Integer treeIndex; + @Schema(description = "是否显示") + private Integer isShow; + @Schema(description = "其他内容") + private String detail; + @Schema(description = "前端参数") + private String params; + @Schema(description = "方案ID") + private String planId; +} diff --git a/src/main/java/com/yj/earth/dto/tsSource/UpdateTsSourceDto.java b/src/main/java/com/yj/earth/dto/tsSource/UpdateTsSourceDto.java new file mode 100644 index 0000000..1cd441f --- /dev/null +++ b/src/main/java/com/yj/earth/dto/tsSource/UpdateTsSourceDto.java @@ -0,0 +1,28 @@ +package com.yj.earth.dto.tsSource; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class UpdateTsSourceDto { + @Schema(description = "主键") + private String id; + @Schema(description = "资源名称") + private String sourceName; + @Schema(description = "资源类型") + private String sourceType; + @Schema(description = "资源路径") + private String sourcePath; + @Schema(description = "父级ID") + private String parentId; + @Schema(description = "树状索引") + private Integer treeIndex; + @Schema(description = "是否显示") + private Integer isShow; + @Schema(description = "其他内容") + private String detail; + @Schema(description = "前端参数") + private String params; + @Schema(description = "方案ID") + private String planId; +} diff --git a/src/main/resources/mapper/TsEventMapper.xml b/src/main/resources/mapper/TsEventMapper.xml new file mode 100644 index 0000000..1532901 --- /dev/null +++ b/src/main/resources/mapper/TsEventMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + id, plan_id, source_id, name, callback, start_time, end_time, detail, created_at, updated_at + + + diff --git a/src/main/resources/mapper/TsSourceMapper.xml b/src/main/resources/mapper/TsSourceMapper.xml new file mode 100644 index 0000000..f8f8e52 --- /dev/null +++ b/src/main/resources/mapper/TsSourceMapper.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + id, source_name, source_type, source_path, parent_id, tree_index, is_show, detail, params, plan_id, created_at, updated_at + + +