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.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<LeaseOrderItem> {
|
||||
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){
|
||||
throw new MachineException("注销失败,店铺存在租约中矿机");
|
||||
}
|
||||
|
||||
|
||||
//校验是否存在余额不为0的钱包
|
||||
List<LeaseShopConfig> leaseShopConfigs = leaseShopConfigMapper.selectList(new LambdaQueryWrapper<LeaseShopConfig>()
|
||||
.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)){
|
||||
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>()
|
||||
.eq(LeaseMachine::getShopId, shopId));
|
||||
|
||||
@@ -492,6 +501,7 @@ public class LeaseShopServiceImpl extends ServiceImpl<LeaseShopMapper, LeaseShop
|
||||
Long l = leaseOrderItemMapper.selectCount(new LambdaQueryWrapper<LeaseOrderItem>()
|
||||
.eq(LeaseOrderItem::getChain, config.getChain())
|
||||
.eq(LeaseOrderItem::getFromSymbol, config.getPayCoin())
|
||||
.eq(LeaseOrderItem::getFromAddress, config.getPayAddress())
|
||||
.ne(LeaseOrderItem::getStatus, 0)
|
||||
);
|
||||
if (l > 0){
|
||||
|
||||
@@ -116,6 +116,16 @@
|
||||
WHERE
|
||||
STATUS = 1
|
||||
</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>
|
||||
|
||||
Reference in New Issue
Block a user