Subversion Repositories SmartDukaan

Rev

Rev 2279 | Rev 4141 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1946 chandransh 1
package in.shop2020.payment.handler;
2
 
3
import java.text.SimpleDateFormat;
4
import java.util.Date;
5
import java.util.List;
6
import java.util.Map;
2977 chandransh 7
import java.util.Map.Entry;
1946 chandransh 8
 
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.stereotype.Service;
11
import org.springframework.transaction.annotation.Transactional;
12
 
13
import in.shop2020.payment.domain.Payment;
14
import in.shop2020.payment.persistence.PaymentMapper;
15
 
16
@Service
17
public class PaymentHandler{
18
 
19
	@Autowired
20
	private PaymentMapper paymentMapper;
21
 
22
	@Transactional
23
	public long insertPayment(Payment payment){
24
		paymentMapper.insertPayment(payment);
25
		return payment.getId();
26
	}
27
 
28
	public Payment getPayment(long id){
29
		return paymentMapper.getPayment(id);
30
	}
31
 
32
	@Transactional
33
	public void updatePayment(Payment payment, Map<String, String> attributes){
34
		paymentMapper.updatePayment(payment);
2977 chandransh 35
		for(Entry<String, String> entry: attributes.entrySet()){
36
			paymentMapper.insertPaymentAttribute(payment.getId(), entry.getKey(), entry.getValue());
1946 chandransh 37
		}
38
	}
39
 
40
	public List<Payment> getPayments(long tFromTime, long tToTime, int status, long gatewayId){
41
		SimpleDateFormat mysqlDateFormatter = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
42
		String fromTime = mysqlDateFormatter.format(new Date(tFromTime));
43
		String toTime = mysqlDateFormatter.format(new Date(tToTime));
2279 chandransh 44
		return paymentMapper.getPayments(fromTime, toTime, status, gatewayId);
1946 chandransh 45
	}
46
 
47
	public List<Payment> getPaymentsForUser(long userId, long tFromTime, long tToTime, int status, long gatewayId){
48
		SimpleDateFormat mysqlDateFormatter = new SimpleDateFormat("yyyy-MM-dd 00:00:00");
49
		String fromTime = mysqlDateFormatter.format(new Date(tFromTime));
50
		String toTime = mysqlDateFormatter.format(new Date(tToTime));
51
		return paymentMapper.getPaymentsForUser(userId, fromTime, toTime, status, gatewayId);
52
	}
53
 
54
	public List<Payment> getPaymentForTxn(long merchantTxnId){
55
		return paymentMapper.getPaymentForTxn(merchantTxnId);
56
	}
57
 
58
	public Map<String, Float> getMinMaxPaymentAmount(){
59
		return paymentMapper.getMinMaxPaymentAmount();
60
	}
61
}