代码合并
diff --git a/src/main/java/com/supwisdom/dlpay/consume/controller/PayapiAction.java b/src/main/java/com/supwisdom/dlpay/consume/controller/PayapiAction.java
deleted file mode 100644
index ac7d7fe..0000000
--- a/src/main/java/com/supwisdom/dlpay/consume/controller/PayapiAction.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package com.supwisdom.dlpay.consume.controller;
-
-import com.supwisdom.dlpay.consume.bean.BaseResp;
-import com.supwisdom.dlpay.consume.bean.ReqParam;
-import com.supwisdom.dlpay.consume.service.PayapiService;
-import com.supwisdom.dlpay.consume.service.PaytypeService;
-import com.supwisdom.dlpay.framework.data.SystemDateTime;
-import com.supwisdom.dlpay.util.Code;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * 统一支付入口
- * 1.支付
- * 2.冲正
- * 3.充值
- *
- * 校验
- * -参数
- * -签名
- */
-@RestController
-@RequestMapping("/unified")
-public class PayapiAction {
-    @Autowired
-    private PayapiService payapiService;
-
-    /**
-     * 公共参数校验
-     * */
-
-    private boolean checkCommonParam(BaseResp resp,ReqParam param){
-        if(param.getAmount()==null){
-            resp.setRetcode("1");
-            resp.setRetmsg("参数错误[amount]");
-            return false;
-        }
-        if(StringUtils.isEmpty(param.getPayinfo())){
-            resp.setRetcode("1");
-            resp.setRetmsg("参数错误[payinfo]");
-            return false;
-        }
-        if(StringUtils.isEmpty(param.getPaytype())){
-            resp.setRetcode("1");
-            resp.setRetmsg("参数错误[paytype]");
-            return false;
-        }
-        if(StringUtils.isEmpty(param.getRefno())){
-            resp.setRetcode("1");
-            resp.setRetmsg("参数错误[refno]");
-            return false;
-        }
-        return true;
-    }
-    /**
-     *
-     * 统一消费接口
-     *
-     *
-     * */
-    @RequestMapping("/consume")
-    public BaseResp consume(@RequestBody ReqParam param) {
-        BaseResp resp = new BaseResp();
-        if(!checkCommonParam(resp,param)){
-            return resp;
-        }
-        payapiService.doConsume(param,resp);
-        return resp;
-    }
-
-    /**
-     *
-     * 统一冲正接口
-     *
-     *
-     * */
-    @RequestMapping("/reverse")
-    public BaseResp reverse() {
-        BaseResp resp = new BaseResp();
-        resp.setCode(Code.SUCCESS);
-        return resp;
-    }
-
-    /**
-     *
-     * 统一充值接口
-     *
-     * */
-    @RequestMapping("/recharge")
-    public BaseResp recharge() {
-        BaseResp resp = new BaseResp();
-        resp.setCode(Code.SUCCESS);
-        return resp;
-    }
-}
diff --git a/src/main/java/com/supwisdom/dlpay/consume/dao/TransdtlDao.java b/src/main/java/com/supwisdom/dlpay/consume/dao/TransdtlDao.java
deleted file mode 100644
index a49de57..0000000
--- a/src/main/java/com/supwisdom/dlpay/consume/dao/TransdtlDao.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.supwisdom.dlpay.consume.dao;
-
-import com.supwisdom.dlpay.consume.domain.TTransdtl;
-import com.supwisdom.dlpay.framework.data.VoucherTemp;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-import org.springframework.web.bind.annotation.RequestParam;
-
-import java.util.List;
-
-@Repository
-public interface TransdtlDao extends JpaRepository<TTransdtl, String> {
-//  @Query(value="select a.drsubjno,a.crsubjno,a.summary,t.shopaccno,count(t.refno) as transcnt,sum(t.paidamt) as transamt " +
-//      "from tb_transdtl t left join tb_transtype a on t.transtype=a.transtype " +
-//      "where t.status='success' and t.accdate=:settledate " +
-//      "group by a.drsubjno,a.crsubjno,a.summary,t.shopaccno ", nativeQuery = true)
-//  List<VoucherTemp> getVouhcerData(@RequestParam("settledate") String settledate);
-//
-//  @Query(value="select a.drsubjno,a.crsubjno,a.summary,t.shopaccno,count(t.refno) as transcnt,sum(t.feeamt) as transamt " +
-//      "from tb_transdtl t left join tb_feetype_config a on t.feetype=a.feetype and t.paytype=a.paytype " +
-//      "where t.status='success' and t.feetype!='none' and t.accdate=:settledate " +
-//      "group by a.drsubjno,a.crsubjno,a.summary,t.shopaccno ", nativeQuery = true)
-//  List<VoucherTemp> getFeeVoucherData(@RequestParam("settledate") String settledate);
-
-  TTransdtl getByOuttradenoAndStatus(String outtradeno,String status);
-
-  @Query(value = " select to_char(sysdate,'yyyyMMddhh24missSSS')||to_char(SEQ_REFNO.nextval,'FM0000000') as billno from dual ",nativeQuery = true)
-  String getReno();
-
-  @Query(value = " select to_char(CURRENT_TIMESTAMP,'yyyyMMddhh24missSS')||to_char(nextval('SEQ_REFNO'),'FM0000000') as billno ",nativeQuery = true)
-  String getRenoPG();
-}
diff --git a/src/main/java/com/supwisdom/dlpay/consume/domain/TTransdtl.java b/src/main/java/com/supwisdom/dlpay/consume/domain/TTransdtl.java
deleted file mode 100644
index 309a122..0000000
--- a/src/main/java/com/supwisdom/dlpay/consume/domain/TTransdtl.java
+++ /dev/null
@@ -1,264 +0,0 @@
-package com.supwisdom.dlpay.consume.domain;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-@Entity
-@Table(name = "TB_TRANSDTL")
-public class TTransdtl {
-  @Id
-  @Column(name = "REFNO", nullable = false, length = 32)
-  private String refno;
-
-  @Column(name = "ACCDATE", length = 8)
-  private String accdate;
-
-  @Column(name = "ACCNO", length = 32)
-  private String accno;
-
-  @Column(name = "PAYTYPE", length = 20)
-  private String paytype; //支付方式 balance,wechat,alipay
-
-  @Column(name = "PAYINFO", length = 200)
-  private String payinfo; //记录支付信息备用字段
-
-  @Column(name = "AMOUNT", precision = 9, scale = 2)
-  private Double amount;
-
-  @Column(name = "PAIDAMT", precision = 9, scale = 2)
-  private Double paidamt;
-
-  @Column(name = "FEETYPE", length = 20)
-  private String feetype="none"; //费用类型
-
-  @Column(name = "FEEAMT", precision = 9, scale = 2)
-  private Double feeamt=0D;  //费用金额
-
-  @Column(name = "STATUS", length = 20)
-  private String status;
-
-  @Column(name = "BEFBAL", precision = 9, scale = 2)
-  private Double befbal;
-
-  @Column(name = "AFTBAL", precision = 9, scale = 2)
-  private Double aftbal;
-
-  @Column(name = "SHOPACCNO", length = 32)
-  private String shopaccno;
-
-  @Column(name = "TRANSCODE", precision = 4)
-  private Integer transcode; //指定交易类型
-
-  @Column(name = "TRANSTYPE", precision = 4)
-  private Integer transtype; //指定借贷双方
-
-  @Column(name = "TRANSDESC", length = 240)
-  private String transdesc;
-
-  @Column(name = "CREATETIME", length = 14)
-  private String createtime;
-
-  @Column(name = "ENDTIME", length = 14)
-  private String endtime;
-
-  @Column(name = "OUTTRADENO", length = 60)
-  private String outtradeno;
-
-  @Column(name = "TRANSDATE", length = 8)
-  private String transdate;
-
-  @Column(name = "TRANSTIME", length = 6)
-  private String transtime;
-
-  @Column(name = "REVFLAG", nullable = false, precision = 1)
-  private Integer revflag = 0;
-
-  @Column(name="REMARK", length = 240)
-  private String remark;
-
-  public String getRefno() {
-    return refno;
-  }
-
-  public void setRefno(String refno) {
-    this.refno = refno;
-  }
-
-  public String getAccdate() {
-    return accdate;
-  }
-
-  public void setAccdate(String accdate) {
-    this.accdate = accdate;
-  }
-
-  public String getAccno() {
-    return accno;
-  }
-
-  public void setAccno(String accno) {
-    this.accno = accno;
-  }
-
-  public String getPaytype() {
-    return paytype;
-  }
-
-  public void setPaytype(String paytype) {
-    this.paytype = paytype;
-  }
-
-  public String getPayinfo() {
-    return payinfo;
-  }
-
-  public void setPayinfo(String payinfo) {
-    this.payinfo = payinfo;
-  }
-
-  public Double getAmount() {
-    return amount;
-  }
-
-  public void setAmount(Double amount) {
-    this.amount = amount;
-  }
-
-  public Double getPaidamt() {
-    return paidamt;
-  }
-
-  public void setPaidamt(Double paidamt) {
-    this.paidamt = paidamt;
-  }
-
-  public String getFeetype() {
-    return feetype;
-  }
-
-  public void setFeetype(String feetype) {
-    this.feetype = feetype;
-  }
-
-  public Double getFeeamt() {
-    return feeamt;
-  }
-
-  public void setFeeamt(Double feeamt) {
-    this.feeamt = feeamt;
-  }
-
-  public String getStatus() {
-    return status;
-  }
-
-  public void setStatus(String status) {
-    this.status = status;
-  }
-
-  public Double getBefbal() {
-    return befbal;
-  }
-
-  public void setBefbal(Double befbal) {
-    this.befbal = befbal;
-  }
-
-  public Double getAftbal() {
-    return aftbal;
-  }
-
-  public void setAftbal(Double aftbal) {
-    this.aftbal = aftbal;
-  }
-
-  public String getShopaccno() {
-    return shopaccno;
-  }
-
-  public void setShopaccno(String shopaccno) {
-    this.shopaccno = shopaccno;
-  }
-
-  public Integer getTranscode() {
-    return transcode;
-  }
-
-  public void setTranscode(Integer transcode) {
-    this.transcode = transcode;
-  }
-
-  public Integer getTranstype() {
-    return transtype;
-  }
-
-  public void setTranstype(Integer transtype) {
-    this.transtype = transtype;
-  }
-
-  public String getTransdesc() {
-    return transdesc;
-  }
-
-  public void setTransdesc(String transdesc) {
-    this.transdesc = transdesc;
-  }
-
-  public String getCreatetime() {
-    return createtime;
-  }
-
-  public void setCreatetime(String createtime) {
-    this.createtime = createtime;
-  }
-
-  public String getEndtime() {
-    return endtime;
-  }
-
-  public void setEndtime(String endtime) {
-    this.endtime = endtime;
-  }
-
-  public String getOuttradeno() {
-    return outtradeno;
-  }
-
-  public void setOuttradeno(String outtradeno) {
-    this.outtradeno = outtradeno;
-  }
-
-  public String getTransdate() {
-    return transdate;
-  }
-
-  public void setTransdate(String transdate) {
-    this.transdate = transdate;
-  }
-
-  public String getTranstime() {
-    return transtime;
-  }
-
-  public void setTranstime(String transtime) {
-    this.transtime = transtime;
-  }
-
-  public Integer getRevflag() {
-    return revflag;
-  }
-
-  public void setRevflag(Integer revflag) {
-    this.revflag = revflag;
-  }
-
-  public String getRemark() {
-    return remark;
-  }
-
-  public void setRemark(String remark) {
-    this.remark = remark;
-  }
-}
diff --git a/src/main/java/com/supwisdom/dlpay/consume/service/PayapiService.java b/src/main/java/com/supwisdom/dlpay/consume/service/PayapiService.java
deleted file mode 100644
index 0c8bec0..0000000
--- a/src/main/java/com/supwisdom/dlpay/consume/service/PayapiService.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.supwisdom.dlpay.consume.service;
-
-import com.supwisdom.dlpay.consume.bean.BaseResp;
-import com.supwisdom.dlpay.consume.bean.ReqParam;
-import org.springframework.transaction.annotation.Propagation;
-import org.springframework.transaction.annotation.Transactional;
-
-/**
- * Created by shuwei on 2019/4/9.
- */
-public interface PayapiService {
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
-    boolean doConsume(ReqParam param, BaseResp resp);
-}
diff --git a/src/main/java/com/supwisdom/dlpay/consume/service/impl/PayapiServiceImpl.java b/src/main/java/com/supwisdom/dlpay/consume/service/impl/PayapiServiceImpl.java
deleted file mode 100644
index 382d821..0000000
--- a/src/main/java/com/supwisdom/dlpay/consume/service/impl/PayapiServiceImpl.java
+++ /dev/null
@@ -1,186 +0,0 @@
-package com.supwisdom.dlpay.consume.service.impl;
-
-import com.google.gson.Gson;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.WebResource;
-import com.supwisdom.dlpay.consume.bean.BaseResp;
-import com.supwisdom.dlpay.consume.bean.ReqParam;
-import com.supwisdom.dlpay.consume.bean.SupStatusRevResp;
-import com.supwisdom.dlpay.consume.bean.SupYktResp;
-import com.supwisdom.dlpay.consume.dao.TransdtlDao;
-import com.supwisdom.dlpay.consume.domain.TPaytype;
-import com.supwisdom.dlpay.consume.domain.TTransdtl;
-import com.supwisdom.dlpay.consume.service.PayapiService;
-import com.supwisdom.dlpay.consume.service.PaytypeService;
-import com.supwisdom.dlpay.framework.data.SystemDateTime;
-import com.supwisdom.dlpay.framework.service.SystemUtilService;
-import com.supwisdom.dlpay.framework.util.DateUtil;
-import com.supwisdom.dlpay.framework.util.TradeCode;
-import com.supwisdom.dlpay.util.*;
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Created by shuwei on 2019/4/9.
- */
-@Service
-public class PayapiServiceImpl implements PayapiService {
-    @Autowired
-    private TransdtlDao transdtlDao;
-    @Autowired
-    private SystemUtilService systemUtilService;
-    @Autowired
-    private PaytypeService paytypeService;
-    private static final Logger logger = Logger.getLogger(PayapiServiceImpl.class);
-    private static final Gson gson = new Gson();
-
-    @Override
-    public boolean doConsume(ReqParam param, BaseResp resp) {
-        TTransdtl tTransdtl = transdtlDao.getByOuttradenoAndStatus(param.getRefno(), ConstUtil.STATUS_SUCCESS);
-        if (tTransdtl != null) {
-            resp.setRetcode("1");
-            resp.setRetmsg("流水号重复");
-            return false;
-        }
-        String refno = transdtlDao.getReno();
-        if (StringUtils.isEmpty(refno)) {
-            resp.setCode(Code.SYS_ERROR);
-            return false;
-        }
-        tTransdtl = new TTransdtl();
-        tTransdtl.setAccno(param.getAccno());
-        tTransdtl.setAmount(MoneyUtil.FenToYuan(param.getAmount()));
-        tTransdtl.setPaidamt(MoneyUtil.FenToYuan(param.getAmount()));
-        tTransdtl.setShopaccno(param.getShopaccno());
-        tTransdtl.setOuttradeno(param.getRefno());
-        tTransdtl.setPaytype(param.getPaytype());
-        tTransdtl.setTransdate(DateUtil.getNow("yyyyMMdd"));
-        tTransdtl.setTranstime(DateUtil.getNow("hhmmss"));
-        tTransdtl.setCreatetime(DateUtil.getNow());
-        tTransdtl.setPayinfo(param.getPayinfo());
-        tTransdtl.setStatus(ConstUtil.STATUS_INIT);
-        tTransdtl.setRefno(refno);
-        transdtlDao.save(tTransdtl);
-        switch (param.getPaytype()) {
-            case PaytypeUtil.YKTPAY:
-                return doYKTPay(param, tTransdtl, resp);
-        }
-        resp.setCode(Code.PAYTYPE_NOT_SUPPORT);
-        return false;
-    }
-
-    /**
-     * 一卡通支付
-     */
-
-    private boolean doYKTPay(ReqParam param, TTransdtl dtl, BaseResp resp) {
-        //TODO
-        TPaytype paytype = paytypeService.getByPaytype(PaytypeUtil.YKTPAY);
-        if (paytype == null || !ConstUtil.ENABLE_YES.equals(paytype.getEnable())) {
-            resp.setCode(Code.PAYTYPE_NOT_SUPPORT);
-            return false;
-        }
-        Map<String, String> config = paytypeService.getPaytypeConfigByPaytype(PaytypeUtil.YKTPAY);
-        String appid = config.get("appid");
-        String appkey = config.get("appkey");
-        String orderurl = config.get("orderurl");
-        if (config.size() == 0
-                || StringUtils.isEmpty(appid)
-                || StringUtils.isEmpty(appkey)
-                || StringUtils.isEmpty(orderurl)) {
-            resp.setCode(Code.PAYTYPE_CONFIG_ERROR);
-            logger.error("支付方式未配置,appid=" + appid + ",appkey=" + appkey + ",orderurl=" + orderurl);
-            return false;
-        }
-        SystemDateTime systemDateTime = systemUtilService.getSysdatetime();
-        dtl.setAccdate(systemDateTime.getHostdate());
-        Map<String, String> params = new HashMap<String, String>();
-        params.put("partner_id", appid);
-        params.put("stuempno", param.getAccno());
-        params.put("tradeno", dtl.getRefno());
-        params.put("tradename", param.getPayinfo());
-        params.put("amount", param.getAmount() + "");
-        params.put("shopid", param.getYktshopid());
-        params.put("devphyid", param.getDevphyid());
-        params.put("calcmanagefee", "T");//是否计算费率
-        params.put("timestamp", systemDateTime.getHostdatetime());
-
-        params.put("sign_method", "HMAC");
-        params.put("limitflag", "off"); //是否判断消费限额,on-判断;off-不判断。默认on(判断限额)。为空或不为off都是on;
-        String signstr = HmacUtil.createLinkString(HmacUtil.paraFilter(params));
-        String sign = HmacUtil.HMACSHA1(signstr, appkey);
-        signstr += "&sign=" + sign + "&sourcetype=food";
-        Client c = Client.create();
-        c.setConnectTimeout(20000);
-        dtl.setTranstype(TradeCode.TRANSTYPE_YKTPAY);
-        dtl.setTranscode(TradeCode.TRANSCODE_YKTPAY);
-
-        WebResource r = c.resource(orderurl);
-        ClientResponse respClient = r.post(ClientResponse.class, signstr);
-        if (200 == respClient.getStatus()) {
-            String ret = respClient.getEntity(String.class);
-            logger.error("***************yktpay.ret=" + ret + "*************************");
-            if (ret != null) {
-                try {
-                    SupYktResp result = gson.fromJson(ret, SupYktResp.class);
-                    if (result == null) {
-                        resp.setCode(Code.RESPNOSE_CONTENT_ERROR);
-                        logger.error("支付内容转换失败:null");
-                        return false;
-                    }
-                    if (!"0".equals(result.getRetcode())) {
-                        if ("30".equals(result.getRetcode())) {
-                            if (result.getOther() != null) {
-                                try {
-                                    SupStatusRevResp supStatusRevResp = gson.fromJson(result.getOther(), SupStatusRevResp.class);
-                                    if (supStatusRevResp != null) {
-                                        //同流水号,同一笔已经支付完成的,不重复支付。
-                                        if (3 == supStatusRevResp.getStatus() && supStatusRevResp.getRevflag() != null && !supStatusRevResp.getRevflag()) {
-                                            dtl.setStatus(ConstUtil.STATUS_SUCCESS);
-                                            dtl.setAccdate(systemDateTime.getHostdate());
-                                            transdtlDao.save(dtl);
-                                            resp.setCode(Code.SUCCESS);
-                                            return true;
-                                        }
-                                    }
-                                } catch (Exception e) {
-                                    e.printStackTrace();
-                                    logger.error("返回内容转换失败:" + e.getMessage());
-                                }
-                            }
-                        }
-                        resp.setRetcode("1");
-                        resp.setRetmsg("交易失败:" + result.getRetmsg());
-                        logger.error(result.getRetmsg());
-                        //dtl.setErrmsg(result.getRetmsg());
-                        //payApiDTLDao.save(dtl);
-                        return false;
-                    }
-                    dtl.setStatus(ConstUtil.STATUS_SUCCESS);
-                    dtl.setAccdate(systemDateTime.getHostdate());
-                    transdtlDao.save(dtl);
-                    resp.setCode(Code.SUCCESS);
-                    return true;
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    resp.setCode(Code.RESPNOSE_CONTENT_ERROR);
-                    logger.error("支付内容转换失败:" + e.getMessage());
-                    return false;
-                }
-            } else {
-                resp.setCode(Code.REQUEST_ERROR);
-                return false;
-            }
-        } else {
-            resp.setCode(Code.REQUEST_ERROR);
-            logger.error("请求返回失败:" + respClient.getEntity(String.class) + ",code=" + respClient.getStatus());
-            return false;
-        }
-    }
-}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/MoneyUtil.java b/src/main/java/com/supwisdom/dlpay/framework/util/MoneyUtil.java
index 0ac1b7b..d384340 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/MoneyUtil.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/MoneyUtil.java
@@ -28,5 +28,8 @@
     double money = ((double) YuanToFen(yuan)) / 100;
     return df.format(money);
   }
