Merge pull request '添加原始需求公开接口' (#856) from wanjia9506/microservices:kanban_refact into product_refact
This commit is contained in:
commit
7e37ef0a36
|
|
@ -5,8 +5,7 @@ import com.microservices.common.core.web.controller.BaseController;
|
|||
import com.microservices.common.core.web.domain.AjaxResult;
|
||||
import com.microservices.common.log.annotation.Log;
|
||||
import com.microservices.common.log.enums.BusinessType;
|
||||
import com.microservices.common.security.annotation.RequiresPermissions;
|
||||
import com.microservices.pms.product.domain.vo.ProductReqSpecsInputVo;
|
||||
import com.microservices.pms.product.domain.vo.ProductUserReqInputVo;
|
||||
import com.microservices.pms.product.service.IPmsProductRequirementService;
|
||||
import com.microservices.pms.specialArea.service.SoftwareFactStatisticsServiceImpl;
|
||||
import io.swagger.annotations.Api;
|
||||
|
|
@ -61,11 +60,11 @@ public class OpenController extends BaseController {
|
|||
* 新增需求
|
||||
*/
|
||||
@Log(title = "需求", businessType = BusinessType.INSERT)
|
||||
@PostMapping("/{enterpriseIdentifier}/productRequirementSpecs")
|
||||
@PostMapping("/{enterpriseIdentifier}/productUserRequirement")
|
||||
@ApiOperation(value = "新增需求")
|
||||
public AjaxResult add(@PathVariable String enterpriseIdentifier,
|
||||
@RequestBody @Validated ProductReqSpecsInputVo productReqSpecsInputVo) {
|
||||
productReqSpecsInputVo.setEnterpriseIdentifier(enterpriseIdentifier);
|
||||
return AjaxResult.success(pmsProductRequirementService.insertReqSpecs(productReqSpecsInputVo));
|
||||
@RequestBody @Validated ProductUserReqInputVo productUserReqInputVo) {
|
||||
productUserReqInputVo.setEnterpriseIdentifier(enterpriseIdentifier);
|
||||
return success(pmsProductRequirementService.insertUserReqWithoutAuth(productUserReqInputVo));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ public interface IPmsEnterpriseService {
|
|||
|
||||
PmsEnterprise selectPmsEnterpriseByIdentifier(String identifier);
|
||||
|
||||
PmsEnterprise selectPmsEnterpriseByIdentifierWithoutAuth(String identifier);
|
||||
|
||||
/**
|
||||
* 获取企业下用户列表
|
||||
*
|
||||
|
|
|
|||
|
|
@ -136,6 +136,27 @@ public class PmsEnterpriseServiceImpl implements IPmsEnterpriseService {
|
|||
return pmsEnterprise;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PmsEnterprise selectPmsEnterpriseByIdentifierWithoutAuth(String identifier) {
|
||||
// 企业信息在项目管理的每次接口请求中都会执行查询,加入到Redis缓存减少数据库查询次数
|
||||
String enterpriseRedisKey = CacheConstants.getEnterpriseIdentifierKey(identifier);
|
||||
PmsEnterprise pmsEnterprise;
|
||||
if (redisService.hasKey(enterpriseRedisKey)) {
|
||||
pmsEnterprise = redisService.getCacheObject(enterpriseRedisKey);
|
||||
} else {
|
||||
pmsEnterprise = pmsEnterpriseMapper.selectPmsEnterpriseByIdentifier(identifier);
|
||||
if (pmsEnterprise == null) {
|
||||
throw new ServiceException("该企业不存在(企业标识[%s])", identifier);
|
||||
}
|
||||
redisService.setCacheObject(enterpriseRedisKey, pmsEnterprise);
|
||||
}
|
||||
if (!checkEnterpriseInitComplete(pmsEnterprise.getGitlinkOrgId())) {
|
||||
throw new ServiceException("当前组织初始化未完成,不允许进行操作!");
|
||||
}
|
||||
pmsEnterprise.setGitlinkUrl(gitLinkRequestHelper.gitLinkUrl);
|
||||
return pmsEnterprise;
|
||||
}
|
||||
|
||||
private void clearPmsEnterpriseForRedis(PmsEnterprise pmsEnterprise) {
|
||||
redisService.deleteObject(CacheConstants.getEnterpriseIdentifierKey(pmsEnterprise.getEnterpriseIdentifier()));
|
||||
redisService.deleteObject(CacheConstants.getEnterpriseIdKey(pmsEnterprise.getId()));
|
||||
|
|
|
|||
|
|
@ -90,6 +90,8 @@ public interface IPmsProductRequirementService
|
|||
|
||||
Long insertUserReq(ProductUserReqInputVo productUserReqInputVo);
|
||||
|
||||
Long insertUserReqWithoutAuth(ProductUserReqInputVo productUserReqInputVo);
|
||||
|
||||
int updateUserReq(ProductUserReqUpdateVo productUserReqUpdateVo);
|
||||
|
||||
int deleteUserReqByIds(Long[] ids);
|
||||
|
|
|
|||
|
|
@ -79,6 +79,8 @@ public interface IPmsProductService
|
|||
*/
|
||||
PmsProduct selectPmsProductByIdentifier(String identifier);
|
||||
|
||||
PmsProduct selectPmsProductByIdentifierWithoutAuth(String identifier);
|
||||
|
||||
/**
|
||||
* 置顶/取消置顶产品
|
||||
* @param identifier
|
||||
|
|
|
|||
|
|
@ -149,6 +149,31 @@ public class PmsProductRequirementServiceImpl implements IPmsProductRequirementS
|
|||
return pmsProductRequirement.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = ServiceException.class)
|
||||
public Long insertUserReqWithoutAuth(ProductUserReqInputVo productUserReqInputVo) {
|
||||
// 校验产品是否存在
|
||||
PmsProduct pmsProduct = pmsProductService.selectPmsProductByIdentifierWithoutAuth(productUserReqInputVo.getPmsProductIdentifier());
|
||||
|
||||
PmsProductRequirement pmsProductRequirement = productUserReqInputVo.toPmsProductRequirement();
|
||||
// 校验参数
|
||||
checkUserReqParameter(pmsProductRequirement, pmsProduct);
|
||||
if (StringUtils.isEmpty(productUserReqInputVo.getSourceCompany())) {
|
||||
PmsEnterprise pmsEnterprise = pmsEnterpriseService.selectPmsEnterpriseByIdentifierWithoutAuth(productUserReqInputVo.getEnterpriseIdentifier());
|
||||
pmsProductRequirement.setSourceCompany(pmsEnterprise.getEnterpriseName());
|
||||
}
|
||||
// 设置默认需求状态
|
||||
pmsProductRequirement.setStatus(ProductReqStatus.PENDING_REVIEW_USER_REQ.getKey());
|
||||
|
||||
pmsProductRequirement.setCreateAndUpdate(SecurityUtils.getUsername());
|
||||
|
||||
pmsProductService.updatePmsProductChange(pmsProductRequirement.getPmsProductIdentifier());
|
||||
pmsProductRequirementMapper.insertPmsProductRequirement(pmsProductRequirement);
|
||||
pmsProductReqOperationRecordService.insertPmsProductReqOperationRecord(
|
||||
productUserReqInputVo.toPmsProductReqOperationRecord(pmsProductRequirement));
|
||||
return pmsProductRequirement.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateUserReq(ProductUserReqUpdateVo productUserReqUpdateVo) {
|
||||
// 通过id检查需修改的产品需求是否存在
|
||||
|
|
|
|||
|
|
@ -272,6 +272,15 @@ public class PmsProductServiceImpl implements IPmsProductService
|
|||
return pmsProduct;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PmsProduct selectPmsProductByIdentifierWithoutAuth(String identifier) {
|
||||
PmsProduct pmsProduct= pmsProductMapper.selectPmsProductByIdentifier(identifier);
|
||||
if(pmsProduct==null){
|
||||
throw new ServiceException("该产品不存在(产品标识[%s])",identifier);
|
||||
}
|
||||
return pmsProduct;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updatePmsProductTop(String identifier) {
|
||||
PmsProduct pmsProduct=selectPmsProductByIdentifier(identifier);
|
||||
|
|
|
|||
Loading…
Reference in New Issue