Commit dc884400 authored by Java-刘 彧阳's avatar Java-刘 彧阳

init

parent 25ec9ea7
# Created by https://www.gitignore.io
### svn ###
.svn/
### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm
*.iml
## Directory-based project format:
.idea/
# if you remove the above rule, at least ignore the following:
# User-specific stuff:
# .idea/workspace.xml
# .idea/tasks.xml
# .idea/dictionaries
# Sensitive or high-churn files:
# .idea/dataSources.ids
# .idea/dataSources.xml
# .idea/sqlDataSources.xml
# .idea/dynamic.xml
# .idea/uiDesigner.xml
# Gradle:
# .idea/gradle.xml
# .idea/libraries
# Mongo Explorer plugin:
# .idea/mongoSettings.xml
## File-based project format:
*.ipr
*.iws
## Plugin-specific files:
# IntelliJ
/out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
### Maven ###
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
### Java ###
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
### OSX ###
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# redis dump files
dump.rdb
# jta transaction log
*.epoch
*.log
*.lck
\ No newline at end of file
......@@ -166,4 +166,29 @@
<version>1.4</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
</project>
\ No newline at end of file
package cn.gq.financial.app;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import cn.gq.financial.app.handler.RepayHandler;
import cn.gq.financial.model.bill.Bill;
import cn.gq.financial.model.bill.UMPayBill;
import cn.gq.financial.model.bill.WXBill;
import cn.gq.financial.model.bill.YeepayBill;
public class RepayFinancialAPP {
private static final Logger LOGGER = LoggerFactory.getLogger(RepayFinancialAPP.class);
static final String CONFIG_LOCAL="applicationContext.xml";
static Integer month = 9;
static String SRC_BILL_PATH ="E:\\WX_BILL\\UTF-8";
static String payAprroach="微信";
static String payAccount = "微信-现金贷账户";
private static ClassPathXmlApplicationContext context = null;
static Class<? extends Bill> clazz = null;
static {
switch (payAprroach){
case "微信":
clazz = WXBill.class;
break;
case "易宝":
clazz = YeepayBill.class;
break;
case "联动":
clazz = UMPayBill.class;
break;
}
}
public static void main(String[] args) throws Exception {
LOGGER.info("======开始处理还款账单======");
long begin = System.currentTimeMillis();
RepayHandler handler = getSpringContext().getBean(RepayHandler.class);
//按照参数,对账
handler.repayBillDetailHandler(SRC_BILL_PATH,clazz,payAccount,month);
context.close();
LOGGER.info("======结束处理还款账单======");
LOGGER.info("总计耗时--->{}mm",(System.currentTimeMillis()-begin));
}
public static ClassPathXmlApplicationContext getSpringContext(){
if (null == context){
context = new ClassPathXmlApplicationContext(CONFIG_LOCAL);
}
return context;
}
}
package cn.gq.financial.app.handler;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CountDownLatch;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Component;
import cn.gq.financial.model.bill.Bill;
import cn.gq.financial.model.bill.WXBill;
import cn.gq.financial.service.BizRepayDetailService;
import cn.gq.financial.service.PaycenterService;
import cn.gq.financial.utils.BillParsers;
@Component
public class RepayHandler {
static int ITEM_SIZE = 5000;
@Autowired
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
@Autowired
private PaycenterService paycenterService;
@Autowired
private BizRepayDetailService bizRepayDetailService;
private CountDownLatch count = null;
public void repayBillDetailHandler(final String srcPaht,final Class<? extends Bill> clazz, String payAccount, Integer month) throws Exception {
List<Bill> bills = getBillsFromFile(srcPaht,clazz,payAccount,month);
if(!CollectionUtils.isEmpty(bills)){
asyncHandlerRepayData(clazz, bills);
count.await(); //等待所有线程结束
}else{
throw new RuntimeException("没有读入任何账单");
}
}
private void asyncHandlerRepayData(final Class<? extends Bill> clazz,
List<Bill> bills) {
if (bills.size()<ITEM_SIZE) {
count = new CountDownLatch(1);
threadPoolTaskExecutor.execute(new RepayHandlerAsync(bills,clazz,paycenterService,bizRepayDetailService,count));
}else{
int group = bills.size()/ITEM_SIZE;
int cnt = group;
if(0 != bills.size()%ITEM_SIZE){
cnt +=1;
}
count = new CountDownLatch(cnt);
int i = 0;
for (i = 0; i < group; i++) {
List<Bill> subList = bills.subList(i*ITEM_SIZE, (i+1)*ITEM_SIZE);
threadPoolTaskExecutor.execute(new RepayHandlerAsync(subList,clazz,paycenterService,bizRepayDetailService,count));
}
if(bills.size()%ITEM_SIZE != 0 ){
List<Bill> subList = bills.subList(i*ITEM_SIZE, bills.size());
threadPoolTaskExecutor.execute(new RepayHandlerAsync(subList,clazz,paycenterService,bizRepayDetailService,count));
}
}
}
private static List<Bill> getBillsFromFile(String srcPath,Class<? extends Bill> clazz, String payAccount, Integer month) throws Exception {
File [] billFiles = getFiles(srcPath);
List<Bill> bills = new ArrayList<Bill>();
for (int i = 0; i < billFiles.length; i++) {
List<? extends Bill> billAday = BillParsers.parseBillFromInputStream(billFiles[i], clazz);
bills.addAll(billAday);
}
for (Bill bill : bills) {
bill.setPayAccount(payAccount);
bill.setMonth(month);
}
return bills;
}
private static File[] getFiles(String src) {
File f =new File(src);
return f.listFiles();
}
}
package cn.gq.financial.app.handler;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.CountDownLatch;
import org.apache.commons.collections.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import cn.gq.financial.db.paycenter.model.RepayOrderEntity;
import cn.gq.financial.model.bill.Bill;
import cn.gq.financial.model.bill.UMPayBill;
import cn.gq.financial.model.bill.WXBill;
import cn.gq.financial.model.bill.YeepayBill;
import cn.gq.financial.model.db.RepayDetailFinancial;
import cn.gq.financial.service.BizRepayDetailService;
import cn.gq.financial.service.PaycenterService;
import cn.gq.financial.utils.Constants;
public class RepayHandlerAsync implements Runnable {
private static final Logger LOGGER = LoggerFactory.getLogger(RepayHandlerAsync.class);
private List<Bill> bills;
private Class<? extends Bill> clazz;
private PaycenterService paycenterService;
private BizRepayDetailService bizRepayDetailService;
private CountDownLatch count;
static BigDecimal MINUS_ONE = new BigDecimal("-1");
public RepayHandlerAsync(List<Bill> bills, Class<? extends Bill> clazz, PaycenterService paycenterService,BizRepayDetailService bizRepayDetailService, CountDownLatch count) {
super();
this.bills = bills;
this.clazz = clazz;
this.paycenterService = paycenterService;
this.bizRepayDetailService = bizRepayDetailService;
this.count = count;
}
public void handler() {
try{
LOGGER.info("##Thread-->{}开始处理账单##",Thread.currentThread().getName());
List<String> payCenterOrderIds = getPayCenterOrderIdsFromBills(bills,clazz);
List<RepayOrderEntity> payCenterRepayOrderList = paycenterService.queryRepayOrdersByOrderIds(payCenterOrderIds); //支付中心的还款记录
List<RepayDetailFinancial> all = bizRepayDetailService.getDetailByPayCenterRepayOrder(payCenterRepayOrderList);
balanceBillAndDetail(bills,all);
saveDetails(all);
addToResult(all);
LOGGER.info("##Thread-->{}结束处理账单##",Thread.currentThread().getName());
}catch(Exception e){
LOGGER.info("##Thread-->{}处理账单异常了##",Thread.currentThread().getName());
LOGGER.error("异常信息:",e);
}finally{
count.countDown();
}
}
private void addToResult(List<RepayDetailFinancial> all) {
Constants.result.addAll(all);
}
private void saveDetails(List<RepayDetailFinancial> all) {
}
private void balanceBillAndDetail(List<Bill> bills, List<RepayDetailFinancial> all) {
Map<String, Bill> billMap = new HashMap<String, Bill>();
Map<String,List<RepayDetailFinancial>> detailMap = new HashMap<String, List<RepayDetailFinancial>>();
for (Bill bill : bills) {
billMap.put(bill.getOrderId(), bill);
}
for (RepayDetailFinancial detail : all) {
List<RepayDetailFinancial> list = detailMap.get(detail.getOrderId());
if(CollectionUtils.isEmpty(list)){
list = new ArrayList<RepayDetailFinancial>();
}
list.add(detail);
detailMap.put(detail.getOrderId(), list);
}
supplyDetailAndBalance(billMap,detailMap); //补充手第三方账单的账户,手续费,然后平账
}
private void supplyDetailAndBalance(Map<String, Bill> billMap,Map<String, List<RepayDetailFinancial>> detailMap) {
Set<String> orderIds = billMap.keySet();
for (String orderId : orderIds) {
BigDecimal total = new BigDecimal(0);
List<RepayDetailFinancial> list = detailMap.get(orderId);
Bill bill = billMap.get(orderId);
if(!CollectionUtils.isEmpty(list)){
for (RepayDetailFinancial detail : list) {
detail.setPayAccount(bill.getPayAccount());
detail.setMonth(bill.getMonth());
if(1== detail.getActivityRelief().compareTo(BigDecimal.ZERO)){
detail.setActivityRelief(detail.getActivityRelief().multiply(MINUS_ONE));
}
if(1 == detail.getCollectionRelief().compareTo(BigDecimal.ZERO)){
detail.setCollectionRelief(detail.getCollectionRelief().multiply(MINUS_ONE));
}
total = total.add(detail.getCurrentRepayment());
}
list.get(0).setPayApproachPoundage(bill.getPoundage());
BigDecimal subtract = total.subtract(bill.getIncome());
if(1 == subtract.compareTo(BigDecimal.ZERO)){
//多收了放逾期
list.get(0).setOverdueFee(list.get(0).getOverdueFee().add(subtract));
list.get(0).setRemark("多收:"+subtract);
}
if(-1 == subtract.compareTo(BigDecimal.ZERO)){
//少收放红包减免
list.get(0).setActivityRelief(list.get(0).getActivityRelief().add(subtract));
list.get(0).setRemark("少收:"+subtract);
}
}else{
LOGGER.info("还款明细丢失,orderId-->{}",orderId);
}
}
}
private static List<String> getPayCenterOrderIdsFromBills(List<? extends Bill> bills, Class<? extends Bill> clazz) {
List<String> orderids = new ArrayList<String>();
if(WXBill.class.equals(clazz)){
for (int i = 0; i < bills.size(); i++) {
Bill bill = bills.get(i);
orderids.add(bill.getOrderId());
}
}
if(UMPayBill.class.equals(clazz)){
for (int i = 0; i < bills.size(); i++) {
UMPayBill bill = (UMPayBill)bills.get(i);
if(UMPayBill.TRANS_SUCCESS.equals(bill.getTransStatus())){
orderids.add(bill.getOrderId());
}
}
}
if(YeepayBill.class.equals(clazz)){
for (int i = 0; i < bills.size(); i++) {
YeepayBill bill = (YeepayBill)bills.get(i);
if(YeepayBill.REPAY.equals(bill.getBizType())){
orderids.add(bill.getOrderId());
}
}
}
return orderids;
}
@Override
public void run() {
this.handler();
}
}
package cn.gq.financial.db.mall.dao;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import cn.gq.financial.model.db.BaitiaoOrderDetail;
import cn.gq.financial.model.db.Product3CDetail;
public interface MallDataSourceMapper {
List<BaitiaoOrderDetail> getMallOrderDetail(List<String> orderNos);
Product3CDetail get3CProductDetail(@Param("orderId")Long orderId);
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.gq.financial.db.mall.dao.MallDataSourceMapper" >
<resultMap id="baitiaoOrderDetail" type="cn.gq.financial.model.db.BaitiaoOrderDetail" >
<result column = "id" property="id" jdbcType="BIGINT"/>
<result column="order_no" property="orderNo" jdbcType="VARCHAR" />
<result column="product_name" property="productName" jdbcType="VARCHAR" />
<result column="sell_price" property="sellPrice" jdbcType="DECIMAL" />
<result column="type" property="type" jdbcType="INTEGER"/>
<result column = "product_id" property="productId" jdbcType="INTEGER"/>
</resultMap>
<select id="getMallOrderDetail" resultMap="baitiaoOrderDetail">
SELECT
t.id as id,
t.order_id AS order_no,
p.`name` AS product_name,
p.sell_price AS sell_price,
p.type as type,
p.id AS product_id
FROM
mall_order t
JOIN product p ON t.product_id = p.id
WHERE
t.order_id in
<foreach collection="list" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</select>
<resultMap type="cn.gq.financial.model.db.Product3CDetail" id="Product3CDetail">
<result column = "id" property="id" jdbcType="BIGINT"/>
<result column = "name" property="name" jdbcType="VARCHAR"/>
</resultMap>
<select id="get3CProductDetail" parameterType="java.lang.Long" resultMap="Product3CDetail">
SELECT
3p.id AS id,
3p.name
FROM
digital_order_detail dod
JOIN 3c_product 3p ON 3p.id = dod.product_id
WHERE
dod.order_id = #{orderId}
</select>
</mapper>
\ No newline at end of file
package cn.gq.financial.db.offline.dao;
import cn.gq.financial.db.offline.model.OfflineOrderRepaidRecordEntity;
import cn.gq.financial.db.offline.model.OfflineOrderRepaidRecordEntityExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface OfflineOrderRepaidRecordEntityMapper {
int countByExample(OfflineOrderRepaidRecordEntityExample example);
int deleteByExample(OfflineOrderRepaidRecordEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(OfflineOrderRepaidRecordEntity record);
int insertSelective(OfflineOrderRepaidRecordEntity record);
List<OfflineOrderRepaidRecordEntity> selectByExample(OfflineOrderRepaidRecordEntityExample example);
OfflineOrderRepaidRecordEntity selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") OfflineOrderRepaidRecordEntity record, @Param("example") OfflineOrderRepaidRecordEntityExample example);
int updateByExample(@Param("record") OfflineOrderRepaidRecordEntity record, @Param("example") OfflineOrderRepaidRecordEntityExample example);
int updateByPrimaryKeySelective(OfflineOrderRepaidRecordEntity record);
int updateByPrimaryKey(OfflineOrderRepaidRecordEntity record);
}
\ No newline at end of file
package cn.gq.financial.db.offline.model;
import java.math.BigDecimal;
import java.util.Date;
public class OfflineOrderRepaidRecordEntity {
private Long id;
private Long orderId;
private BigDecimal orderAmount;
private BigDecimal principal;
private BigDecimal interest;
private BigDecimal repaidAmount;
private BigDecimal overdueAmount;
private String overdueName;
private String overdueArgs;
private BigDecimal collectionRelief;
private BigDecimal activeRelief;
private Integer termNo;
private Byte repaidStatus;
private Date repaidAt;
private Boolean repayType;
private Date actualRepaidAt;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public BigDecimal getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(BigDecimal orderAmount) {
this.orderAmount = orderAmount;
}
public BigDecimal getPrincipal() {
return principal;
}
public void setPrincipal(BigDecimal principal) {
this.principal = principal;
}
public BigDecimal getInterest() {
return interest;
}
public void setInterest(BigDecimal interest) {
this.interest = interest;
}
public BigDecimal getRepaidAmount() {
return repaidAmount;
}
public void setRepaidAmount(BigDecimal repaidAmount) {
this.repaidAmount = repaidAmount;
}
public BigDecimal getOverdueAmount() {
return overdueAmount;
}
public void setOverdueAmount(BigDecimal overdueAmount) {
this.overdueAmount = overdueAmount;
}
public String getOverdueName() {
return overdueName;
}
public void setOverdueName(String overdueName) {
this.overdueName = overdueName == null ? null : overdueName.trim();
}
public String getOverdueArgs() {
return overdueArgs;
}
public void setOverdueArgs(String overdueArgs) {
this.overdueArgs = overdueArgs == null ? null : overdueArgs.trim();
}
public BigDecimal getCollectionRelief() {
return collectionRelief;
}
public void setCollectionRelief(BigDecimal collectionRelief) {
this.collectionRelief = collectionRelief;
}
public BigDecimal getActiveRelief() {
return activeRelief;
}
public void setActiveRelief(BigDecimal activeRelief) {
this.activeRelief = activeRelief;
}
public Integer getTermNo() {
return termNo;
}
public void setTermNo(Integer termNo) {
this.termNo = termNo;
}
public Byte getRepaidStatus() {
return repaidStatus;
}
public void setRepaidStatus(Byte repaidStatus) {
this.repaidStatus = repaidStatus;
}
public Date getRepaidAt() {
return repaidAt;
}
public void setRepaidAt(Date repaidAt) {
this.repaidAt = repaidAt;
}
public Boolean getRepayType() {
return repayType;
}
public void setRepayType(Boolean repayType) {
this.repayType = repayType;
}
public Date getActualRepaidAt() {
return actualRepaidAt;
}
public void setActualRepaidAt(Date actualRepaidAt) {
this.actualRepaidAt = actualRepaidAt;
}
}
\ No newline at end of file
package cn.gq.financial.db.paycenter.dao;
import cn.gq.financial.db.paycenter.model.MerchantEntity;
import cn.gq.financial.db.paycenter.model.MerchantEntityExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface MerchantEntityMapper {
int countByExample(MerchantEntityExample example);
int deleteByExample(MerchantEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(MerchantEntity record);
int insertSelective(MerchantEntity record);
List<MerchantEntity> selectByExample(MerchantEntityExample example);
MerchantEntity selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") MerchantEntity record, @Param("example") MerchantEntityExample example);
int updateByExample(@Param("record") MerchantEntity record, @Param("example") MerchantEntityExample example);
int updateByPrimaryKeySelective(MerchantEntity record);
int updateByPrimaryKey(MerchantEntity record);
}
\ No newline at end of file
package cn.gq.financial.db.paycenter.dao;
import cn.gq.financial.db.paycenter.model.PayOrderEntity;
import cn.gq.financial.db.paycenter.model.PayOrderEntityExample;
import cn.gq.financial.db.paycenter.model.PayOrderEntityWithBLOBs;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface PayOrderEntityMapper {
int countByExample(PayOrderEntityExample example);
int deleteByExample(PayOrderEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(PayOrderEntityWithBLOBs record);
int insertSelective(PayOrderEntityWithBLOBs record);
List<PayOrderEntityWithBLOBs> selectByExampleWithBLOBs(PayOrderEntityExample example);
List<PayOrderEntity> selectByExample(PayOrderEntityExample example);
PayOrderEntityWithBLOBs selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") PayOrderEntityWithBLOBs record, @Param("example") PayOrderEntityExample example);
int updateByExampleWithBLOBs(@Param("record") PayOrderEntityWithBLOBs record, @Param("example") PayOrderEntityExample example);
int updateByExample(@Param("record") PayOrderEntity record, @Param("example") PayOrderEntityExample example);
int updateByPrimaryKeySelective(PayOrderEntityWithBLOBs record);
int updateByPrimaryKeyWithBLOBs(PayOrderEntityWithBLOBs record);
int updateByPrimaryKey(PayOrderEntity record);
}
\ No newline at end of file
package cn.gq.financial.db.paycenter.dao;
import cn.gq.financial.db.paycenter.model.RepayOrderEntity;
import cn.gq.financial.db.paycenter.model.RepayOrderEntityExample;
import cn.gq.financial.db.paycenter.model.RepayOrderEntityWithBLOBs;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface RepayOrderEntityMapper {
int countByExample(RepayOrderEntityExample example);
int deleteByExample(RepayOrderEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(RepayOrderEntityWithBLOBs record);
int insertSelective(RepayOrderEntityWithBLOBs record);
List<RepayOrderEntityWithBLOBs> selectByExampleWithBLOBs(RepayOrderEntityExample example);
List<RepayOrderEntity> selectByExample(RepayOrderEntityExample example);
RepayOrderEntityWithBLOBs selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") RepayOrderEntityWithBLOBs record, @Param("example") RepayOrderEntityExample example);
int updateByExampleWithBLOBs(@Param("record") RepayOrderEntityWithBLOBs record, @Param("example") RepayOrderEntityExample example);
int updateByExample(@Param("record") RepayOrderEntity record, @Param("example") RepayOrderEntityExample example);
int updateByPrimaryKeySelective(RepayOrderEntityWithBLOBs record);
int updateByPrimaryKeyWithBLOBs(RepayOrderEntityWithBLOBs record);
int updateByPrimaryKey(RepayOrderEntity record);
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.gq.financial.db.paycenter.dao.MerchantEntityMapper" >
<resultMap id="BaseResultMap" type="cn.gq.financial.db.paycenter.model.MerchantEntity" >
<id column="id" property="id" jdbcType="BIGINT" />
<result column="name" property="name" jdbcType="VARCHAR" />
<result column="enable" property="enable" jdbcType="BIT" />
<result column="created_at" property="createdAt" jdbcType="TIMESTAMP" />
<result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP" />
</resultMap>
<sql id="Example_Where_Clause" >
<where >
<foreach collection="oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<foreach collection="criteria.criteria" item="criterion" >
<choose >
<when test="criterion.noValue" >
and ${criterion.condition}
</when>
<when test="criterion.singleValue" >
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue" >
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue" >
and ${criterion.condition}
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Update_By_Example_Where_Clause" >
<where >
<foreach collection="example.oredCriteria" item="criteria" separator="or" >
<if test="criteria.valid" >
<trim prefix="(" suffix=")" prefixOverrides="and" >
<foreach collection="criteria.criteria" item="criterion" >
<choose >
<when test="criterion.noValue" >
and ${criterion.condition}
</when>
<when test="criterion.singleValue" >
and ${criterion.condition} #{criterion.value}
</when>
<when test="criterion.betweenValue" >
and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}
</when>
<when test="criterion.listValue" >
and ${criterion.condition}
<foreach collection="criterion.value" item="listItem" open="(" close=")" separator="," >
#{listItem}
</foreach>
</when>
</choose>
</foreach>
</trim>
</if>
</foreach>
</where>
</sql>
<sql id="Base_Column_List" >
id, name, enable, created_at, updated_at
</sql>
<select id="selectByExample" resultMap="BaseResultMap" parameterType="cn.gq.financial.db.paycenter.model.MerchantEntityExample" >
select
<if test="distinct" >
distinct
</if>
<include refid="Base_Column_List" />
from merchant
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
<if test="orderByClause != null" >
order by ${orderByClause}
</if>
</select>
<select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Long" >
select
<include refid="Base_Column_List" />
from merchant
where id = #{id,jdbcType=BIGINT}
</select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long" >
delete from merchant
where id = #{id,jdbcType=BIGINT}
</delete>
<delete id="deleteByExample" parameterType="cn.gq.financial.db.paycenter.model.MerchantEntityExample" >
delete from merchant
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</delete>
<insert id="insert" parameterType="cn.gq.financial.db.paycenter.model.MerchantEntity" >
insert into merchant (id, name, enable,
created_at, updated_at)
values (#{id,jdbcType=BIGINT}, #{name,jdbcType=VARCHAR}, #{enable,jdbcType=BIT},
#{createdAt,jdbcType=TIMESTAMP}, #{updatedAt,jdbcType=TIMESTAMP})
</insert>
<insert id="insertSelective" parameterType="cn.gq.financial.db.paycenter.model.MerchantEntity" >
insert into merchant
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="id != null" >
id,
</if>
<if test="name != null" >
name,
</if>
<if test="enable != null" >
enable,
</if>
<if test="createdAt != null" >
created_at,
</if>
<if test="updatedAt != null" >
updated_at,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="id != null" >
#{id,jdbcType=BIGINT},
</if>
<if test="name != null" >
#{name,jdbcType=VARCHAR},
</if>
<if test="enable != null" >
#{enable,jdbcType=BIT},
</if>
<if test="createdAt != null" >
#{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null" >
#{updatedAt,jdbcType=TIMESTAMP},
</if>
</trim>
</insert>
<select id="countByExample" parameterType="cn.gq.financial.db.paycenter.model.MerchantEntityExample" resultType="java.lang.Integer" >
select count(*) from merchant
<if test="_parameter != null" >
<include refid="Example_Where_Clause" />
</if>
</select>
<update id="updateByExampleSelective" parameterType="map" >
update merchant
<set >
<if test="record.id != null" >
id = #{record.id,jdbcType=BIGINT},
</if>
<if test="record.name != null" >
name = #{record.name,jdbcType=VARCHAR},
</if>
<if test="record.enable != null" >
enable = #{record.enable,jdbcType=BIT},
</if>
<if test="record.createdAt != null" >
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
</if>
<if test="record.updatedAt != null" >
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP},
</if>
</set>
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByExample" parameterType="map" >
update merchant
set id = #{record.id,jdbcType=BIGINT},
name = #{record.name,jdbcType=VARCHAR},
enable = #{record.enable,jdbcType=BIT},
created_at = #{record.createdAt,jdbcType=TIMESTAMP},
updated_at = #{record.updatedAt,jdbcType=TIMESTAMP}
<if test="_parameter != null" >
<include refid="Update_By_Example_Where_Clause" />
</if>
</update>
<update id="updateByPrimaryKeySelective" parameterType="cn.gq.financial.db.paycenter.model.MerchantEntity" >
update merchant
<set >
<if test="name != null" >
name = #{name,jdbcType=VARCHAR},
</if>
<if test="enable != null" >
enable = #{enable,jdbcType=BIT},
</if>
<if test="createdAt != null" >
created_at = #{createdAt,jdbcType=TIMESTAMP},
</if>
<if test="updatedAt != null" >
updated_at = #{updatedAt,jdbcType=TIMESTAMP},
</if>
</set>
where id = #{id,jdbcType=BIGINT}
</update>
<update id="updateByPrimaryKey" parameterType="cn.gq.financial.db.paycenter.model.MerchantEntity" >
update merchant
set name = #{name,jdbcType=VARCHAR},
enable = #{enable,jdbcType=BIT},
created_at = #{createdAt,jdbcType=TIMESTAMP},
updated_at = #{updatedAt,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=BIGINT}
</update>
</mapper>
\ No newline at end of file
package cn.gq.financial.db.paycenter.model;
import java.util.Date;
public class MerchantEntity {
private Long id;
private String name;
private Boolean enable;
private Date createdAt;
private Date updatedAt;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name == null ? null : name.trim();
}
public Boolean getEnable() {
return enable;
}
public void setEnable(Boolean enable) {
this.enable = enable;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}
\ No newline at end of file
package cn.gq.financial.db.paycenter.model;
import java.math.BigDecimal;
import java.util.Date;
public class PayOrderEntity {
private Long id;
private Long userId;
private Long merchantId;
private String merchantOrderNo;
private String merchantPayNo;
private Byte payStatus;
private Byte payType;
private Byte payApproach;
private BigDecimal amount;
private String orderId;
private String yOrderId;
private String errorCode;
private String cardNo;
private Short isActive;
private Date createdAt;
private Date updatedAt;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getMerchantId() {
return merchantId;
}
public void setMerchantId(Long merchantId) {
this.merchantId = merchantId;
}
public String getMerchantOrderNo() {
return merchantOrderNo;
}
public void setMerchantOrderNo(String merchantOrderNo) {
this.merchantOrderNo = merchantOrderNo == null ? null : merchantOrderNo.trim();
}
public String getMerchantPayNo() {
return merchantPayNo;
}
public void setMerchantPayNo(String merchantPayNo) {
this.merchantPayNo = merchantPayNo == null ? null : merchantPayNo.trim();
}
public Byte getPayStatus() {
return payStatus;
}
public void setPayStatus(Byte payStatus) {
this.payStatus = payStatus;
}
public Byte getPayType() {
return payType;
}
public void setPayType(Byte payType) {
this.payType = payType;
}
public Byte getPayApproach() {
return payApproach;
}
public void setPayApproach(Byte payApproach) {
this.payApproach = payApproach;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId == null ? null : orderId.trim();
}
public String getyOrderId() {
return yOrderId;
}
public void setyOrderId(String yOrderId) {
this.yOrderId = yOrderId == null ? null : yOrderId.trim();
}
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode == null ? null : errorCode.trim();
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo == null ? null : cardNo.trim();
}
public Short getIsActive() {
return isActive;
}
public void setIsActive(Short isActive) {
this.isActive = isActive;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}
\ No newline at end of file
package cn.gq.financial.db.paycenter.model;
public class PayOrderEntityWithBLOBs extends PayOrderEntity {
private String extData;
private String remark;
public String getExtData() {
return extData;
}
public void setExtData(String extData) {
this.extData = extData == null ? null : extData.trim();
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
\ No newline at end of file
package cn.gq.financial.db.paycenter.model;
import java.math.BigDecimal;
import java.util.Date;
public class RepayOrderEntity {
private Long id;
private Long userId;
private Byte repayStatus;
private Long merchantId;
private String merchantOrderNo;
private String merchantRepayOrderNo;
private String orderId;
private Byte payApproach;
private String yOrderId;
private String errorCode;
private Short isActive;
private String extData;
private String cardNo;
private BigDecimal amount;
private Date createdAt;
private Date updatedAt;
private Date repaidAt;
private Byte repayMethod;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Byte getRepayStatus() {
return repayStatus;
}
public void setRepayStatus(Byte repayStatus) {
this.repayStatus = repayStatus;
}
public Long getMerchantId() {
return merchantId;
}
public void setMerchantId(Long merchantId) {
this.merchantId = merchantId;
}
public String getMerchantOrderNo() {
return merchantOrderNo;
}
public void setMerchantOrderNo(String merchantOrderNo) {
this.merchantOrderNo = merchantOrderNo == null ? null : merchantOrderNo.trim();
}
public String getMerchantRepayOrderNo() {
return merchantRepayOrderNo;
}
public void setMerchantRepayOrderNo(String merchantRepayOrderNo) {
this.merchantRepayOrderNo = merchantRepayOrderNo == null ? null : merchantRepayOrderNo.trim();
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId == null ? null : orderId.trim();
}
public Byte getPayApproach() {
return payApproach;
}
public void setPayApproach(Byte payApproach) {
this.payApproach = payApproach;
}
public String getyOrderId() {
return yOrderId;
}
public void setyOrderId(String yOrderId) {
this.yOrderId = yOrderId == null ? null : yOrderId.trim();
}
public String getErrorCode() {
return errorCode;
}
public void setErrorCode(String errorCode) {
this.errorCode = errorCode == null ? null : errorCode.trim();
}
public Short getIsActive() {
return isActive;
}
public void setIsActive(Short isActive) {
this.isActive = isActive;
}
public String getExtData() {
return extData;
}
public void setExtData(String extData) {
this.extData = extData == null ? null : extData.trim();
}
public String getCardNo() {
return cardNo;
}
public void setCardNo(String cardNo) {
this.cardNo = cardNo == null ? null : cardNo.trim();
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
public Date getRepaidAt() {
return repaidAt;
}
public void setRepaidAt(Date repaidAt) {
this.repaidAt = repaidAt;
}
public Byte getRepayMethod() {
return repayMethod;
}
public void setRepayMethod(Byte repayMethod) {
this.repayMethod = repayMethod;
}
}
\ No newline at end of file
package cn.gq.financial.db.paycenter.model;
public class RepayOrderEntityWithBLOBs extends RepayOrderEntity {
private String repaymentDescription;
private String remark;
public String getRepaymentDescription() {
return repaymentDescription;
}
public void setRepaymentDescription(String repaymentDescription) {
this.repaymentDescription = repaymentDescription == null ? null : repaymentDescription.trim();
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark == null ? null : remark.trim();
}
}
\ No newline at end of file
package cn.gq.financial.db.xyqb.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import cn.gq.financial.model.db.BaitiaoExpEntity;
import cn.gq.financial.model.db.ExportExcelEntity;
import cn.gq.financial.model.db.ExportPayInfoEntity;
import cn.gq.financial.model.db.LoanExpEntity;
import cn.gq.financial.model.db.RepayCollectionEntity;
public interface ExportExcelMapper {
public List<ExportExcelEntity> getInfoByOrderIds(@Param("payCenterNoList")List<String> orderNos);
public List<ExportPayInfoEntity> getExportPayInfoEntity(@Param("list")List<Long> subList);
public List<RepayCollectionEntity> getRepayCollections(@Param("list")List<String> orderNos);
public List<LoanExpEntity> exportLoanItem(Map<String, Object> param);
public List<LoanExpEntity> exportLoanItemByBatchNo(@Param("list")List<String> batchNos);
public List<LoanExpEntity> exportYeepay(@Param("list")List<Long> loanIds);
public List<BaitiaoExpEntity> baitiaoRepayExport(@Param("list")List<String> list);
}
package cn.gq.financial.db.xyqb.dao;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import cn.gq.financial.model.db.ExportPayInfoEntity;
public interface ExportPayInfoEntityMapper {
List<ExportPayInfoEntity> getExportPayInfoEntity(@Param("list")ArrayList<Long> arrayList);
}
\ No newline at end of file
package cn.gq.financial.db.xyqb.dao;
import cn.gq.financial.db.xyqb.model.LoanApplicationHistoryEntity;
import cn.gq.financial.db.xyqb.model.LoanApplicationHistoryEntityExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface LoanApplicationHistoryEntityMapper {
int countByExample(LoanApplicationHistoryEntityExample example);
int deleteByExample(LoanApplicationHistoryEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(LoanApplicationHistoryEntity record);
int insertSelective(LoanApplicationHistoryEntity record);
List<LoanApplicationHistoryEntity> selectByExample(LoanApplicationHistoryEntityExample example);
LoanApplicationHistoryEntity selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") LoanApplicationHistoryEntity record, @Param("example") LoanApplicationHistoryEntityExample example);
int updateByExample(@Param("record") LoanApplicationHistoryEntity record, @Param("example") LoanApplicationHistoryEntityExample example);
int updateByPrimaryKeySelective(LoanApplicationHistoryEntity record);
int updateByPrimaryKey(LoanApplicationHistoryEntity record);
}
\ No newline at end of file
package cn.gq.financial.db.xyqb.dao;
import cn.gq.financial.db.xyqb.model.LoanApplicationManifestHistoryEntity;
import cn.gq.financial.db.xyqb.model.LoanApplicationManifestHistoryEntityExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface LoanApplicationManifestHistoryEntityMapper {
int countByExample(LoanApplicationManifestHistoryEntityExample example);
int deleteByExample(LoanApplicationManifestHistoryEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(LoanApplicationManifestHistoryEntity record);
int insertSelective(LoanApplicationManifestHistoryEntity record);
List<LoanApplicationManifestHistoryEntity> selectByExample(LoanApplicationManifestHistoryEntityExample example);
LoanApplicationManifestHistoryEntity selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") LoanApplicationManifestHistoryEntity record, @Param("example") LoanApplicationManifestHistoryEntityExample example);
int updateByExample(@Param("record") LoanApplicationManifestHistoryEntity record, @Param("example") LoanApplicationManifestHistoryEntityExample example);
int updateByPrimaryKeySelective(LoanApplicationManifestHistoryEntity record);
int updateByPrimaryKey(LoanApplicationManifestHistoryEntity record);
}
\ No newline at end of file
package cn.gq.financial.db.xyqb.dao;
import cn.gq.financial.db.xyqb.model.RepaymentPlanEntity;
import cn.gq.financial.db.xyqb.model.RepaymentPlanEntityExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface RepaymentPlanEntityMapper {
int countByExample(RepaymentPlanEntityExample example);
int deleteByExample(RepaymentPlanEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(RepaymentPlanEntity record);
int insertSelective(RepaymentPlanEntity record);
List<RepaymentPlanEntity> selectByExample(RepaymentPlanEntityExample example);
RepaymentPlanEntity selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") RepaymentPlanEntity record, @Param("example") RepaymentPlanEntityExample example);
int updateByExample(@Param("record") RepaymentPlanEntity record, @Param("example") RepaymentPlanEntityExample example);
int updateByPrimaryKeySelective(RepaymentPlanEntity record);
int updateByPrimaryKey(RepaymentPlanEntity record);
}
\ No newline at end of file
package cn.gq.financial.db.xyqb.dao;
import cn.gq.financial.db.xyqb.model.TransactionFlowEntity;
import cn.gq.financial.db.xyqb.model.TransactionFlowEntityExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface TransactionFlowEntityMapper {
int countByExample(TransactionFlowEntityExample example);
int deleteByExample(TransactionFlowEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(TransactionFlowEntity record);
int insertSelective(TransactionFlowEntity record);
List<TransactionFlowEntity> selectByExample(TransactionFlowEntityExample example);
TransactionFlowEntity selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") TransactionFlowEntity record, @Param("example") TransactionFlowEntityExample example);
int updateByExample(@Param("record") TransactionFlowEntity record, @Param("example") TransactionFlowEntityExample example);
int updateByPrimaryKeySelective(TransactionFlowEntity record);
int updateByPrimaryKey(TransactionFlowEntity record);
}
\ No newline at end of file
package cn.gq.financial.db.xyqb.dao;
import cn.gq.financial.db.xyqb.model.WaitingFundQueueEntity;
import cn.gq.financial.db.xyqb.model.WaitingFundQueueEntityExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;
public interface WaitingFundQueueEntityMapper {
int countByExample(WaitingFundQueueEntityExample example);
int deleteByExample(WaitingFundQueueEntityExample example);
int deleteByPrimaryKey(Long id);
int insert(WaitingFundQueueEntity record);
int insertSelective(WaitingFundQueueEntity record);
List<WaitingFundQueueEntity> selectByExample(WaitingFundQueueEntityExample example);
WaitingFundQueueEntity selectByPrimaryKey(Long id);
int updateByExampleSelective(@Param("record") WaitingFundQueueEntity record, @Param("example") WaitingFundQueueEntityExample example);
int updateByExample(@Param("record") WaitingFundQueueEntity record, @Param("example") WaitingFundQueueEntityExample example);
int updateByPrimaryKeySelective(WaitingFundQueueEntity record);
int updateByPrimaryKey(WaitingFundQueueEntity record);
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.gq.financial.db.xyqb.dao.ExportPayInfoEntityMapper">
<resultMap id="BaseResultMap" type="cn.gq.financial.model.db.ExportPayInfoEntity">
<result column="loan_id" property="loanId" jdbcType="BIGINT" />
<result column="user_name" property="userName" jdbcType="VARCHAR" />
<result column="id_no" property="idNo" jdbcType="VARCHAR" />
<result column="funding_corp" property="fundingCorp" jdbcType="VARCHAR" />
</resultMap>
<select id="getExportPayInfoEntity" resultMap="BaseResultMap">
SELECT
t1.loan_application_history_id AS loan_id,
t2.`name` AS user_name,
t2.id_no AS id_no,
t1.funding_corp_name AS funding_corp
FROM loan_application_manifest_history t1
LEFT JOIN user_detail t2 ON t1.user_id = t2.user_id
WHERE
t1.loan_application_history_id IN
<foreach collection="list" item="listItem" open="(" close=")"
separator=",">
#{listItem}
</foreach>
</select>
</mapper>
\ No newline at end of file
package cn.gq.financial.db.xyqb.model;
import java.util.Date;
public class LoanApplicationHistoryEntity {
private Long id;
private Long userId;
private Long channelId;
private Long bankCardId;
private Boolean isActive;
private Byte progress;
private Long createdFrom;
private Byte businessType;
private Byte payApproach;
private Long baitiaoMerchantId;
private Date createdAt;
private Date updatedAt;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public Long getChannelId() {
return channelId;
}
public void setChannelId(Long channelId) {
this.channelId = channelId;
}
public Long getBankCardId() {
return bankCardId;
}
public void setBankCardId(Long bankCardId) {
this.bankCardId = bankCardId;
}
public Boolean getIsActive() {
return isActive;
}
public void setIsActive(Boolean isActive) {
this.isActive = isActive;
}
public Byte getProgress() {
return progress;
}
public void setProgress(Byte progress) {
this.progress = progress;
}
public Long getCreatedFrom() {
return createdFrom;
}
public void setCreatedFrom(Long createdFrom) {
this.createdFrom = createdFrom;
}
public Byte getBusinessType() {
return businessType;
}
public void setBusinessType(Byte businessType) {
this.businessType = businessType;
}
public Byte getPayApproach() {
return payApproach;
}
public void setPayApproach(Byte payApproach) {
this.payApproach = payApproach;
}
public Long getBaitiaoMerchantId() {
return baitiaoMerchantId;
}
public void setBaitiaoMerchantId(Long baitiaoMerchantId) {
this.baitiaoMerchantId = baitiaoMerchantId;
}
public Date getCreatedAt() {
return createdAt;
}
public void setCreatedAt(Date createdAt) {
this.createdAt = createdAt;
}
public Date getUpdatedAt() {
return updatedAt;
}
public void setUpdatedAt(Date updatedAt) {
this.updatedAt = updatedAt;
}
}
\ No newline at end of file
package cn.gq.financial.model.bill;
import java.math.BigDecimal;
/**
* 第三方支付平台对账单的要素集合,具体平台的账单继承本类
* @author Administrator
*
*/
public abstract class Bill {
protected Integer month;
protected String payAccount;// 支付账户
protected String orderId; // 商户订单号
protected BigDecimal income = BigDecimal.ZERO; // 收入
protected BigDecimal cost = BigDecimal.ZERO;
protected BigDecimal poundage = BigDecimal.ZERO;
public Integer getMonth() {
return month;
}
public void setMonth(Integer month) {
this.month = month;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public BigDecimal getIncome() {
return income;
}
public void setIncome(BigDecimal income) {
this.income = income;
}
public BigDecimal getCost() {
return cost;
}
public void setCost(BigDecimal cost) {
this.cost = cost;
}
public BigDecimal getPoundage() {
return poundage;
}
public void setPoundage(BigDecimal poundage) {
this.poundage = poundage;
}
public String getPayAccount() {
return payAccount;
}
public void setPayAccount(String payAccount) {
this.payAccount = payAccount;
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment