解决询价发布回滚bug
This commit is contained in:
@ -23,7 +23,10 @@ import com.chinaunicom.mall.ebtp.project.projectrecord.entity.ProjectRecord;
|
||||
import com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.TransactionDefinition;
|
||||
import org.springframework.transaction.TransactionStatus;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -52,6 +55,11 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
@Resource
|
||||
private ISeataEntrustService seataEntrustInquiryService;
|
||||
|
||||
@Resource
|
||||
DataSourceTransactionManager dataSourceTransactionManager;
|
||||
@Resource
|
||||
TransactionDefinition transactionDefinition;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean initProjectEntrust(InquiryVO inquiryVO) {
|
||||
@ -94,15 +102,23 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean inquiryNotice(InquiryNoticeVO inquiryNoticeVO) {
|
||||
boolean result = false;
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_NOTICE_STATUS_EMPTY.customValid(null == inquiryNoticeVO.getInquiryNoticeStatus());
|
||||
if(ProjectCommonUtil.INQUIRY_NOTICE_STATUS_0 == inquiryNoticeVO.getInquiryNoticeStatus()){
|
||||
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
|
||||
try{
|
||||
result = initInquiryProject(inquiryNoticeVO);
|
||||
dataSourceTransactionManager.commit(transactionStatus);
|
||||
}catch (Exception e){
|
||||
dataSourceTransactionManager.rollback(transactionStatus);
|
||||
ProjectExceptionEnum.FRAME_EXCEPTION_ERROR.customValidName(e.getMessage(),true);
|
||||
}
|
||||
}
|
||||
switch (inquiryNoticeVO.getInquiryNoticeStatus()){
|
||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_0:result = initInquiryProject(inquiryNoticeVO);break;
|
||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_1:result = exceptionService.saveInquiryException(inquiryNoticeVO);break;
|
||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_2:result = seataEntrustInquiryService.putOffInquiry(inquiryNoticeVO);break;
|
||||
default:ProjectExceptionEnum.FRAME_EXCEPTION_PROJECT_ENTRUST_NOT_UPDATE.throwException();
|
||||
default:break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
@ -113,6 +129,7 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
||||
* @param inquiryNoticeVO 询价返回信息结果实体
|
||||
* @return 返回结果
|
||||
*/
|
||||
|
||||
private boolean initInquiryProject(InquiryNoticeVO inquiryNoticeVO){
|
||||
boolean result = false;
|
||||
ProjectEntrust projectEntrust = this.getOne(new QueryWrapper<ProjectEntrust>().eq("procurement_plan_id",inquiryNoticeVO.getInquiryId()).ne("status",ProjectCommonUtil.ENTRUS_STATUS_9));
|
||||
|
Reference in New Issue
Block a user