Quellcode durchsuchen

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

# Conflicts:
#	watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
wangxiaoming vor 7 Jahren
Ursprung
Commit
10c6108993
29 geänderte Dateien mit 1292 neuen und 390 gelöschten Zeilen
  1. 15 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/BackGoods.java
  2. 2 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerInfo.java
  3. 37 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/NoreasonBack.java
  4. 14 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Reissue.java
  5. 25 2
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Renewed.java
  6. 24 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Repair.java
  7. 21 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/CustomerService.java
  8. 16 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/NoreasonBackService.java
  9. 0 7
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/RenewedService.java
  10. 0 6
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/RepairService.java
  11. 82 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java
  12. 22 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/NoreasonBackServiceImpl.java
  13. 0 5
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RenewedServiceImpl.java
  14. 0 5
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RepairServiceImpl.java
  15. 16 12
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
  16. 6 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/NoreasonBackMapper.java
  17. 4 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/backGoodsMapper.xml
  18. 26 26
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedInfoMapper.xml
  19. 24 129
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/noreasonBackMapper.xml
  20. 4 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/reissueMapper.xml
  21. 5 7
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/renewedMapper.xml
  22. 13 7
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/repairMapper.xml
  23. 13 13
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  24. 105 9
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  25. 15 13
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java
  26. 2 1
      watero-rst-web/src/main/resources/platform.properties
  27. 53 7
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_detail.ftl
  28. 744 130
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl
  29. 4 6
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/signclosed_list.ftl

+ 15 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/BackGoods.java

@@ -1,5 +1,8 @@
 package com.iamberry.rst.core.cm;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
