diff --git a/fastbee-common/src/main/java/com/fastbee/common/core/domain/TreeEntity.java b/fastbee-common/src/main/java/com/fastbee/common/core/domain/TreeEntity.java index 11e3b66..c7a0d02 100644 --- a/fastbee-common/src/main/java/com/fastbee/common/core/domain/TreeEntity.java +++ b/fastbee-common/src/main/java/com/fastbee/common/core/domain/TreeEntity.java @@ -1,5 +1,7 @@ package com.fastbee.common.core.domain; +import lombok.Getter; + import java.util.ArrayList; import java.util.List; @@ -8,6 +10,7 @@ import java.util.List; * * @author ruoyi */ +@Getter public class TreeEntity extends BaseEntity { private static final long serialVersionUID = 1L; @@ -27,51 +30,26 @@ public class TreeEntity extends BaseEntity /** 子部门 */ private List children = new ArrayList<>(); - public String getParentName() - { - return parentName; - } - public void setParentName(String parentName) { this.parentName = parentName; } - public Long getParentId() - { - return parentId; - } - public void setParentId(Long parentId) { this.parentId = parentId; } - public Integer getOrderNum() - { - return orderNum; - } - public void setOrderNum(Integer orderNum) { this.orderNum = orderNum; } - public String getAncestors() - { - return ancestors; - } - public void setAncestors(String ancestors) { this.ancestors = ancestors; } - public List getChildren() - { - return children; - } - public void setChildren(List children) { this.children = children; diff --git a/fastbee-common/src/main/java/com/fastbee/common/utils/generate/CodeGenerator.java b/fastbee-common/src/main/java/com/fastbee/common/utils/generate/CodeGenerator.java index 9b03cd9..f07af86 100644 --- a/fastbee-common/src/main/java/com/fastbee/common/utils/generate/CodeGenerator.java +++ b/fastbee-common/src/main/java/com/fastbee/common/utils/generate/CodeGenerator.java @@ -24,7 +24,7 @@ public class CodeGenerator { String password = "rtB8EhbRRYSGyxHw"; //TODO 修改为自己的表名 List tables = new ArrayList<>();//需要生成对应代码的表名的集合 - tables.add("project"); + tables.add("g_groups"); FastAutoGenerator.create(url, username, password) //全局配置---------------------------------------------------------------------------------------- @@ -81,8 +81,6 @@ public class CodeGenerator { .formatFileName("%sController") // .enableFileOverride()// TODO 开启覆盖已生成的controller文件(谨慎开启),关闭则注释本行 .enableRestStyle();//启用rest风格自动添加@RestController - - }) .execute(); diff --git a/fastbee-open-api/pom.xml b/fastbee-open-api/pom.xml index 490a1b7..e566a15 100644 --- a/fastbee-open-api/pom.xml +++ b/fastbee-open-api/pom.xml @@ -48,8 +48,14 @@ 3.8.5 compile + + com.fastbee + fastbee-ggroup-service + 3.8.5 + compile + - + diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GGroupsController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GGroupsController.java new file mode 100644 index 0000000..4b28412 --- /dev/null +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GGroupsController.java @@ -0,0 +1,114 @@ +package com.fastbee.data.controller.gis; + +import com.fastbee.common.core.controller.BaseController; +import com.fastbee.common.core.domain.AjaxResult; +import com.fastbee.common.core.page.TableDataInfo; +import com.fastbee.common.utils.poi.ExcelUtil; +import com.fastbee.ggroup.domain.GGroups; +import com.fastbee.ggroup.domain.dto.GGroupSite; +import com.fastbee.ggroup.service.IGGroupsService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 组Controller + * + * @author kerwincui + * @date 2024-09-27 + */ +@RestController +@RequestMapping("/gis/groups") +@Api(tags = "组") +public class GGroupsController extends BaseController +{ + @Autowired + private IGGroupsService gGroupsService; + + /** + * 查询组列表 + */ + @PreAuthorize("@ss.hasPermi('iot:groups:list')") + @GetMapping("/list") + @ApiOperation("查询组列表") + public AjaxResult list(GGroups gGroups) + { + List list = gGroupsService.selectGGroupsList(gGroups); + return success(list); + } + /** + * 查询组下面的直属站点 + */ + @PreAuthorize("@ss.hasPermi('iot:groups:listSite')") + @GetMapping("/list-site") + @ApiOperation("查询组下面的直属站点") + public TableDataInfo listSite(GGroups gGroups) + { + super.startPage(); + List list = gGroupsService.selectGGroupsListSites(gGroups); + return super.getDataTable(list); + } + + + /** + * 导出组列表 + */ + @ApiOperation("导出组列表") + @PreAuthorize("@ss.hasPermi('iot:groups:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, GGroups gGroups) + { + List list = gGroupsService.selectGGroupsList(gGroups); + ExcelUtil util = new ExcelUtil(GGroups.class); + util.exportExcel(response, list, "组数据"); + } + + /** + * 获取组详细信息 + */ + @PreAuthorize("@ss.hasPermi('iot:groups:query')") + @GetMapping(value = "/{id}") + @ApiOperation("获取组详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(gGroupsService.selectGGroupsById(id)); + } + + /** + * 新增组 + */ + @PreAuthorize("@ss.hasPermi('iot:groups:add')") + @PostMapping + @ApiOperation("新增组") + public AjaxResult add(@RequestBody GGroups gGroups) + { + return toAjax(gGroupsService.insertGGroups(gGroups)); + } + + /** + * 修改组 + */ + @PreAuthorize("@ss.hasPermi('iot:groups:edit')") + @PutMapping + @ApiOperation("修改组") + public AjaxResult edit(@RequestBody GGroups gGroups) + { + return toAjax(gGroupsService.updateGGroups(gGroups)); + } + + /** + * 删除组 + */ + @PreAuthorize("@ss.hasPermi('iot:groups:remove')") + @DeleteMapping("/{ids}") + @ApiOperation("删除组") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(gGroupsService.deleteGGroupsByIds(ids)); + } +} diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GSitesController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GSitesController.java new file mode 100644 index 0000000..aebd6b0 --- /dev/null +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GSitesController.java @@ -0,0 +1,110 @@ +package com.fastbee.data.controller.gis; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.fastbee.common.annotation.Log; +import com.fastbee.common.core.controller.BaseController; +import com.fastbee.common.core.domain.AjaxResult; +import com.fastbee.common.enums.BusinessType; +import com.fastbee.ggroup.domain.GSites; +import com.fastbee.ggroup.service.IGSitesService; +import com.fastbee.common.utils.poi.ExcelUtil; +import com.fastbee.common.core.page.TableDataInfo; + +/** + * 站点Controller + * + * @author kerwincui + * @date 2024-09-29 + */ +@RestController +@RequestMapping("/gis/sites") +@Api(tags = "站点") +public class GSitesController extends BaseController +{ + @Autowired + private IGSitesService gSitesService; + +/** + * 查询站点列表 + */ +@PreAuthorize("@ss.hasPermi('ggroup:sites:list')") +@GetMapping("/list") +@ApiOperation("查询站点列表") + public TableDataInfo list(GSites gSites) + { + startPage(); + List list = gSitesService.selectGSitesList(gSites); + return getDataTable(list); + } + + /** + * 导出站点列表 + */ + @ApiOperation("导出站点列表") + @PreAuthorize("@ss.hasPermi('ggroup:sites:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, GSites gSites) + { + List list = gSitesService.selectGSitesList(gSites); + ExcelUtil util = new ExcelUtil(GSites.class); + util.exportExcel(response, list, "站点数据"); + } + + /** + * 获取站点详细信息 + */ + @PreAuthorize("@ss.hasPermi('ggroup:sites:query')") + @GetMapping(value = "/{id}") + @ApiOperation("获取站点详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(gSitesService.selectGSitesById(id)); + } + + /** + * 新增站点 + */ + @PreAuthorize("@ss.hasPermi('ggroup:sites:add')") + @PostMapping + @ApiOperation("新增站点") + public AjaxResult add(@RequestBody GSites gSites) + { + return toAjax(gSitesService.insertGSites(gSites)); + } + + /** + * 修改站点 + */ + @PreAuthorize("@ss.hasPermi('ggroup:sites:edit')") + @PutMapping + @ApiOperation("修改站点") + public AjaxResult edit(@RequestBody GSites gSites) + { + return toAjax(gSitesService.updateGSites(gSites)); + } + + /** + * 删除站点 + */ + @PreAuthorize("@ss.hasPermi('ggroup:sites:remove')") + @DeleteMapping("/{ids}") + @ApiOperation("删除站点") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(gSitesService.deleteGSitesByIds(ids)); + } +} diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/project/ProjectController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/project/ProjectController.java index 013e8a1..cfb7d69 100644 --- a/fastbee-open-api/src/main/java/com/fastbee/data/controller/project/ProjectController.java +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/project/ProjectController.java @@ -19,7 +19,6 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.fastbee.common.annotation.Log; import com.fastbee.common.core.controller.BaseController; import com.fastbee.common.core.domain.AjaxResult; import com.fastbee.common.core.page.TableDataInfo; diff --git a/fastbee-service/fastbee-ggroup-service/pom.xml b/fastbee-service/fastbee-ggroup-service/pom.xml new file mode 100644 index 0000000..1968c7b --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/pom.xml @@ -0,0 +1,28 @@ + + + 4.0.0 + + com.fastbee + fastbee-service + 3.8.5 + + + fastbee-ggroup-service + + + 8 + 8 + UTF-8 + + + + + + com.fastbee + fastbee-common + + + + \ No newline at end of file diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GGroups.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GGroups.java new file mode 100644 index 0000000..77c0a8a --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GGroups.java @@ -0,0 +1,74 @@ +package com.fastbee.ggroup.domain; + +import com.fastbee.common.annotation.Excel; +import com.fastbee.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + + +/** + * 组对象 g_groups + * + * @author kerwincui + * @date 2024-09-27 + */ +@ApiModel(value = "GGroups",description = "组 g_groups") +@Data + +public class GGroups extends BaseEntity + { +private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 组名 */ + @Excel(name = "组名") + @ApiModelProperty("组名") + private String name; + + /** 图标 */ + @Excel(name = "图标") + @ApiModelProperty("图标") + private String icon; + + /** 标签(1江河湖泊,2水利工程,3.检测站点,4.其他对象,5.水利事务,6.报警事件) */ + @Excel(name = "标签(1江河湖泊,2水利工程,3.检测站点,4.其他对象,5.水利事务,6.报警事件)") + @ApiModelProperty("标签(1江河湖泊,2水利工程,3.检测站点,4.其他对象,5.水利事务,6.报警事件)") + private Long tag; + + /** 项目id */ + @Excel(name = "项目id") + @ApiModelProperty("项目id") + private Long projectId; + + /** 项目名称 */ + @Excel(name = "项目名称") + @ApiModelProperty("项目名称") + private String projectName; + + /** 空间数据 */ + @Excel(name = "空间数据") + @ApiModelProperty("空间数据") + private String space; + + /** 父菜单名称 */ + private String parentName; + + /** 父菜单ID */ + private Long parentId; + + /** 显示顺序 */ + private Integer orderNum; + + /** 祖级列表 */ + private String ancestors; + + /** 子部门 */ + private List children = new ArrayList<>(); + +} \ No newline at end of file diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSites.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSites.java new file mode 100644 index 0000000..ac2bbc6 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSites.java @@ -0,0 +1,48 @@ +package com.fastbee.ggroup.domain; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.fastbee.common.annotation.Excel; +import com.fastbee.common.core.domain.BaseEntity; + +/** + * 站点对象 g_sites + * + * @author kerwincui + * @date 2024-09-29 + */ +@ApiModel(value = "GSites",description = "站点 g_sites") +@Data +@EqualsAndHashCode(callSuper = true) +public class GSites extends BaseEntity + { +private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 站点名称 */ + @Excel(name = "站点名称") + @ApiModelProperty("站点名称") + private String name; + + /** 图标 */ + @Excel(name = "图标") + @ApiModelProperty("图标") + private String icon; + + /** 类型 */ + @Excel(name = "类型") + @ApiModelProperty("类型") + private String type; + + /** 空间数据 */ + @Excel(name = "空间数据") + @ApiModelProperty("空间数据") + private String space; + +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSite.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSite.java new file mode 100644 index 0000000..1caebf7 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSite.java @@ -0,0 +1,16 @@ +package com.fastbee.ggroup.domain.dto; + +import lombok.Data; + +@Data +public class GGroupSite { + private Long parentId; // 对应 gsg.group_id + private String parentName; // 对应 gg.name + private Long siteId; // 对应 gsg.site_id + private String name; // 对应 gs.name + private String icon; // 对应 gs.icon + private String type; // 对应 gs.type + private String space; // 对应 gs.space + + // Getter 和 Setter +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GGroupsMapper.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GGroupsMapper.java new file mode 100644 index 0000000..b914246 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GGroupsMapper.java @@ -0,0 +1,85 @@ +package com.fastbee.ggroup.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.fastbee.ggroup.domain.GGroups; +import com.fastbee.ggroup.domain.dto.GGroupSite; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 组Mapper接口 + * + * @author kerwincui + * @date 2024-09-27 + */ + +public interface GGroupsMapper extends BaseMapper +{ + /** + * 查询组 + * + * @param id 组主键 + * @return 组 + */ + public GGroups selectGGroupsById(Long id); + + /** + * 查询组列表 + * + * @param gGroups 组 + * @return 组集合 + */ + public List selectGGroupsList(GGroups gGroups); + + + @Select({ + "" + }) + List selectGGroupsSiteList(GGroups gGroups); + + /** + * 新增组 + * + * @param gGroups 组 + * @return 结果 + */ + public int insertGGroups(GGroups gGroups); + + /** + * 修改组 + * + * @param gGroups 组 + * @return 结果 + */ + public int updateGGroups(GGroups gGroups); + + /** + * 删除组 + * + * @param id 组主键 + * @return 结果 + */ + public int deleteGGroupsById(Long id); + + /** + * 批量删除组 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteGGroupsByIds(Long[] ids); +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GSitesMapper.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GSitesMapper.java new file mode 100644 index 0000000..ccf8815 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GSitesMapper.java @@ -0,0 +1,61 @@ +package com.fastbee.ggroup.mapper; + +import java.util.List; +import com.fastbee.ggroup.domain.GSites; + +/** + * 站点Mapper接口 + * + * @author kerwincui + * @date 2024-09-29 + */ +public interface GSitesMapper +{ + /** + * 查询站点 + * + * @param id 站点主键 + * @return 站点 + */ + public GSites selectGSitesById(Long id); + + /** + * 查询站点列表 + * + * @param gSites 站点 + * @return 站点集合 + */ + public List selectGSitesList(GSites gSites); + + /** + * 新增站点 + * + * @param gSites 站点 + * @return 结果 + */ + public int insertGSites(GSites gSites); + + /** + * 修改站点 + * + * @param gSites 站点 + * @return 结果 + */ + public int updateGSites(GSites gSites); + + /** + * 删除站点 + * + * @param id 站点主键 + * @return 结果 + */ + public int deleteGSitesById(Long id); + + /** + * 批量删除站点 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteGSitesByIds(Long[] ids); +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGGroupsService.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGGroupsService.java new file mode 100644 index 0000000..c3d1e96 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGGroupsService.java @@ -0,0 +1,67 @@ +package com.fastbee.ggroup.service; + + + + +import com.fastbee.ggroup.domain.GGroups; +import com.fastbee.ggroup.domain.dto.GGroupSite; + +import java.util.List; + +/** + * 组Service接口 + * + * @author kerwincui + * @date 2024-09-27 + */ +public interface IGGroupsService +{ + /** + * 查询组 + * + * @param id 组主键 + * @return 组 + */ + public GGroups selectGGroupsById(Long id); + + /** + * 查询组列表 + * + * @param gGroups 组 + * @return 组集合 + */ + public List selectGGroupsList(GGroups gGroups); + + public List selectGGroupsListSites(GGroups gGroups); + /** + * 新增组 + * + * @param gGroups 组 + * @return 结果 + */ + public int insertGGroups(GGroups gGroups); + + /** + * 修改组 + * + * @param gGroups 组 + * @return 结果 + */ + public int updateGGroups(GGroups gGroups); + + /** + * 批量删除组 + * + * @param ids 需要删除的组主键集合 + * @return 结果 + */ + public int deleteGGroupsByIds(Long[] ids); + + /** + * 删除组信息 + * + * @param id 组主键 + * @return 结果 + */ + public int deleteGGroupsById(Long id); +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGSitesService.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGSitesService.java new file mode 100644 index 0000000..67a0de1 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGSitesService.java @@ -0,0 +1,61 @@ +package com.fastbee.ggroup.service; + +import java.util.List; +import com.fastbee.ggroup.domain.GSites; + +/** + * 站点Service接口 + * + * @author kerwincui + * @date 2024-09-29 + */ +public interface IGSitesService +{ + /** + * 查询站点 + * + * @param id 站点主键 + * @return 站点 + */ + public GSites selectGSitesById(Long id); + + /** + * 查询站点列表 + * + * @param gSites 站点 + * @return 站点集合 + */ + public List selectGSitesList(GSites gSites); + + /** + * 新增站点 + * + * @param gSites 站点 + * @return 结果 + */ + public int insertGSites(GSites gSites); + + /** + * 修改站点 + * + * @param gSites 站点 + * @return 结果 + */ + public int updateGSites(GSites gSites); + + /** + * 批量删除站点 + * + * @param ids 需要删除的站点主键集合 + * @return 结果 + */ + public int deleteGSitesByIds(Long[] ids); + + /** + * 删除站点信息 + * + * @param id 站点主键 + * @return 结果 + */ + public int deleteGSitesById(Long id); +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java new file mode 100644 index 0000000..69ff242 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GGroupsServiceImpl.java @@ -0,0 +1,141 @@ +package com.fastbee.ggroup.service.impl; + + +import com.fastbee.common.utils.DateUtils; +import com.fastbee.ggroup.domain.GGroups; +import com.fastbee.ggroup.domain.dto.GGroupSite; +import com.fastbee.ggroup.mapper.GGroupsMapper; +import com.fastbee.ggroup.service.IGGroupsService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * 组Service业务层处理 + * + * @author kerwincui + * @date 2024-09-27 + */ +@Service +public class GGroupsServiceImpl implements IGGroupsService +{ + @Autowired + private GGroupsMapper gGroupsMapper; + + /** + * 查询组 + * + * @param id 组主键 + * @return 组 + */ + @Override + public GGroups selectGGroupsById(Long id) + { + + return gGroupsMapper.selectGGroupsById(id); + } + + + + /** + * 查询组列表 + * + * @param gGroups 组 + * @return 组 + */ + @Override + public List selectGGroupsList(GGroups gGroups) + { + + List groups = gGroupsMapper.selectGGroupsList(gGroups); + return buildTree(groups); + } + + @Override + public List selectGGroupsListSites(GGroups gGroups) { + return gGroupsMapper.selectGGroupsSiteList(gGroups); + } + + + private List buildTree(List groups) { + Map map = new HashMap<>(); + List roots = new ArrayList<>(); + + for (GGroups group : groups) { + map.put(group.getId(), group); + } + + for (GGroups group : groups) { + Long parentId = group.getParentId(); + if (parentId == null || !map.containsKey(parentId)) { + roots.add(group); + } else { + GGroups parent = map.get(parentId); + if (parent.getChildren() == null) { + parent.setChildren(new ArrayList<>()); + } + parent.getChildren().add(group); + } + } + + return roots; + } + + + + + /** + * 新增组 + * + * @param gGroups 组 + * @return 结果 + */ + @Override + public int insertGGroups(GGroups gGroups) + { + gGroups.setCreateTime(DateUtils.getNowDate()); + return gGroupsMapper.insertGGroups(gGroups); + } + + /** + * 修改组 + * + * @param gGroups 组 + * @return 结果 + */ + @Override + public int updateGGroups(GGroups gGroups) + { + gGroups.setUpdateTime(DateUtils.getNowDate()); + return gGroupsMapper.updateGGroups(gGroups); + } + + /** + * 批量删除组 + * + * @param ids 需要删除的组主键 + * @return 结果 + */ + @Override + public int deleteGGroupsByIds(Long[] ids) + { + return gGroupsMapper.deleteGGroupsByIds(ids); + } + + /** + * 删除组信息 + * + * @param id 组主键 + * @return 结果 + */ + @Override + public int deleteGGroupsById(Long id) + { + return gGroupsMapper.deleteGGroupsById(id); + } +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSitesServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSitesServiceImpl.java new file mode 100644 index 0000000..fb7d8d4 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GSitesServiceImpl.java @@ -0,0 +1,96 @@ +package com.fastbee.ggroup.service.impl; + +import java.util.List; +import com.fastbee.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.fastbee.ggroup.mapper.GSitesMapper; +import com.fastbee.ggroup.domain.GSites; +import com.fastbee.ggroup.service.IGSitesService; + +/** + * 站点Service业务层处理 + * + * @author kerwincui + * @date 2024-09-29 + */ +@Service +public class GSitesServiceImpl implements IGSitesService +{ + @Autowired + private GSitesMapper gSitesMapper; + + /** + * 查询站点 + * + * @param id 站点主键 + * @return 站点 + */ + @Override + public GSites selectGSitesById(Long id) + { + return gSitesMapper.selectGSitesById(id); + } + + /** + * 查询站点列表 + * + * @param gSites 站点 + * @return 站点 + */ + @Override + public List selectGSitesList(GSites gSites) + { + return gSitesMapper.selectGSitesList(gSites); + } + + /** + * 新增站点 + * + * @param gSites 站点 + * @return 结果 + */ + @Override + public int insertGSites(GSites gSites) + { + gSites.setCreateTime(DateUtils.getNowDate()); + return gSitesMapper.insertGSites(gSites); + } + + /** + * 修改站点 + * + * @param gSites 站点 + * @return 结果 + */ + @Override + public int updateGSites(GSites gSites) + { + gSites.setUpdateTime(DateUtils.getNowDate()); + return gSitesMapper.updateGSites(gSites); + } + + /** + * 批量删除站点 + * + * @param ids 需要删除的站点主键 + * @return 结果 + */ + @Override + public int deleteGSitesByIds(Long[] ids) + { + return gSitesMapper.deleteGSitesByIds(ids); + } + + /** + * 删除站点信息 + * + * @param id 站点主键 + * @return 结果 + */ + @Override + public int deleteGSitesById(Long id) + { + return gSitesMapper.deleteGSitesById(id); + } +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GGroupsMapper.xml b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GGroupsMapper.xml new file mode 100644 index 0000000..17ea35e --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GGroupsMapper.xml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, name, icon, tag, parent_id, project_id, project_name, order_num, create_by, create_time, update_time, update_by, space from g_groups + + + + + + + + + + + + + + + + + insert into g_groups + + name, + icon, + tag, + parent_id, + project_id, + project_name, + order_num, + create_by, + create_time, + update_time, + update_by, + space, + + + #{name}, + #{icon}, + #{tag}, + #{parentId}, + #{projectId}, + #{projectName}, + #{orderNum}, + #{createBy}, + #{createTime}, + #{updateTime}, + #{updateBy}, + #{space}, + + + + + update g_groups + + name = #{name}, + icon = #{icon}, + tag = #{tag}, + parent_id = #{parentId}, + project_id = #{projectId}, + project_name = #{projectName}, + order_num = #{orderNum}, + create_by = #{createBy}, + create_time = #{createTime}, + update_time = #{updateTime}, + update_by = #{updateBy}, + space = #{space}, + + where id = #{id} + + + + delete from g_groups where id = #{id} + + + + delete from g_groups where id in + + #{id} + + + \ No newline at end of file diff --git a/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSitesMapper.xml b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSitesMapper.xml new file mode 100644 index 0000000..ae17ff7 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GSitesMapper.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + select id, name, icon, type, create_by, create_time, update_time, update_by, space from g_sites + + + + + + + + insert into g_sites + + name, + icon, + type, + create_by, + create_time, + update_time, + update_by, + space, + + + #{name}, + #{icon}, + #{type}, + #{createBy}, + #{createTime}, + #{updateTime}, + #{updateBy}, + #{space}, + + + + + update g_sites + + name = #{name}, + icon = #{icon}, + type = #{type}, + create_by = #{createBy}, + create_time = #{createTime}, + update_time = #{updateTime}, + update_by = #{updateBy}, + space = #{space}, + + where id = #{id} + + + + delete from g_sites where id = #{id} + + + + delete from g_sites where id in + + #{id} + + + \ No newline at end of file diff --git a/fastbee-service/fastbee-ggroup-service/src/test/java/Text.java b/fastbee-service/fastbee-ggroup-service/src/test/java/Text.java new file mode 100644 index 0000000..f3cb0b7 --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/test/java/Text.java @@ -0,0 +1,4 @@ + +public class Text { + +} diff --git a/fastbee-service/pom.xml b/fastbee-service/pom.xml index 2028566..c080188 100644 --- a/fastbee-service/pom.xml +++ b/fastbee-service/pom.xml @@ -18,6 +18,7 @@ fastbee-xunjian-service fastbee-waterele-service fastbee-project-service + fastbee-ggroup-service