|
|
@@ -945,11 +945,12 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional
|
|
|
public int updateSignServiceOrder(String orderNo,String contractNo, String signFirstPayment, String signTotalAmount,
|
|
|
String approval,String orderRemarks,String signTime) {
|
|
|
TOrder tOrder = tOrderMapper.selectByPrimaryKey(orderNo);
|
|
|
checkOrder(tOrder); //检查订单状态
|
|
|
- checkProject(tOrder); //检查是否可签单
|
|
|
+ List<LockingReleaseBo> releaseList = checkProject(tOrder); //检查是否可签单
|
|
|
if (tOrder.getOrderStatus() != OrderState.WAIT_FOR_SIGN.getCode()) {
|
|
|
throw new BusinessException(new Error(ErrorConstants.NOT_ACCORD_WITH_NEXT, orderNo, ""));
|
|
|
} else {
|
|
|
@@ -968,8 +969,9 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
tOrder.setOrderRemarks(orderRemarks);
|
|
|
tOrder.setContractNo(contractNo);
|
|
|
tOrderMapper.updateByPrimaryKeySelective(tOrder);
|
|
|
+ releaseProject(releaseList);//释放原锁定业务
|
|
|
+ lockProject(tOrder);//锁定客户业务
|
|
|
}
|
|
|
- lockProject(tOrder);//锁定客户业务·
|
|
|
return 1;
|
|
|
}
|
|
|
|
|
|
@@ -1002,7 +1004,7 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
throw new BusinessException(new Error(ErrorConstants.ORDER_ALREADY_REVOKE, tOrder.getOrderNo(),""));
|
|
|
}
|
|
|
|
|
|
- public void checkProject(TOrder tOrder){
|
|
|
+ public List<LockingReleaseBo> checkProject(TOrder tOrder){
|
|
|
List<TOrderDetail> list = tOrderMapper.selectOrderCommodity(tOrder.getOrderNo());
|
|
|
//检查客户锁定情况
|
|
|
boolean isUserOwner = false;
|
|
|
@@ -1011,24 +1013,29 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
isUserOwner = true;
|
|
|
}
|
|
|
//检查业务锁定情况
|
|
|
- List<LockingReleaseBo> businessLockedList = null;
|
|
|
+ List<LockingReleaseBo> lockedList = null;
|
|
|
+ List<LockingReleaseBo> releaseList = new ArrayList<LockingReleaseBo>();
|
|
|
boolean isBusinessOwner = false;
|
|
|
String businessName = "";
|
|
|
for(TOrderDetail td : list){
|
|
|
- businessLockedList = userMapper.selectLockedProject(tOrder.getBuyerId(), null,td.getCommodityId(), 1, UserLockReleaseStatus.LOCKED.getCode());
|
|
|
+ lockedList = userMapper.selectLockedProject(tOrder.getBuyerId(), null,td.getCommodityId(), 1, UserLockReleaseStatus.LOCKED.getCode());
|
|
|
businessName = businessProjectMapper.selectByPrimaryKey(td.getCommodityId()).getBname();
|
|
|
- if(businessLockedList.size() > 0){
|
|
|
- for(LockingReleaseBo bo : businessLockedList){
|
|
|
- if(bo.getAid().equals(TokenManager.getAdminId())) isBusinessOwner = true;
|
|
|
+ if(lockedList.size() > 0){
|
|
|
+ for(LockingReleaseBo bo : lockedList){
|
|
|
+ if(bo.getAid().equals(TokenManager.getAdminId())){
|
|
|
+ isBusinessOwner = true;
|
|
|
+ lockedList.add(bo);
|
|
|
+ }
|
|
|
}
|
|
|
if(!isBusinessOwner) throw new BusinessException(new Error(ErrorConstants.BUSINESS_ALREADY_LOCKED,businessName,""));
|
|
|
}else{
|
|
|
if(!isUserOwner) throw new BusinessException(new Error(ErrorConstants.CUSTOMER_ALREADY_LOCKED,businessName,""));
|
|
|
}
|
|
|
}
|
|
|
+ return releaseList;
|
|
|
}
|
|
|
|
|
|
- public void lockProject(TOrder tOrder){
|
|
|
+ private void lockProject(TOrder tOrder){
|
|
|
List<TOrderDetail> list = tOrderMapper.selectOrderCommodity(tOrder.getOrderNo());
|
|
|
UserLockRelease ulr = null;
|
|
|
for(TOrderDetail td : list){
|
|
|
@@ -1046,6 +1053,19 @@ public class OrderServiceImpl extends BaseMybatisDao<TOrderMapper> implements Or
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void releaseProject(List<LockingReleaseBo> releaseList){
|
|
|
+ if(releaseList != null && releaseList.size()>0){
|
|
|
+ UserLockRelease ulr = null;
|
|
|
+ for(LockingReleaseBo bo : releaseList){
|
|
|
+ ulr = new UserLockRelease();
|
|
|
+ ulr.setId(bo.getId());
|
|
|
+ ulr.setStatus(UserLockReleaseStatus.RELEASE.getCode());
|
|
|
+ userLockReleaseMapper.updateByPrimaryKeySelective(ulr);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
@Transactional
|
|
|
public int addOrderCommodity(String orderNo, String commodityId,String commodityName, String commodityMode, Integer commodityQuantity,Integer commodityType,
|