瀏覽代碼

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 7 年之前
父節點
當前提交
26bcb37b51
共有 21 個文件被更改,包括 368 次插入43 次删除
  1. 19 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ClosedProdcue.java
  2. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerCommon.java
  3. 9 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerInfo.java
  4. 11 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/QuestionDescribe.java
  5. 32 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendProdcue.java
  6. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/OrderItem.java
  7. 1 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/Product.java
  8. 1 1
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/product/ProductService.java
  9. 88 20
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java
  10. 5 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/EfastOrderServiceImpl.java
  11. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/ProductServiceImpl.java
  12. 7 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/ProductMapper.java
  13. 19 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productMapper.xml
  14. 40 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  15. 1 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminDetectController.java
  16. 2 2
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/ComplaintMaintenanceController.java
  17. 1 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/ComplaintQuestionInfoController.java
  18. 45 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/app/AppComplaintQuestionInfoController.java
  19. 66 12
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_customer.ftl
  20. 0 0
      watero-rst-web/src/main/webapp/WEB-INF/views/wap/cm/request_message.ftl
  21. 0 0
      watero-rst-web/src/main/webapp/WEB-INF/views/wap/cm/send_message.ftl

+ 19 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ClosedProdcue.java

@@ -18,6 +18,9 @@ public class ClosedProdcue  implements Serializable {
 
     private String closedProductName; //产品名称
 
+    private Integer productType;        //商品类型
+    private String productNumber;       //产品型号
+
     public String getClosedProductName() {
         return closedProductName;
     }
@@ -73,4 +76,20 @@ public class ClosedProdcue  implements Serializable {
     public void setClosedProdcueNumber(Integer closedProdcueNumber) {
         this.closedProdcueNumber = closedProdcueNumber;
     }
+
+    public Integer getProductType() {
+        return productType;
+    }
+
+    public void setProductType(Integer productType) {
+        this.productType = productType;
+    }
+
+    public String getProductNumber() {
+        return productNumber;
+    }
+
+    public void setProductNumber(String productNumber) {
+        this.productNumber = productNumber;
+    }
 }

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/CustomerCommon.java

@@ -79,6 +79,8 @@ public class CustomerCommon implements Serializable {
     private Integer maintenanceIsRepair;
     //品质检测状态
     private Integer detectState;
+    //外部交易号
+    private String transactionNumber;
 
     public Integer getDetectState() {
         return detectState;
@@ -352,6 +354,14 @@ public class CustomerCommon implements Serializable {
         this.relationUpdateTime = relationUpdateTime;
     }
 
+    public String getTransactionNumber() {
+        return transactionNumber;
+    }
+
+    public void setTransactionNumber(String transactionNumber) {
+        this.transactionNumber = transactionNumber;
+    }
+
     /**
      * @param type 处理结果: 1:已解决  2:未解决 3:换新  4:维修 5:补发 6:退货 7:无理由退货
      * @return

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

@@ -92,6 +92,7 @@ public class CustomerInfo  implements Serializable {
 
     private CustomerCommon customerCommon = new CustomerCommon(); //处理结果综合  公共类
 
+    private String transactionNumber;     //外部交易号,订单id
 
     public Date getVisitDate() {
         return visitDate;
@@ -460,4 +461,12 @@ public class CustomerInfo  implements Serializable {
     public void setDescribeContent(String describeContent) {
         this.describeContent = describeContent;
     }
+
+    public String getTransactionNumber() {
+        return transactionNumber;
+    }
+
+    public void setTransactionNumber(String transactionNumber) {
+        this.transactionNumber = transactionNumber;
+    }
 }

+ 11 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/QuestionDescribe.java

@@ -20,6 +20,9 @@ public class QuestionDescribe implements Serializable {
 
     private String describeTitle;   //客诉标题
 
+
+    private String questionId;     //问题id
+
     public String getDescribeTitle() {
         return describeTitle;
     }
@@ -59,4 +62,12 @@ public class QuestionDescribe implements Serializable {
     public void setDescribeHandleDesc(String describeHandleDesc) {
         this.describeHandleDesc = describeHandleDesc;
     }
+
+    public String getQuestionId() {
+        return questionId;
+    }
+
+    public void setQuestionId(String questionId) {
+        this.questionId = questionId;
+    }
 }

+ 32 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendProdcue.java

@@ -1,5 +1,7 @@
 package com.iamberry.rst.core.cm;
 
+import com.iamberry.rst.core.order.ProductColor;
+
 import java.io.Serializable;
 
 public class SendProdcue  implements Serializable {
@@ -13,12 +15,17 @@ public class SendProdcue  implements Serializable {
 
     private Integer colorId;
 
-    private Integer sendProdcueNumber;
+    private Integer sendProdcueNumber;      //产品数量
 
     private Integer sendProduceType;    //售后类型  3:换新;4:维修;5:补发;6:退货;7:无理由退货
 
     private String sendProduceName; //产品名称
 
+    private Integer productType;        //商品类型
+    private String productNumber;       //产品型号
+    private ProductColor productColor;      //颜色
+
+
     public String getSendProduceName() {
         return sendProduceName;
     }
@@ -74,4 +81,28 @@ public class SendProdcue  implements Serializable {
     public void setSendProdcueNumber(Integer sendProdcueNumber) {
         this.sendProdcueNumber = sendProdcueNumber;
     }
+
+    public Integer getProductType() {
+        return productType;
+    }
+
+    public void setProductType(Integer productType) {
+        this.productType = productType;
+    }
+
+    public String getProductNumber() {
+        return productNumber;
+    }
+
+    public void setProductNumber(String productNumber) {
+        this.productNumber = productNumber;
+    }
+
+    public ProductColor getProductColor() {
+        return productColor;
+    }
+
+    public void setProductColor(ProductColor productColor) {
+        this.productColor = productColor;
+    }
 }

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/OrderItem.java

@@ -42,6 +42,8 @@ public class OrderItem implements Serializable {
 
     private Integer itemProductDiscount;//产品折扣价
 
+    private Integer itemProductNum; //产品数量
+
     public Integer getItemId() {
         return itemId;
     }
@@ -137,4 +139,12 @@ public class OrderItem implements Serializable {
     public void setItemProductDiscount(Integer itemProductDiscount) {
         this.itemProductDiscount = itemProductDiscount;
     }
+
+    public Integer getItemProductNum() {
+        return itemProductNum;
+    }
+
+    public void setItemProductNum(Integer itemProductNum) {
+        this.itemProductNum = itemProductNum;
+    }
 }

+ 1 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/order/Product.java

@@ -37,7 +37,7 @@ public class Product implements Serializable {
 
     private String productNumber;        //产品型号
 
-    private String typeName;            //产品名称
+    private String typeName;            //产品类型名称
 
     private List<ProductColor> colorList = new ArrayList<ProductColor>();   //产品颜色集合
 

+ 1 - 1
watero-rst-interface/src/main/java/com/iamberry/rst/faces/product/ProductService.java

@@ -70,7 +70,7 @@ public interface ProductService {
      * 获取单个水机  奶机
      * @return
      */
-    Product getProduce(String productId);
+    Product getProduce(Integer productId);
 
     /**
      * 根据条件查询产品类型列表

+ 88 - 20
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java

@@ -8,6 +8,7 @@ import com.iamberry.rst.core.cm.*;
 import com.iamberry.rst.core.order.EfastOrder;
 import com.iamberry.rst.core.order.OrderItem;
 import com.iamberry.rst.core.order.Product;
+import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.faces.cm.CustomerService;
 import com.iamberry.rst.service.address.mapper.AddressMapper;
@@ -122,6 +123,10 @@ public class CustomerServiceImpl implements CustomerService {
             customerCommon.setRelationSendStatus(1); //寄送状态 1:未寄送
             customerCommon.setRelationState(1); //状态  默认使用中
             customerCommon.setOrderId(salesOrder.getSalesId()); //订单id
+            customerCommon.setTransactionNumber(customerInfo.getTransactionNumber());   //外部交易号
+
+            /*  初始化产品类型,名称,配件名称 */
+            this.setName(customerCommon);
 
             ComplaintDetectInfo complaintDetectInfo = new ComplaintDetectInfo();  //品质检测
             ComplaintSignclosedInfo complaintSignclosedInfo = new ComplaintSignclosedInfo(); //客诉-签收表
@@ -230,6 +235,40 @@ public class CustomerServiceImpl implements CustomerService {
         return flag;
     }
 
+
+    /**
+     * 初始化
+     * @param cc
+     */
+    private void setName(CustomerCommon cc){
+        for (int i=0;i<cc.getSendProdcues().size();i++) {
+            Product product = productMapper.getProduce(cc.getSendProdcues().get(i).getProductId());
+            cc.getSendProdcues().get(i).setSendProduceName(product.getProductName());
+            cc.getSendProdcues().get(i).setProductType(product.getProductType());
+            cc.getSendProdcues().get(i).setProductNumber(product.getProductNumber());
+
+            ProductColor productColor = productMapper.getProduceColor(cc.getSendProdcues().get(i).getColorId());
+            cc.getSendProdcues().get(i).setProductColor(productColor);
+        }
+        for (int i=0;i<cc.getSendFittings().size();i++) {
+            FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById( cc.getSendFittings().get(i).getFittingsId());
+            cc.getSendFittings().get(i).setFittingsId(fittingsInfo.getFittingsId());
+        }
+        for (int i=0;i<cc.getClosedProdcues().size();i++) {
+            Product product = productMapper.getProductById(cc.getSendProdcues().get(i).getProductId());
+            cc.getClosedProdcues().get(i).setClosedProductName(product.getProductName());
+            cc.getClosedProdcues().get(i).setProductType(product.getProductType());
+            cc.getClosedProdcues().get(i).setProductNumber(product.getProductNumber());
+
+            ProductColor productColor = productMapper.getProduceColor(cc.getSendProdcues().get(i).getColorId());
+            cc.getSendProdcues().get(i).setProductColor(productColor);
+        }
+        for (int i=0;i<cc.getClosedFittings().size();i++) {
+            FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(cc.getClosedFittings().get(i).getFittingsId());
+            cc.getClosedFittings().get(i).setFittingsId(fittingsInfo.getFittingsId());
+        }
+    }
+
     /**
      * 添加品检
      * @param complaintDetectInfo
@@ -247,9 +286,8 @@ public class CustomerServiceImpl implements CustomerService {
             ClosedProdcue closedProdcue = customerCommon.getClosedProdcues().get(i);
             for(int j=0; j<closedProdcue.getClosedProdcueNumber();j++){
                 complaintDetectInfo.setProductId(closedProdcue.getProductId());
-                Product product = productMapper.getProductById(closedProdcue.getProductId());
-                complaintDetectInfo.setDetectProductType(product.getProductType());
-                complaintDetectInfo.setDetectProductNumber(product.getProductNumber());
+                complaintDetectInfo.setDetectProductType(closedProdcue.getProductType());
+                complaintDetectInfo.setDetectProductNumber(closedProdcue.getProductNumber());
             }
             complaintDetectInfoList.add(complaintDetectInfo);
         }
@@ -290,10 +328,7 @@ public class CustomerServiceImpl implements CustomerService {
             awaitingSignclosedProductInfo.setProductNum(closedProdcue.getClosedProdcueNumber());
             awaitingSignclosedProductInfo.setSignclosedProductId(closedProdcue.getProductId());         //产品id
             awaitingSignclosedProductInfo.setSignclosedProductColor(closedProdcue.getColorId());        //颜色id
-
-            Product product = productMapper.getProductById(closedProdcue.getProductId());
-            awaitingSignclosedProductInfo.setProductName(product.getProductName());
-
+            awaitingSignclosedProductInfo.setProductName(closedProdcue.getClosedProductName());         //产品名称
             awaitingSignclosedProductInfoArrayList.add(awaitingSignclosedProductInfo);
         }
 
@@ -303,10 +338,7 @@ public class CustomerServiceImpl implements CustomerService {
             awaitingSignclosedProductInfo.setProductNum(closedFitting.getClosedFittingNumber());
             awaitingSignclosedProductInfo.setSignclosedProductId(closedFitting.getFittingsId());         //配件id
             awaitingSignclosedProductInfo.setSignclosedProductColor(null);
-
-            FittingsInfo fittingsInfo = fittingsInfoMapper.getFittingsById(closedFitting.getFittingsId());
-            awaitingSignclosedProductInfo.setProductName(fittingsInfo.getFittingsName());
-
+            awaitingSignclosedProductInfo.setProductName(closedFitting.getFittingName());       //配件名称
             awaitingSignclosedProductInfoArrayList.add(awaitingSignclosedProductInfo);
         }
 
@@ -326,6 +358,20 @@ public class CustomerServiceImpl implements CustomerService {
         List<EfastOrder> orderList = new ArrayList<EfastOrder>();
         List<OrderItem> itemList = new ArrayList<OrderItem>();
 
+        Integer num = 0;  //产品数量
+        Integer amout = 0; //商品总价
+        for(int i=0;i<customerCommon.getSendProdcues().size();i++){
+            SendProdcue sendProdcue = customerCommon.getSendProdcues().get(i);
+            OrderItem orderItem = new OrderItem();
+            orderItem.setItemProductName(sendProdcue.getSendProduceName());
+            orderItem.setItemProductNum(sendProdcue.getSendProdcueNumber());
+            orderItem.setItemProductPrice(sendProdcue.getProductColor().getColorPrice());
+            orderItem.setItemColorBar(sendProdcue.getProductColor().getColorBar());
+            itemList.add(orderItem);
+            num += sendProdcue.getSendProdcueNumber();
+            amout += sendProdcue.getProductColor().getColorPrice();
+        }
+
         EfastOrder efastOrder = new EfastOrder();
         efastOrder.setOrderAddressName(customerCommon.getRelationSendName());//收货人姓名
         efastOrder.setOrderAddressTel(customerCommon.getRelationSendTel());//收货人电话
@@ -336,15 +382,37 @@ public class CustomerServiceImpl implements CustomerService {
         efastOrder.setOrderCity(address[1]);
         efastOrder.setOrderArea(address[2]);
         efastOrder.setOrderAddress(customerCommon.getRelationSendAddress());
-//        efastOrder.set
-
-//        try {
-//            efastOrderService.sendOrderInfoToEfast(orderList,itemList);
-//        } catch (Exception e) {
-//            flag = 0;
-//        }
-        map.put("status",1);
-        map.put("EfastOrderId","xxxxxxxxxxxxxxxxx");
+        efastOrder.setOrderStatus(2);
+
+        efastOrder.setOrderNum(num); //产品数量
+        efastOrder.setOrderAmount(amout);   //商品总价
+        efastOrder.setOrderPayMoney(amout); //已付款
+
+        efastOrder.setOrderId(customerCommon.getTransactionNumber());   //外部交易号
+
+        efastOrder.setOrderPayType(0);  //支付方式
+
+        orderList.add(efastOrder);
+
+        Integer status = 1;
+        try {
+            efastOrderService.sendOrderInfoToEfast(orderList,itemList);
+        } catch (Exception e) {
+            status = 0;
+        }
+        if(status == 0){
+            map.put("status",status);
+            map.put("EfastOrderId","");
+            return map;
+        }
+        EfastOrder efOrder = new EfastOrder();
+        try {
+            efOrder = efastOrderService.getOrderInfoFromEfast(customerCommon.getTransactionNumber());
+        } catch (Exception e) {
+            status = 0;
+        }
+        map.put("status",status);
+        map.put("EfastOrderId",efOrder.getOid());
         return map;
     }
 

+ 5 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/order/EfastOrderServiceImpl.java

@@ -256,7 +256,11 @@ public class EfastOrderServiceImpl implements EfastOrderService {
             for(OrderItem orderItem : itemList){
                 orders1 = new HashMap<String, Object>();
                 orders1.put("goods_name", orderItem.getItemProductName());	        // 产品名称
-                orders1.put("goods_number",1);	    		    	// 产品数量
+                if(orderItem.getItemProductNum() == null || orderItem.getItemProductNum() == 0){
+                    orders1.put("goods_number",1);	    		    	// 产品数量
+                }else{
+                    orders1.put("goods_number",orderItem.getItemProductNum());	 // 产品数量
+                }
                 orders1.put("goods_price", orderItem.getItemProductPrice() / 100);	// 产品原价
                 orders1.put("outer_sku", orderItem.getItemColorBar());		        // 产品SKU
                 orders1.put("payment_ft", orderItem.getItemProductPrice() / 100);   // 产品分摊价

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/product/ProductServiceImpl.java

@@ -119,7 +119,7 @@ public class ProductServiceImpl implements ProductService {
     }
 
     @Override
-    public Product getProduce(String productId) {
+    public Product getProduce(Integer productId) {
         return productMapper.getProduce(productId);
     }
 

+ 7 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/ProductMapper.java

@@ -51,7 +51,13 @@ public interface ProductMapper {
      * 获取单个水机  奶机
      * @return
      */
-    Product getProduce(String productId);
+    Product getProduce(Integer productId);
+
+    /**
+     * 获取单个颜色
+     * @return
+     */
+    ProductColor getProduceColor(Integer colorId);
 
     /**
      * 根据条件查询产品类型列表

+ 19 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productMapper.xml

@@ -112,7 +112,25 @@
     <select id="getProduce"  resultType="product">
         select * from tb_rst_product_info where product_id = #{productId}
     </select>
-    
+
+    <select id="getProduceColor"  resultType="product">
+        SELECT
+            color_id,
+            color_product_id,
+            color_name,
+            color_discount,
+            color_price,
+            color_bar,
+            color_picture,
+            color_status,
+            color_cretae_time,
+            color_update_time
+        FROM
+            tb_rst_product_color
+        WHERE color_id = #{colorId}
+    </select>
+
+
     <select id="listProductAndColorAndfittings" parameterType="Product" resultMap="productColorFittingsMap">
         select * from
         tb_rst_product_info

+ 40 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -11,6 +11,7 @@ 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.OrderNoUtil;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONArray;
@@ -66,6 +67,8 @@ public class AdminCustomerController {
     private EfastOrderService efastOrderService;
     @Autowired
     private NoreasonBackService noreasonBackService;
+    @Autowired
+    private ComplaintQuestionInfoService complaintQuestionInfoService;
 
     private Object lock = new Object();
 
@@ -460,7 +463,12 @@ public class AdminCustomerController {
         customerCommon.setClosedFittings(closedFittingList);
 
         customerInfo.setCustomerCommon(customerCommon);
-
+        String orderId = "";
+        if(customerInfo.getCustomerIsSolve() == 3  || customerInfo.getCustomerIsSolve() == 4 || customerInfo.getCustomerIsSolve() == 5 ){
+            Integer adminId = AdminUtils.getLoginAdminId();
+            orderId = OrderNoUtil.createOrderCode(adminId);
+        }
+        customerInfo.setTransactionNumber(orderId);
         flag = customerService.saveCustomerInfo(customerInfo, salesOrder);
 
         if (flag < 1) {
@@ -484,6 +492,37 @@ public class AdminCustomerController {
         return flag;
     }
 
+    /**
+     * 添加客诉
+     *
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:add:customer")
+    @RequestMapping("/send_phone_sms")
+    public ResponseJson sendPhoneSms(HttpServletRequest request,String type,String phone,ComplaintQuestionInfo complaintQuestionInfo) throws Exception {
+        String url = "https://rst.iamberry.com/QA";
+        Integer flag = 1;
+        if(type != null && !"".equals(type)){
+            if( "p".equals(type)){
+
+                flag =  complaintQuestionInfoService.updateQuestionById(complaintQuestionInfo);
+
+                url += "/problem?questionId="+complaintQuestionInfo.getQuestionId();
+            }else if( "m".equals(type)){
+                url += "/adress";
+
+            }
+        }
+
+        if (flag < 1) {
+            return new ResponseJson(500, "发送短信失败!", 500);
+        } else {
+            return new ResponseJson(200, "发送短信成功!", 200);
+        }
+    }
+
 
     /**
      * 添加回访完成内容

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminDetectController.java

@@ -161,7 +161,7 @@ public class AdminDetectController {
             detectInfo.setMachineNo(request.getParameter("maintenanceEquipmentNumber"+detectInfo.getProductId()));
 
         }
-        Product product = productService.getProduce(String.valueOf(detectInfo.getProductId()));
+        Product product = productService.getProduce(detectInfo.getProductId());
         detectInfo.setDetectProductNumber(product.getProductNumber());
         String detectDate = request.getParameter("detect_date");
         if(detectDate == null){

+ 2 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/ComplaintMaintenanceController.java

@@ -101,7 +101,7 @@ public class ComplaintMaintenanceController {
             maintenanceInfo.setMaintenanceEquipmentNumber(request.getParameter("maintenanceEquipmentNumber"+maintenanceInfo.getProductId()));
 
         }
-        Product product = productService.getProduce(String.valueOf(maintenanceInfo.getProductId()));
+        Product product = productService.getProduce(maintenanceInfo.getProductId());
         maintenanceInfo.setMaintenanceProductNumber(product.getProductNumber());
         Integer num = complaintMaintenanceInfoService.updateMaintenanceById(maintenanceInfo);
         if (num < 1) {
@@ -176,7 +176,7 @@ public class ComplaintMaintenanceController {
             maintenanceInfo.setMaintenanceEquipmentNumber(request.getParameter("maintenanceEquipmentNumber"+maintenanceInfo.getProductId()));
 
         }
-        Product product = productService.getProduce(String.valueOf(maintenanceInfo.getProductId()));
+        Product product = productService.getProduce(maintenanceInfo.getProductId());
         maintenanceInfo.setMaintenanceProductNumber(product.getProductNumber());
         Integer num = complaintMaintenanceInfoService.insert(maintenanceInfo);
         if (num < 1) {

+ 1 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/ComplaintQuestionInfoController.java

@@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;

+ 45 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/app/AppComplaintQuestionInfoController.java

@@ -0,0 +1,45 @@
+package com.iamberry.rst.controllers.cm.app;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * Created by wxm
+ * 问题
+ */
+@Controller
+@RequestMapping("/QA")
+public class AppComplaintQuestionInfoController {
+
+
+    /**
+     * 进入客诉问题描述
+     *
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("/problem")
+    public ModelAndView problem(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("wap/cm/request_message");
+        String questionId = request.getParameter("questionId");
+        mv.addObject("questionId", questionId);
+        return mv;
+    }
+
+    /**
+     * 进入客诉问题描述
+     *
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequestMapping("/adress")
+    public ModelAndView adress(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("wap/cm/send_message");
+        return mv;
+    }
+}

+ 66 - 12
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_customer.ftl

@@ -50,6 +50,10 @@
         .color-div{height: 30px;}
 
         .table-td-color{}
+        .msg-phone{
+            height: 35px;
+            line-height: 35px;
+        }
     </style>
     <title>添加客诉 - 客诉管理 - RST</title>
 </head>
@@ -182,10 +186,13 @@
             <div class="row cl">
                 <label class="form-label col-1 col-sm-1"></label>
                 <div class="formControls col-2 col-sm-2">
-                    <input type="text" class="input-text" value="" placeholder="请输入手机号" id="" name="">
+                    <input type="text" class="input-text" value="" placeholder="请输入手机号" id="p-phone" name="">
                 </div>
-                <div class="formControls col-2 col-sm-2">
-                    <input type="button" class="btn btn-primary" value="发短信給用户">
+                <div class="formControls col-2 col-sm-2" style="width: 10%">
+                    <input type="button" class="btn btn-primary" value="发短信給用户" onclick="sendPhone('p',$('#p-msg'));">
+                </div>
+                <div class="formControls col-2 col-sm-2 msg-phone">
+                    <div id="p-msg" style="color: #e00"></div>
                 </div>
             </div>
             <div class="row cl">
@@ -410,10 +417,13 @@
             <div class="row cl" id="sendAddressByPhone" style="display: none;">
                 <label class="form-label col-1 col-sm-1"></label>
                 <div class="formControls col-2 col-sm-2">
-                    <input type="text" class="input-text" value="" placeholder="请输入手机号" id="" name="">
+                    <input type="text" class="input-text" value="" placeholder="请输入手机号" id="m-phone" name="">
                 </div>
-                <div class="formControls col-2 col-sm-2">
-                    <input type="button" class="btn btn-primary" value="发短信給用户">
+                <div class="formControls col-2 col-sm-2" style="width: 10%">
+                    <input type="button" class="btn btn-primary" value="发短信給用户" onclick="sendPhone('m',);">
+                </div>
+                <div class="formControls col-2 col-sm-2 msg-phone">
+                    <div id="m-msg" style="color: #e00"></div>
                 </div>
             </div>
             <div class="row cl" id="updateProduct" style="display: none;">
@@ -532,7 +542,6 @@
 <script type="text/javascript" charset="utf-8" src="${path}/common/lib/ueditor/1.4.3/ueditor.parse.js"></script>
 <script type="text/javascript" charset="utf-8" src="${path}/common/lib/ueditor/1.4.3/lang/zh-cn/zh-cn.js"></script>
 
-
 <script type="text/javascript">
     $(function(){
 
@@ -602,6 +611,8 @@
 
     /*初始化页面参数*/
     $(function () {
+
+
         /* 初始化单选框样式 */
         initCheck();
 
@@ -1045,12 +1056,56 @@
 
     /**
      * 发送短信
-     * @param phone  手机号码
-     * @param desc   发送内容
+     * @param type 类型: "problem" 问题处理;  mailAddress:邮寄地址;
      * @param node   返回结果显示节点
      */
-    function sendPhone(phone,desc,node){
+    function sendPhone(type,node){
+        var index = layer.load(1, {
+            shade: [0.5,'#fff'] //0.1透明度的白色背景
+        });
+        var desc = "";
+        var phone = "";
+        var questionId = "";
+        var describeTitle = "";
+        if(type == "p"){
+            phone = $("#p-phone").val();
+            questionId = $("#questionId").val();
+            describeTitle = $("#describeTitle").val();
+            desc = UE.getEditor('describeContentText').getContent();
+        }else if(type == "m"){
+            phone = $("#m-phone").val();
+        }else{
+            layer.close(index);
+            layer.msg("发送报错", {icon: 5, time: 3000});
+            return false;
+        }
+        $.ajax({
+            type: "POST",
+            data: {
+                type : type,
+                phone : phone,
+                questionId : questionId,
+                questionName : describeTitle,
+                questionProfile : desc       //回复内容
+            },
+            url: "${path}/admin/customer/send_phone_sms",
+            async: true,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    if(type == "p"){
+                        $("#p-msg").html(data.resultMsg);
+                    }else  if(type == "m"){
+                        $("#m-msg").html(data.resultMsg);
+                    }
+                }else{
 
+                }
+                layer.close(index);
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                layer.close(index);
+            }
+        });
     }
 
     /***
@@ -1378,7 +1433,7 @@
 
         $("#addProduct").html(html);
 
-        initCheck(); //因为需要展示产品,所以再次初始化多选框
+//        initCheck(); //因为需要展示产品,所以再次初始化多选框
 
         setBackProduct(html);  //设置寄回产品
 
@@ -1469,7 +1524,6 @@
                 addCustomerReady();
             },
             callback: function (data) {//异步回调函数
-                return ;
                 if (data) {
                     var index = layer.alert(data.resultMsg, function () {
                         if (data.resultCode == 200) {

watero-rst-web/src/main/webapp/WEB-INF/views/wap/cm/request_message.html → watero-rst-web/src/main/webapp/WEB-INF/views/wap/cm/request_message.ftl


watero-rst-web/src/main/webapp/WEB-INF/views/wap/cm/send_message.html → watero-rst-web/src/main/webapp/WEB-INF/views/wap/cm/send_message.ftl