+  public static double FenToYuan(int fen) {
+    return formatYuan(fen / 100.0);
+  }
 
 }
diff --git a/src/main/java/com/supwisdom/dlpay/util/MoneyUtil.java b/src/main/java/com/supwisdom/dlpay/util/MoneyUtil.java
deleted file mode 100644
index fac8ed4..0000000
--- a/src/main/java/com/supwisdom/dlpay/util/MoneyUtil.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.supwisdom.dlpay.util;

-

-

-import java.text.DecimalFormat;

-

-public class MoneyUtil {

-

-  public static int YuanToFen(double yuan) {

-    return (int) (Math.round(yuan * 100));

-  }

-

-  public static boolean moneyCompare(double x1, double x2) {

-    return YuanToFen(x1) == YuanToFen(x2);

-  }

-

-  public static double formatYuan(double yuan) {

-    DecimalFormat df = new DecimalFormat("##0.00");

-    double money = ((double) YuanToFen(yuan)) / 100;

-    return Double.valueOf(df.format(money));

-  }

-

-  public static double FenToYuan(int fen) {

-    return formatYuan(fen / 100.0);

-  }

-

-  public static String format(double num, String format) {

-    DecimalFormat df = new DecimalFormat(format);

-    return df.format(num);

-  }

-}

diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt
index 8419452..52efca0 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/consume/ThirdPayCall.kt
@@ -7,8 +7,8 @@
 import com.supwisdom.dlpay.consume.bean.SupStatusRevResp
 import com.supwisdom.dlpay.consume.bean.SupYktResp
 import com.supwisdom.dlpay.consume.domain.TUserdtl
