Browse Source

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

# Conflicts:
#	watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SalesOrder.java
liujiankang 5 years ago
parent
commit
f215b21fd6

+ 4 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java

@@ -458,4 +458,8 @@ public interface SalesOrderMapper {
      *作废数量,根据下单时间查询
      */
     List<OrderStatisticsInfo> listSendInvalidNum(OrderStatisticsInfo orderStatisticsInfo);
+    /**
+     *作废数量,根据下单时间查询
+     */
+    List<SalesOrder> listSalesOrderbyCustomerId(Integer customerId);
 }

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

@@ -1344,7 +1344,9 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
         sendback_tel,
         sendback_status,
         sendback_sign_time,
-        sendback_create_time
+        sendback_create_time,
+        sendback_notice_customer,
+        sendback_presale_admin_id
       )
        VALUES
       ( #{relationId},
@@ -1354,7 +1356,9 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
         #{sendbackTel},
         #{sendbackStatus},
         #{sendbackSignTime},
-        NOW()
+        NOW(),
+        #{sendbackNoticeCustomer},
+        #{sendbackPresaleAdminId}
       )
   </insert>
 
@@ -1401,7 +1405,9 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
       sendback_sign_time,
       sendback_create_time,
       sendback_update_time,
-      tb_rst_logistics_info.logistics_name
+      tb_rst_logistics_info.logistics_name,
+      sendback_notice_customer,
+      sendback_presale_admin_id
      from tb_rst_cm_sendback_info
      LEFT JOIN tb_rst_logistics_info on tb_rst_cm_sendback_info.sendback_logistics_company = tb_rst_logistics_info.logistics_rst_code
      WHERE sendback_id = #{sendbackId}
@@ -1475,7 +1481,13 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
         sendback_status = #{sendbackStatus},
       </if>
       <if test="sendbackSignTime != null">
-        sendback_sign_time = #{sendbackSignTime}
+        sendback_sign_time = #{sendbackSignTime},
+      </if>
+      <if test="sendbackNoticeCustomer != null">
+          sendback_notice_customer = #{sendbackNoticeCustomer},
+      </if>
+      <if test="sendbackPresaleAdminId != null">
+          sendback_presale_admin_id = #{sendbackPresaleAdminId}
       </if>
     </set>
     WHERE sendback_id = #{sendbackId}

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

@@ -2111,4 +2111,10 @@
         </where>
         GROUP BY DATE_FORMAT( sales_send_time, "%Y-%m-%d" )
     </select>
+    <!--根据客诉id查询订单-->
+    <select id="listSalesOrderbyCustomerId" parameterType="SalesOrder" resultType="SalesOrder">
+        SELECT * from tb_rst_sales_order_info soi
+        LEFT JOIN tb_rst_cm_relation_order cro on soi.sales_id = cro.sales_id
+        WHERE cro.relation_customer_id = #{customerId}
+    </select>
 </mapper>

+ 24 - 25
watero-rst-service/src/main/java/com/iamberry/rst/service/fm/ComplaintSignclosedInfoServiceImpl.java

@@ -10,15 +10,18 @@ import com.iamberry.rst.core.order.Product;
 import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.faces.cm.InventoryService;
 import com.iamberry.rst.faces.fm.ComplaintSignclosedInfoService;
 import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.service.cm.mapper.*;
 import com.iamberry.rst.service.fm.mapper.*;
 import com.iamberry.rst.service.product.mapper.ProductMapper;
+import com.iamberry.rst.service.sys.mapper.SysMapper;
 import com.iamberry.rst.util.PageUtil;
 import com.iamberry.rst.util.ProduceNoUtil;
 import com.iamberry.rst.util.SmsConfig;
+import com.iamberry.wechat.tools.NameUtils;
 import net.sf.json.JSONArray;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -55,6 +58,12 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
     @Autowired
     private InventoryService inventoryService;
 
