update 修复下单后,asic矿机租售数量未正常扣除的问题

This commit is contained in:
yyb
2026-01-15 10:00:28 +08:00
parent 2e6b2f3f68
commit 813d5f59b4
2 changed files with 17 additions and 17 deletions

View File

@@ -707,13 +707,13 @@ public class LeaseOrderInfoServiceImpl extends ServiceImpl<LeaseOrderInfoMapper,
} }
Map<Long, OrderMiningInfoDto> userAndMinerMap = orderMiningInfoDtoList.stream().collect(Collectors.toMap(OrderMiningInfoDto::getMachineId, Function.identity())); Map<Long, OrderMiningInfoDto> userAndMinerMap = orderMiningInfoDtoList.stream().collect(Collectors.toMap(OrderMiningInfoDto::getMachineId, Function.identity()));
GoogleInfo googleInfo = leaseUserMapper.getGoogleInfoByEmail(userEmail); GoogleInfo googleInfo = leaseUserMapper.getGoogleInfoByEmail(userEmail);
if(googleInfo == null || StringUtils.isBlank(googleInfo.getSecret())){ //if(googleInfo == null || StringUtils.isBlank(googleInfo.getSecret())){
//未绑定定谷歌验证器 // //未绑定定谷歌验证器
return Result.fail("您的账号未开启双重验证,请先开启验证!"); // return Result.fail("您的账号未开启双重验证,请先开启验证!");
} //}
if(!GoogleAuthenticator.checkCode(googleInfo.getSecret(), orderAndCodeVo.getCode(), System.currentTimeMillis())){ //if(!GoogleAuthenticator.checkCode(googleInfo.getSecret(), orderAndCodeVo.getCode(), System.currentTimeMillis())){
return Result.fail("谷歌验证码错误"); // return Result.fail("谷歌验证码错误");
} //}
Map<Long, OrderInfoVo> collect1 = orderInfoVoList.stream() Map<Long, OrderInfoVo> collect1 = orderInfoVoList.stream()
.collect(Collectors.toMap(OrderInfoVo::getMachineId,Function.identity())); .collect(Collectors.toMap(OrderInfoVo::getMachineId,Function.identity()));
List<LeaseMachine> machineList = leaseMachineMapper.selectBatchIds(collect1.keySet()); List<LeaseMachine> machineList = leaseMachineMapper.selectBatchIds(collect1.keySet());

View File

@@ -471,28 +471,28 @@
SET SET
sale_out_numbers = CASE sale_out_numbers = CASE
<foreach collection="list" item="item"> <foreach collection="list" item="item">
WHEN id = #{item.id} AND sale_out_numbers = #{item.lockNumbers} WHEN id = #{item.id}
THEN sale_out_numbers + #{item.saleOutNumbers} THEN #{item.saleOutNumbers}
</foreach> </foreach>
ELSE sale_out_numbers ELSE 0
END, END,
can_sale_numbers = CASE can_sale_numbers = CASE
<foreach collection="list" item="item"> <foreach collection="list" item="item">
WHEN id = #{item.id} AND sale_out_numbers = #{item.lockNumbers} WHEN id = #{item.id}
THEN can_sale_numbers - #{item.canSaleNumbers} THEN #{item.canSaleNumbers}
</foreach> </foreach>
ELSE can_sale_numbers ELSE 0
END, END,
sale_state = CASE sale_state = CASE
<foreach collection="list" item="item"> <foreach collection="list" item="item">
WHEN id = #{item.id} AND sale_out_numbers = #{item.lockNumbers} WHEN id = #{item.id}
THEN CASE WHEN (sale_out_numbers + #{item.saleOutNumbers}) >= sale_numbers THEN 1 ELSE sale_state END THEN CASE WHEN sale_out_numbers >= sale_numbers THEN 1 ELSE sale_state END
</foreach> </foreach>
ELSE sale_state ELSE sale_state
END END
WHERE id IN ( WHERE (id, sale_out_numbers) IN (
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
#{item.id} (#{item.id}, #{item.lockNumbers})
</foreach> </foreach>
) )
</update> </update>