@@ -41,10 +44,22 @@ public class BackGoods  implements Serializable {
 
     private Date backGoodsUpdateTime;
 
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date salesPayTime;                  //支付时间
+
     private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
 
     private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();//机会产品集合
 
+    public Date getSalesPayTime() {
+        return salesPayTime;
+    }
+
+    public void setSalesPayTime(Date salesPayTime) {
+        this.salesPayTime = salesPayTime;
+    }
+
     public List<ClosedFitting> getClosedFittings() {
         return closedFittings;
     }

+ 2 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerInfo.java

@@ -58,6 +58,8 @@ public class CustomerInfo  implements Serializable {
     private Integer typeId;             //产品类型
     private String typeName;            //产品类型名称
     private String adminName;           //客服名称
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
     private Date salesTime;             //购买日期
     private Integer backStatus;         //寄回状态
     private Integer sendStatus;         //寄送状态

+ 37 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/NoreasonBack.java

@@ -1,7 +1,12 @@
 package com.iamberry.rst.core.cm;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 public class NoreasonBack  implements Serializable {
     private static final long serialVersionUID = -8771772978569981906L;
@@ -39,6 +44,38 @@ public class NoreasonBack  implements Serializable {
 
     private Date noreasonBackUpdateTime;
 
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date salesPayTime;                  //支付时间
+
+    private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
+
+    private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();//机会产品集合
+
+    public Date getSalesPayTime() {
+        return salesPayTime;
+    }
+
+    public void setSalesPayTime(Date salesPayTime) {
+        this.salesPayTime = salesPayTime;
+    }
+
+    public List<ClosedFitting> getClosedFittings() {
+        return closedFittings;
+    }
+
+    public void setClosedFittings(List<ClosedFitting> closedFittings) {
+        this.closedFittings = closedFittings;
+    }
+
+    public List<ClosedProdcue> getClosedProdcues() {
+        return closedProdcues;
+    }
+
+    public void setClosedProdcues(List<ClosedProdcue> closedProdcues) {
+        this.closedProdcues = closedProdcues;
+    }
+
     public Integer getNoreasonBackId() {
         return noreasonBackId;
     }

+ 14 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Reissue.java

@@ -1,5 +1,8 @@
 package com.iamberry.rst.core.cm;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
@@ -47,10 +50,21 @@ public class Reissue  implements Serializable {
     private Date reissueCreateTime;
     //  CURRENT_TIMESTAMP ,
     private Date reissueUpdateTime;
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date salesPayTime;                  //支付时间
 
     private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
     private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();//机会产品集合
 
+    public Date getSalesPayTime() {
+        return salesPayTime;
+    }
+
+    public void setSalesPayTime(Date salesPayTime) {
+        this.salesPayTime = salesPayTime;
+    }
+
     public List<ClosedFitting> getClosedFittings() {
         return closedFittings;
     }

+ 25 - 2
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Renewed.java

@@ -1,5 +1,8 @@
 package com.iamberry.rst.core.cm;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
@@ -82,6 +85,28 @@ public class Renewed  implements Serializable {
     private Integer closedProdcueNumber;        //寄回产品数量
     private String productName;                 //产品名称
     private Integer detectState;                //品质检测状态
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date salesPayTime;                  //支付时间
+    private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
+
+    private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();//机会产品集合
+
+    public Date getSalesPayTime() {
+        return salesPayTime;
+    }
+
+    public void setSalesPayTime(Date salesPayTime) {
+        this.salesPayTime = salesPayTime;
+    }
+
+    public List<ClosedProdcue> getClosedProdcues() {
+        return closedProdcues;
+    }
+
+    public void setClosedProdcues(List<ClosedProdcue> closedProdcues) {
+        this.closedProdcues = closedProdcues;
+    }
 
     public Integer getDetectState() {
         return detectState;
@@ -91,8 +116,6 @@ public class Renewed  implements Serializable {
         this.detectState = detectState;
     }
 
-    private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
-
     public Integer getClosedProdcueNumber() {
         return closedProdcueNumber;
     }

+ 24 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Repair.java

@@ -1,5 +1,8 @@
 package com.iamberry.rst.core.cm;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
@@ -82,8 +85,29 @@ public class Repair implements Serializable {
     private Integer closedProdcueNumber;        //寄回产品数量
     private String productName;                 //产品名称
     private Integer detectState;                //品质检测状态
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date salesPayTime;                  //支付时间
     private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
 
+    private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();//机会产品集合
+
+    public Date getSalesPayTime() {
+        return salesPayTime;
+    }
+
+    public void setSalesPayTime(Date salesPayTime) {
+        this.salesPayTime = salesPayTime;
+    }
+
+    public List<ClosedProdcue> getClosedProdcues() {
+        return closedProdcues;
+    }
+
+    public void setClosedProdcues(List<ClosedProdcue> closedProdcues) {
+        this.closedProdcues = closedProdcues;
+    }
+
     public List<ClosedFitting> getClosedFittings() {
         return closedFittings;
     }

+ 21 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/CustomerService.java

@@ -54,6 +54,13 @@ public interface CustomerService {
     BackGoods getBackGoods(BackGoods backGoods);
 
     /**
+     * 获取无理由退货信息
+     * @param noreasonBack
+     * @return
+     */
+    NoreasonBack getNoreasonBack(NoreasonBack noreasonBack);
+
+    /**
      * 获取售后补寄信息
      * @param reissue
      * @return
@@ -61,6 +68,20 @@ public interface CustomerService {
     Reissue getReissue(Reissue reissue);
 
     /**
+     * 获取换新详情和品质检测信息
+     * @param renewed
+     * @return
+     */
+    Renewed getRenewedInfo(Renewed renewed);
+
+    /**
+     * 获取维修详情和品质检测信息
+     * @param repair
+     * @return
+     */
+    Repair getRepairInfo(Repair repair);
+
+    /**
      * 查询寄回和寄出的产品和配件信息
      * @param customerCommon
      * @param isSolve

+ 16 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/NoreasonBackService.java

@@ -0,0 +1,16 @@
+package com.iamberry.rst.faces.cm;
+
+import com.iamberry.rst.core.cm.NoreasonBack;
+
+/**
+ * Created by liuzhiwei on 2017/11/14.
+ */
+public interface NoreasonBackService {
+
+    /**
+     * 修改无理由退货信息
+     * @param record
+     * @return
+     */
+    Integer updateNoreasonBack(NoreasonBack record);
+}

+ 0 - 7
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/RenewedService.java

@@ -12,13 +12,6 @@ import java.util.List;
 public interface RenewedService {
 
     /**
-     * 获取换新详情和品质检测信息
-     * @param renewed
-     * @return
-     */
-    Renewed getRenewedInfo(Renewed renewed);
-
-    /**
      * 获取寄回配件集合
      * @param closedFitting
      * @return

+ 0 - 6
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/RepairService.java

@@ -7,12 +7,6 @@ import com.iamberry.rst.core.cm.Repair;
  * Created by liuzhiwei on 2017/11/8.
  */
 public interface RepairService {
-    /**
-     * 获取维修详情和品质检测信息
-     * @param repair
-     * @return
-     */
-    Repair getRepairInfo(Repair repair);
 
     /**
      * 修改维修信息

+ 82 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java

@@ -316,6 +316,7 @@ public class CustomerServiceImpl implements CustomerService {
                             if (renewed.getCustomerId().intValue() == customer.getCustomerId()) {
                                 customer.setBackStatus(renewed.getRenewedBackStatus());
                                 customer.setSendStatus(renewed.getRenewedSendStatus());
+                                customer.setSalesTime(renewed.getSalesPayTime());
                                 break;
                             }
                         }
@@ -325,6 +326,7 @@ public class CustomerServiceImpl implements CustomerService {
                             if (repair.getCustomerId().intValue() == customer.getCustomerId()) {
                                 customer.setBackStatus(repair.getRepairBackStatus());
                                 customer.setSendStatus(repair.getRepairSendStatus());
+                                customer.setSalesTime(repair.getSalesPayTime());
                                 break;
                             }
                         }
@@ -333,6 +335,7 @@ public class CustomerServiceImpl implements CustomerService {
                         for (Reissue reissue : reissueList) {
                             if (reissue.getCustomerId().intValue() == customer.getCustomerId()) {
                                 customer.setSendStatus(reissue.getReissueSendStatus());
+                                customer.setSalesTime(reissue.getSalesPayTime());
                                 break;
                             }
                         }
@@ -341,6 +344,7 @@ public class CustomerServiceImpl implements CustomerService {
                         for (BackGoods backGoods : backGoodsList) {
                             if (backGoods.getCustomerId().intValue() == customer.getCustomerId()) {
                                 customer.setBackStatus(backGoods.getBackGoodsBackStatus());
+                                customer.setSalesTime(backGoods.getSalesPayTime());
                                 break;
                             }
                         }
@@ -349,6 +353,7 @@ public class CustomerServiceImpl implements CustomerService {
                         for (NoreasonBack noreasonBack : noreasonBackList) {
                             if (noreasonBack.getCustomerId().intValue() == customer.getCustomerId()) {
                                 customer.setBackStatus(noreasonBack.getNoreasonBackBackStatus());
+                                customer.setSalesTime(noreasonBack.getSalesPayTime());
                                 break;
                             }
                         }
@@ -568,6 +573,33 @@ public class CustomerServiceImpl implements CustomerService {
     }
 
     @Override
+    public NoreasonBack getNoreasonBack(NoreasonBack noreasonBack) {
+        //获取无理由退货
+        List<NoreasonBack> backList = noreasonBackMapper.listNoreasonBack(noreasonBack);
+        if (backList == null || backList.size() == 0) {
+            return null;
+        }
+        NoreasonBack noreasonBackInfo = backList.get(0);
+        ClosedProdcue closedProdcue = new ClosedProdcue();
+        closedProdcue.setRelationId(noreasonBackInfo.getNoreasonBackId());
+        closedProdcue.setClosedProdcueType(7);
+        //查询寄回产品集合
+        List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
+        ClosedFitting fitting = new ClosedFitting();
+        fitting.setRelationId(noreasonBackInfo.getNoreasonBackId());
+        fitting.setClosedFittingType(7);
+        //查询寄回配件集合
+        List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
+        if (prodcueList != null && prodcueList.size() > 0) {
+            noreasonBackInfo.setClosedProdcues(prodcueList);
+        }
+        if (fittingList != null && fittingList.size() > 0) {
+            noreasonBackInfo.setClosedFittings(fittingList);
+        }
+        return noreasonBackInfo;
+    }
+
+    @Override
     public Reissue getReissue(Reissue reissue) {
         //查询售后补发信息
         List<Reissue> reissueList = reissueMapper.listReissue(reissue);
@@ -593,4 +625,54 @@ public class CustomerServiceImpl implements CustomerService {
         }
         return reissueInfo;
     }
+
+    @Override
+    public Renewed getRenewedInfo(Renewed renewed) {
+        renewed = renewedMapper.getRenewedInfo(renewed);
+        if (renewed == null){
+            return null;
+        }
+        ClosedProdcue closedProdcue = new ClosedProdcue();
+        closedProdcue.setRelationId(renewed.getRenewedId());
+        closedProdcue.setClosedProdcueType(3);
+        //查询寄回产品集合
+        List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
+        ClosedFitting fitting = new ClosedFitting();
+        fitting.setRelationId(renewed.getRenewedId());
+        fitting.setClosedFittingType(3);
+        //查询寄回配件集合
+        List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
+        if (prodcueList != null && prodcueList.size() > 0) {
+            renewed.setClosedProdcues(prodcueList);
+        }
+        if (fittingList != null && fittingList.size() > 0) {
+            renewed.setClosedFittings(fittingList);
+        }
+        return renewed;
+    }
+
+    @Override
+    public Repair getRepairInfo(Repair repair) {
+        repair = repairMapper.getRepairInfo(repair);
+        if (repair == null) {
+            return null;
+        }
+        ClosedProdcue closedProdcue = new ClosedProdcue();
+        closedProdcue.setRelationId(repair.getRepairId());
+        closedProdcue.setClosedProdcueType(4);
+        //查询寄回产品集合
+        List<ClosedProdcue> prodcueList = closedProdcueMapper.listclosedProdcue(closedProdcue);
+        ClosedFitting fitting = new ClosedFitting();
+        fitting.setRelationId(repair.getRepairId());
+        fitting.setClosedFittingType(4);
+        //查询寄回配件集合
+        List<ClosedFitting> fittingList = closedFittingMapper.listClosedFitting(fitting);
+        if (prodcueList != null && prodcueList.size() > 0) {
+            repair.setClosedProdcues(prodcueList);
+        }
+        if (fittingList != null && fittingList.size() > 0) {
+            repair.setClosedFittings(fittingList);
+        }
+        return repair;
+    }
 }

+ 22 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/NoreasonBackServiceImpl.java

@@ -0,0 +1,22 @@
+package com.iamberry.rst.service.cm;
+
+import com.iamberry.rst.core.cm.NoreasonBack;
+import com.iamberry.rst.faces.cm.NoreasonBackService;
+import com.iamberry.rst.service.cm.mapper.NoreasonBackMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * Created by liuzhiwei on 2017/11/14.
+ */
+@Service
+public class NoreasonBackServiceImpl implements NoreasonBackService {
+
+    @Autowired
+    private NoreasonBackMapper noreasonBackMapper;
+
+    @Override
+    public Integer updateNoreasonBack(NoreasonBack record) {
+        return noreasonBackMapper.updateNoreasonBack(record);
+    }
+}

+ 0 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RenewedServiceImpl.java

@@ -20,11 +20,6 @@ public class RenewedServiceImpl implements RenewedService {
     private RenewedMapper renewedMapper;
 
     @Override
-    public Renewed getRenewedInfo(Renewed renewed) {
-        return renewedMapper.getRenewedInfo(renewed);
-    }
-
-    @Override
     public List<ClosedFitting> listClosedFitting(ClosedFitting closedFitting) {
         return renewedMapper.listClosedFitting(closedFitting);
     }

+ 0 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RepairServiceImpl.java

@@ -17,11 +17,6 @@ public class RepairServiceImpl implements RepairService {
     private RepairMapper repairMapper;
 
     @Override
-    public Repair getRepairInfo(Repair repair) {
-        return repairMapper.getRepairInfo(repair);
-    }
-
-    @Override
     public Integer updateRepairInfo(Repair repair) {
         return repairMapper.updateRepairInfo(repair);
     }

+ 16 - 12
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -101,19 +101,19 @@ public class SalesOrderServiceImpl implements SalesOrderService {
             JSONObject orderInfo = orderList.getJSONObject(i);
             for (SalesOrder salesOrder : list) {
                 if (orderInfo.get("order_sn").equals(salesOrder.getSalesOrderId())
-                        && (orderInfo.getInt("order_status") != salesOrder.getSalesStatus()
-                        || orderInfo.getInt("shipping_status") != salesOrder.getSalesShippingStatus()
-                        || orderInfo.getInt("pay_status") != salesOrder.getSalesPayStatus()
-                        || orderInfo.getInt("process_status") != salesOrder.getSalesProcessStatus()
-                        || orderInfo.getInt("is_send") != salesOrder.getSalesIsSend()
-                        || orderInfo.getInt("is_locked") != salesOrder.getSalesIsLocked()
-                        || orderInfo.getInt("is_separate") != salesOrder.getSalesIsSeparate()
-                        || !orderInfo.getString("shipping_name").equals(salesOrder.getSalesPostFirm())
-                        || !orderInfo.getString("invoice_no").equals(salesOrder.getSalesPostNum())
+                        && !(orderInfo.getInt("order_status") == salesOrder.getSalesStatus()
+                        && orderInfo.getInt("shipping_status") == salesOrder.getSalesShippingStatus()
+                        && orderInfo.getInt("pay_status") == salesOrder.getSalesPayStatus()
+                        && orderInfo.getInt("process_status") == salesOrder.getSalesProcessStatus()
+                        && orderInfo.getInt("is_send") == salesOrder.getSalesIsSend()
+                        && orderInfo.getInt("is_locked") == salesOrder.getSalesIsLocked()
+                        && orderInfo.getInt("is_separate") == salesOrder.getSalesIsSeparate()
+                        && orderInfo.getString("shipping_name").equals(salesOrder.getSalesPostFirm())
+                        && orderInfo.getString("invoice_no").equals(salesOrder.getSalesPostNum())
                 )) {
                     SalesOrder order = new SalesOrder();
                     order.setSalesId(salesOrder.getSalesId());
-                    order.setSalesOrderStatus(orderInfo.getInt("order_status"));
+                    order.setSalesStatus(orderInfo.getInt("order_status"));
                     order.setSalesShippingStatus(orderInfo.getInt("shipping_status"));
                     order.setSalesPayStatus(orderInfo.getInt("pay_status"));
                     order.setSalesProcessStatus(orderInfo.getInt("process_status"));
@@ -126,8 +126,12 @@ public class SalesOrderServiceImpl implements SalesOrderService {
                 }
             }
         }
-        //批量修改订单状态等信息
-        return salesOrderMapper.updateOrderList(list);
+        if (salesOrders != null && salesOrders.size() > 0) {
+            //批量修改订单状态等信息
+            return salesOrderMapper.updateOrderList(salesOrders);
+        } else {
+            return 1;
+        }
     }
 
     @Override

+ 6 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/NoreasonBackMapper.java

@@ -13,7 +13,12 @@ public interface NoreasonBackMapper {
 
     NoreasonBack selectByPrimaryKey(Integer noreasonBackId);
 
-    int updateByPrimaryKeySelective(NoreasonBack record);
+    /**
+     * 修改无理由退货信息
+     * @param record
+     * @return
+     */
+    Integer updateNoreasonBack(NoreasonBack record);
 
     int updateByPrimaryKey(NoreasonBack record);
 

+ 4 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/backGoodsMapper.xml

@@ -36,9 +36,11 @@
   <!-- 查询售后退货集合 -->
   <select id="listBackGoods" resultType="BackGoods" parameterType="BackGoods">
     select
-      *
+      g.*,
+      o.sales_pay_time salesPayTime
     from
-      tb_rst_back_goods
+      tb_rst_back_goods g
+    LEFT JOIN tb_rst_sales_order_info o ON g.order_id = o.sales_id
     <where>
       <if test="customerId != null and customerId != ''">
         customer_id = #{customerId}

+ 26 - 26
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedInfoMapper.xml

@@ -43,32 +43,32 @@
   </select>
 
   <resultMap id="complaintSignclosedInfoMap" type="ComplaintSignclosedInfo">
-    <id property="signclosed_id" column="signclosedId"/>
-    <result property="signclosed_type" column="signclosedType"/>
-    <result property="signclosed_type_name" column="signclosedTypeName"/>
-    <result property="machine_no" column="machineNo"/>
-    <result property="signclosed_logistics" column="signclosedLogistics"/>
-    <result property="signclosed_logistics_number" column="signclosedLogisticsNumber"/>
-    <result property="signclosed_send_name" column="signclosedSendName"/>
-    <result property="signclosed_send_tel" column="signclosedSendTel"/>
-    <result property="signclosed_addr_provinces" column="signclosedAddrProvinces"/>
-    <result property="signclosed_addr_city" column="signclosedAddrCity"/>
-    <result property="signclosed_is_fittings" column="signclosedIsFittings"/>
-    <result property="signclosed_date" column="signclosedDate"/>
-    <result property="signclosed_is_quality" column="signclosedIsQuality"/>
-    <result property="signclosed_is_into" column="signclosedIsInto"/>
-    <result property="signclosed_state" column="signclosedState"/>
-    <result property="signclosed_objects_state" column="signclosedObjectsState"/>
-    <result property="signclosed_customer_id" column="signclosedCustomerId"/>
-    <result property="signclosed_urged_num" column="signclosedUrgedNum"/>
-    <result property="old_efast_id" column="oldEfastId"/>
-    <result property="new_efast_id" column="newEfastId"/>
-    <result property="signclosed_customer_desc" column="signclosedCustomerDesc"/>
-    <result property="signclosed_desc" column="signclosedDesc"/>
-    <result property="signclosed_create_time" column="signclosedCreateTime"/>
-    <result property="signclosed_update_time" column="signclosedUpdateTime"/>
-    <collection property="awaitingSignclosedProductInfoList" javaType="ArrayList" column="signclosed_id" ofType="AwaitingSignclosedProductInfo" select="listAwaitingSignclosedById"/>
-    <collection property="signclosedProductInfoList" javaType="ArrayList" column="signclosed_id" ofType="SignclosedProductInfo" select="listSignclosedById"/>
+    <id column="signclosed_id" property="signclosedId"/>
+    <result column="signclosed_type" property="signclosedType"/>
+    <result column="signclosed_type_name" property="signclosedTypeName"/>
+    <result column="machine_no" property="machineNo"/>
+    <result column="signclosed_logistics" property="signclosedLogistics"/>
+    <result column="signclosed_logistics_number" property="signclosedLogisticsNumber"/>
+    <result column="signclosed_send_name" property="signclosedSendName"/>
+    <result column="signclosed_send_tel" property="signclosedSendTel"/>
+    <result column="signclosed_addr_provinces" property="signclosedAddrProvinces"/>
+    <result column="signclosed_addr_city" property="signclosedAddrCity"/>
+    <result column="signclosed_is_fittings" property="signclosedIsFittings"/>
+    <result column="signclosed_date" property="signclosedDate"/>
+    <result column="signclosed_is_quality" property="signclosedIsQuality"/>
+    <result column="signclosed_is_into" property="signclosedIsInto"/>
+    <result column="signclosed_state" property="signclosedState"/>
+    <result column="signclosed_objects_state" property="signclosedObjectsState"/>
+    <result column="signclosed_customer_id" property="signclosedCustomerId"/>
+    <result column="signclosed_urged_num" property="signclosedUrgedNum"/>
+    <result column="old_efast_id" property="oldEfastId"/>
+    <result column="new_efast_id" property="newEfastId"/>
+    <result column="signclosed_customer_desc" property="signclosedCustomerDesc"/>
+    <result column="signclosed_desc" property="signclosedDesc"/>
+    <result column="signclosed_create_time" property="signclosedCreateTime"/>
+    <result column="signclosed_update_time" property="signclosedUpdateTime"/>
+    <collection property="awaitingSignclosedProductInfoList" column="signclosed_id" ofType="AwaitingSignclosedProductInfo" select="listAwaitingSignclosedById"/>
+    <collection property="signclosedProductInfoList" column="signclosed_id" ofType="SignclosedProductInfo" select="listSignclosedById"/>
   </resultMap>
   <select id="listAwaitingSignclosedById" resultType="AwaitingSignclosedProductInfo" parameterType="Integer" >
     select

+ 24 - 129
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/noreasonBackMapper.xml

@@ -37,9 +37,11 @@
   <!-- 查询售后无理由退货集合 -->
   <select id="listNoreasonBack" resultType="NoreasonBack" parameterType="NoreasonBack">
     select
-      *
+      b.*,
+      o.sales_pay_time salesPayTime
     from
-      tb_rst_noreason_back
+      tb_rst_noreason_back b
+    LEFT JOIN tb_rst_sales_order_info o ON b.order_id = o.sales_id
     <where>
       <if test="customerId != null and customerId != ''">
         customer_id = #{customerId}
@@ -72,168 +74,61 @@
       #{noreasonBackCreateTime,jdbcType=TIMESTAMP}, #{noreasonBackUpdateTime,jdbcType=TIMESTAMP}
       )
   </insert>
-  <insert id="insertSelective" parameterType="NoreasonBack" >
-    insert into tb_rst_noreason_back
-    <trim prefix="(" suffix=")" suffixOverrides="," >
-      <if test="noreasonBackId != null" >
-        noreason_back_id,
-      </if>
-      <if test="customerId != null" >
-        customer_id,
-      </if>
-      <if test="orderId != null" >
-        order_id,
-      </if>
-      <if test="signclosedId != null" >
-        signclosed_id,
-      </if>
-      <if test="noreasonBackBackStatus != null" >
-        noreason_back_back_status,
-      </if>
-      <if test="noreasonBackBackName != null" >
-        noreason_back_back_name,
-      </if>
-      <if test="noreasonBackBackTel != null" >
-        noreason_back_back_tel,
-      </if>
-      <if test="noreasonBackBackLogisticsCompany != null" >
-        noreason_back_back_logistics_company,
-      </if>
-      <if test="noreasonBackBackLogisticsNo != null" >
-        noreason_back_back_logistics_no,
-      </if>
-      <if test="noreasonBackBackPostage != null" >
-        noreason_back_back_postage,
-      </if>
-      <if test="noreasonBackBackMachineNo != null" >
-        noreason_back_back_machine_no,
-      </if>
-      <if test="noreasonBackDesc != null" >
-        noreason_back_desc,
-      </if>
-      <if test="noreasonBackState != null" >
-        noreason_back_state,
-      </if>
-      <if test="noreasonBackAlipay != null" >
-        noreason_back_alipay,
-      </if>
-      <if test="noreasonBackIsTransfer != null" >
-        noreason_back_is_transfer,
-      </if>
-      <if test="noreasonBackCreateTime != null" >
-        noreason_back_create_time,
-      </if>
-      <if test="noreasonBackUpdateTime != null" >
-        noreason_back_update_time,
-      </if>
-    </trim>
-    <trim prefix="values (" suffix=")" suffixOverrides="," >
-      <if test="noreasonBackId != null" >
-        #{noreasonBackId,jdbcType=INTEGER},
-      </if>
-      <if test="customerId != null" >
-        #{customerId,jdbcType=INTEGER},
-      </if>
-      <if test="orderId != null" >
-        #{orderId,jdbcType=INTEGER},
-      </if>
-      <if test="signclosedId != null" >
-        #{signclosedId,jdbcType=INTEGER},
-      </if>
-      <if test="noreasonBackBackStatus != null" >
-        #{noreasonBackBackStatus,jdbcType=BIT},
-      </if>
-      <if test="noreasonBackBackName != null" >
-        #{noreasonBackBackName,jdbcType=VARCHAR},
-      </if>
-      <if test="noreasonBackBackTel != null" >
-        #{noreasonBackBackTel,jdbcType=CHAR},
-      </if>
-      <if test="noreasonBackBackLogisticsCompany != null" >
-        #{noreasonBackBackLogisticsCompany,jdbcType=VARCHAR},
-      </if>
-      <if test="noreasonBackBackLogisticsNo != null" >
-        #{noreasonBackBackLogisticsNo,jdbcType=VARCHAR},
-      </if>
-      <if test="noreasonBackBackPostage != null" >
-        #{noreasonBackBackPostage,jdbcType=INTEGER},
-      </if>
-      <if test="noreasonBackBackMachineNo != null" >
-        #{noreasonBackBackMachineNo,jdbcType=VARCHAR},
-      </if>
-      <if test="noreasonBackDesc != null" >
-        #{noreasonBackDesc,jdbcType=VARCHAR},
-      </if>
-      <if test="noreasonBackState != null" >
-        #{noreasonBackState,jdbcType=BIT},
-      </if>
-      <if test="noreasonBackAlipay != null" >
-        #{noreasonBackAlipay,jdbcType=VARCHAR},
-      </if>
-      <if test="noreasonBackIsTransfer != null" >
-        #{noreasonBackIsTransfer,jdbcType=BIT},
-      </if>
-      <if test="noreasonBackCreateTime != null" >
-        #{noreasonBackCreateTime,jdbcType=TIMESTAMP},
-      </if>
-      <if test="noreasonBackUpdateTime != null" >
-        #{noreasonBackUpdateTime,jdbcType=TIMESTAMP},
-      </if>
-    </trim>
-  </insert>
-  <update id="updateByPrimaryKeySelective" parameterType="NoreasonBack" >
+
+  <!-- 修改无理由退货信息 -->
+  <update id="updateNoreasonBack" parameterType="NoreasonBack" >
     update tb_rst_noreason_back
     <set >
       <if test="customerId != null" >
-        customer_id = #{customerId,jdbcType=INTEGER},
+        customer_id = #{customerId},
       </if>
       <if test="orderId != null" >
-        order_id = #{orderId,jdbcType=INTEGER},
+        order_id = #{orderId},
       </if>
       <if test="signclosedId != null" >
-        signclosed_id = #{signclosedId,jdbcType=INTEGER},
+        signclosed_id = #{signclosedId},
       </if>
       <if test="noreasonBackBackStatus != null" >
-        noreason_back_back_status = #{noreasonBackBackStatus,jdbcType=BIT},
+        noreason_back_back_status = #{noreasonBackBackStatus},
       </if>
       <if test="noreasonBackBackName != null" >
-        noreason_back_back_name = #{noreasonBackBackName,jdbcType=VARCHAR},
+        noreason_back_back_name = #{noreasonBackBackName},
       </if>
       <if test="noreasonBackBackTel != null" >
-        noreason_back_back_tel = #{noreasonBackBackTel,jdbcType=CHAR},
+        noreason_back_back_tel = #{noreasonBackBackTel},
       </if>
       <if test="noreasonBackBackLogisticsCompany != null" >
-        noreason_back_back_logistics_company = #{noreasonBackBackLogisticsCompany,jdbcType=VARCHAR},
+        noreason_back_back_logistics_company = #{noreasonBackBackLogisticsCompany},
       </if>
       <if test="noreasonBackBackLogisticsNo != null" >
-        noreason_back_back_logistics_no = #{noreasonBackBackLogisticsNo,jdbcType=VARCHAR},
+        noreason_back_back_logistics_no = #{noreasonBackBackLogisticsNo},
       </if>
       <if test="noreasonBackBackPostage != null" >
-        noreason_back_back_postage = #{noreasonBackBackPostage,jdbcType=INTEGER},
+        noreason_back_back_postage = #{noreasonBackBackPostage},
       </if>
       <if test="noreasonBackBackMachineNo != null" >
-        noreason_back_back_machine_no = #{noreasonBackBackMachineNo,jdbcType=VARCHAR},
+        noreason_back_back_machine_no = #{noreasonBackBackMachineNo},
       </if>
       <if test="noreasonBackDesc != null" >
-        noreason_back_desc = #{noreasonBackDesc,jdbcType=VARCHAR},
+        noreason_back_desc = #{noreasonBackDesc},
       </if>
       <if test="noreasonBackState != null" >
-        noreason_back_state = #{noreasonBackState,jdbcType=BIT},
+        noreason_back_state = #{noreasonBackState},
       </if>
       <if test="noreasonBackAlipay != null" >
-        noreason_back_alipay = #{noreasonBackAlipay,jdbcType=VARCHAR},
+        noreason_back_alipay = #{noreasonBackAlipay},
       </if>
       <if test="noreasonBackIsTransfer != null" >
-        noreason_back_is_transfer = #{noreasonBackIsTransfer,jdbcType=BIT},
+        noreason_back_is_transfer = #{noreasonBackIsTransfer},
       </if>
       <if test="noreasonBackCreateTime != null" >
-        noreason_back_create_time = #{noreasonBackCreateTime,jdbcType=TIMESTAMP},
+        noreason_back_create_time = #{noreasonBackCreateTime},
       </if>
       <if test="noreasonBackUpdateTime != null" >
-        noreason_back_update_time = #{noreasonBackUpdateTime,jdbcType=TIMESTAMP},
+        noreason_back_update_time = #{noreasonBackUpdateTime},
       </if>
     </set>
-    where noreason_back_id = #{noreasonBackId,jdbcType=INTEGER}
+    where noreason_back_id = #{noreasonBackId}
   </update>
   <update id="updateByPrimaryKey" parameterType="NoreasonBack" >
     update tb_rst_noreason_back

+ 4 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/reissueMapper.xml

@@ -37,9 +37,11 @@
   <!-- 查询售后补发集合 -->
   <select id="listReissue" resultType="Reissue" parameterType="Reissue">
     select
-      *
+      r.*,
+      o.sales_pay_time salesPayTime
     from
-      tb_rst_reissue
+      tb_rst_reissue r
+    LEFT JOIN tb_rst_sales_order_info o ON r.order_id = o.sales_id
     <where>
       <if test="customerId != null and customerId != ''">
         customer_id = #{customerId}

+ 5 - 7
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/renewedMapper.xml

@@ -55,15 +55,11 @@
       d.detect_revolution_produced detectRevolutionProduced,
       m.maintenance_id_repair maintenanceIdRepair,
       m.maintenance_content maintenanceContent,
-      m.maintenance_content_date maintenanceContentDate,
-      p.closed_prodcue_number closedProdcueNumber,
-      pi.product_name productName
+      m.maintenance_content_date maintenanceContentDate
     from
       tb_rst_renewed r
     LEFT JOIN tb_rst_complaint_detect d ON r.customer_id = d.customer_id
     LEFT JOIN tb_rst_complaint_maintenance m ON d.detect_id = m.detect_id
-    LEFT JOIN tb_rst_closed_prodcue p ON p.relation_id = r.renewed_id
-    LEFT JOIN tb_rst_product_info pi ON p.product_id = pi.product_id
     <where>
       <if test="renewedId != null and renewedId != ''">
         renewed_id = #{renewedId}
@@ -95,9 +91,11 @@
   <!-- 查询售后换新集合 -->
   <select id="listRenewed" resultType="Renewed" parameterType="Renewed">
     select
-      *
+      r.*,
+      o.sales_pay_time salesPayTime
     from
-      tb_rst_renewed
+      tb_rst_renewed r
+    LEFT JOIN tb_rst_sales_order_info o ON r.order_id = o.sales_id
     <where>
       <if test="customerId != null and customerId != ''">
         customer_id = #{customerId}

+ 13 - 7
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/repairMapper.xml

@@ -49,9 +49,19 @@
   <!-- 查询售后维修集合 -->
   <select id="listRepair" resultType="Repair" parameterType="Repair">
     select
-      *
+      r.*,
+      o.sales_pay_time salesPayTime
     from
-      tb_rst_repair
+      tb_rst_repair r
+    LEFT JOIN tb_rst_sales_order_info o ON r.order_id = o.sales_id
+    <where>
+      <if test="repairState != null">
+        repair_state = #{repairState}
+      </if>
+      <if test="customerId != null and customerId != ''">
+        and customer_id = #{customerId}
+      </if>
+    </where>
   </select>
 
   <!-- 获取维修详情和品质检测信息 -->
@@ -68,15 +78,11 @@
       d.detect_revolution_produced detectRevolutionProduced,
       m.maintenance_id_repair maintenanceIdRepair,
       m.maintenance_content maintenanceContent,
-      m.maintenance_content_date maintenanceContentDate,
-      p.closed_prodcue_number closedProdcueNumber,
-      pi.product_name productName
+      m.maintenance_content_date maintenanceContentDate
     from
       tb_rst_repair r
     LEFT JOIN tb_rst_complaint_detect d ON r.customer_id = d.customer_id
     LEFT JOIN tb_rst_complaint_maintenance m ON d.detect_id = m.detect_id
-    LEFT JOIN tb_rst_closed_prodcue p ON p.relation_id = r.repair_id
-    LEFT JOIN tb_rst_product_info pi ON p.product_id = pi.product_id
     <where>
       <if test="repairId != null and repairId != ''">
         repair_id = #{repairId}

+ 13 - 13
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -81,7 +81,7 @@
         AND sales_address_name like CONCAT('%',#{salesAddressName},'%')
       </if>
       <if test="salesCreateTime != null and salesCreateTime != ''">
-        AND tb_rst_sales_order_info <![CDATA[>=]]> #{salesCreateTime}
+        AND sales_create_time <![CDATA[>=]]> #{salesCreateTime}
       </if>
     </where>
     ORDER BY sales_create_time DESC
@@ -286,39 +286,39 @@
   <update id="updateOrderList" parameterType="java.util.List">
     <foreach collection="list" item="item" index="index" separator=";" open="" close="">
       update tb_rst_sales_order_info
-      <set >
+      <set>
         <if test="item.salesOrderStatus != null">
-          sales_order_status = #{item.salesOrderStatus,jdbcType=INTEGER},
+          sales_order_status = #{item.salesOrderStatus},
         </if>
         <if test="item.salesStatus != null">
-          sales_status = #{item.salesStatus,jdbcType=INTEGER},
+          sales_status = #{item.salesStatus},
         </if>
         <if test="item.salesShippingStatus != null">
-          sales_shipping_status = #{item.salesShippingStatus,jdbcType=INTEGER},
+          sales_shipping_status = #{item.salesShippingStatus},
         </if>
         <if test="item.salesPayStatus != null">
-          sales_pay_status = #{item.salesPayStatus,jdbcType=INTEGER},
+          sales_pay_status = #{item.salesPayStatus},
         </if>
         <if test="item.salesProcessStatus != null">
-          sales_process_status = #{item.salesProcessStatus,jdbcType=INTEGER},
+          sales_process_status = #{item.salesProcessStatus},
         </if>
         <if test="item.salesIsSend != null">
-          sales_is_send = #{item.salesIsSend,jdbcType=INTEGER},
+          sales_is_send = #{item.salesIsSend},
         </if>
         <if test="item.salesIsLocked != null">
-          sales_is_locked = #{item.salesIsLocked,jdbcType=INTEGER},
+          sales_is_locked = #{item.salesIsLocked},
         </if>
         <if test="item.salesIsSeparate != null">
-          sales_is_separate = #{item.salesIsSeparate,jdbcType=INTEGER},
+          sales_is_separate = #{item.salesIsSeparate},
         </if>
         <if test="item.salesPostFirm != null" >
-          sales_post_firm = #{item.salesPostFirm,jdbcType=VARCHAR},
+          sales_post_firm = #{item.salesPostFirm},
         </if>
         <if test="item.salesPostNum != null" >
-          sales_post_num = #{item.salesPostNum,jdbcType=VARCHAR},
+          sales_post_num = #{item.salesPostNum},
         </if>
       </set>
-      where sales_id = #{item.salesId,jdbcType=INTEGER}
+      where sales_id = #{item.salesId}
     </foreach>
   </update>
 

+ 105 - 9
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -9,12 +9,14 @@ import com.iamberry.rst.core.pts.ProcessNode;
 import com.iamberry.rst.core.pts.ProduceProcess;
 import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.faces.cm.*;
+import com.iamberry.rst.faces.order.EfastOrderService;
 import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.faces.sys.SysService;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -62,6 +64,12 @@ public class AdminCustomerController {
     private FittingsInfoService fittingsInfoService;
     @Autowired
     private ReissueService reissueService;
+    @Autowired
+    private EfastOrderService efastOrderService;
+    @Autowired
+    private NoreasonBackService noreasonBackService;
+
+    private Object lock = new Object();
 
 
     /**
@@ -573,17 +581,10 @@ public class AdminCustomerController {
         renewed.setCustomerId(Integer.parseInt(customerId));
         renewed.setRenewedState(1);
         //获取换新详情和检测信息
-        renewed = renewedService.getRenewedInfo(renewed);
+        renewed = customerService.getRenewedInfo(renewed);
         if (renewed == null) {
             return new ResponseJson(500, "该客诉没有换新信息!", 500);
         } else {
-            ClosedFitting closedFitting = new ClosedFitting();
-            closedFitting.setRelationId(renewed.getRenewedId());
-            //获取寄回配件集合
-            List<ClosedFitting> fittingList = renewedService.listClosedFitting(closedFitting);
-            if (fittingList != null && fittingList.size() > 0) {
-                renewed.setClosedFittings(fittingList);
-            }
             ResponseJson rj = new ResponseJson(200, "查询成功", 200);
             rj.addResponseKeyValue("renewed", renewed);
             return rj;
@@ -636,7 +637,7 @@ public class AdminCustomerController {
         repair.setCustomerId(Integer.parseInt(customerId));
         repair.setRepairState(1);
         //获取维修详情和品质检测信息
-        repair = repairService.getRepairInfo(repair);
+        repair = customerService.getRepairInfo(repair);
         if (repair == null) {
             return new ResponseJson(500, "该客诉没有维修信息!", 500);
         } else {
@@ -808,5 +809,100 @@ public class AdminCustomerController {
             return new ResponseJson(500, "修改失败!", 500);
         }
     }
+
+    /**
+     * 获取无理由退货信息
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:update:noreason")
+    @RequestMapping("/_update_noreason")
+    public ResponseJson toUpdateNoreason(HttpServletRequest request) throws Exception {
+        String customerId = request.getParameter("customerId");
+        if (!StringUtils.isNotEmpty(customerId)) {
+            return new ResponseJson(500, "该客诉信息不存在!", 500);
+        }
+        NoreasonBack noreasonBack = new NoreasonBack();
+        noreasonBack.setCustomerId(Integer.parseInt(customerId));
+        noreasonBack.setNoreasonBackState(1);
+        //获取无理由退货信息
+        noreasonBack = customerService.getNoreasonBack(noreasonBack);
+        if (noreasonBack == null) {
+            return new ResponseJson(500, "该客诉没有无理由售后退货信息!", 500);
+        } else {
+            ResponseJson rj = new ResponseJson(200, "查询成功", 200);
+            rj.addResponseKeyValue("noreasonBack", noreasonBack);
+            return rj;
+        }
+    }
+
+    /**
+     * 修改售后无理由退货信息
+     *
+     * @param request
+     * @param noreasonBack
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:update:noreason")
+    @RequestMapping("/update_noreason")
+    public ResponseJson updateNoreason(HttpServletRequest request, NoreasonBack noreasonBack) throws Exception {
+        if (!StringUtils.isNotEmpty(noreasonBack.getNoreasonBackId().toString())) {
+            return new ResponseJson(500, "该售后无理由退货信息不能修改!", 500);
+        }
+        if (StringUtils.isNotEmpty(noreasonBack.getNoreasonBackBackPostage().toString())) {
+            noreasonBack.setNoreasonBackBackPostage(noreasonBack.getNoreasonBackBackPostage().intValue() * 100);
+        }
+        int num = noreasonBackService.updateNoreasonBack(noreasonBack);
+        if (num > 0) {
+            return new ResponseJson(200, "修改成功!", 200);
+        } else {
+            return new ResponseJson(500, "修改失败!", 500);
+        }
+    }
+
+    /**
+     * 同步百胜订单
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:sync:order")
+    @RequestMapping("/sync_efast_order")
+    public ResponseJson syncEfastOrder() throws Exception {
+        int pageNo = 1;
+        int pageSize = 20;
+        boolean flag = false;	//控制是否还需要获取百胜订单信息
+        String date = "";
+        synchronized (lock) {
+            //根据时间排序查询订单信息
+            List<SalesOrder> orderList = salesOrderService.listSalesOrder(new SalesOrder());
+            if (orderList != null && orderList.size() > 0) {
+                SalesOrder salesOrder = orderList.get(0);
+                date = salesOrder.getSalesCreateTime().toString();
+            } else {
+                date = "2016-04-01";
+            }
+            do {
+                //批量获取百胜订单信息
+                JSONObject obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize, date);
+                if (obj == null) {
+                    return new ResponseJson(200, "没有可同步订单!", 200);
+                }
+                int pageSize1 = obj.getInt("page_size");    //百胜返回数据条目数
+                if (pageSize <= pageSize1) {
+                    flag = true;
+                    pageNo++;
+                } else {
+                    flag = false;
+                }
+                salesOrderService.addSalesOrderList(obj);
+            } while (flag);    //百胜返回条目数如果等于设置的分页条目数,则继续查询下一页
+            return new ResponseJson(200, "同步成功!", 200);
+        }
+    }
 }
 

+ 15 - 13
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java

@@ -114,8 +114,8 @@ public class MQTask implements InitializingBean {
 				if (obj == null) {
 					return;
 				}
-				int pageSize1 = obj.getInt("page_size");    //百胜返回数据条目
-				if (pageSize <= pageSize1) {
+				int totalResults = obj.getInt("total_results");    //百胜返回总页
+				if (pageNo < totalResults) {
 					flag = true;
 					pageNo++;
 				} else {
@@ -131,15 +131,15 @@ public class MQTask implements InitializingBean {
 	 * @throws Exception
 	 */
 	//@Scheduled(cron = "0 0 */1 * * ?")//每小时执行一次
-	//@Scheduled(cron = "*/10 * * * * ?")
+	@Scheduled(cron = "*/10 * * * * ?")
 	public void syncEfastOrderStatus() throws Exception {
 		int pageNo = 1;
 		int pageSize = 20;
 		boolean flag = false;	//控制是否还需要获取百胜订单信息
 
-		int returnPageNo = 1;
+		/*int returnPageNo = 1;
 		int returnPageSize = 20;
-		boolean returnFlag = false;	//控制是否还需要获取百胜退单信息
+		boolean returnFlag = false;	//控制是否还需要获取百胜退单信息*/
 		synchronized (lock1) {
 			SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
 			Date beginDate = new Date();
@@ -165,7 +165,7 @@ public class MQTask implements InitializingBean {
 				order.setSalesCreateTime(format.parse("2016-04-01"));
 				relu.setrText("1");
 				//从头开始同步,只同步一次
-				sysService.updateRelu(relu);
+				//sysService.updateRelu(relu);
 			}
 			//根据创建时间获取订单信息
 			List<SalesOrder> orderlist = salesOrderService.listSalesOrder(order);
@@ -174,7 +174,7 @@ public class MQTask implements InitializingBean {
 			}
 			do {
 				//批量获取百胜订单信息
-				JSONObject obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize, format.format(date.getTime()));
+				JSONObject obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize, format.format(order.getSalesCreateTime()));
 				if (obj == null) {
 					return;
 				}
@@ -183,8 +183,8 @@ public class MQTask implements InitializingBean {
 					return;
 				}
 				salesOrderService.updateOrderList(orderList, orderlist);
-				int pageSize1 = obj.getInt("page_size");    //百胜返回数据条目
-				if (pageSize <= pageSize1) {
+				int totalResults = obj.getInt("total_results");    //百胜返回总页
+				if (pageNo < totalResults) {
 					flag = true;
 					pageNo++;
 				} else {
@@ -192,25 +192,27 @@ public class MQTask implements InitializingBean {
 				}
 			} while (flag);    //百胜返回条目数如果等于设置的分页条目数,则继续查询下一页
 
-			do {
+			//无法实现获取退单信息,只能查出已确认未收货的订单
+			/*do {
 				//批量获取百胜退单信息
 				JSONObject obj = efastOrderService.listReturnOrderFormEfast(returnPageNo, returnPageSize, format.format(date.getTime()));
 				if (obj == null) {
 					return;
 				}
 				JSONArray orderList = obj.getJSONArray("list");
+				System.out.println("orderList="+orderList);
 				if (orderList == null || orderList.size() == 0) {
 					return;
 				}
 				salesOrderService.updateReturnOrderList(orderList, orderlist);
-				int pageSize1 = obj.getInt("page_size");    //百胜返回数据条目
-				if (returnPageSize <= pageSize1) {
+				int totalResults = obj.getInt("total_results");    //百胜返回总页
+				if (returnPageNo < totalResults) {
 					returnFlag = true;
 					returnPageNo++;
 				} else {
 					returnFlag = false;
 				}
-			} while (returnFlag);    //百胜返回条目数如果等于设置的分页条目数,则继续查询下一页
+			} while (returnFlag);    //百胜返回条目数如果等于设置的分页条目数,则继续查询下一页*/
 		}
 	}
 }

+ 2 - 1
watero-rst-web/src/main/resources/platform.properties

@@ -63,4 +63,5 @@ appId=wxc71b789fad06a2d7
 # appSecret-test
 appSecret=8a90e3ab0e2db7772f5f64e7ed2f4b98
 # appSecret-wateroPF
-#appSecret=e3b11ca050578ac8b794b510b16b2020
+#appSecret=e3b11ca050578ac8b794b510b16b2020
+SUCCESSINFO=SUCCESS

+ 53 - 7
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_detail.ftl

@@ -37,6 +37,7 @@
         .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
         .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
         .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list .red{display: inline-block; padding: 2px; background: red;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
         .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
         .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
         .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
@@ -45,6 +46,7 @@
         .table-bg th{background-color: #e2f6ff;}
         .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
         .my-search-input{padding-left: 30px;background: url(${path}/common/images/cm/search.png) 6px center no-repeat;background-size: auto 60%; }
+        .txt-red{color:red}
     </style>
     <title>客诉基本信息</title>
 </head>
@@ -106,13 +108,13 @@
             <label class="form-label col-1 col-sm-1"></label>
             <div class="formControls col-10 col-sm-10">
                 <ul class="time-line-list">
-                    <li><span class="arrow"></span><div class="number">1</div><div>录入客诉</div></li>
-                    <li><span class="arrow"></span><div class="number">2</div><div>督促用户寄回</div></li>
-                    <li><span class="arrow"></span><div class="number">3</div><div>录入快递单号</div></li>
-                    <li><span class="arrow"></span><div class="number">4</div><div>仓库收货</div></li>
-                    <li><span class="arrow"></span><div class="number">5</div><div>换新发货</div></li>
-                    <li><span class="arrow"></span><div class="number">6</div><div>发货通知用户</div></li>
-                    <li><span class="arrow"></span><div class="number">7</div><div>收货后回访</div></li>
+                    <!--<li id="li-1"><span class="arrow"></span><div id="number-1" class="number">1</div><div id="txt-1">录入客诉</div></li>
+                    <li id="li-2"><span class="arrow"></span><div id="number-2" class="number">2</div><div id="txt-2">督促用户寄回</div></li>
+                    <li id="li-3"><span class="arrow"></span><div id="number-3" class="number">3</div><div id="txt-3">录入快递单号</div></li>
+                    <li id="li-4"><span class="arrow"></span><div id="number-4" class="number">4</div><div id="txt-4">仓库收货</div></li>
+                    <li id="li-5"><span class="arrow"></span><div id="number-5" class="number">5</div><div id="txt-5">换新发货</div></li>
+                    <li id="li-6"><span class="arrow"></span><div id="number-6" class="number">6</div><div id="txt-6">发货通知用户</div></li>
+                    <li id="li-7"><span class="arrow"></span><div id="number-7" class="number">7</div><div id="txt-7">收货后回访</div></li>-->
                 </ul>
             </div>
         </div>
@@ -228,6 +230,10 @@
                     var customer = data.returnMsg.customer;
                     var customerCommon = data.returnMsg.customerCommon;
                     var salesOrder = data.returnMsg.salesOrder;
+                    if (customer.customerIsSolve != 1 && customer.customerIsSolve != 2) {
+                        resultshow(customer.customerIsSolve, customerCommon.relationBackStatus,customerCommon.relationSendStatus);
+                    }
+
                     $('#adminName').html(customer.adminName);
                     var customerSource = '';
                     switch (customer.customerSourceType) {
@@ -333,6 +339,46 @@
         });
     }
 
+    /*处理结果的执行状态*/
+    var isSolve = {
+        solved : [],
+        noSolved : [],
+        renewed : ["录入客诉","督促用户寄回","录入快递单号","仓库收货","换新发货","发货通知用户","收货后回访"],
+        maintain : ["录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","产线维修","换新发货","发货通知用户","收货后回访"],
+        reissue : ["录入客诉","生成E订单","督促仓库发货","仓库发货","发货通知用户","收货后回访"],
+        backGoods : ["录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","退款","退货完成"],
+        noReasonBack : ["录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","退款","退货完成"]
+    }
+
+    /*
+     * 按条件展示步骤的对应颜色
+     * backStatus:寄回状态
+     * sendStatus:寄送状态
+     */
+    function resultshow(customerIsSolve, backStatus, sendStatus) {
+        var statusHtml = '<li id="div_li"><span class="arrow"></span><div id="div_number" class="number">status_index</div><div id="div_txt">status_html</div></li>';
+        var result = [];
+        var resultHtml = '';
+        switch (customerIsSolve) {
+            case 1:result = isSolve.solved;break;
+            case 2:result = isSolve.noSolved;break;
+            case 3:result = isSolve.renewed;break;
+            case 4:result = isSolve.maintain;break;
+            case 5:result = isSolve.reissue;break;
+            case 6:result = isSolve.backGoods;break;
+            case 7:result = isSolve.noReasonBack;break;
+        }
+        for(var i=0;i< result.length;i++){
+            var html = statusHtml.replace("status_index",i+1);
+            html = html.replace("div_li","li-"+(i+1));
+            html = html.replace("div_number","number-"+(i+1));
+            html = html.replace("div_txt","txt-"+(i+1));
+            html = html.replace("status_html",result[i]);
+            resultHtml += html;
+        }
+        $(".time-line-list").html(resultHtml);
+    }
+
 </script>
 </body>
 </html>

Datei-Diff unterdrückt, da er zu groß ist
+ 744 - 130
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl


+ 4 - 6
watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/signclosed_list.ftl

@@ -128,7 +128,6 @@
                         <#if signclosed.awaitingSignclosedProductInfoList??>
                             <#if (signclosed.awaitingSignclosedProductInfoList?size > 0)>
                                 <#list signclosed.awaitingSignclosedProductInfoList as info>
-                                    <#assign signclosedId=info.signclosedId>
                                     <#if info.signclosedProductType == 1 >
                                         <span>${info.productName!''}-${info.productNumber!''}(${info.colorName!''})x ${info.productNum!''}台</span><br>
                                     <#else >
@@ -136,7 +135,6 @@
                                     </#if>
                                 </#list>
                             <#else >
-                                <#assign signclosedId=0>
                                 暂无数据!
                             </#if>
                         <#else >
@@ -200,21 +198,21 @@
                     <td class="td-manage text-c">
                         <#if signclosed.signclosedState == 2>
                             <a style="text-decoration:none" href="javascript:;" title="签收"
-                               onclick="update_info('${path}/admin/signclosed/to_complete_signclosed?signclosedId=${signclosedId!''}');">
+                               onclick="update_info('${path}/admin/signclosed/to_complete_signclosed?signclosedId=${signclosed.signclosedId!''}');">
                                 <i class="Hui-iconfont">&#xe6df;</i>
                             </a>
                         </#if>
                         <a style="text-decoration:none" href="javascript:;" title="修改备注"
-                           onclick="add_remark('修改备注','${path}/admin/signclosed/to_update_remark?signclosedId=${signclosedId!''}','570','450');">
+                           onclick="add_remark('修改备注','${path}/admin/signclosed/to_update_remark?signclosedId=${signclosed.signclosedId!''}','570','450');">
                             <i class="Hui-iconfont">&#xe692;</i>
                         </a>
                         <a style="text-decoration:none" href="javascript:;" title="修改寄件人信息"
-                           onclick="add_remark('修改寄件人信息','${path}/admin/signclosed/to_update_sender?signclosedId=${signclosedId!''}','570','450');">
+                           onclick="add_remark('修改寄件人信息','${path}/admin/signclosed/to_update_sender?signclosedId=${signclosed.signclosedId!''}','570','450');">
                             <i class="Hui-iconfont">&#xe60c;</i>
                         </a>
                         <#if signclosed.signclosedIsInto == 2>
                             <a style="text-decoration:none" href="javascript:;" title="转入品检"
-                               onclick="into_complaint('${signclosedId!''}');">
+                               onclick="into_complaint('${signclosed.signclosedId!''}');">
                                 <i class="Hui-iconfont">&#xe644;</i>
                             </a>
                         </#if>