diff --git a/payapi/src/main/java/com/supwisdom/dlpay/agent/citizencard/DlpayResp.java b/payapi/src/main/java/com/supwisdom/dlpay/agent/citizencard/DlpayResp.java
index ba28bb8..bc9510a 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/agent/citizencard/DlpayResp.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/agent/citizencard/DlpayResp.java
@@ -14,6 +14,8 @@
   private String captcha; //验证码
   private String status; //0-成功；1-失败；2-已退款；3-部分退款
   private String filename;
+  private String trxdate; //银行记账日期
+  private Integer amount; //查询时返回流水金额
 
   @XmlElement(name = "CODE")
   public String getCode() {
@@ -95,4 +97,22 @@
   public void setFilename(String filename) {
     this.filename = filename;
   }
+
+  @XmlElement(name = "TRXDATE")
+  public String getTrxdate() {
+    return trxdate;
+  }
+
+  public void setTrxdate(String trxdate) {
+    this.trxdate = trxdate;
+  }
+
+  @XmlElement(name = "AMOUNT")
+  public Integer getAmount() {
+    return amount;
+  }
+
+  public void setAmount(Integer amount) {
+    this.amount = amount;
+  }
 }
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/agent/citizencard/YnrccUtil.java b/payapi/src/main/java/com/supwisdom/dlpay/agent/citizencard/YnrccUtil.java
index cafbb40..9b12298 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/agent/citizencard/YnrccUtil.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/agent/citizencard/YnrccUtil.java
@@ -56,9 +56,12 @@
     errcode.add(Pair.of(AgentCode.ILLEGAL_DATA, new YnrccRespCode("0109", "已存在签约信息,与签约证件类型不符")));
     errcode.add(Pair.of(AgentCode.ILLEGAL_DATA, new YnrccRespCode("0110", "已存在签约信息,与签约户名不符")));
     errcode.add(Pair.of(AgentCode.ILLEGAL_DATA, new YnrccRespCode("0111", "已存在签约信息,与签约手机号不符")));
+    errcode.add(Pair.of(AgentCode.ILLEGAL_DATA, new YnrccRespCode("0112", "卡已挂失")));
+    errcode.add(Pair.of(AgentCode.ILLEGAL_DATA, new YnrccRespCode("0113", "卡已密码挂失")));
 
     errcode.add(Pair.of(AgentCode.ILLEGAL_DATA, new YnrccRespCode("0201", "未进行银行卡绑定")));
     errcode.add(Pair.of(AgentCode.ILLEGAL_DATA, new YnrccRespCode("0202", "无效的交易类型")));
+    
     errcode.add(Pair.of(AgentCode.ILLEGAL_DATA, new YnrccRespCode("0301", "未签约")));
     errcode.add(Pair.of(AgentCode.SHORT_OF_BALANCE, new YnrccRespCode("0302", "余额不足")));
     errcode.add(Pair.of(AgentCode.SERVER_INTERNAL_ERROR, new YnrccRespCode("0303", "MD5校验失败")));
diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
index 38f652f..096d924 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/api/scheduler_task.kt
@@ -186,5 +186,4 @@
             }
         }
     }
-
 }
\ No newline at end of file
diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayResp.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayResp.java
index f5d5263..29d5b26 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayResp.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/bean/DlpayResp.java
@@ -14,6 +14,8 @@
   private String sinstatus;
   private String status;
   private String filename;
+  private String trxdate;
+  private Integer amount;
 
   @XmlElement(name = "CODE")
   public String getCode() {
@@ -100,5 +102,23 @@
     return "error: code=[" + this.code + "],message=[" + this.message + "]";
   }
 
+  @XmlElement(name = "TRXDATE")
+  public String getTrxdate() {
+    return trxdate;
+  }
+
+  public void setTrxdate(String trxdate) {
+    this.trxdate = trxdate;
+  }
+
+  @XmlElement(name = "AMOUNT")
+  public Integer getAmount() {
+    return amount;
+  }
+
+  public void setAmount(Integer amount) {
+    this.amount = amount;
+  }
+
 
 }
