diff --git a/src/main/java/com/m2pool/lease/mapper/LeaseOrderItemMapper.java b/src/main/java/com/m2pool/lease/mapper/LeaseOrderItemMapper.java index 4ab96da..82ba0d5 100644 --- a/src/main/java/com/m2pool/lease/mapper/LeaseOrderItemMapper.java +++ b/src/main/java/com/m2pool/lease/mapper/LeaseOrderItemMapper.java @@ -5,6 +5,7 @@ import com.m2pool.lease.dto.OrderStatusDto; import com.m2pool.lease.dto.v2.OrderTimeInfoDto; import com.m2pool.lease.entity.LeaseOrderItem; import com.m2pool.lease.entity.LeasePaymentRecord; +import com.m2pool.lease.entity.LeaseShopConfig; import com.m2pool.lease.mq.message.RabbitmqPayAutoReturnInfoMessage; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Mapper; @@ -80,4 +81,11 @@ public interface LeaseOrderItemMapper extends BaseMapper { List getOneDayApartOrder(); + /** + * 检测店铺正在运行中的订单数量 + * @param list + * @return + */ + long checkShopExistRunningOrderNumbers(@Param("list") List list); + } diff --git a/src/main/java/com/m2pool/lease/service/impl/LeaseShopServiceImpl.java b/src/main/java/com/m2pool/lease/service/impl/LeaseShopServiceImpl.java index 51224a3..b7e8637 100644 --- a/src/main/java/com/m2pool/lease/service/impl/LeaseShopServiceImpl.java +++ b/src/main/java/com/m2pool/lease/service/impl/LeaseShopServiceImpl.java @@ -243,6 +243,8 @@ public class LeaseShopServiceImpl extends ServiceImpl= 1){ throw new MachineException("注销失败,店铺存在租约中矿机"); } + + //校验是否存在余额不为0的钱包 List leaseShopConfigs = leaseShopConfigMapper.selectList(new LambdaQueryWrapper() .select(LeaseShopConfig::getId,LeaseShopConfig::getBalance) @@ -250,6 +252,13 @@ public class LeaseShopServiceImpl extends ServiceImpl leaseShopConfig.getBalance().compareTo(BigDecimal.ZERO) > 0)){ throw new MachineException("注销失败,店铺存在余额不为0的钱包"); } + + //校验是否存在订单 + long runningOrderCount = leaseOrderItemMapper.checkShopExistRunningOrderNumbers(leaseShopConfigs); + if (runningOrderCount > 0) { + throw new MachineException("注销失败,店铺钱包存在未完成的订单"); + } + leaseMachineMapper.update(LeaseMachine.builder().del(true).build(), new LambdaUpdateWrapper() .eq(LeaseMachine::getShopId, shopId)); @@ -492,6 +501,7 @@ public class LeaseShopServiceImpl extends ServiceImpl() .eq(LeaseOrderItem::getChain, config.getChain()) .eq(LeaseOrderItem::getFromSymbol, config.getPayCoin()) + .eq(LeaseOrderItem::getFromAddress, config.getPayAddress()) .ne(LeaseOrderItem::getStatus, 0) ); if (l > 0){ diff --git a/src/main/resources/mapper/lease/LeaseOrderItemMapper.xml b/src/main/resources/mapper/lease/LeaseOrderItemMapper.xml index 35c2b81..0bb3b98 100644 --- a/src/main/resources/mapper/lease/LeaseOrderItemMapper.xml +++ b/src/main/resources/mapper/lease/LeaseOrderItemMapper.xml @@ -116,6 +116,16 @@ WHERE STATUS = 1 +