优化充电桩主动申请充电判断逻辑

This commit is contained in:
Guoqs
2025-08-08 09:33:53 +08:00
parent 388fe859e7
commit 2a5a1e82a7
2 changed files with 15 additions and 15 deletions

View File

@@ -395,8 +395,10 @@ public class ConfirmStartChargingRequestHandler extends AbstractYkcHandler {
return resultMap;
}
// 如果总余额小于0, 则示余额不足
if (memberWalletVO.getTotalBalance().compareTo(BigDecimal.ZERO) < 0) {
// 如果不是平台测试员, 并且也不是站点白名单, 并且总余额小于0, 则示余额不足
if (!StringUtils.equals(Constants.ONE, memberWalletVO.getPlatformTesterFlag())
&& !StringUtils.equals(Constants.ONE, memberWalletVO.getStationWhiteListFlag())
&& memberWalletVO.getTotalBalance().compareTo(BigDecimal.ZERO) < 0) {
resultMap.put("transactionCode", Constants.ILLEGAL_TRANSACTION_CODE);
resultMap.put("accountBalance", accountBalance);
resultMap.put("defeatReasonCode", "03");

View File

@@ -306,27 +306,25 @@
<select id="queryMemberInfoByCardCode" resultType="com.jsowell.pile.vo.base.ConfirmStartChargingMemberVO">
select
t1.member_id as memberId,
t2.principal_balance as principalBalance,
t2.gift_balance as giftBalance
t3.principal_balance as principalBalance,
t3.gift_balance as giftBalance
from member_basic_info t1
join member_wallet_info t2 on t1.member_id = t2.member_id and t2.del_flag = '0'
join pile_auth_card t3 on t1.member_id = t3.member_id and t3.del_flag = '0'
join pile_auth_card t2 on t1.member_id = t2.member_id and t2.del_flag = '0'
left join member_wallet_info t3 on t1.member_id = t3.member_id and t3.del_flag = '0' and t3.merchant_id = #{merchantId}
where t1.del_flag = '0'
and t3.logic_card = #{cardCode,jdbcType=VARCHAR}
and t2.merchant_id = #{merchantId}
and t2.logic_card = #{cardCode,jdbcType=VARCHAR}
</select>
<select id="queryMemberInfoByVinCode" resultType="com.jsowell.pile.vo.base.ConfirmStartChargingMemberVO">
select
t1.member_id as memberId,
t3.license_plate_number as plateNumber,
t2.principal_balance as principalBalance,
t2.gift_balance as giftBalance
t2.license_plate_number as plateNumber,
t3.principal_balance as principalBalance,
t3.gift_balance as giftBalance
from member_basic_info t1
join member_wallet_info t2 on t1.member_id = t2.member_id and t2.del_flag = '0'
join member_plate_number_relation t3 on t1.member_id = t3.member_id and t3.del_flag = '0'
join member_plate_number_relation t2 on t1.member_id = t2.member_id and t2.del_flag = '0'
left join member_wallet_info t3 on t1.member_id = t3.member_id and t3.del_flag = '0' and t3.merchant_id = #{merchantId}
where t1.del_flag = '0'
and t3.vin_code = #{vinCode,jdbcType=VARCHAR}
and t2.merchant_id = #{merchantId}
and t2.vin_code = #{vinCode,jdbcType=VARCHAR}
</select>
</mapper>