diff --git a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/product/ProductServiceImpl.java b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/product/ProductServiceImpl.java index 04675a2..cdef72a 100644 --- a/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/product/ProductServiceImpl.java +++ b/rdms-project/rdms-project-boot/src/main/java/com/njcn/rdms/module/project/service/product/ProductServiceImpl.java @@ -5,16 +5,8 @@ import com.njcn.rdms.framework.common.pojo.PageResult; import com.njcn.rdms.framework.common.util.json.JsonUtils; import com.njcn.rdms.framework.common.util.object.BeanUtils; import com.njcn.rdms.framework.security.core.util.SecurityFrameworkUtils; -import com.njcn.rdms.module.project.controller.admin.product.vo.product.ProductContextNavRespVO; -import com.njcn.rdms.module.project.controller.admin.product.vo.product.ProductContextProductRespVO; -import com.njcn.rdms.module.project.controller.admin.product.vo.product.ProductContextRoleRespVO; -import com.njcn.rdms.module.project.controller.admin.product.vo.product.ProductContextRespVO; -import com.njcn.rdms.module.project.controller.admin.product.vo.product.ProductDeleteReqVO; -import com.njcn.rdms.module.project.controller.admin.product.vo.product.ProductPageReqVO; -import com.njcn.rdms.module.project.controller.admin.product.vo.product.ProductSaveReqVO; -import com.njcn.rdms.module.project.controller.admin.product.vo.product.ProductStatusActionReqVO; +import com.njcn.rdms.module.project.controller.admin.product.vo.product.*; import com.njcn.rdms.module.project.controller.admin.product.vo.setting.ProductSettingBaseInfoUpdateReqVO; -import com.njcn.rdms.module.project.framework.security.annotation.CheckObjectPermission; import com.njcn.rdms.module.project.dal.dataobject.audit.BizAuditLogDO; import com.njcn.rdms.module.project.dal.dataobject.member.UserObjectRoleDO; import com.njcn.rdms.module.project.dal.dataobject.product.ProductDO; @@ -23,9 +15,11 @@ import com.njcn.rdms.module.project.dal.dataobject.status.ObjectStatusTransition import com.njcn.rdms.module.project.dal.mysql.audit.BizAuditLogMapper; import com.njcn.rdms.module.project.dal.mysql.member.UserObjectRoleMapper; import com.njcn.rdms.module.project.dal.mysql.product.ProductMapper; +import com.njcn.rdms.module.project.dal.mysql.product.ProductRequirementModuleMapper; import com.njcn.rdms.module.project.dal.mysql.product.ProductStatusLogMapper; import com.njcn.rdms.module.project.dal.mysql.status.ObjectStatusTransitionMapper; import com.njcn.rdms.module.project.enums.ErrorCodeConstants; +import com.njcn.rdms.module.project.framework.security.annotation.CheckObjectPermission; import com.njcn.rdms.module.system.api.permission.ObjectPermissionApi; import com.njcn.rdms.module.system.api.permission.dto.ObjectMenuRespDTO; import com.njcn.rdms.module.system.api.permission.dto.ObjectRolePermissionRespDTO; @@ -40,14 +34,7 @@ import org.springframework.util.StringUtils; import java.time.LocalDate; import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Set; +import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -99,6 +86,8 @@ public class ProductServiceImpl implements ProductService { private ObjectPermissionApi objectPermissionApi; @Resource private AdminUserApi adminUserApi; + @Resource + private ProductRequirementModuleMapper requirementModuleMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -116,6 +105,7 @@ public class ProductServiceImpl implements ProductService { productMapper.insert(product); initManagerMemberRelation(product); + initDefaultRequirementModule(product); writeBizAuditLog(product, PRODUCT_CREATE_ACTION, null, PRODUCT_ACTIVE_STATUS, buildProductFieldChanges(null, product), null); return product.getId(); @@ -369,6 +359,17 @@ public class ProductServiceImpl implements ProductService { return generatedCode; } + private void initDefaultRequirementModule(ProductDO product) { + com.njcn.rdms.module.project.dal.dataobject.product.ProductRequirementModuleDO module = + new com.njcn.rdms.module.project.dal.dataobject.product.ProductRequirementModuleDO(); + module.setParentId(0L); + module.setProductId(product.getId()); + module.setModuleName("全部需求"); + module.setRemark("自动创建的模块"); + module.setSort(0); + requirementModuleMapper.insert(module); + } + private void initManagerMemberRelation(ProductDO product) { ObjectRoleRespDTO managerRole = objectPermissionApi .getObjectRoleByCode(PRODUCT_MANAGER_ROLE_CODE, ROLE_SCOPE_OBJECT, PRODUCT_OBJECT_TYPE)