+    @Autowired
+    private SysMapper sysMapper;
+
+    @Autowired
+    private SalesOrderMapper salesOrderMapper;
+
     @Override
     @Transactional
     public Integer insert(ComplaintSignclosedInfo record,
@@ -586,6 +595,8 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
             complaintSignclosedProductInfoMapper.delSignclosedProduct(record.getSignclosedId());
             //删除签收图片
             complaintSignclosedInfoMapper.delSignclosedImg(record.getSignclosedId());
+            //拼接产品名称
+            StringBuffer puoductbuffer = new StringBuffer("");
             if(orderItemString != null){
                 JSONArray jsonArray = JSONArray.fromObject(orderItemString);
                 List<SalesOrderItem> salesOrderItemList = (List) JSONArray.toCollection(jsonArray, SalesOrderItem.class);
@@ -612,31 +623,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                         }catch (Exception e){
                             throw new RuntimeException("------------生成签收产品出错------------");
                         }
-                        /*for (int j = 0;j<salesOrderItem.getItemNum();j++){
-
-                            //判断是否需要生成维修记录
-                            if(product.getProductIsDetection() == 1){
-                                //添加待检测信息
-                                //查询签收信息
-
-                                ComplaintSignclosedInfo signclosedInfo = complaintSignclosedInfoMapper.getSignclosedById(record.getSignclosedId());
-                                ComplaintDetectInfo detectInfo = new ComplaintDetectInfo();
-                                detectInfo.setProductId(productColor.getColorProductId());
-                                detectInfo.setProductColorId(salesOrderItem.getItemColorId());
-                                detectInfo.setDetectProductNumber(product.getProductNumber());
-                                detectInfo.setDetectState(1);
-                                detectInfo.setCustomerId(signclosedInfo.getSignclosedCustomerId());
-                                detectInfo.setIsMaintenance(0);
-                                detectInfo.setDetectRenovation(0);
-                                detectInfo.setDetectProcessingResults(0);
-                                try {
-                                    complaintDetectInfoMapper.insert(detectInfo);
-                                }catch (Exception e){
-                                    throw new RuntimeException("------------生成检测信息出错------------");
-                                }
-                            }
-                            j++;
-                        }*/
+                        puoductbuffer.append(productColor.getProductName() + "("+productColor.getColorName()+")*1");
                     }
                 }
             }
@@ -662,6 +649,18 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
             sendbackInfo.setSendbackSignTime(signclosedInfo.getSignclosedDate());
             customerInfoMapper.updateSendbackInfo(sendbackInfo);
 
+            SendbackInfo sendback =  customerInfoMapper.getSendbackInfo(signclosedInfo.getSendbackId());
+            if(sendback.getSendbackNoticeCustomer()!= null && sendback.getSendbackNoticeCustomer() == 1){
+                Admin admin = new Admin();
+                admin.setAdminId(sendback.getSendbackPresaleAdminId());
+                admin = sysMapper.getAdminInfo(admin);
+                String con = SmsConfig.SIGNCLOSED_NOTICE_CUSTOMERN;
+                List<SalesOrder> listSalesOrder = salesOrderMapper.listSalesOrderbyCustomerId(signclosedInfo.getSignclosedCustomerId());
+                String text = MessageFormat.format(con, listSalesOrder.get(0).getSalesOrderId(),signclosedInfo.getSignclosedSendTel(),puoductbuffer);
+                String result = smsService.sendOtherCMS(admin.getAdminTel(), text);
+                System.out.println(result);
+            }
+
             Integer flag = 0;
             // 代签收 - >  已签收  需要入库到售后仓库
             List<SignclosedProductInfo> signclosedProductInfoList = complaintSignclosedProductInfoMapper.listSignclosedById(record.getSignclosedId());

+ 4 - 0
watero-rst-service/src/main/java/com/iamberry/rst/util/SmsConfig.java

