diff --git a/config/application-devel-pg.properties b/config/application-devel-pg.properties
index 1e91bce..c3df0e6 100644
--- a/config/application-devel-pg.properties
+++ b/config/application-devel-pg.properties
@@ -8,7 +8,7 @@
 logging.level.org.hibernate.SQL=DEBUG
 # Postgresql settings
 spring.datasource.platform=postgresql
-spring.datasource.url=jdbc:postgresql://172.28.201.70:15432/restaurantdev
+spring.datasource.url=jdbc:postgresql://172.28.201.101:25432/restauranttest
 spring.datasource.username=payapi
 spring.datasource.password=123456
 database.dbtype=postgresql
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/dao/CustomerDao.java b/src/main/java/com/supwisdom/dlpay/restaurant/dao/CustomerDao.java
index d0091cb..249434f 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/dao/CustomerDao.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/dao/CustomerDao.java
@@ -16,7 +16,7 @@
     Page<TCustomer> findAllByCustnameContaining(String custname, Pageable pageable);
 
 
-    Integer countByCardno(Integer cardno);
+    Integer countByCardno(String cardno);
 
     Integer countByBankcardno(String bankcardno);
 
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/domain/TCustomer.java b/src/main/java/com/supwisdom/dlpay/restaurant/domain/TCustomer.java
index 14da984..fc654f3 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/domain/TCustomer.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/domain/TCustomer.java
@@ -12,7 +12,7 @@
     private Integer custtype;
     private String custname;
     private String operid;
-    private Integer cardno;
+    private String cardno;
     private String idno;
     private String idtype;
     private String bankcardno;
@@ -51,12 +51,12 @@
         this.custtype = custtype;
     }
 
-    @Column(name = "CARDNO", length = 9)
-    public Integer getCardno() {
+    @Column(name = "CARDNO", length = 16)
+    public String getCardno() {
         return cardno;
     }
 
-    public void setCardno(Integer cardno) {
+    public void setCardno(String cardno) {
         this.cardno = cardno;
     }
 
diff --git a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
index 5e5b565..ef9dc20 100644
--- a/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/restaurant/service/impl/CustomerServiceImpl.java
@@ -134,14 +134,14 @@
 
                 if (StringUtil.isEmpty((String) data[i][0]) || StringUtil.isEmpty((String) data[i][1]) || StringUtil.isEmpty((String) data[i][2])) {
                     msg = msg + "第" + i + "行，关键字段缺失。<br/>";
-                } else if (customerDao.countByCardno(Integer.parseInt((String) data[i][1])) >0) {
+                } else if (customerDao.countByCardno((String) data[i][1]) >0) {
                     msg = msg + "第" + i + "行，该市名卡已存在。<br/>";
                 }
                 else{
                     TCustomer d=new TCustomer();
                     d.setCustname((String) data[i][0]);
                     String cardno=(String) data[i][1];
-                    d.setCardno(Integer.parseInt(cardno));
+                    d.setCardno(cardno);
                     d.setBankcardno((String) data[i][2]);
                     if(null!=data[i][3]){
                         d.setPhone((String) data[i][3]);
diff --git a/src/main/resources/templates/restaurant/device/import.html b/src/main/resources/templates/restaurant/device/import.html
index 56b8eac..a97ba9d 100644
--- a/src/main/resources/templates/restaurant/device/import.html
+++ b/src/main/resources/templates/restaurant/device/import.html
@@ -7,6 +7,12 @@
         <label class="control-label">请选择导入文件<span class="required"> * </span></label>
         <input type="file" name="file" id="file" placeholder="请选择xls格式文件">
     </div>
+  <!--  <div class="layui-input-inline" style="width: auto;margin-left:3%">
+        <button type="button" class="layui-btn upoadfile-btn" >
+            <i class="layui-icon">&#xe67c;</i>点击上传
+            <input type="file" name="file" id="file" style="width:auto;"/>
+        </button>
+    </div>-->
 
     <!-- /row -->
     <!-- row -->
diff --git a/src/main/resources/templates/restaurant/discountrule/ruleform.html b/src/main/resources/templates/restaurant/discountrule/ruleform.html
index e82a2d3..24010a9 100644
--- a/src/main/resources/templates/restaurant/discountrule/ruleform.html
+++ b/src/main/resources/templates/restaurant/discountrule/ruleform.html
@@ -49,7 +49,7 @@
         <div class="layui-input-inline" style="width: auto;">
             <button type="button" class="layui-btn upoadfile-btn" >
                 <i class="layui-icon">&#xe67c;</i>上传名单
-                <input type="file" name="file" id="form-discountrule-records" />
+                <input type="file" name="file" id="form-discountrule-records" style="width:auto;"/>
             </button>
         </div>
         <div class="layui-input-inline" style="padding-top: 15px;">
