diff --git a/application/pom.xml b/application/pom.xml index fe426e3..d45a2d4 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -141,7 +141,10 @@ com.thing.modules cqc-service - + + com.thing.modules + visual-design + org.springframework.boot diff --git a/modules/carbon-track/src/main/java/com/thing/carbontrack/productionResult/controller/IotCarbonProductionResultController.java b/modules/carbon-track/src/main/java/com/thing/carbontrack/productionResult/controller/IotCarbonProductionResultController.java index 2899aba..fec92de 100644 --- a/modules/carbon-track/src/main/java/com/thing/carbontrack/productionResult/controller/IotCarbonProductionResultController.java +++ b/modules/carbon-track/src/main/java/com/thing/carbontrack/productionResult/controller/IotCarbonProductionResultController.java @@ -115,7 +115,7 @@ public class IotCarbonProductionResultController { String end = MapUtils.getString(params, "end"); Integer dataType = MapUtils.getInteger(params, "dataType"); if (Objects.isNull(productId)) { - return new Result<>(); + return new Result<>().ok(new LotCarbonBaseInfoOnYear()); } if (Objects.equals(dataType, 0)) { LotCarbonBaseInfoOnYear res = iotCarbonProductionResultService.getDetailOfBaseInfoOnYear(productId); diff --git a/modules/carbon-track/src/main/java/com/thing/carbontrack/report/controller/IotCarbonProductionReportController.java b/modules/carbon-track/src/main/java/com/thing/carbontrack/report/controller/IotCarbonProductionReportController.java index 6399d13..4c48e10 100644 --- a/modules/carbon-track/src/main/java/com/thing/carbontrack/report/controller/IotCarbonProductionReportController.java +++ b/modules/carbon-track/src/main/java/com/thing/carbontrack/report/controller/IotCarbonProductionReportController.java @@ -17,6 +17,7 @@ import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.ObjectUtils; import org.springframework.web.bind.annotation.*; import java.util.HashMap; @@ -112,6 +113,9 @@ public class IotCarbonProductionReportController { @LogOperation("生成报告预览") public Result generateReport(@RequestBody IotCarbonProductionReportConfigDTO config){ IotCarbonProductionReportDTO data = iotCarbonProductionReportService.generateReport(config); + if(ObjectUtils.isEmpty(data)){ + return new Result().ok(data); + } String reportCode = iotCarbonProductionReportService.generateReportCode( null, data.getBoundaryStart(), data.getBoundaryEnd()); diff --git a/modules/carbon-track/src/main/java/com/thing/carbontrack/report/service/impl/IotCarbonProductionReportServiceImpl.java b/modules/carbon-track/src/main/java/com/thing/carbontrack/report/service/impl/IotCarbonProductionReportServiceImpl.java index c48eb75..4e86991 100644 --- a/modules/carbon-track/src/main/java/com/thing/carbontrack/report/service/impl/IotCarbonProductionReportServiceImpl.java +++ b/modules/carbon-track/src/main/java/com/thing/carbontrack/report/service/impl/IotCarbonProductionReportServiceImpl.java @@ -12,6 +12,7 @@ import com.thing.common.orm.service.impl.BaseServiceImpl; import lombok.RequiredArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.MapUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.tuple.Pair; import org.springframework.stereotype.Service; @@ -102,6 +103,9 @@ public class IotCarbonProductionReportServiceImpl extends BaseServiceImpl timePair = getBoundary(config); + if(ObjectUtils.isEmpty(config.getProductId())){ + return null; + } return resultService.generateReport( config.getProductId(), config.getBoundaryType(), diff --git a/modules/visual-design/src/main/java/com/thing/visual/component/controller/IotVisualComponentController.java b/modules/visual-design/src/main/java/com/thing/visual/component/controller/IotVisualComponentController.java new file mode 100644 index 0000000..ac1fe86 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/component/controller/IotVisualComponentController.java @@ -0,0 +1,89 @@ +package com.thing.visual.component.controller; + +import com.thing.common.core.annotation.LogOperation; +import com.thing.common.core.constants.Constant; +import com.thing.common.core.validator.AssertUtils; +import com.thing.common.core.validator.ValidatorUtils; +import com.thing.common.core.validator.group.AddGroup; +import com.thing.common.core.validator.group.DefaultGroup; +import com.thing.common.core.validator.group.UpdateGroup; +import com.thing.common.core.web.response.PageData; +import com.thing.common.core.web.response.Result; +import com.thing.visual.component.dto.IotVisualComponentDTO; +import com.thing.visual.component.service.IotVisualComponentService; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** +* 部件设计信息 +* +* @author xc +* @since 3.0 2024-08-21 +*/ +@RestController +@RequestMapping("v2/visual/component") +@Tag(name="部件设计信息") +@RequiredArgsConstructor +public class IotVisualComponentController { + + private final IotVisualComponentService iotVisualComponentService; + + @GetMapping("page") + @Operation(summary="分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true) , + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true) , + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段") , + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)") + }) + public Result> page(@Parameter(hidden = true) @RequestParam Map params){ + PageData page = iotVisualComponentService.getPageData(params, IotVisualComponentDTO.class); + return new Result>().ok(page); + } + + @GetMapping("{id}") + @Operation(summary="信息") + public Result get(@PathVariable("id") Long id){ + IotVisualComponentDTO data = iotVisualComponentService.getByIdAs(id, IotVisualComponentDTO.class); + return new Result().ok(data); + } + + @PostMapping + @Operation(summary="保存") + @LogOperation("保存") + public Result save(@RequestBody IotVisualComponentDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + iotVisualComponentService.saveDto(dto); + return new Result<>(); + } + + @PutMapping + @Operation(summary="修改") + @LogOperation("修改") + public Result update(@RequestBody IotVisualComponentDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + iotVisualComponentService.updateDto(dto); + return new Result<>(); + } + + @DeleteMapping + @Operation(summary="删除") + @LogOperation("删除") + public Result delete(@RequestBody Long[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + iotVisualComponentService.batchDelete(ids); + return new Result<>(); + } + + +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/component/dto/IotVisualComponentDTO.java b/modules/visual-design/src/main/java/com/thing/visual/component/dto/IotVisualComponentDTO.java new file mode 100644 index 0000000..cb63093 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/component/dto/IotVisualComponentDTO.java @@ -0,0 +1,59 @@ +package com.thing.visual.component.dto; + +import io.swagger.v3.oas.annotations.media.Schema; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** +* 部件设计信息 +* +* @author xc +* @since 3.0 2024-08-21 +*/ +@Data +@Schema(description = "部件设计信息") +public class IotVisualComponentDTO implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "部件id") + private Long id; + @Schema(description = "部件名称") + private String name; + @Schema(description = "部件组id") + private Integer groupId; + @Schema(description = "部件类型") + private String type; + @Schema(description = "部件备注描述") + private String desc; + @Schema(description = "0 是 1否") + private String isDefault; + @Schema(description = "部件缩略图url") + private String thumbnailUrl; + @Schema(description = "preview_options") + private String previewOptions; + @Schema(description = "部件json") + private String hash; + @Schema(description = "备注说明") + private String remarks; + @Schema(description = "所属企业(租户code)") + private Long tenantCode; + @Schema(description = "企业详情id") + private Long companyId; + @Schema(description = "部门id") + private Long deptId; + @Schema(description = "创建者") + private Long creator; + @Schema(description = "创建时间") + private Long createDate; + @Schema(description = "更新者") + private Long updater; + @Schema(description = "更新时间") + private Long updateDate; + @Schema(description = "部件排序序号") + private Integer sort; + +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/component/entity/IotVisualComponentEntity.java b/modules/visual-design/src/main/java/com/thing/visual/component/entity/IotVisualComponentEntity.java new file mode 100644 index 0000000..a6f8435 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/component/entity/IotVisualComponentEntity.java @@ -0,0 +1,79 @@ +package com.thing.visual.component.entity; + +import com.mybatisflex.annotation.Table; +import com.thing.common.orm.entity.BaseInfoEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 部件设计信息 + * + * @author xc + * @since 3.0 2024-08-21 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper=false) +@Table("iot_visual_component") +public class IotVisualComponentEntity extends BaseInfoEntity implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 部件名称 + */ + private String name; + /** + * 部件组id + */ + private Integer groupId; + /** + * 部件类型 + */ + private String type; + /** + * 部件备注描述 + */ + private String desc; + /** + * 0 是 1否 + */ + private String isDefault; + /** + * 部件缩略图url + */ + private String thumbnailUrl; + /** + * preview_options + */ + private String previewOptions; + /** + * 部件json + */ + private String hash; + /** + * 备注说明 + */ + private String remarks; + /** + * 所属企业(租户code) + */ + private Long tenantCode; + /** + * 企业详情id + */ + private Long companyId; + /** + * 部门id + */ + private Long deptId; + /** + * 部件排序序号 + */ + private Integer sort; +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/component/mapper/IotVisualComponentMapper.java b/modules/visual-design/src/main/java/com/thing/visual/component/mapper/IotVisualComponentMapper.java new file mode 100644 index 0000000..da58825 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/component/mapper/IotVisualComponentMapper.java @@ -0,0 +1,16 @@ +package com.thing.visual.component.mapper; + +import com.thing.common.orm.mapper.PowerBaseMapper; +import com.thing.visual.component.entity.IotVisualComponentEntity; +import org.apache.ibatis.annotations.Mapper; + +/** +* 部件设计信息 +* +* @author xc +* @since 3.0 2024-08-21 +*/ +@Mapper +public interface IotVisualComponentMapper extends PowerBaseMapper { + +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/component/service/IotVisualComponentService.java b/modules/visual-design/src/main/java/com/thing/visual/component/service/IotVisualComponentService.java new file mode 100644 index 0000000..7d9aff9 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/component/service/IotVisualComponentService.java @@ -0,0 +1,14 @@ +package com.thing.visual.component.service; + +import com.thing.common.orm.service.IBaseService; +import com.thing.visual.component.entity.IotVisualComponentEntity; + +/** + * 部件设计信息 + * + * @author xc + * @since 3.0 2024-08-21 + */ +public interface IotVisualComponentService extends IBaseService { + +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/component/service/impl/IotVisualComponentServiceImpl.java b/modules/visual-design/src/main/java/com/thing/visual/component/service/impl/IotVisualComponentServiceImpl.java new file mode 100644 index 0000000..eb9ab1b --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/component/service/impl/IotVisualComponentServiceImpl.java @@ -0,0 +1,28 @@ +package com.thing.visual.component.service.impl; + +import com.mybatisflex.core.query.QueryWrapper; +import com.thing.common.orm.service.impl.BaseServiceImpl; +import com.thing.visual.component.entity.IotVisualComponentEntity; +import com.thing.visual.component.mapper.IotVisualComponentMapper; +import com.thing.visual.component.service.IotVisualComponentService; +import org.springframework.stereotype.Service; + +import java.util.Map; + +/** + * 部件设计信息 + * + * @author xc + * @since 3.0 2024-08-21 + */ +@Service +public class IotVisualComponentServiceImpl extends BaseServiceImpl implements IotVisualComponentService { + + @Override + public QueryWrapper getWrapper(Map params){ + QueryWrapper wrapper = new QueryWrapper(); + return wrapper; + } + + +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/group/controller/IotVisualGroupController.java b/modules/visual-design/src/main/java/com/thing/visual/group/controller/IotVisualGroupController.java new file mode 100644 index 0000000..1815410 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/group/controller/IotVisualGroupController.java @@ -0,0 +1,90 @@ +package com.thing.visual.group.controller; + +import com.thing.common.core.constants.Constant; +import com.thing.common.core.validator.AssertUtils; +import com.thing.common.core.web.response.PageData; +import com.thing.common.core.web.response.Result; +import com.thing.visual.group.dto.GroupSortInfo; +import com.thing.visual.group.dto.IotVisualGroupDTO; +import com.thing.visual.group.service.IotVisualGroupService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Parameters; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +/** +* 素材部件组管理 +* +* @author xc +* @since 3.0 2024-08-21 +*/ +@RestController +@RequestMapping("v2/visual/group") +@Tag(name="素材部件组管理") +@RequiredArgsConstructor +public class IotVisualGroupController { + + private final IotVisualGroupService iotVisualGroupService; + + @GetMapping("page") + @Operation(summary="分页") + @Parameters({ + @Parameter(name = Constant.PAGE, description = "当前页码,从1开始", required = true) , + @Parameter(name = Constant.LIMIT, description = "每页显示记录数", required = true) , + @Parameter(name = Constant.ORDER_FIELD, description = "排序字段") , + @Parameter(name = Constant.ORDER, description = "排序方式,可选值(asc、desc)") + }) + public Result> page(@Parameter(hidden = true) @RequestParam Map params){ + PageData page = iotVisualGroupService.getPageData(params, IotVisualGroupDTO.class); + return new Result>().ok(page); + } + + @GetMapping("{id}") + @Operation(summary="信息") + public Result get(@PathVariable("id") Long id){ + IotVisualGroupDTO data = iotVisualGroupService.getByIdAs(id, IotVisualGroupDTO.class); + return new Result().ok(data); + } + + @PostMapping + @Operation(summary="保存") + public Result save(@RequestBody IotVisualGroupDTO dto){ + iotVisualGroupService.saveIotVisualGroupDTO(dto); + return new Result<>(); + } + + @PutMapping + @Operation(summary="修改") + public Result update(@RequestBody IotVisualGroupDTO dto){ + iotVisualGroupService.updateIotVisualGroupDTO(dto); + return new Result<>(); + } + + @DeleteMapping + @Operation(summary="删除") + public Result delete(@RequestBody Long[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + iotVisualGroupService.batchDelete(ids); + return new Result<>(); + } + + + @GetMapping("groupSortInfo") + @Operation(summary="获取排序信息,可以传入已存在的组名称") + public Result groupSortInfo(@RequestParam(required = false) String name){ + GroupSortInfo data = iotVisualGroupService.groupSortInfo(name); + return new Result().ok(data); + } + +// @GetMapping("adjustGroupSort") +// @Operation(summary="调整组排序") +// public Result adjustGroupSort(){ +// String data = iotVisualGroupService.adjustGroupSort(); +// return new Result().ok(data); +// } +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/group/dto/GroupSortInfo.java b/modules/visual-design/src/main/java/com/thing/visual/group/dto/GroupSortInfo.java new file mode 100644 index 0000000..aa3c9cd --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/group/dto/GroupSortInfo.java @@ -0,0 +1,14 @@ +package com.thing.visual.group.dto; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "组排序信息") +public class GroupSortInfo { + + private Long sort; + + private Long bsSort; + +} diff --git a/modules/visual-design/src/main/java/com/thing/visual/group/dto/IotVisualGroupDTO.java b/modules/visual-design/src/main/java/com/thing/visual/group/dto/IotVisualGroupDTO.java new file mode 100644 index 0000000..4a0d7c9 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/group/dto/IotVisualGroupDTO.java @@ -0,0 +1,55 @@ +package com.thing.visual.group.dto; + +import io.swagger.v3.oas.annotations.media.Schema; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** +* 素材部件组管理 +* +* @author xc +* @since 3.0 2024-08-21 +*/ +@Data +@Schema(description = "素材部件组管理") +public class IotVisualGroupDTO implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + @Schema(description = "主键id") + private Long id; + @Schema(description = "素材/部件组名称") + private String name; + @Schema(description = "素材/部件组业务二级名称") + private String businessName; + @Schema(description = "1 素材,2部件") + private String type; + @Schema(description = "是否默认,0默认,1自定义") + private String isDefault; + @Schema(description = "缩略图url/这里放text,也可以是svg或base64") + private String thumbnailUrl; + @Schema(description = "组排序") + private Long sort; + @Schema(description = "二级业务排序") + private Long bsSort; + @Schema(description = "备注说明") + private String remark; + @Schema(description = "所属企业(租户code)") + private Long tenantCode; + @Schema(description = "企业详情id") + private Long companyId; + @Schema(description = "部门id") + private Long deptId; + @Schema(description = "创建者") + private Long creator; + @Schema(description = "创建时间") + private Long createDate; + @Schema(description = "更新者") + private Long updater; + @Schema(description = "更新时间") + private Long updateDate; + +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/group/entity/IotVisualGroupEntity.java b/modules/visual-design/src/main/java/com/thing/visual/group/entity/IotVisualGroupEntity.java new file mode 100644 index 0000000..7f1d211 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/group/entity/IotVisualGroupEntity.java @@ -0,0 +1,71 @@ +package com.thing.visual.group.entity; + +import com.mybatisflex.annotation.Table; +import com.thing.common.orm.entity.BaseInfoEntity; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +import java.io.Serial; +import java.io.Serializable; + +/** + * 素材部件组管理 + * + * @author xc + * @since 3.0 2024-08-21 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper=false) +@Table("iot_visual_group") +public class IotVisualGroupEntity extends BaseInfoEntity implements Serializable { + @Serial + private static final long serialVersionUID = 1L; + + /** + * 素材/部件组名称 + */ + private String name; + /** + * 素材/部件组业务二级名称 + */ + private String businessName; + /** + * 1 素材,2部件 + */ + private String type; + /** + * 是否默认,0默认,1自定义 + */ + private String isDefault; + /** + * 缩略图url/这里放text,也可以是svg或base64 + */ + private String thumbnailUrl; + /** + * 组排序 + */ + private Long sort; + /** + * 二级业务排序 + */ + private Long bsSort; + /** + * 备注说明 + */ + private String remark; + /** + * 所属企业(租户code) + */ + private Long tenantCode; + /** + * 企业详情id + */ + private Long companyId; + /** + * 部门id + */ + private Long deptId; +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/group/mapper/IotVisualGroupMapper.java b/modules/visual-design/src/main/java/com/thing/visual/group/mapper/IotVisualGroupMapper.java new file mode 100644 index 0000000..fd61840 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/group/mapper/IotVisualGroupMapper.java @@ -0,0 +1,16 @@ +package com.thing.visual.group.mapper; + +import com.thing.common.orm.mapper.PowerBaseMapper; +import com.thing.visual.group.entity.IotVisualGroupEntity; +import org.apache.ibatis.annotations.Mapper; + +/** +* 素材部件组管理 +* +* @author xc +* @since 3.0 2024-08-21 +*/ +@Mapper +public interface IotVisualGroupMapper extends PowerBaseMapper { + +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/group/service/IotVisualGroupService.java b/modules/visual-design/src/main/java/com/thing/visual/group/service/IotVisualGroupService.java new file mode 100644 index 0000000..431caec --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/group/service/IotVisualGroupService.java @@ -0,0 +1,21 @@ +package com.thing.visual.group.service; + +import com.thing.common.orm.service.IBaseService; +import com.thing.visual.group.dto.GroupSortInfo; +import com.thing.visual.group.dto.IotVisualGroupDTO; +import com.thing.visual.group.entity.IotVisualGroupEntity; + +/** + * 素材部件组管理 + * + * @author xc + * @since 3.0 2024-08-21 + */ +public interface IotVisualGroupService extends IBaseService { + + void saveIotVisualGroupDTO(IotVisualGroupDTO dto); + + void updateIotVisualGroupDTO(IotVisualGroupDTO dto); + + GroupSortInfo groupSortInfo(String name); +} \ No newline at end of file diff --git a/modules/visual-design/src/main/java/com/thing/visual/group/service/impl/IotVisualGroupServiceImpl.java b/modules/visual-design/src/main/java/com/thing/visual/group/service/impl/IotVisualGroupServiceImpl.java new file mode 100644 index 0000000..456f866 --- /dev/null +++ b/modules/visual-design/src/main/java/com/thing/visual/group/service/impl/IotVisualGroupServiceImpl.java @@ -0,0 +1,68 @@ +package com.thing.visual.group.service.impl; + +import com.mybatisflex.core.query.QueryWrapper; +import com.thing.common.orm.service.impl.BaseServiceImpl; +import com.thing.visual.group.dto.GroupSortInfo; +import com.thing.visual.group.dto.IotVisualGroupDTO; +import com.thing.visual.group.mapper.IotVisualGroupMapper; +import com.thing.visual.group.entity.IotVisualGroupEntity; +import com.thing.visual.group.service.IotVisualGroupService; +import org.apache.commons.lang3.ObjectUtils; +import org.springframework.stereotype.Service; + +import java.util.Map; + +import static com.mybatisflex.core.query.QueryMethods.max; +import static com.mybatisflex.core.query.QueryMethods.max; +import static com.thing.visual.group.entity.table.IotVisualGroupEntityTableDef.IOT_VISUAL_GROUP_ENTITY; + +/** + * 素材部件组管理 + * + * @author xc + * @since 3.0 2024-08-21 + */ +@Service +public class IotVisualGroupServiceImpl extends BaseServiceImpl implements IotVisualGroupService { + + @Override + public QueryWrapper getWrapper(Map params){ + QueryWrapper wrapper = new QueryWrapper(); + return wrapper; + } + + + @Override + public void saveIotVisualGroupDTO(IotVisualGroupDTO dto) { + + } + + @Override + public void updateIotVisualGroupDTO(IotVisualGroupDTO dto) { + + } + + @Override + public GroupSortInfo groupSortInfo(String name) { + QueryWrapper wrapper = new QueryWrapper(); + wrapper.select(max(IOT_VISUAL_GROUP_ENTITY.SORT).as("sort"), max(IOT_VISUAL_GROUP_ENTITY.BS_SORT).as("bs_sort")) + .from(IOT_VISUAL_GROUP_ENTITY); + if(ObjectUtils.isNotEmpty(name)){ + wrapper.eq(IotVisualGroupEntity::getName,name); + } + GroupSortInfo sortInfo = this.mapper.selectOneByQueryAs(wrapper,GroupSortInfo.class); + if(ObjectUtils.isEmpty(sortInfo)){ + sortInfo = new GroupSortInfo(); + sortInfo.setBsSort(1L); + sortInfo.setSort(1L); + return sortInfo; + } + if(ObjectUtils.isNotEmpty(name)){ + sortInfo.setSort(sortInfo.getSort()==null?1L:sortInfo.getSort()); + }else { + sortInfo.setSort(sortInfo.getSort()==null?1L:sortInfo.getSort()+1); + } + sortInfo.setBsSort(sortInfo.getBsSort()==null?1L:sortInfo.getBsSort()+1); + return sortInfo ; + } +} \ No newline at end of file diff --git a/modules/visual-design/src/main/resources/IotVisualComponentMapper.xml b/modules/visual-design/src/main/resources/IotVisualComponentMapper.xml new file mode 100644 index 0000000..a557501 --- /dev/null +++ b/modules/visual-design/src/main/resources/IotVisualComponentMapper.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/modules/visual-design/src/main/resources/IotVisualGroupMapper.xml b/modules/visual-design/src/main/resources/IotVisualGroupMapper.xml new file mode 100644 index 0000000..56650fc --- /dev/null +++ b/modules/visual-design/src/main/resources/IotVisualGroupMapper.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index ae0aa28..6a64631 100644 --- a/pom.xml +++ b/pom.xml @@ -626,6 +626,11 @@ cqc-service ${project.version} + + com.thing.modules + visual-design + ${project.version} + com.thing.tools