@@ -83,6 +83,9 @@ public class SmsConfig {
     /* 维修即将超时通知短信 */
     public static String DETECTION_TIMEOUT_NOTIFICATION="";
 
+    /* 签收通知售前客服短信 */
+    public static String SIGNCLOSED_NOTICE_CUSTOMERN="";
+
 
     static {
         Properties pro = new Properties();
@@ -135,6 +138,7 @@ public class SmsConfig {
             CUSTOMER_CONTACT=pro.getProperty("CUSTOMER_CONTACT");
             DETECTION_TIMEOUT_NOTIFICATION=pro.getProperty("DETECTION_TIMEOUT_NOTIFICATION");
             NOTIFY_SALESMAN=pro.getProperty("NOTIFY_SALESMAN");
+            SIGNCLOSED_NOTICE_CUSTOMERN=pro.getProperty("SIGNCLOSED_NOTICE_CUSTOMERN");
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 6 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -1344,6 +1344,11 @@ public class AdminCustomerController {
         ClosedProdcue record = new ClosedProdcue();
         record.setRelationId(cmRelation.getRelationId());
         List <ClosedProdcue> listClosedProdcue = customerService.listclosedProdcue(record);
+
+        //查询售前客服
+        Admin admin = new Admin();
+        admin.setAdminDept(22);//售前部id
+        List<Admin> adminlist = sysService.listSelectAdmin(admin);
         mv.addObject("listInformationInfo",listInformationInfo);
         mv.addObject("listClosedProdcue",listClosedProdcue);
         mv.addObject("listSendbackInfo",listSendbackInfo);
@@ -1353,6 +1358,7 @@ public class AdminCustomerController {
         mv.addObject("customerId", customerId);
         mv.addObject("detectList", detectList);
         mv.addObject("signclosedList", signclosedList);
+        mv.addObject("adminlist", adminlist);
         return mv;
     }
 

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

@@ -69,6 +69,7 @@ CUSTOMER_RETURN=\u3010\u7231\u8d1d\u6e90RST\u3011{0}\u8bf7\u5f00\u59cb{1}\uff0c\
 CUSTOMER_CONTACT=\u3010\u7231\u8d1d\u6e90RST\u3011{0}\u5ba2\u670d\u5df2\u7ecf\u786e\u8ba4\uff0c\u7ef4\u4fee\u7f16\u53f7\u4e3a{1}\uff0c\u8bf7\u6253\u5370\u6b64\u673a\u5668\u7ef4\u4fee\u5361\u5e76\u5f00\u59cb\u68c0\u6d4b\uff1b
 DETECTION_TIMEOUT_NOTIFICATION=\u3010\u7231\u8d1d\u6e90RST\u3011{0}\u5373\u5c06{1}\uff0c\u622a\u6b62\u65e5\u671f\uff1a{2}\uff0c\u5982\u5df2\u68c0\u6d4b\u5b8c\u6210\u8bf7\u5c3d\u5feb\u5f55\u5165\u5230\u7cfb\u7edf
 NOTIFY_SALESMAN=\u3010\u7231\u8d1d\u6e90RST\u3011\u60a8\u5ba2\u6237{0}\u7684\u673a\u5668\u5df2\u7ecf\u68c0\u6d4b\u5b8c\u6210\uff0c\u9700\u8981\u60a8\u786e\u8ba4\u5982\u4f55\u5904\u7406\u3002\u70b9\u51fb\u67e5\u770b\u68c0\u6d4b\u7ed3\u679c&\u786e\u8ba4\u5904\u7406\u65b9\u5f0f {1}
+SIGNCLOSED_NOTICE_CUSTOMERN=\u3010\u7231\u8d1d\u6e90RST\u3011\u8ba2\u5355\uff1a{0}\u4ea7\u751f\u7684\u5bc4\u56de\u5305\u88f9\u5df2\u7b7e\u6536\uff0c\u5feb\u9012\u7535\u8bdd\uff1a{1}\uff0c\u7b7e\u6536\u4ea7\u54c1\uff1a{2}\uff0c\u8bf7\u5904\u7406\u9500\u552e\u5e73\u53f0\u7684\u552e\u540e\uff1b
 #---SMS end---#
 
 # token

+ 78 - 18
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_relation.ftl

@@ -135,7 +135,7 @@
                         <label for="tel-b1">未寄回</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="tel-b2" name="sendbackStatus" value="2">
+                        <input type="radio" id="tel-b2" name="sendbackStatus" checked value="2">
                         <label for="tel-b2">已寄回</label>
                     </div>
                     <#--<div class="radio-box">
@@ -185,41 +185,35 @@
                 <div class="row cl">
                     <div class="formControls col-12 col-sm-12">
                         <div class="formControls col-2 col-sm-2 text-r">
-                            <strong>是否通知售前客服</strong>
+                            <strong>通知售前客服</strong>
                         </div>
                         <div class="radio-box">
-                            <input type="radio" id="tel-Notice1" name="sendbackNoticeCustomer" value="1">
-                            <label for="tel-Notice1">是</label>
+                            <input type="radio" id="tel-Notice1" name="sendbackNoticeCustomer" onclick="noticeCustomer();" checked value="1">
+                            <label for="tel-Notice1">是&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
                         </div>
                         <div class="radio-box">
-                            <input type="radio" id="tel-Notice2" name="sendbackNoticeCustomer" value="2">
+                            <input type="radio" id="tel-Notice2" name="sendbackNoticeCustomer" onclick="noticeCustomer();" value="2">
                             <label for="tel-Notice2">否</label>
                         </div>
                     </div>
                 </div>
-                <div class="row cl" id="backLogisticsInfo">
+                <div class="row cl" id="sendbackPresaleAdminDiv" <#--style="display: none;"-->>
                     <div class="formControls col-2 col-sm-2 text-r">
                         <strong>售前客服</strong>
                     </div>
                     <div class="formControls col-4 col-sm-4">
                         <div style="width: 100%;display: inline-block;margin-right: 10px;">
                         <span class="select-box">
-                                <select name="sendbackLogisticsCompany" id="sendbackLogisticsCompany" class="select" seleType="send">
-                                    <#if logisticsInfoList?? &&  (logisticsInfoList?size > 0) >
-                                        <#list logisticsInfoList as logisticsInfo>
-                                            <option value="${logisticsInfo.logisticsRstCode!''}" >${logisticsInfo.logisticsName!''}(${logisticsInfo.logisticsRstCode!''})</option>
+                                <select name="sendbackPresaleAdminId" id="sendbackPresaleAdminId" class="select" seleType="send">
+                                    <#if adminlist?? &&  (adminlist?size > 0) >
+                                        <#list adminlist as admin>
+                                            <option value="${admin.adminId!''}" >${admin.adminName!''}</option>
                                         </#list>
                                     </#if>
                                 </select>
                         </span>
                         </div>
                     </div>
-
-                    <div class="formControls col-4 col-sm-4">
-                        <input style="margin-right: 10px;" type="text" class="input-text" value="" placeholder="请输入快递单号" id="sendbackLogisticsNo" name="sendbackLogisticsNo">
-                    <#--<input style="width: 150px;margin-right: 10px;" type="text" class="input-text" value="" placeholder="寄回邮费" id="renewedBackPostage" name="renewedBackPostage">
-                    <input style="width: 150px;" type="text" class="input-text" value="" placeholder="用户支付宝账户" id="renewedAlipay" name="renewedAlipay">-->
-                    </div>
                 </div>
                 <div class="row cl" style="position: relative;" id="backUserInfo">
                     <div class="formControls col-2 col-sm-2 text-r">
@@ -333,6 +327,39 @@
                     <input type="text" class="input-text" value="" placeholder="寄件人电话" id="sendbackTels" name="sendbackTels">
                 </div>
             </div>
+                <div class="row cl">
+                    <div class="formControls col-12 col-sm-12">
+                        <div class="formControls col-2 col-sm-2 text-r">
+                            <strong>通知售前客服</strong>
+                        </div>
+                        <div class="radio-box">
+                            <input type="radio" id="tel-Notice1" name="sendbackNoticeCustomers" onclick="noticeCustomer();" checked value="1">
+                            <label for="tel-Notice1">是&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</label>
+                        </div>
+                        <div class="radio-box">
+                            <input type="radio" id="tel-Notice2" name="sendbackNoticeCustomers" onclick="noticeCustomer();" value="2">
+                            <label for="tel-Notice2">否</label>
+                        </div>
+                    </div>
+                </div>
+                <div class="row cl" id="sendbackPresaleAdminDiv" <#--style="display: none;"-->>
+                    <div class="formControls col-2 col-sm-2 text-r">
+                        <strong>售前客服</strong>
+                    </div>
+                    <div class="formControls col-4 col-sm-4">
+                        <div style="width: 100%;display: inline-block;margin-right: 10px;">
+                        <span class="select-box">
+                                <select name="sendbackPresaleAdminIds" id="sendbackPresaleAdminIds" class="select" seleType="send">
+                                    <#if adminlist?? &&  (adminlist?size > 0) >
+                                        <#list adminlist as admin>
+                                            <option value="${admin.adminId!''}" >${admin.adminName!''}</option>
+                                        </#list>
+                                    </#if>
+                                </select>
+                        </span>
+                        </div>
+                    </div>
+                </div>
                 <div class="row cl" style="position: relative;" id="backUserInfos">
                     <div class="formControls col-2 col-sm-2 text-r">
                         <strong>寄回产品</strong>
@@ -1366,7 +1393,14 @@
                     $("#sendbackLogisticsNos").val(info.sendbackLogisticsNo);
                     $("#sendbackNames").val(info.sendbackName);
                     $("#sendbackTels").val(info.sendbackTel);
+                    $("input[type=radio][name=sendbackNoticeCustomers][value='"+info.sendbackNoticeCustomer+"']").prop("checked",true);
+                    $("#sendbackPresaleAdminIds").val(info.sendbackPresaleAdminId);
                     /*$("#sendbackSignTimes").val(info.sendbackSignTime);*/
+                    if(info.sendbackNoticeCustomer === 1){
+                        $("#sendbackPresaleAdminDiv").show();
+                    }else if(info.sendbackNoticeCustomer === 2){
+                        $("#sendbackPresaleAdminDiv").hide();
+                    }
                     $("#productbodyIds").find(".input-prodcueNumber-ids").each(function () {
                         for(var i=0;i<info.listSendbackItem.length;i++){
                            if(info.listSendbackItem[i].sendbackProductId == $(this).parents("tr").find(".input-produce-ids").eq(0).val()
@@ -1395,6 +1429,12 @@
             var sendbackName = $("#sendbackName").val();
             var sendbackTel = $("#sendbackTel").val();
             var sendbackSignTime = $("#sendbackSignTime").val();
+            var sendbackNoticeCustomer = parseInt($("input[name='sendbackNoticeCustomer']:checked").val());
+            var sendbackPresaleAdminId = $("#sendbackPresaleAdminId").val();
+            if(sendbackNoticeCustomer === 2){
+                sendbackPresaleAdminId = null;
+            }
+
             var sendProdcues = new Array();  //寄出产品表
             var num = 0;
             $("#productbodyId").find(".input-prodcueNumber-id").each(function () {
@@ -1445,7 +1485,9 @@
                     "sendbackName" : sendbackName,
                     "sendbackTel" : sendbackTel,
                     "sendProdcues" : SendProdcues,
-                    "sendbackSignTime" : sendbackSignTime
+                    "sendbackSignTime" : sendbackSignTime,
+                    "sendbackNoticeCustomer" : sendbackNoticeCustomer,
+                    "sendbackPresaleAdminId" : sendbackPresaleAdminId
                 },
                 url: "${path}/admin/customer/add_SendbackInfo",
                 async: false,
@@ -1500,6 +1542,11 @@
         var sendbackName = $("#sendbackNames").val();
         var sendbackTel = $("#sendbackTels").val();
         /*var sendbackSignTime = $("#sendbackSignTimes").val();*/
+        var sendbackNoticeCustomers = parseInt($("input[name='sendbackNoticeCustomers']:checked").val());
+        var sendbackPresaleAdminIds = $("#sendbackPresaleAdminIds").val();
+        if(sendbackNoticeCustomers === 2){
+            sendbackPresaleAdminIds = null;
+        }
         var sendProdcues = new Array();  //寄出产品表
         var num = 0;
         $("#productbodyIds").find(".input-prodcueNumber-ids").each(function () {
@@ -1550,7 +1597,9 @@
                 "sendbackLogisticsNo" : sendbackLogisticsNo,
                 "sendbackName" : sendbackName,
                 "sendbackTel" : sendbackTel,
-                "sendProdcues" : SendProdcues
+                "sendProdcues" : SendProdcues,
+                "sendbackNoticeCustomer" : sendbackNoticeCustomers,
+                "sendbackPresaleAdminId" : sendbackPresaleAdminIds
             },
             url: "${path}/admin/customer/update_SendbackInfo",
             async: false,
@@ -3319,6 +3368,17 @@
             }
         });
     }
+    
+    function  noticeCustomer() {
+        var sendbackStatus = parseInt($("input[name='sendbackNoticeCustomer']:checked").val());
+        if(sendbackStatus === 1){
+          $("#sendbackPresaleAdminDiv").show();
+        }else if(sendbackStatus === 2){
+          $("#sendbackPresaleAdminDiv").hide();
+        }
+    }
+
+
 </script>
 </body>
 </html>