@@ -17,4 +17,6 @@ public interface WxPayOrderMapper extends CommonMapper<WxPayOrder, Long> { | |||||
Integer sum(WxPayOrder wxCarPayOrder); | Integer sum(WxPayOrder wxCarPayOrder); | ||||
WxPayOrder findOneByIdOrTranscationId(@Param("id")Long id,@Param("transcationId")String transcationId,@Param("tenantId")String tenantId); | |||||
} | } |
@@ -161,7 +161,7 @@ public class WxPayServiceImpl implements WxPayService { | |||||
public void handlePaidSuccess(String tenantId,Long orderId,Long cUserId,Integer fee,Date paidTime,String transcationId, | public void handlePaidSuccess(String tenantId,Long orderId,Long cUserId,Integer fee,Date paidTime,String transcationId, | ||||
String userPhone) throws Exception{ | String userPhone) throws Exception{ | ||||
//查询该笔订单是否已经存在 | //查询该笔订单是否已经存在 | ||||
WxPayOrder payOrder = wxPayOrderMapper.selectById(orderId, tenantId); | |||||
WxPayOrder payOrder = wxPayOrderMapper.findOneByIdOrTranscationId(orderId,transcationId, tenantId); | |||||
//String parkOrderNo = ParkCreatePayOrder.getRealParkOrderNumber(payOrderNo,EnumCarVendor.getEnum(carVendor)); | //String parkOrderNo = ParkCreatePayOrder.getRealParkOrderNumber(payOrderNo,EnumCarVendor.getEnum(carVendor)); | ||||
if (null == payOrder) { | if (null == payOrder) { | ||||
//此处需要加锁,防止并发设置 | //此处需要加锁,防止并发设置 | ||||
@@ -96,6 +96,11 @@ | |||||
<include refid="dynamicWhereConditions"/> | <include refid="dynamicWhereConditions"/> | ||||
</select> | </select> | ||||
<select id="findOneByIdOrTranscationId" parameterType="java.util.HashMap" resultMap="BaseResultMap"> | |||||
select <include refid="allColumns"/> from wx_pay_order where (id = #{id} or transaction_id =#{transcationId}) and tenant_id = #{tenantId} | |||||
limit 0,1 | |||||
</select> | |||||
<select id="sum" parameterType="com.iformall.domain.po.WxPayOrder" resultType="Integer"> | <select id="sum" parameterType="com.iformall.domain.po.WxPayOrder" resultType="Integer"> | ||||
select sum(pay_amount) | select sum(pay_amount) | ||||
from wx_pay_order | from wx_pay_order | ||||