diff --git a/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendController.java b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendController.java new file mode 100644 index 0000000..8b5938a --- /dev/null +++ b/fastbee-open-api/src/main/java/com/fastbee/data/controller/gis/GLegendController.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.GLegend; +import com.fastbee.ggroup.service.IGLegendService; +import com.fastbee.common.utils.poi.ExcelUtil; +import com.fastbee.common.core.page.TableDataInfo; + +/** + * 图例Controller + * + * @author kerwincui + * @date 2024-10-08 + */ +@RestController +@RequestMapping("/ggroup/legend") +@Api(tags = "图例") +public class GLegendController extends BaseController +{ + @Autowired + private IGLegendService gLegendService; + +/** + * 查询图例列表 + */ +@PreAuthorize("@ss.hasPermi('ggroup:legend:list')") +@GetMapping("/list") +@ApiOperation("查询图例列表") + public TableDataInfo list(GLegend gLegend) + { + startPage(); + List list = gLegendService.selectGLegendList(gLegend); + return getDataTable(list); + } + + /** + * 导出图例列表 + */ + @ApiOperation("导出图例列表") + @PreAuthorize("@ss.hasPermi('ggroup:legend:export')") + @PostMapping("/export") + public void export(HttpServletResponse response, GLegend gLegend) + { + List list = gLegendService.selectGLegendList(gLegend); + ExcelUtil util = new ExcelUtil(GLegend.class); + util.exportExcel(response, list, "图例数据"); + } + + /** + * 获取图例详细信息 + */ + @PreAuthorize("@ss.hasPermi('ggroup:legend:query')") + @GetMapping(value = "/{id}") + @ApiOperation("获取图例详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(gLegendService.selectGLegendById(id)); + } + + /** + * 新增图例 + */ + @PreAuthorize("@ss.hasPermi('ggroup:legend:add')") + @PostMapping + @ApiOperation("新增图例") + public AjaxResult add(@RequestBody GLegend gLegend) + { + return toAjax(gLegendService.insertGLegend(gLegend)); + } + + /** + * 修改图例 + */ + @PreAuthorize("@ss.hasPermi('ggroup:legend:edit')") + @PutMapping + @ApiOperation("修改图例") + public AjaxResult edit(@RequestBody GLegend gLegend) + { + return toAjax(gLegendService.updateGLegend(gLegend)); + } + + /** + * 删除图例 + */ + @PreAuthorize("@ss.hasPermi('ggroup:legend:remove')") + @DeleteMapping("/{ids}") + @ApiOperation("删除图例") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(gLegendService.deleteGLegendByIds(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 index 604286e..94369c1 100644 --- 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 @@ -4,6 +4,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.fastbee.ggroup.domain.dto.GGroupSiteDto; +import com.fastbee.ggroup.domain.dto.GGroupSiteRelateDto; import com.fastbee.ggroup.domain.dto.GSitesEditDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -53,6 +54,16 @@ public class GSitesController extends BaseController return getDataTable(list); } + /** + * 站点关联组 + */ + @PreAuthorize("@ss.hasPermi('ggroup:sites:relate')") + @PostMapping("/relate") + @ApiOperation("站点关联组") + public AjaxResult relate(@RequestBody GGroupSiteRelateDto gGroupSiteRelateDto){ + return toAjax(gSitesService.relateGroup(gGroupSiteRelateDto)); + } + /** * 导出站点列表 */ diff --git a/fastbee-service/fastbee-ggroup-service/pom.xml b/fastbee-service/fastbee-ggroup-service/pom.xml index 1968c7b..9152049 100644 --- a/fastbee-service/fastbee-ggroup-service/pom.xml +++ b/fastbee-service/fastbee-ggroup-service/pom.xml @@ -24,5 +24,6 @@ fastbee-common + \ No newline at end of file diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GLegend.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GLegend.java index 6272aff..f8e1413 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GLegend.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GLegend.java @@ -1,19 +1,39 @@ package com.fastbee.ggroup.domain; -import com.fastbee.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import com.fastbee.common.annotation.Excel; +import com.fastbee.common.core.domain.BaseEntity; /** - * 组对象 g_groups + * 图例对象 g_legend * * @author kerwincui - * @date 2024-09-27 + * @date 2024-10-08 */ -@ApiModel(value = "GLegend",description = "图例 g_Legend") +@ApiModel(value = "GLegend",description = "图例 g_legend") @Data -public class GLegend extends BaseEntity { - private int id; +public class GLegend extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键id */ + private Long id; + + /** 图标 */ + @Excel(name = "图标") + @ApiModelProperty("图标") private String icon; - private int type; + + /** 类型 */ + @Excel(name = "类型") + @ApiModelProperty("类型") + private Long type; + + /** 图标名称 */ + @Excel(name = "图标名称") + @ApiModelProperty("图标名称") + private String name; + } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSiteGroups.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSiteGroups.java index 4fac4da..706f524 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSiteGroups.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/GSiteGroups.java @@ -1,5 +1,7 @@ package com.fastbee.ggroup.domain; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -17,12 +19,12 @@ import com.fastbee.common.core.domain.BaseEntity; */ @ApiModel(value = "GSiteGroups",description = "站点组关系 g_site_groups") @Data -@EqualsAndHashCode(callSuper = true) public class GSiteGroups extends BaseEntity { private static final long serialVersionUID = 1L; - /** 主键 */ + /** 主键 */ + @TableId(value = "id", type = IdType.AUTO) private Long id; /** 站点id */ 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 index babcc6f..2c5cf72 100644 --- 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 @@ -20,7 +20,6 @@ import com.fastbee.common.core.domain.BaseEntity; */ @ApiModel(value = "GSites",description = "站点 g_sites") @Data -@EqualsAndHashCode(callSuper = true) public class GSites extends BaseEntity { private static final long serialVersionUID = 1L; @@ -49,4 +48,9 @@ private static final long serialVersionUID = 1L; @ApiModelProperty("空间数据") private String space; + /** 项目id */ + @Excel(name = "项目id") + @ApiModelProperty("项目id") + private Long projectId; + } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSiteRelateDto.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSiteRelateDto.java new file mode 100644 index 0000000..24793bd --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/domain/dto/GGroupSiteRelateDto.java @@ -0,0 +1,11 @@ +package com.fastbee.ggroup.domain.dto; + +import lombok.Data; + +import java.util.List; + +@Data +public class GGroupSiteRelateDto { + private List siteIds;//站点id列表 + private Long parentId;//父节点id +} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GLegendMapper.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GLegendMapper.java index 4c759e8..ad591e1 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GLegendMapper.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/mapper/GLegendMapper.java @@ -1,8 +1,62 @@ package com.fastbee.ggroup.mapper; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import java.util.List; +import com.fastbee.ggroup.domain.GLegend; -public interface GLegendMapper extends BaseMapper { +/** + * 图例Mapper接口 + * + * @author kerwincui + * @date 2024-10-08 + */ +public interface GLegendMapper +{ + /** + * 查询图例 + * + * @param id 图例主键 + * @return 图例 + */ + public GLegend selectGLegendById(Long id); + /** + * 查询图例列表 + * + * @param gLegend 图例 + * @return 图例集合 + */ + public List selectGLegendList(GLegend gLegend); + /** + * 新增图例 + * + * @param gLegend 图例 + * @return 结果 + */ + public int insertGLegend(GLegend gLegend); + + /** + * 修改图例 + * + * @param gLegend 图例 + * @return 结果 + */ + public int updateGLegend(GLegend gLegend); + + /** + * 删除图例 + * + * @param id 图例主键 + * @return 结果 + */ + public int deleteGLegendById(Long id); + + /** + * 批量删除图例 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteGLegendByIds(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 index ca8f348..5fb5d69 100644 --- 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 @@ -23,6 +23,7 @@ public interface GSitesMapper extends BaseMapper * @param id 站点主键 * @return 站点 */ + public GSites selectGSitesById(Long id); /** diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/GLegendServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/GLegendServiceImpl.java deleted file mode 100644 index e0bcb7c..0000000 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/GLegendServiceImpl.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.fastbee.ggroup.service; - -public interface GLegendServiceImpl { -} diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendService.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendService.java new file mode 100644 index 0000000..45af0bb --- /dev/null +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/IGLegendService.java @@ -0,0 +1,61 @@ +package com.fastbee.ggroup.service; + +import java.util.List; +import com.fastbee.ggroup.domain.GLegend; + +/** + * 图例Service接口 + * + * @author kerwincui + * @date 2024-10-08 + */ +public interface IGLegendService +{ + /** + * 查询图例 + * + * @param id 图例主键 + * @return 图例 + */ + public GLegend selectGLegendById(Long id); + + /** + * 查询图例列表 + * + * @param gLegend 图例 + * @return 图例集合 + */ + public List selectGLegendList(GLegend gLegend); + + /** + * 新增图例 + * + * @param gLegend 图例 + * @return 结果 + */ + public int insertGLegend(GLegend gLegend); + + /** + * 修改图例 + * + * @param gLegend 图例 + * @return 结果 + */ + public int updateGLegend(GLegend gLegend); + + /** + * 批量删除图例 + * + * @param ids 需要删除的图例主键集合 + * @return 结果 + */ + public int deleteGLegendByIds(Long[] ids); + + /** + * 删除图例信息 + * + * @param id 图例主键 + * @return 结果 + */ + public int deleteGLegendById(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 index 3d3aead..96b59e2 100644 --- 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 @@ -3,6 +3,7 @@ package com.fastbee.ggroup.service; import java.util.List; import com.fastbee.ggroup.domain.GSites; import com.fastbee.ggroup.domain.dto.GGroupSiteDto; +import com.fastbee.ggroup.domain.dto.GGroupSiteRelateDto; import com.fastbee.ggroup.domain.dto.GSitesEditDto; /** @@ -60,4 +61,12 @@ public interface IGSitesService * @return 结果 */ public int deleteGSitesById(Long id); + + /** + * 站点关联组 + * + * @param gGroupSiteRelateDto + * @return + */ + int relateGroup(GGroupSiteRelateDto gGroupSiteRelateDto); } diff --git a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java index 1555b55..f9f8ccb 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java +++ b/fastbee-service/fastbee-ggroup-service/src/main/java/com/fastbee/ggroup/service/impl/GLegendServiceImpl.java @@ -1,5 +1,96 @@ package com.fastbee.ggroup.service.impl; -public class GLegendServiceImpl implements com.fastbee.ggroup.service.GLegendServiceImpl { +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.GLegendMapper; +import com.fastbee.ggroup.domain.GLegend; +import com.fastbee.ggroup.service.IGLegendService; +/** + * 图例Service业务层处理 + * + * @author kerwincui + * @date 2024-10-08 + */ +@Service +public class GLegendServiceImpl implements IGLegendService +{ + @Autowired + private GLegendMapper gLegendMapper; + + /** + * 查询图例 + * + * @param id 图例主键 + * @return 图例 + */ + @Override + public GLegend selectGLegendById(Long id) + { + return gLegendMapper.selectGLegendById(id); + } + + /** + * 查询图例列表 + * + * @param gLegend 图例 + * @return 图例 + */ + @Override + public List selectGLegendList(GLegend gLegend) + { + return gLegendMapper.selectGLegendList(gLegend); + } + + /** + * 新增图例 + * + * @param gLegend 图例 + * @return 结果 + */ + @Override + public int insertGLegend(GLegend gLegend) + { + gLegend.setCreateTime(DateUtils.getNowDate()); + return gLegendMapper.insertGLegend(gLegend); + } + + /** + * 修改图例 + * + * @param gLegend 图例 + * @return 结果 + */ + @Override + public int updateGLegend(GLegend gLegend) + { + gLegend.setUpdateTime(DateUtils.getNowDate()); + return gLegendMapper.updateGLegend(gLegend); + } + + /** + * 批量删除图例 + * + * @param ids 需要删除的图例主键 + * @return 结果 + */ + @Override + public int deleteGLegendByIds(Long[] ids) + { + return gLegendMapper.deleteGLegendByIds(ids); + } + + /** + * 删除图例信息 + * + * @param id 图例主键 + * @return 结果 + */ + @Override + public int deleteGLegendById(Long id) + { + return gLegendMapper.deleteGLegendById(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 index 7f3fcd0..a96aeb6 100644 --- 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 @@ -1,16 +1,18 @@ package com.fastbee.ggroup.service.impl; -import java.util.HashMap; import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.stream.Collectors; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.fastbee.common.utils.DateUtils; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.fastbee.common.exception.ServiceException; import com.fastbee.ggroup.domain.GSiteGroups; import com.fastbee.ggroup.domain.dto.GGroupSiteDto; +import com.fastbee.ggroup.domain.dto.GGroupSiteRelateDto; import com.fastbee.ggroup.domain.dto.GSitesEditDto; import com.fastbee.ggroup.mapper.GSiteGroupsMapper; + +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -26,8 +28,7 @@ import org.springframework.transaction.annotation.Transactional; * @date 2024-09-29 */ @Service -public class GSitesServiceImpl implements IGSitesService -{ +public class GSitesServiceImpl extends ServiceImpl implements IGSitesService { @Autowired private GSitesMapper gSitesMapper; @@ -36,103 +37,137 @@ public class GSitesServiceImpl implements IGSitesService /** * 查询站点 - * + * * @param id 站点主键 * @return 站点 */ @Override - public GSites selectGSitesById(Long id) - { + public GSites selectGSitesById(Long id) { return gSitesMapper.selectGSitesById(id); } /** - * 查询站点列表 - * + * 查询全部站点列表 + * * @param gSites 站点 * @return 站点 */ @Override - public List selectGSitesList(GSites gSites) - { - return null; + public List selectGSitesList(GSites gSites) { + return gSitesMapper.selectList(new LambdaQueryWrapper() + .select(GSites::getId, GSites::getName, GSites::getIcon, GSites::getType) + .eq(GSites::getProjectId, 1) + ); } /** * 新增站点 - * + * * @param gGroupSiteDto 站点 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int insertGSites(GGroupSiteDto gGroupSiteDto) - { - //插入关系表 + public int insertGSites(GGroupSiteDto gGroupSiteDto) { + GSites gSites = new GSites(); - gSites.setName(gGroupSiteDto.getName()); + gSites.setName(gGroupSiteDto.getName().trim()); gSites.setType(gGroupSiteDto.getType()); gSites.setIcon(gGroupSiteDto.getIcon()); //根据名称判断是否存在该站点 - GSites gSites1=gSitesMapper.selectOne(new LambdaQueryWrapper().eq(GSites::getName,gGroupSiteDto.getName())); - if(gSites1!=null){ - return 1; + GSites gSites1 = gSitesMapper.selectOne(new LambdaQueryWrapper() + .select(GSites::getName, GSites::getId) + .eq(GSites::getName, gGroupSiteDto.getName().trim())); + if (gSites1 != null) { + throw new ServiceException("站点名称已存在!"); } //插入站点表 int inserted = gSitesMapper.insert(gSites); gGroupSiteDto.setSiteId(gSites.getId()); + //插入关系表 int inserted1 = gSitesMapper.insertGSites(gGroupSiteDto); - return inserted==1&&inserted1==1?1:0 ; + return inserted == 1 && inserted1 == 1 ? 1 : 0; } /** * 修改站点 - * + * * @param gSitesEditDto 站点 * @return 结果 */ @Override - public int updateGSites(GSitesEditDto gSitesEditDto) - { + public int updateGSites(GSitesEditDto gSitesEditDto) { //不能有重复名字的站点 - GSites gSites1=gSitesMapper.selectOne(new LambdaQueryWrapper().eq(GSites::getName,gSitesEditDto.getName())); - if(gSites1!=null){ - throw new RuntimeException("站点名称已存在!"); + GSites gSites1 = gSitesMapper.selectOne(new LambdaQueryWrapper() + .select(GSites::getName, GSites::getId) + .eq(GSites::getName, gSitesEditDto.getName().trim())); + if (gSites1 != null) { + throw new ServiceException("站点名称已存在!"); } GSites sites = new GSites(); - BeanUtils.copyProperties(gSitesEditDto,sites); + BeanUtils.copyProperties(gSitesEditDto, sites); return gSitesMapper.updateById(sites); } /** * 批量删除站点 - * + * * @param ids 需要删除的站点主键 * @return 结果 */ @Override - public int deleteGSitesByIds(Long[] ids) - { + public int deleteGSitesByIds(Long[] ids) { return gSitesMapper.deleteGSitesByIds(ids); } /** * 删除站点信息 - * + * * @param id 站点主键 * @return 结果 */ @Override @Transactional(rollbackFor = Exception.class) - public int deleteGSitesById(Long id) - { - GSiteGroups gSiteGroups =gSiteGroupsMapper.selectGSiteGroupsById(id); - if(gSiteGroups==null){ - throw new RuntimeException("站点不存在"); + public int deleteGSitesById(Long id) { + GSiteGroups gSiteGroups = gSiteGroupsMapper.selectGSiteGroupsById(id); + if (gSiteGroups == null) { + throw new ServiceException("站点不存在"); } - int deleted= gSitesMapper.deleteById(gSiteGroups.getId()); + int deleted = gSitesMapper.deleteById(gSiteGroups.getSiteId()); //删除关系 - int deleted1=gSiteGroupsMapper.deleteById(id); - return deleted==1&&deleted1==1?1:0 ; + int deleted1 = gSiteGroupsMapper.deleteById(id); + return deleted == 1 && deleted1 == 1 ? 1 : 0; } + + @Override + public int relateGroup(GGroupSiteRelateDto gGroupSiteRelateDto) { + Long parentId = gGroupSiteRelateDto.getParentId(); + if (StringUtils.isBlank(parentId.toString())) { + throw new ServiceException("请选择分组!"); + } + List siteIds = gGroupSiteRelateDto.getSiteIds(); + if (siteIds.isEmpty()) { + throw new ServiceException("请选择站点!"); + } + super.saveBatch(siteIds + .stream() + .map(this::setSiteIdToSiteGroups) + .collect(Collectors.toList()) + .stream() + .map(item -> { + item.setParentId(parentId); + item.setProjectId(1L); + return item; + }) + .collect(Collectors.toList())); + return 1; + } + + private GSiteGroups setSiteIdToSiteGroups(Long siteId) { + GSiteGroups gSiteGroups = new GSiteGroups(); + gSiteGroups.setSiteId(siteId); + return gSiteGroups; + } + } + 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 index c727ca1..e303222 100644 --- 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 @@ -24,7 +24,7 @@ - + diff --git a/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GLegendMapper.xml b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GLegendMapper.xml index 273d467..ab0f290 100644 --- a/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GLegendMapper.xml +++ b/fastbee-service/fastbee-ggroup-service/src/main/resources/mapper/ggroup/GLegendMapper.xml @@ -4,15 +4,79 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - + + - - + + + + select id, icon, create_time, create_by, update_time, update_by, type, name from g_legend + + + + + + + insert into g_legend + + icon, + create_time, + create_by, + update_time, + update_by, + type, + name, + + + #{icon}, + #{createTime}, + #{createBy}, + #{updateTime}, + #{updateBy}, + #{type}, + #{name}, + + + + + update g_legend + + icon = #{icon}, + create_time = #{createTime}, + create_by = #{createBy}, + update_time = #{updateTime}, + update_by = #{updateBy}, + type = #{type}, + name = #{name}, + + where id = #{id} + + + + delete from g_legend where id = #{id} + + + + delete from g_legend where id in + + #{id} + + \ No newline at end of file