解决询价发布回滚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 com.chinaunicom.mall.ebtp.project.projectrecord.service.IProjectRecordService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.TransactionDefinition;
|
||||||
|
import org.springframework.transaction.TransactionStatus;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@ -52,6 +55,11 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
|||||||
@Resource
|
@Resource
|
||||||
private ISeataEntrustService seataEntrustInquiryService;
|
private ISeataEntrustService seataEntrustInquiryService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
DataSourceTransactionManager dataSourceTransactionManager;
|
||||||
|
@Resource
|
||||||
|
TransactionDefinition transactionDefinition;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public boolean initProjectEntrust(InquiryVO inquiryVO) {
|
public boolean initProjectEntrust(InquiryVO inquiryVO) {
|
||||||
@ -94,15 +102,23 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
|
||||||
public boolean inquiryNotice(InquiryNoticeVO inquiryNoticeVO) {
|
public boolean inquiryNotice(InquiryNoticeVO inquiryNoticeVO) {
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
ProjectExceptionEnum.FRAME_EXCEPTION_INQUIRY_NOTICE_STATUS_EMPTY.customValid(null == inquiryNoticeVO.getInquiryNoticeStatus());
|
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()){
|
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_1:result = exceptionService.saveInquiryException(inquiryNoticeVO);break;
|
||||||
case ProjectCommonUtil.INQUIRY_NOTICE_STATUS_2:result = seataEntrustInquiryService.putOffInquiry(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;
|
return result;
|
||||||
}
|
}
|
||||||
@ -113,6 +129,7 @@ public class ProjectEntrustInquiryServiceImpl extends BaseServiceImpl<ProjectEnt
|
|||||||
* @param inquiryNoticeVO 询价返回信息结果实体
|
* @param inquiryNoticeVO 询价返回信息结果实体
|
||||||
* @return 返回结果
|
* @return 返回结果
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private boolean initInquiryProject(InquiryNoticeVO inquiryNoticeVO){
|
private boolean initInquiryProject(InquiryNoticeVO inquiryNoticeVO){
|
||||||
boolean result = false;
|
boolean result = false;
|
||||||
ProjectEntrust projectEntrust = this.getOne(new QueryWrapper<ProjectEntrust>().eq("procurement_plan_id",inquiryNoticeVO.getInquiryId()).ne("status",ProjectCommonUtil.ENTRUS_STATUS_9));
|
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