+import com.supwisdom.dlpay.framework.util.MoneyUtil
 import com.supwisdom.dlpay.util.HmacUtil
-import com.supwisdom.dlpay.util.MoneyUtil
 
 /**
  * Created by shuwei on 2019/4/11.
diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt
index 61784ec..82406a6 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/consume/controller/consume_service.kt
@@ -9,7 +9,9 @@
 import com.supwisdom.dlpay.consume.service.PersonBalancePayService
 import com.supwisdom.dlpay.consume.service.PersonService
 import com.supwisdom.dlpay.framework.util.DateUtil
+import com.supwisdom.dlpay.framework.util.TradeCode
 import com.supwisdom.dlpay.framework.util.TradeDict
+import com.supwisdom.dlpay.framework.util.Tradetype
 import com.supwisdom.dlpay.util.PaytypeUtil
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.http.ResponseEntity
@@ -69,25 +71,32 @@
     @PostMapping("/ykt/payinit")
     fun yktPayInit(userid: String, amount: Int, manageFee: Int,
                    stuempno: String, shopid: String, transdate: String, transtime: String,
-                   outtradeno: String, payinfo: String): ResponseEntity<Any> {
+                   outtradeno: String, payinfo: String,feetype:String): ResponseEntity<Any> {
         //一卡通支付款 112240
+        var drsubjectno = ""
+        var ccsubjectno = ""
+
         var person = personService.getPersonByThirdUniqueIdenty(stuempno)
         val dtl = PersonTransBuilder.newBuilder(accountUtilServcie)
                 .setTransDatetime(transdate, transtime)
                 .selectPaytype(PaytypeUtil.YKTPAY, payinfo)
                 .setOuttradeno(outtradeno)
                 .setOwner(person)
+                .setTransinfo(TradeCode.TRANSCODE_YKTPAY,"一卡通支付")
+                .chooseTradetype(Tradetype.CONSUME)
                 .addDetail(AccountHolder.subject("112240"),
                         AccountHolder.shop(shopid),
-                        amount / 100.0, "")
+                        amount / 100.0, "一卡通支付")
+                .addDetail(AccountHolder.subject("112240"),
+                        AccountHolder.subject("2002"),
+                        manageFee / 100.0, "搭伙费")
                 .done(personBalancePayService, false)
         return ResponseEntity.ok(dtl)
     }
 
     @PostMapping("/ykt/payfinish")
     fun yktPayFinish(refno: String, yktshopid: String, devphyid: String?): ResponseEntity<Any> {
-        val dtl = PersonTransBuilder.newBuilder(accountUtilServcie)
-                .done(refno, TradeDict.DTL_STATUS_WIP, personBalancePayService)
+        var dtl = personBalancePayService.wip(refno)
         var person = personService.getPersonByUserid(dtl.userid)
         val code = CallService.callYktPay(paytypeService.getPaytypeConfigByPaytype(PaytypeUtil.YKTPAY),
                 dtl, DateUtil.getNow(),person?.thirdUniqueIdenty,yktshopid,devphyid)
diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/service/impl/pay_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/service/impl/pay_service_impl.kt
index 44c0a56..b592a60 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/consume/service/impl/pay_service_impl.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/consume/service/impl/pay_service_impl.kt
@@ -149,7 +149,7 @@
     }
 
     private fun doDealShopacc(shopaccno: String, amount: Double) {
-        TODO("商户更新余额逻辑")
+        return
     }
 
     override fun process(builder: PersonTransBuilder): TUserdtl {
@@ -260,12 +260,16 @@
         }
     }
 
-    override fun wip(paydtl: TUserdtl, builder: PersonTransBuilder): TUserdtl {
-        return wip(paydtl.refno, builder)
+    override fun wip(paydtl: TUserdtl): TUserdtl {
+        return wip(paydtl.refno)
     }
 
-    override fun wip(refno: String, builder: PersonTransBuilder): TUserdtl {
+    override fun wip(refno: String): TUserdtl {
         var userdtl = getLockUserdtlNowait(refno)
+        if(TradeDict.DTL_STATUS_WIP == userdtl.status){
+            return userdtl
+        }
+
         if (TradeDict.DTL_STATUS_INIT != userdtl.status)
             throw TransactionProcessException(TradeErrorCode.TRANSDTL_STATUS_NOT_INIT, "交易参考号<$refno>非初始化流水")
 
diff --git a/src/main/kotlin/com/supwisdom/dlpay/consume/service/pay_service.kt b/src/main/kotlin/com/supwisdom/dlpay/consume/service/pay_service.kt
index 8bfc900..84da408 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/consume/service/pay_service.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/consume/service/pay_service.kt
@@ -43,9 +43,9 @@
     /**
      * 两步交易,交易过程中判断交易状态,并更新交易状态为 wip
      */
-    fun wip(paydtl: TUserdtl, builder: PersonTransBuilder): TUserdtl
+    fun wip(paydtl: TUserdtl): TUserdtl
 
-    fun wip(refno: String, builder: PersonTransBuilder): TUserdtl
+    fun wip(refno: String): TUserdtl
 
 
 }
\ No newline at end of file