From 12ceff04c3fea05f0da1b3f5ea9d422811030a7e Mon Sep 17 00:00:00 2001 From: wangjingsheng Date: Thu, 10 Mar 2022 20:30:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=A8=A1=E5=9E=8B=E6=8B=93?= =?UTF-8?q?=E6=AD=A5=E5=85=B3=E7=B3=BBCRUD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocp/controller/ModelBaseController.java | 36 +++++- .../pms/ocp/mapper/ModelRelationMapper.java | 15 +++ .../pms/ocp/model/dto/ModelRelationDTO.java | 86 ++++++++++++++ .../pms/ocp/model/entity/ModelRelation.java | 109 ++++++++++++++++++ .../com/pms/ocp/model/vo/ModelRelationVO.java | 86 ++++++++++++++ .../pms/ocp/service/ModelRelationService.java | 65 +++++++++++ .../impl/ModelRelationServiceImpl.java | 88 ++++++++++++++ 7 files changed, 480 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/pms/ocp/mapper/ModelRelationMapper.java create mode 100644 src/main/java/com/pms/ocp/model/dto/ModelRelationDTO.java create mode 100644 src/main/java/com/pms/ocp/model/entity/ModelRelation.java create mode 100644 src/main/java/com/pms/ocp/model/vo/ModelRelationVO.java create mode 100644 src/main/java/com/pms/ocp/service/ModelRelationService.java create mode 100644 src/main/java/com/pms/ocp/service/impl/ModelRelationServiceImpl.java diff --git a/src/main/java/com/pms/ocp/controller/ModelBaseController.java b/src/main/java/com/pms/ocp/controller/ModelBaseController.java index 1bcd7b9..d987eb7 100644 --- a/src/main/java/com/pms/ocp/controller/ModelBaseController.java +++ b/src/main/java/com/pms/ocp/controller/ModelBaseController.java @@ -2,6 +2,7 @@ package com.pms.ocp.controller; import com.pms.ocp.model.dto.ModelIssueDTO; import com.pms.ocp.model.dto.ModelPropertyDTO; +import com.pms.ocp.model.dto.ModelRelationDTO; import com.pms.ocp.model.entity.Model; import com.pms.ocp.model.entity.ModelNote; import com.pms.ocp.model.vo.ResponseVO; @@ -33,9 +34,6 @@ public class ModelBaseController { @Autowired private ModelService modelService; - @Autowired - private ModelGroupService modelGroupService; - @Autowired private ModelPropertyService modelPropertyService; @@ -45,6 +43,8 @@ public class ModelBaseController { @Autowired private ModelIssueService modelIssueService; + @Autowired + private ModelRelationService modelRelationService; /** * 模型分类-查询 * @@ -276,6 +276,19 @@ public class ModelBaseController { return ResponseVO.ok(modelPropertyService.deletePatchModelProperty(ids)); } + /** + * 模型拓扑关系-增加 + * + * @return + */ + @ApiOperation("模型拓扑关系-增加") + @PostMapping("create/model/topology") + public ResponseVO createModelTopology(@RequestBody ModelRelationDTO modelRelationDTO) { + + Integer i = modelRelationService.createModelRelation(modelRelationDTO); + return ResponseVO.ok(i); + } + /** * 模型拓扑关系-查询 * @@ -283,8 +296,21 @@ public class ModelBaseController { */ @ApiOperation("模型拓扑关系-查询") @GetMapping("/get/model/topology") - public ResponseVO getModelTopology() { - return ResponseVO.ok(); + public ResponseVO getModelTopology(@ApiParam(value = "模型拓扑关系编号") @RequestParam(value = "objId", required = false) String objId, + @ApiParam(value = "模型编码") @RequestParam(value = "modelCode", required = false) String modelCode) { + return ResponseVO.ok(modelRelationService.getModelRelationList(objId, modelCode)); + } + + /** + * 模型拓扑关系-删除 + * + * @return + */ + @ApiOperation("模型拓扑关系-删除") + @PostMapping("/delete/model/topology") + public ResponseVO deleteModelTopology(@ApiParam(value = "模型拓扑关系编号") @RequestParam(value = "objId", required = false) String objId, + @ApiParam(value = "模型编码") @RequestParam(value = "modelCode", required = false) String modelCode) { + return ResponseVO.ok(modelRelationService.deleteModelRelation(objId, modelCode)); } } diff --git a/src/main/java/com/pms/ocp/mapper/ModelRelationMapper.java b/src/main/java/com/pms/ocp/mapper/ModelRelationMapper.java new file mode 100644 index 0000000..39f1942 --- /dev/null +++ b/src/main/java/com/pms/ocp/mapper/ModelRelationMapper.java @@ -0,0 +1,15 @@ +package com.pms.ocp.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.pms.ocp.model.entity.ModelRelation; +import org.apache.ibatis.annotations.Mapper; + +/** + * @Auther: wangjian + * @Date: 2022/2/22 16:25 + * @Description:模型关系数据层接口 + */ + +@Mapper +public interface ModelRelationMapper extends BaseMapper { +} diff --git a/src/main/java/com/pms/ocp/model/dto/ModelRelationDTO.java b/src/main/java/com/pms/ocp/model/dto/ModelRelationDTO.java new file mode 100644 index 0000000..4d98fb7 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/dto/ModelRelationDTO.java @@ -0,0 +1,86 @@ +package com.pms.ocp.model.dto; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * @Auther: wangjian + * @Date: 2022/3/10 19:24 + * @Description:模型关系DTO对象 + */ + +@ApiModel(value = "模型关系DTO对象") +@Data +public class ModelRelationDTO { + + /** + * 模型关系编号 + * 主键 + */ + @ApiModelProperty(value = "模型关系编号") + private String objId; + + /** + * 模型编码 + */ + @ApiModelProperty(value = "模型编码") + private String modelCode; + + /** + * 模型属性编码 + */ + @ApiModelProperty(value = "模型属性编码") + private String modelPropCode; + + /** + * 关联模型编码 + */ + @ApiModelProperty(value = "关联模型编码") + private String relationModeCode; + + /** + * 关联模型属性编码 + */ + @ApiModelProperty(value = "关联模型属性编码") + private String relationModePropCode; + + /** + * 提交人id + */ + @ApiModelProperty(value = "提交人编号") + private String modelUserId; + + + /** + * 提交人姓名 + */ + @ApiModelProperty(value = "提交人姓名") + private String modelUserName; + + /** + * 订阅时间 + */ + @ApiModelProperty(value = "订阅时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime modelCtime; + + /** + * 修改时间 + */ + @ApiModelProperty(value = "修改时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime modelMtime; + + /** + * 是否已删除 0:未删除 1:已删除 + */ + @ApiModelProperty(value = "是否已删除") + private String boolDelete; +} diff --git a/src/main/java/com/pms/ocp/model/entity/ModelRelation.java b/src/main/java/com/pms/ocp/model/entity/ModelRelation.java new file mode 100644 index 0000000..cd074c0 --- /dev/null +++ b/src/main/java/com/pms/ocp/model/entity/ModelRelation.java @@ -0,0 +1,109 @@ +package com.pms.ocp.model.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.experimental.Accessors; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * @Auther: wangjian + * @Date: 2022/3/10 19:16 + * @Description:模型关系对象 + */ + +@Data +@Accessors(chain = true) +@TableName("ocp_model_rel") +public class ModelRelation { + + /** + * 模型关系编号 + * 主键 + */ + @TableId(value = "obj_id") + private String objId; + + /** + * 模型编码 + */ + private String modelCode; + + /** + * 模型属性编码 + */ + private String modelPropCode; + + /** + * 关联模型编码 + */ + private String relationModeCode; + + /** + * 关联模型属性编码 + */ + private String relationModePropCode; + + /** + * 提交人编号 + */ + private String modelUserId; + + + /** + * 提交人姓名 + */ + private String modelUserName; + + /** + * 订阅时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime modelCtime; + + /** + * 修改时间 + */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime modelMtime; + + /** + * 是否已删除 0:未删除 1:已删除 + */ + @TableField("is_delete") + private String boolDelete; + +} + + +// create table ocp_model_rel +// ( +// obj_id varchar(42) constraint ocp_model_rel_pkey primary key, +// model_code varchar(42) default ''::character varying not null, +// model_prop_code varchar(42) default ''::character varying not null, +// relation_mode_code varchar(42) default ''::character varying not null, +// relation_mode_prop_code varchar(43) default ''::character varying not null, +// model_user_id varchar(42) default ''::character varying, +// model_user_name varchar(64) default ''::character varying, +// model_ctime timestamp(6) default '2000-01-01 00:00:00'::timestamp(0) without time zone, +// model_mtime timestamp(6) default '2000-01-01 00:00:00'::timestamp(0) without time zone, +// is_delete smallint default '-1'::integer +// ); +// +// comment on table ocp_model_rel is '模型关系表'; +// comment on column ocp_model_rel.obj_id is '主键'; +// comment on column ocp_model_rel.model_code is '模型编码'; +// comment on column ocp_model_rel.model_prop_code is '模型属性编码'; +// comment on column ocp_model_rel.relation_mode_code is '关联模型编码'; +// comment on column ocp_model_rel.relation_mode_prop_code is '关联模型属性编码'; +// comment on column ocp_model_rel.model_user_id is '提交人id'; +// comment on column ocp_model_rel.model_user_name is '提交人姓名'; +// comment on column ocp_model_rel.model_ctime is '创建时间'; +// comment on column ocp_model_rel.model_mtime is '修改时间'; +// comment on column ocp_model_rel.is_delete is '是否已删除0:未删除 1:已删除'; \ No newline at end of file diff --git a/src/main/java/com/pms/ocp/model/vo/ModelRelationVO.java b/src/main/java/com/pms/ocp/model/vo/ModelRelationVO.java new file mode 100644 index 0000000..1aebf8d --- /dev/null +++ b/src/main/java/com/pms/ocp/model/vo/ModelRelationVO.java @@ -0,0 +1,86 @@ +package com.pms.ocp.model.vo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.time.LocalDateTime; + +/** + * @Auther: wangjian + * @Date: 2022/3/10 19:24 + * @Description:模型关系VO对象 + */ + +@ApiModel(value = "模型关系VO对象") +@Data +public class ModelRelationVO { + + /** + * 模型关系编号 + * 主键 + */ + @ApiModelProperty(value = "模型关系编号") + private String objId; + + /** + * 模型编码 + */ + @ApiModelProperty(value = "模型编码") + private String modelCode; + + /** + * 模型属性编码 + */ + @ApiModelProperty(value = "模型属性编码") + private String modelPropCode; + + /** + * 关联模型编码 + */ + @ApiModelProperty(value = "关联模型编码") + private String relationModeCode; + + /** + * 关联模型属性编码 + */ + @ApiModelProperty(value = "关联模型属性编码") + private String relationModePropCode; + + /** + * 提交人id + */ + @ApiModelProperty(value = "提交人编号") + private String modelUserId; + + + /** + * 提交人姓名 + */ + @ApiModelProperty(value = "提交人姓名") + private String modelUserName; + + /** + * 订阅时间 + */ + @ApiModelProperty(value = "订阅时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime modelCtime; + + /** + * 修改时间 + */ + @ApiModelProperty(value = "修改时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private LocalDateTime modelMtime; + + /** + * 是否已删除 0:未删除 1:已删除 + */ + @ApiModelProperty(value = "是否已删除") + private String boolDelete; +} diff --git a/src/main/java/com/pms/ocp/service/ModelRelationService.java b/src/main/java/com/pms/ocp/service/ModelRelationService.java new file mode 100644 index 0000000..850a539 --- /dev/null +++ b/src/main/java/com/pms/ocp/service/ModelRelationService.java @@ -0,0 +1,65 @@ +package com.pms.ocp.service; + + +import com.pms.ocp.model.dto.ModelRelationDTO; +import com.pms.ocp.model.entity.ModelRelation; +import com.pms.ocp.model.vo.ModelRelationVO; + +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/2/22 16:07 + * @Description:模型关系业务层接口 + */ +public interface ModelRelationService { + + /** + * 创建模型关系 + * + * @param modelRelationDTO + * @return + */ + Integer createModelRelation(ModelRelationDTO modelRelationDTO); + + /** + * 删除模型关系 + * + * @param objId + * @param modelCode + * @return + */ + Integer deleteModelRelation(String objId, String modelCode); + + /** + * 批量删除模型关系 + * + * @param ids + * @return + */ + Integer deletePatchModelRelation(List ids); + + /** + * 更新模型关系 + * + * @param modelRelation + * @return + */ + Integer updateModelRelation(ModelRelation modelRelation); + + /** + * 获取模型关系 + * + * @param + * @return + */ + List getModelRelationList(String objId, String modelCode); + + /** + * 获取模型关系列表 + * + * @param modelId + * @return + */ + ModelRelationVO getModelRelation(String modelId); +} diff --git a/src/main/java/com/pms/ocp/service/impl/ModelRelationServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelRelationServiceImpl.java new file mode 100644 index 0000000..936eb1d --- /dev/null +++ b/src/main/java/com/pms/ocp/service/impl/ModelRelationServiceImpl.java @@ -0,0 +1,88 @@ +package com.pms.ocp.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.pms.ocp.mapper.ModelRelationMapper; +import com.pms.ocp.model.dto.ModelRelationDTO; +import com.pms.ocp.model.entity.ModelIssue; +import com.pms.ocp.model.entity.ModelRelation; +import com.pms.ocp.model.vo.ModelRelationVO; +import com.pms.ocp.service.ModelRelationService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.util.List; + +/** + * @Auther: wangjian + * @Date: 2022/3/10 19:34 + * @Description: + */ + +@Service +public class ModelRelationServiceImpl implements ModelRelationService { + + @Autowired + private ModelRelationMapper modelRelationMapper; + + @Override + public Integer createModelRelation(ModelRelationDTO modelRelationDTO) { + + ModelRelation modelRelation = new ModelRelation(); + + BeanUtils.copyProperties(modelRelationDTO, modelRelation); + + modelRelation.setModelCtime(LocalDateTime.now()); + + return modelRelationMapper.insert(modelRelation); + } + + @Override + public Integer deleteModelRelation(String objId, String modelCode) { + + QueryWrapper queryWrapper = new QueryWrapper(); + + if (StringUtils.isNotEmpty(objId)) { + queryWrapper.lambda().eq(ModelRelation::getObjId, objId); + } + + if (StringUtils.isNotEmpty(modelCode)) { + queryWrapper.lambda().eq(ModelRelation::getModelCode, modelCode); + } + + return modelRelationMapper.delete(queryWrapper); + } + + @Override + public Integer deletePatchModelRelation(List ids) { + return modelRelationMapper.deleteBatchIds(ids); + } + + @Override + public Integer updateModelRelation(ModelRelation modelRelation) { + return null; + } + + @Override + public List getModelRelationList(String objId, String modelCode) { + QueryWrapper queryWrapper = new QueryWrapper(); + + if (StringUtils.isNotEmpty(objId)) { + queryWrapper.lambda().eq(ModelRelation::getObjId, objId); + } + + if (StringUtils.isNotEmpty(modelCode)) { + queryWrapper.lambda().eq(ModelRelation::getModelCode, modelCode); + } + + return modelRelationMapper.selectList(queryWrapper); + } + + @Override + public ModelRelationVO getModelRelation(String modelId) { + return null; + } +} -- 2.26.0