update 删除店铺新增,是否存在进行中订单校验
This commit is contained in:
@@ -5,6 +5,7 @@ import com.m2pool.lease.dto.OrderStatusDto;
|
|||||||
import com.m2pool.lease.dto.v2.OrderTimeInfoDto;
|
import com.m2pool.lease.dto.v2.OrderTimeInfoDto;
|
||||||
import com.m2pool.lease.entity.LeaseOrderItem;
|
import com.m2pool.lease.entity.LeaseOrderItem;
|
||||||
import com.m2pool.lease.entity.LeasePaymentRecord;
|
import com.m2pool.lease.entity.LeasePaymentRecord;
|
||||||
|
import com.m2pool.lease.entity.LeaseShopConfig;
|
||||||
import com.m2pool.lease.mq.message.RabbitmqPayAutoReturnInfoMessage;
|
import com.m2pool.lease.mq.message.RabbitmqPayAutoReturnInfoMessage;
|
||||||
import org.apache.ibatis.annotations.MapKey;
|
import org.apache.ibatis.annotations.MapKey;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
@@ -80,4 +81,11 @@ public interface LeaseOrderItemMapper extends BaseMapper<LeaseOrderItem> {
|
|||||||
List<OrderTimeInfoDto> getOneDayApartOrder();
|
List<OrderTimeInfoDto> getOneDayApartOrder();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检测店铺正在运行中的订单数量
|
||||||
|
* @param list
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
long checkShopExistRunningOrderNumbers(@Param("list") List<LeaseShopConfig> list);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -243,6 +243,8 @@ public class LeaseShopServiceImpl extends ServiceImpl<LeaseShopMapper, LeaseShop
|
|||||||
if (leaseMachineMapper.checkHasSaleMachineByShopId(shopId) >= 1){
|
if (leaseMachineMapper.checkHasSaleMachineByShopId(shopId) >= 1){
|
||||||
throw new MachineException("注销失败,店铺存在租约中矿机");
|
throw new MachineException("注销失败,店铺存在租约中矿机");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//校验是否存在余额不为0的钱包
|
//校验是否存在余额不为0的钱包
|
||||||
List<LeaseShopConfig> leaseShopConfigs = leaseShopConfigMapper.selectList(new LambdaQueryWrapper<LeaseShopConfig>()
|
List<LeaseShopConfig> leaseShopConfigs = leaseShopConfigMapper.selectList(new LambdaQueryWrapper<LeaseShopConfig>()
|
||||||
.select(LeaseShopConfig::getId,LeaseShopConfig::getBalance)
|
.select(LeaseShopConfig::getId,LeaseShopConfig::getBalance)
|
||||||
@@ -250,6 +252,13 @@ public class LeaseShopServiceImpl extends ServiceImpl<LeaseShopMapper, LeaseShop
|
|||||||
if (leaseShopConfigs.stream().anyMatch(leaseShopConfig -> leaseShopConfig.getBalance().compareTo(BigDecimal.ZERO) > 0)){
|
if (leaseShopConfigs.stream().anyMatch(leaseShopConfig -> leaseShopConfig.getBalance().compareTo(BigDecimal.ZERO) > 0)){
|
||||||
throw new MachineException("注销失败,店铺存在余额不为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<LeaseMachine>()
|
leaseMachineMapper.update(LeaseMachine.builder().del(true).build(), new LambdaUpdateWrapper<LeaseMachine>()
|
||||||
.eq(LeaseMachine::getShopId, shopId));
|
.eq(LeaseMachine::getShopId, shopId));
|
||||||
|
|
||||||
@@ -492,6 +501,7 @@ public class LeaseShopServiceImpl extends ServiceImpl<LeaseShopMapper, LeaseShop
|
|||||||
Long l = leaseOrderItemMapper.selectCount(new LambdaQueryWrapper<LeaseOrderItem>()
|
Long l = leaseOrderItemMapper.selectCount(new LambdaQueryWrapper<LeaseOrderItem>()
|
||||||
.eq(LeaseOrderItem::getChain, config.getChain())
|
.eq(LeaseOrderItem::getChain, config.getChain())
|
||||||
.eq(LeaseOrderItem::getFromSymbol, config.getPayCoin())
|
.eq(LeaseOrderItem::getFromSymbol, config.getPayCoin())
|
||||||
|
.eq(LeaseOrderItem::getFromAddress, config.getPayAddress())
|
||||||
.ne(LeaseOrderItem::getStatus, 0)
|
.ne(LeaseOrderItem::getStatus, 0)
|
||||||
);
|
);
|
||||||
if (l > 0){
|
if (l > 0){
|
||||||
|
|||||||
@@ -116,6 +116,16 @@
|
|||||||
WHERE
|
WHERE
|
||||||
STATUS = 1
|
STATUS = 1
|
||||||
</select>
|
</select>
|
||||||
|
<select id="checkShopExistRunningOrderNumbers" resultType="java.lang.Long">
|
||||||
|
SELECT COUNT(*)
|
||||||
|
FROM lease_order_item
|
||||||
|
WHERE status = 1
|
||||||
|
AND (
|
||||||
|
<foreach collection="list" item="item" separator=" OR ">
|
||||||
|
(chain = #{item.chain} AND from_symbol = #{item.payCoin} AND from_address = #{item.payAddress})
|
||||||
|
</foreach>
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|||||||
Reference in New Issue
Block a user