TdBPayBlncacDaoImpl.java
5.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package com.zteits.pay.dao.impl;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.apache.commons.lang3.StringUtils;
import com.clouds.common.utils.DateUtil;
import com.xiaoleilu.hutool.util.ArrayUtil;
import com.xiaoleilu.hutool.util.CollectionUtil;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.apibase.constants.PayOrderEnum;
import com.zteits.pay.dao.TdBPayBlncacDao;
import com.zteits.pay.domain.TdBPayBlncac;
import com.zteits.pay.mapper.smapper.TdBPayBlncacSMapper;
/**
*
* 支付宝对账单Dao实现类.<br/>
*
* Copyright: Copyright (c) 2017 zteits
*
* @ClassName: TdBPayBlncacDaoImpl
* @Description:
* @version: v1.0.0
* @author: xiejianpeng
* @date: 2017年7月4日 上午10:09:20
* Modification History:
* Date Author Version Description
*---------------------------------------------------------*
* 2017年7月4日 xiejianpeng v1.0.0 创建
*/
@Component("com.zteits.pay.dao.impl.TdBPayBlncacDaoImpl")
public class TdBPayBlncacDaoImpl implements TdBPayBlncacDao{
@Autowired
private TdBPayBlncacSMapper tdBPayBlncacSMapper;
@Override
public Integer insert(List<String[]> csvList) {
List<TdBPayBlncac> payBlncacList = new ArrayList<TdBPayBlncac>();
if(!CollectionUtil.isEmpty(csvList)){
/**先删除数据库中是插入支付宝账单日期的数据*/
this.delPayBlncacByBeginDate(csvList);
/**拼接账单信息.*/
payBlncacList = this.getTdBPayBlncacList(csvList);
}
return tdBPayBlncacSMapper.insertPayBlncacList(payBlncacList);
}
/**
* 拼接账单信息
* @param csvList
* @param tdBPayOrderLists
* @param tdBOrderLists
* @return
*/
private List<TdBPayBlncac> getTdBPayBlncacList(List<String[]> csvList){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<TdBPayBlncac> payBlncacList = new ArrayList<TdBPayBlncac>();
try {
for(String[] str:csvList){
if(ArrayUtil.isNotEmpty(str)){
TdBPayBlncac record = new TdBPayBlncac();
record.setRltPayOrderId(StringUtils.isNotEmpty(str[0]) ? str[0] : ""); //支付单交易号
record.setPayOrderId(StringUtils.isNotEmpty(str[1]) ? str[1] : ""); //支付单编号
if(StringUtils.isNotEmpty(str[2])){
if(str[2].trim().equals("交易")){
record.setBusType(Integer.valueOf(PayOrderEnum.BUS_TYPE_DEAL.getValue()));
}else if(str[2].trim().equals("退款")){
record.setBusType(Integer.valueOf(PayOrderEnum.BUS_TYPE_REFUND.getValue()));
}
}
record.setOrderRefundId(StringUtils.isNotEmpty(str[21]) ? str[21] : ""); //退款批次号
record.setPayCreateTime(StringUtils.isNotEmpty(str[4]) ? format.parse(str[4]) : null); //开始时间
record.setPayFinishTime(StringUtils.isNotEmpty(str[5]) ? format.parse(str[5]) : null); //结束时间
record.setCollAccount(StringUtils.isNotEmpty(str[10]) ? str[10] : ""); //收款账号
record.setPayFee(StringUtils.isNotEmpty(str[11]) ? BigDecimal.valueOf(Double.valueOf(str[11])*100) : null); //应收
record.setActualFee(StringUtils.isNotEmpty(str[12]) ? BigDecimal.valueOf(Double.valueOf(str[12])*100) : null);//实收
record.setServeFee(StringUtils.isNotEmpty(str[22]) ? BigDecimal.valueOf(Double.valueOf(str[22])*100) : null);//服务费
record.setProfitFee(StringUtils.isNotEmpty(str[23]) ? BigDecimal.valueOf(Double.valueOf(str[23])*100) : null);//分润
record.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); //数据有效
Date beginTime = DateUtil.getTimestamp(DateUtil.getDateString(format.parse(str[4]), DateUtil.DATE_FORMAT));
Date endTime = DateUtil.getTimestamp(DateUtil.getDateString(DateUtil.getOffsetDaysDate(format.parse(str[4]), 1), DateUtil.DATE_FORMAT));
record.setBillBeginTime(beginTime); //账期开始时间
record.setBillEndTime(endTime); //账期结束时间
record.setRemark(StringUtils.isNotEmpty(str[24]) ? str[24] : ""); //备注
record.setCreateDate(new Date()); //创建时间
//record.setPayAccount(tdBPayOrder.getPayAccount()); //支付账号
record.setPayChannel(Integer.valueOf(PayOrderEnum.PAY_TYPE_ZFB.getValue()));
payBlncacList.add(record);
}
}
} catch (ParseException e) {
e.printStackTrace();
}
return payBlncacList;
}
/**
* 删除要插入支付单日账期是要插入的日期的数据
* @param csvList
* @return
*/
private Integer delPayBlncacByBeginDate(List<String[]> csvList) {
Date beginTime = null;
/**先删除要插入支付单日账期是要插入的日期的数据*/
for(String[] str:csvList){
if(ArrayUtil.isNotEmpty(str)){
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
beginTime =format.parse(str[4]);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
TdBPayBlncac tdBPayBlncac = new TdBPayBlncac();
tdBPayBlncac.setBillBeginTime(beginTime);
tdBPayBlncac.setPayChannel(Integer.valueOf(PayOrderEnum.PAY_TYPE_ZFB.getValue()));
return tdBPayBlncacSMapper.delPayBlncacByBeginDate(tdBPayBlncac);
}
}