diff --git a/src/main/java/com/pms/ocp/biz/impl/BizModelRequirementInfoServiceImpl.java b/src/main/java/com/pms/ocp/biz/impl/BizModelRequirementInfoServiceImpl.java index 88adb1c0e296e8b65d4c6bffbb151862174a8b3f..74fac7337c49066e4e6d79e75324d679732b0ba3 100644 --- a/src/main/java/com/pms/ocp/biz/impl/BizModelRequirementInfoServiceImpl.java +++ b/src/main/java/com/pms/ocp/biz/impl/BizModelRequirementInfoServiceImpl.java @@ -16,7 +16,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -45,12 +47,18 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn @Autowired private ModelRequirementApprovalService modelRequirementApprovalService; - @Transactional @Override public Integer createModelRequirementInfo(ModelVersionRequirementDTO modelVersionRequirementDTO) { - modelVersionRequirementDTO.setRequirementCode("MR-" + ((Math.random() * 9 + 1) * 100000)); + /** + * 根据时间戳生成唯一id + */ +// SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSSS"); +// String id = sdf.format(System.currentTimeMillis()); + //id:202010221400070793 + + modelVersionRequirementDTO.setRequirementCode("MR-" + System.currentTimeMillis()); // 需求信息创建 ModelRequirement modelRequirement = new ModelRequirement(); @@ -63,6 +71,13 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn modelRequirementApproval.setRequirementCode(modelVersionRequirementDTO.getRequirementCode()); modelRequirementApproval.setApprovalStatus(0); + // 校验是否模型名称重复 + ModelBaseVersion modelBaseVersion1 = modelBaseVersionService.getModelBaseVersion(modelVersionRequirementDTO.getObjId(), modelVersionRequirementDTO.getModelCode(), modelVersionRequirementDTO.getModelName()); + + if (modelBaseVersion1 != null) { + return -1; + } + // 表版本信息创建 ModelBaseVersion modelBaseVersion = new ModelBaseVersion(); BeanUtils.copyProperties(modelVersionRequirementDTO, modelBaseVersion); @@ -80,6 +95,7 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn return 1; } + @Transactional @Override public Integer createModelPropertyRequirementInfo(ModelPropertyVersionRequirementDTO modelPropertyVersionRequirementDTO) { @@ -89,12 +105,12 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn ModelPropertyVersion modelPropertyVersion = new ModelPropertyVersion(); BeanUtils.copyProperties(modelPropertyVersionRequirementDTO, modelPropertyVersion); + modelPropertyVersion.setRequirementCode(modelPropertyVersionRequirementDTO.getRequirementCode()); + modelPropertyVersion.setModelCode(modelPropertyVersionRequirementDTO.getModelCode()); modelPropertyVersion.setPropCtime(LocalDateTime.now()); modelPropertyVersionService.createModelPropertyVersion(modelPropertyVersion); -// modelRequirementService.createModelDemand(modelRequirement); - return 1; } @@ -103,13 +119,19 @@ public class BizModelRequirementInfoServiceImpl implements BizModelRequirementIn public Integer updateModelRequirementInfo(ModelVersionRequirementDTO modelVersionRequirementDTO) { ModelRequirement modelRequirement = new ModelRequirement(); BeanUtils.copyProperties(modelVersionRequirementDTO, modelRequirement); + +// DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); +// modelRequirement.setCtime(LocalDateTime.parse(modelVersionRequirementDTO.getCtime().toString(), df)); + modelRequirement.setMtime(LocalDateTime.now()); ModelBaseVersion modelBaseVersion = new ModelBaseVersion(); BeanUtils.copyProperties(modelVersionRequirementDTO, modelBaseVersion); - modelBaseVersionService.updateModelBaseVersion(modelBaseVersion); modelRequirementService.updateModelRequirement(modelRequirement); + + modelBaseVersionService.updateModelBaseVersion(modelBaseVersion); + return 1; } diff --git a/src/main/java/com/pms/ocp/common/constants/CodeEnum.java b/src/main/java/com/pms/ocp/common/constants/CodeEnum.java index 0b4e57cbd50ba35c5339ad3e82bbf35a9927853f..0c240e921476791eab1654bab3740e2429cdba67 100644 --- a/src/main/java/com/pms/ocp/common/constants/CodeEnum.java +++ b/src/main/java/com/pms/ocp/common/constants/CodeEnum.java @@ -43,7 +43,8 @@ public enum CodeEnum { UP_DATA_FAIL("401005", "更新失败", false), INSERT_FAIL("401006", "插入数据失败", false), DELETE_FAIL("401007", "修改失败", false), - DATA_REPETITION("250", "分类编码或分类名称重复", false); + DATA_REPETITION("250", "分类编码或分类名称重复", false), + MODEL_NAME_REPETITION("251", "模型名称不能重复", false); /** * 构造函数 diff --git a/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java b/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java index ac7271d9b24603ac688b5de9748d0f8d0ffd29b4..b66a96b889607c7df48c922152d89cb1b594b5de 100644 --- a/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java +++ b/src/main/java/com/pms/ocp/controller/ModelControlDemandController.java @@ -1,6 +1,7 @@ package com.pms.ocp.controller; import com.pms.ocp.biz.BizModelRequirementInfoService; +import com.pms.ocp.common.constants.CodeEnum; import com.pms.ocp.model.dto.ModelPropertyVersionRequirementDTO; import com.pms.ocp.model.dto.ModelVersionRequirementDTO; import com.pms.ocp.model.vo.ResponseVO; @@ -35,7 +36,13 @@ public class ModelControlDemandController { @PostMapping("/create/modelRequirement") public ResponseVO createModelRequirement(@RequestBody ModelVersionRequirementDTO modelVersionRequirementDTO) { - return ResponseVO.ok(bizModelRequirementInfoService.createModelRequirementInfo(modelVersionRequirementDTO)); + Integer integer = bizModelRequirementInfoService.createModelRequirementInfo(modelVersionRequirementDTO); + + if (integer == -1) { + return ResponseVO.ok(CodeEnum.MODEL_NAME_REPETITION); + } + + return ResponseVO.ok(integer); } /** diff --git a/src/main/java/com/pms/ocp/model/dto/ModelPropertyVersionRequirementDTO.java b/src/main/java/com/pms/ocp/model/dto/ModelPropertyVersionRequirementDTO.java index 61c8a119f16bc8a26e25bf6027c27e3d65e908ca..31003f109746358846e284ffc0194cc8c065f659 100644 --- a/src/main/java/com/pms/ocp/model/dto/ModelPropertyVersionRequirementDTO.java +++ b/src/main/java/com/pms/ocp/model/dto/ModelPropertyVersionRequirementDTO.java @@ -131,12 +131,6 @@ public class ModelPropertyVersionRequirementDTO { @ApiModelProperty(value = "需求编码") private String requirementCode; - /** - * 需求类型 0:新增,1:迭代,2下线 - */ - @ApiModelProperty(value = "需求类型 0:新增,1:迭代,2下线") - private Integer requirementType; - /** * 需求简述 */ @@ -165,12 +159,16 @@ public class ModelPropertyVersionRequirementDTO { * 创建时间 */ @ApiModelProperty(value = "创建时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime ctime; /** * 修改时间 */ @ApiModelProperty(value = "修改时间") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime mtime; /** @@ -185,6 +183,18 @@ public class ModelPropertyVersionRequirementDTO { @ApiModelProperty(value = "推广类型 0:统推, 1:自建") private Integer propPromotion; + /** + * 需求类型 0:新增,1:迭代,2下线 + */ + @ApiModelProperty(value = "属性需求类型 0:新增,1:迭代,2下线") + private Integer propRequirementType; + + /** + * 属性需求描述 + */ + @ApiModelProperty(value = "属性需求简述") + private String propRequirementDesc; + } diff --git a/src/main/java/com/pms/ocp/model/entity/ModelBaseVersion.java b/src/main/java/com/pms/ocp/model/entity/ModelBaseVersion.java index 816182cb2c3f01309e3464264d9de111dae0fbca..70dd301fa6f0e8ff961101b98e5f724587c35574 100644 --- a/src/main/java/com/pms/ocp/model/entity/ModelBaseVersion.java +++ b/src/main/java/com/pms/ocp/model/entity/ModelBaseVersion.java @@ -113,7 +113,7 @@ public class ModelBaseVersion { /** * 推广类型 0:统推, 1:自建 */ - private Integer propPromotion; + private Integer modelPromotion; /** * 设计厂商 diff --git a/src/main/java/com/pms/ocp/model/entity/ModelPropertyVersion.java b/src/main/java/com/pms/ocp/model/entity/ModelPropertyVersion.java index 94f1b277cf22e0c71ab624bd3532de765beb2f2d..222f93e05f4ac505e3ac623f29e9467a6b531460 100644 --- a/src/main/java/com/pms/ocp/model/entity/ModelPropertyVersion.java +++ b/src/main/java/com/pms/ocp/model/entity/ModelPropertyVersion.java @@ -118,6 +118,18 @@ public class ModelPropertyVersion { */ private String requirementCode; + /** + * 属性需求类型 + */ + private Integer propRequirementType; + + + /** + * 属性需求描述 + */ + private String propRequirementDesc; + + } // CREATE TABLE operating_platform.ocp_model_prop_version ( diff --git a/src/main/java/com/pms/ocp/model/vo/ModelPropertyVersionRequirementVO.java b/src/main/java/com/pms/ocp/model/vo/ModelPropertyVersionRequirementVO.java index 0100957e098766245b04a1dcfaa8df23990907a8..6650fd674166f7ca205c8f63eb0ac2d9d1a24495 100644 --- a/src/main/java/com/pms/ocp/model/vo/ModelPropertyVersionRequirementVO.java +++ b/src/main/java/com/pms/ocp/model/vo/ModelPropertyVersionRequirementVO.java @@ -128,7 +128,7 @@ public class ModelPropertyVersionRequirementVO { * 属性推广类型 0:统推, 1:自建 */ @ApiModelProperty(value = "属性推广类型 0:统推, 1:自建") - private Integer porpPromotion; + private Integer propPromotion; /** * 需求编码 @@ -140,13 +140,13 @@ public class ModelPropertyVersionRequirementVO { * 需求类型 0:新增,1:迭代,2下线 */ @ApiModelProperty(value = "需求类型 0:新增,1:迭代,2下线") - private Integer requirementType; + private Integer propRequirementType; /** - * 需求简述 + * 属性需求描述 */ @ApiModelProperty(value = "需求简述") - private String requirementDesc; + private String propRequirementDesc; /** * 需求提报公司 diff --git a/src/main/java/com/pms/ocp/service/ModelBaseVersionService.java b/src/main/java/com/pms/ocp/service/ModelBaseVersionService.java index c9d89f6d8c49cec061bf6a64da190db30b66abfe..3c1ffe621e496c7b76f4fc7f415c2ee2af98faa8 100644 --- a/src/main/java/com/pms/ocp/service/ModelBaseVersionService.java +++ b/src/main/java/com/pms/ocp/service/ModelBaseVersionService.java @@ -1,5 +1,6 @@ package com.pms.ocp.service; +import com.pms.ocp.model.entity.Model; import com.pms.ocp.model.entity.ModelBaseVersion; import com.pms.ocp.model.entity.ModelPropertyVersion; import com.pms.ocp.model.vo.ResponseVO; @@ -39,11 +40,20 @@ public interface ModelBaseVersionService { Integer updateModelBaseVersion(ModelBaseVersion modelBaseVersion); /** - * 获取模型列表 + * 获取模型基础版本信息列表 * * @param modelCodeList * @return */ List getModelBaseVersionList(String modelCode, List modelCodeList, Integer currentPage, Integer pageSize); + /** + * 获取模型基础版本信息 + * + * @param objId + * @param modelCode + * @return + */ + ModelBaseVersion getModelBaseVersion(String objId, String modelCode, String modelName); + } diff --git a/src/main/java/com/pms/ocp/service/impl/ModelBaseVersionServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelBaseVersionServiceImpl.java index f8aac9f0b9c80a1bb5e1c9933d096c7152ad074b..43519785271fedac5a151949a71a81c3d864d5b2 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelBaseVersionServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelBaseVersionServiceImpl.java @@ -1,11 +1,10 @@ package com.pms.ocp.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.pms.ocp.mapper.ModelBaseVersionMapper; import com.pms.ocp.model.entity.ModelBaseVersion; -import com.pms.ocp.model.entity.ModelPropertyVersion; -import com.pms.ocp.model.vo.ResponseVO; import com.pms.ocp.service.ModelBaseVersionService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -49,11 +48,17 @@ public class ModelBaseVersionServiceImpl implements ModelBaseVersionService { @Override public Integer updateModelBaseVersion(ModelBaseVersion modelBaseVersion) { - UpdateWrapper updateWrapper = new UpdateWrapper<>(); +// UpdateWrapper updateWrapper = new UpdateWrapper<>(); +// +// updateWrapper.lambda().eq(ModelBaseVersion::getModelCode, modelBaseVersion.getModelCode()); - updateWrapper.lambda().eq(ModelBaseVersion::getModelCode, modelBaseVersion.getModelCode()); - return modelBaseVersionMapper.update(modelBaseVersion, updateWrapper); + LambdaUpdateWrapper lambdaUpdateWrapper = new LambdaUpdateWrapper<>(); + lambdaUpdateWrapper.eq(ModelBaseVersion::getModelCode, modelBaseVersion.getModelCode()). + eq(ModelBaseVersion::getRequirementCode, modelBaseVersion.getRequirementCode()); + + + return modelBaseVersionMapper.update(modelBaseVersion, lambdaUpdateWrapper); } @Override @@ -71,4 +76,23 @@ public class ModelBaseVersionServiceImpl implements ModelBaseVersionService { return modelBaseVersionMapper.selectList(queryWrapper); } + + @Override + public ModelBaseVersion getModelBaseVersion(String objId, String modelCode, String modelName) { + QueryWrapper queryWrapper = new QueryWrapper(); + + if (StringUtils.isNotEmpty(objId)) { + queryWrapper.lambda().eq(ModelBaseVersion::getObjId, objId); + } + + if (StringUtils.isNotEmpty(modelCode)) { + queryWrapper.lambda().eq(ModelBaseVersion::getModelCode, modelCode); + } + + if (StringUtils.isNotEmpty(modelName)) { + queryWrapper.lambda().eq(ModelBaseVersion::getModelName, modelName); + } + + return modelBaseVersionMapper.selectOne(queryWrapper); + } } diff --git a/src/main/resources/mapper/ModelRequirementMapper.xml b/src/main/resources/mapper/ModelRequirementMapper.xml index 3f42c11dcdc4c90628d430b1001cd70d6af1eedc..90c85c40adc29ab3dd5711c24676573bc76a6451 100644 --- a/src/main/resources/mapper/ModelRequirementMapper.xml +++ b/src/main/resources/mapper/ModelRequirementMapper.xml @@ -22,8 +22,8 @@ - select * from ocp_model_prop_version ompv - left join ocp_model_version omv on omv.model_code = ompv.model_code and omv.requirement_code = ompv.requirement_code + left join ocp_model_version omv on omv.model_code = ompv.model_code and omv.requirement_code = + ompv.requirement_code left join ocp_model_requirement omr on omv.requirement_code = omr.requirement_code