// Path: tcc-transaction-tutorial-sample/tcc-transaction-sample/tcc-transaction-redpacket/src/main/java/org/pankai/tcctransaction/sample/redpacket/domain/entity/RedPacketAccount.java
// public class RedPacketAccount {
// 
//     private long id;
// 
//     private long userId;
// 
//     private BigDecimal balanceAmount;
// 
//     public long getUserId() {
//         return userId;
//     }
// 
//     public BigDecimal getBalanceAmount() {
//         return balanceAmount;
//     }
// 
// 
//     public long getId() {
//         return id;
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public void transferFrom(BigDecimal amount) {
//         this.balanceAmount = this.balanceAmount.subtract(amount);
// 
//         if (BigDecimal.ZERO.compareTo(this.balanceAmount) > 0) {
//             throw new RuntimeException("not enough balance!");
//         }
//     }
// 
//     public void transferTo(BigDecimal amount) {
//         this.balanceAmount = this.balanceAmount.add(amount);
//     }
// 
//     public void cancelTransfer(BigDecimal amount) {
//         transferTo(amount);
//     }
// 
// 
//     public void setUserId(long userId) {
//         this.userId = userId;
//     }
// 
//     public void setBalanceAmount(BigDecimal balanceAmount) {
//         this.balanceAmount = balanceAmount;
//     }
// }


import org.pankai.tcctransaction.sample.redpacket.domain.entity.RedPacketAccount;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import org.springframework.util.CollectionUtils;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
package org.pankai.tcctransaction.sample.redpacket.domain.repository;



/**
 * Created by pktczwd on 2016/12/19.
 */
@Repository
public class RedPacketAccountRepository {

    @Autowired
    private JdbcTemplate jdbcTemplate;

// Path: tcc-transaction-tutorial-sample/tcc-transaction-sample/tcc-transaction-redpacket/src/main/java/org/pankai/tcctransaction/sample/redpacket/domain/entity/RedPacketAccount.java
// public class RedPacketAccount {
// 
//     private long id;
// 
//     private long userId;
// 
//     private BigDecimal balanceAmount;
// 
//     public long getUserId() {
//         return userId;
//     }
// 
//     public BigDecimal getBalanceAmount() {
//         return balanceAmount;
//     }
// 
// 
//     public long getId() {
//         return id;
//     }
// 
//     public void setId(long id) {
//         this.id = id;
//     }
// 
//     public void transferFrom(BigDecimal amount) {
//         this.balanceAmount = this.balanceAmount.subtract(amount);
// 
//         if (BigDecimal.ZERO.compareTo(this.balanceAmount) > 0) {
//             throw new RuntimeException("not enough balance!");
//         }
//     }
// 
//     public void transferTo(BigDecimal amount) {
//         this.balanceAmount = this.balanceAmount.add(amount);
//     }
// 
//     public void cancelTransfer(BigDecimal amount) {
//         transferTo(amount);
//     }
// 
// 
//     public void setUserId(long userId) {
//         this.userId = userId;
//     }
// 
//     public void setBalanceAmount(BigDecimal balanceAmount) {
//         this.balanceAmount = balanceAmount;
//     }
// }


// Path: tcc-transaction-tutorial-sample/tcc-transaction-sample/tcc-transaction-redpacket/src/main/java/org/pankai/tcctransaction/sample/redpacket/domain/repository/RedPacketAccountRepository.java
import org.pankai.tcctransaction.sample.redpacket.domain.entity.RedPacketAccount;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
import org.springframework.util.CollectionUtils;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

package org.pankai.tcctransaction.sample.redpacket.domain.repository;



/**
 * Created by pktczwd on 2016/12/19.
 */
@Repository
public class RedPacketAccountRepository {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public RedPacketAccount findByUserId(long userId) {