liujiankang 7 роки тому
батько
коміт
db1c4a0ee5
24 змінених файлів з 501 додано та 26 видалено
  1. 9 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Reissue.java
  2. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Renewed.java
  3. 9 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/EfastOrder.java
  4. 7 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/CustomerService.java
  5. 8 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ReissueService.java
  6. 6 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/RenewedService.java
  7. 10 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/EfastOrderService.java
  8. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java
  9. 7 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ReissueServiceImpl.java
  10. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/RenewedServiceImpl.java
  11. 7 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/CustomerInfoMapper.java
  12. 8 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ReissueMapper.java
  13. 6 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/RenewedMapper.java
  14. 10 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/customerInfoMapper.xml
  15. 15 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/reissueMapper.xml
  16. 16 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/renewedMapper.xml
  17. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/repairMapper.xml
  18. 57 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/order/EfastOrderServiceImpl.java
  19. 12 0
      watero-rst-service/src/main/java/com/iamberry/rst/util/SmsConfig.java
  20. 193 16
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java
  21. 61 0
      watero-rst-web/src/main/java/com/iamberry/rst/utils/KuaiDi100.java
  22. 28 2
      watero-rst-web/src/main/java/com/iamberry/rst/utils/test.java
  23. 10 6
      watero-rst-web/src/main/resources/platform.properties
  24. 1 1
      watero-rst-web/src/main/resources/watero-rst-ioc.xml

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

@@ -53,6 +53,7 @@ public class Reissue  implements Serializable {
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
     private Date salesPayTime;                  //支付时间
+    private String salesDealCode;               //交易号
 
     private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
     private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();//机会产品集合
@@ -224,4 +225,12 @@ public class Reissue  implements Serializable {
     public void setReissueUpdateTime(Date reissueUpdateTime) {
         this.reissueUpdateTime = reissueUpdateTime;
     }
+
+    public String getSalesDealCode() {
+        return salesDealCode;
+    }
+
+    public void setSalesDealCode(String salesDealCode) {
+        this.salesDealCode = salesDealCode;
+    }
 }

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

@@ -88,6 +88,8 @@ public class Renewed  implements Serializable {
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
     private Date salesPayTime;                  //支付时间
+    private String salesDealCode;               //交易号
+
     private List<ClosedFitting> closedFittings = new ArrayList<ClosedFitting>();//寄回配件集合
 
     private List<ClosedProdcue> closedProdcues = new ArrayList<ClosedProdcue>();//机会产品集合
@@ -443,4 +445,12 @@ public class Renewed  implements Serializable {
     public void setRenewedUpdateTime(Date renewedUpdateTime) {
         this.renewedUpdateTime = renewedUpdateTime;
     }
+
+    public String getSalesDealCode() {
+        return salesDealCode;
+    }
+
+    public void setSalesDealCode(String salesDealCode) {
+        this.salesDealCode = salesDealCode;
+    }
 }

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/EfastOrder.java

@@ -26,6 +26,7 @@ public class EfastOrder implements Serializable{
     private String orderProvince;               // 省份
     private String orderCity;                   // 城市
     private String orderArea;                   // 区域
+    private String repairSendMergeAddress;      //省市区
     private String orderAddress;                //收货地址
     private Integer orderStatus;                //订单状态
 
@@ -247,4 +248,12 @@ public class EfastOrder implements Serializable{
     public void setOid(Integer oid) {
         this.oid = oid;
     }
+
+    public String getRepairSendMergeAddress() {
+        return repairSendMergeAddress;
+    }
+
+    public void setRepairSendMergeAddress(String repairSendMergeAddress) {
+        this.repairSendMergeAddress = repairSendMergeAddress;
+    }
 }

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

@@ -1,6 +1,7 @@
 package com.iamberry.rst.faces.cm;
 
 import com.iamberry.rst.core.cm.*;
+import com.iamberry.rst.core.order.ProductType;
 import com.iamberry.rst.core.page.PagedResult;
 
 import java.util.List;
@@ -95,4 +96,10 @@ public interface CustomerService {
      * @return
      */
     CustomerCommon selectProdcueAndFitting(CustomerCommon customerCommon, int isSolve);
+
+    /**
+     *  根据客诉id查询商品类型表
+     * @return
+     */
+    ProductType getcompanyAffiliation(Integer customerId);
 }

+ 8 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ReissueService.java

@@ -2,6 +2,8 @@ package com.iamberry.rst.faces.cm;
 
 import com.iamberry.rst.core.cm.Reissue;
 
+import java.util.List;
+
 /**
  * Created by Administrator on 2017/11/9.
  */
@@ -13,4 +15,10 @@ public interface ReissueService {
      * @return
      */
     Integer updateReissueInfo(Reissue record);
+    /**
+     * 查询售后补发集合 同步efast
+     * @param reissue
+     * @return
+     */
+    List<Reissue> listSynchronizingReissue(Reissue reissue);
 }

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

@@ -24,4 +24,10 @@ public interface RenewedService {
      * @return
      */
     Integer updateRenewedInfo(Renewed record);
+
+    /**
+     * 获取所有需要同步的换新数据
+     * @return
+     */
+    List<Renewed> listSynchronizingRenewed(Renewed renewed);
 }

+ 10 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/order/EfastOrderService.java

@@ -70,6 +70,16 @@ public interface EfastOrderService {
     JSONObject getOrderFormEfast(String orderid) throws Exception;
 
     /**
+     * 获取百胜订单信息 同步到系统
+     * @param orderid
+     * @return
+     * @throws Exception
+     */
+    EfastOrder getFromEfastOrderInfo(String orderid) throws Exception;
+
+
+
+    /**
      * 根据百胜支付类型获取系统对应支付类型
      * @param payName
      * @return

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

@@ -888,6 +888,11 @@ public class CustomerServiceImpl implements CustomerService {
     }
 
     @Override
+    public ProductType getcompanyAffiliation(Integer customerId) {
+        return customerInfoMapper.getcompanyAffiliation(customerId);
+    }
+
+    @Override
     public BackGoods getBackGoods(BackGoods backGoods) {
         //获取退货集合
         List<BackGoods> backList = backGoodsMapper.listBackGoods(backGoods);

+ 7 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ReissueServiceImpl.java

@@ -6,6 +6,8 @@ import com.iamberry.rst.service.cm.mapper.ReissueMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * 补寄
  * Created by liuzhiwei on 2017/11/9.
@@ -20,4 +22,9 @@ public class ReissueServiceImpl implements ReissueService {
     public Integer updateReissueInfo(Reissue record) {
         return reissueMapper.updateReissueInfo(record);
     }
+
+    @Override
+    public List<Reissue> listSynchronizingReissue(Reissue reissue) {
+        return reissueMapper.listSynchronizingReissue(reissue);
+    }
 }

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

@@ -28,4 +28,9 @@ public class RenewedServiceImpl implements RenewedService {
     public Integer updateRenewedInfo(Renewed record) {
         return renewedMapper.updateRenewedInfo(record);
     }
+
+    @Override
+    public List<Renewed> listSynchronizingRenewed(Renewed renewed) {
+        return renewedMapper.listSynchronizingRenewed(renewed);
+    }
 }

+ 7 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/CustomerInfoMapper.java

@@ -1,6 +1,7 @@
 package com.iamberry.rst.service.cm.mapper;
 
 import com.iamberry.rst.core.cm.CustomerInfo;
+import com.iamberry.rst.core.order.ProductType;
 
 import java.util.List;
 
@@ -31,4 +32,10 @@ public interface CustomerInfoMapper {
      * @return
      */
     List<CustomerInfo> listCustomer(CustomerInfo customerInfo);
+
+    /**
+     *  根据客诉id查询商品类型表
+     * @return
+     */
+    ProductType getcompanyAffiliation(Integer customerId);
 }

+ 8 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ReissueMapper.java

@@ -28,4 +28,12 @@ public interface ReissueMapper {
      * @return
      */
     List<Reissue> listReissue(Reissue reissue);
+    /**
+     * 查询售后补发集合 同步efast
+     * @param reissue
+     * @return
+     */
+    List<Reissue> listSynchronizingReissue(Reissue reissue);
+
+
 }

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

@@ -37,4 +37,10 @@ public interface RenewedMapper {
      * @return
      */
     List<ClosedFitting> listClosedFitting(ClosedFitting closedFitting);
+    /**
+     * 获取所有需要同步的换新数据
+     * @return
+     */
+    List<Renewed> listSynchronizingRenewed(Renewed renewed);
+
 }

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

@@ -180,4 +180,14 @@
     </set>
     where customer_id = #{customerId}
   </update>
+  
+  <select id="getcompanyAffiliation" parameterType="Integer" resultType="ProductType">
+    SELECT
+        pt.*
+    FROM
+        tb_rst_product_type pt
+    LEFT JOIN tb_rst_customer_info ci ON pt.type_id = ci.type_id
+    where
+    ci.customer_id = #{customerId}
+  </select>
 </mapper>

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

@@ -267,4 +267,19 @@
       reissue_update_time = #{reissueUpdateTime,jdbcType=TIMESTAMP}
     where reissue_id = #{reissueId,jdbcType=INTEGER}
   </update>
+
+  <!-- 查询售后补发需要同步订单的数据集合 -->
+  <select id="listSynchronizingReissue" resultType="Reissue" parameterType="Reissue">
+    select
+    r.*,
+    o.sales_deal_code salesDealCode
+    from
+    tb_rst_reissue r
+    LEFT JOIN tb_rst_sales_order_info o ON r.reissue_back_efast_order_id = o.sales_orderId
+    <where>
+      <if test="reissueSendStatus != null and reissueSendStatus != ''">
+        and reissue_send_status = #{reissueSendStatus}
+      </if>
+    </where>
+  </select>
 </mapper>

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

@@ -225,4 +225,20 @@
     </set>
     where renewed_id = #{renewedId}
   </update>
+
+
+  <!-- 查询售后换新需要同步订单的数据集合 -->
+  <select id="listSynchronizingRenewed" resultType="Renewed" parameterType="Renewed">
+    select
+    r.*,
+    o.sales_deal_code salesDealCode
+    from
+    tb_rst_renewed r
+    LEFT JOIN tb_rst_sales_order_info o ON r.renewed_back_efast_order_id = o.sales_orderId
+    <where>
+      <if test="renewedSendStatus != null and renewedSendStatus != ''">
+        and renewed_send_status = #{renewedSendStatus}
+      </if>
+    </where>
+  </select>
 </mapper>

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

@@ -253,7 +253,7 @@
   <select id="listSynchronizingRepair" resultType="Repair" parameterType="Repair">
     select
     r.*,
-    o.sales_pay_time salesDealCode
+    o.sales_deal_code salesDealCode
     from
     tb_rst_repair r
     LEFT JOIN tb_rst_sales_order_info o ON r.repair_back_efast_order_id = o.sales_orderId

+ 57 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/order/EfastOrderServiceImpl.java

@@ -353,6 +353,63 @@ public class EfastOrderServiceImpl implements EfastOrderService {
         }
     }
 
+    /**获取efast详细信息同步到系统**/
+
+    @Override
+    public EfastOrder getFromEfastOrderInfo(String orderid) throws Exception{
+        if(StringUtils.isEmpty(orderid)) return null;
+
+        Map<String, String> requestData = getRequestData(EFAST_ORDER_SELECT);
+        requestData.put("oid", orderid);
+        requestData.put("feilds","order_status,shipping_status,consignee,address,mobile,province,city,district,invoice_no,shipping_name");   //1.order_status 订单状态:0(未确认)1(确认)2(挂起)3(作废)     2.shipping_status发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
+
+        try {
+            String result = HttpClient431Util.doGet(requestData, EFAST_BASE_URL);
+            result = StringEscapeUtils.unescapeJava(result); // unicode 编码
+            Pattern p = Pattern.compile("\\s*|\t|\r|\n");
+            Matcher m = p.matcher(result);
+            if (m.find()) {
+                result = m.replaceAll("");
+            }
+            logger.info("rst-推送百胜订单号-->>" + orderid + ",百胜返回信息-->" + result);
+            // parse JSON String to Object
+            JSONObject jsonObject = JSONObject.fromObject(result);
+            JSONObject respData = JSONObject.fromObject(jsonObject.get("resp_data"));
+            // 发货状态 : shipping_status
+            String shoppingStatus = respData.getString("shipping_status");
+            String shoppingOrderId = respData.getString("order_id");
+            String consignee = respData.getString("consignee");//收货人
+            String address = respData.getString("address");//收货地址
+            String mobile = respData.getString("mobile");//手机号
+            String province = respData.getString("province");//省
+            String city = respData.getString("city");//市
+            String district = respData.getString("district");//区
+            String invoice_no = respData.getString("invoice_no");//快递单号
+            String shipping_name = respData.getString("shipping_name");//快递公司
+
+            if(StringUtils.isNotEmpty(shoppingStatus)){
+                EfastOrder efastOrder = new EfastOrder();
+                efastOrder.setOrderStatus(Integer.parseInt(shoppingStatus));
+                efastOrder.setOrderId(shoppingOrderId);
+                efastOrder.setOrderAddressName(consignee);
+                efastOrder.setOrderAddress(address);
+                efastOrder.setOrderAddressTel(mobile);
+                efastOrder.setOrderProvince(province);
+                efastOrder.setOrderCity(city);
+                efastOrder.setOrderArea(district);
+                efastOrder.setOrderPostNum(invoice_no);
+                efastOrder.setOrderPostFirm(shipping_name);
+                efastOrder.setRepairSendMergeAddress(province+"-"+city+"-"+district);
+                return efastOrder;
+            }
+            logger.error("rst-获取百胜出错,订单号-->>" + orderid + ",百胜返回信息-->" + result);
+            throw new Exception(respData.getString("msg"));
+        } catch (Exception e) {
+            logger.error("rst-获取百胜出错,订单号-->>" + orderid + ",catch");
+            throw e;
+        }
+    }
+
     @Override
     public JSONObject getOrderFormEfast(String orderid) throws Exception {
         if(StringUtils.isEmpty(orderid)) return null;

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

@@ -42,6 +42,15 @@ public class SmsConfig {
     /* 发送问题回复  -- 优尼雅 */
     public static String SEND_PRODUCT_SEND_YULIA="";
 
+    /* 发送发货提醒  -- 美国watero */
+    public static String RELATION_SEND_WATERO="";
+    /* 发送发货提醒  -- 上朵 */
+    public static String RELATION_SEND_SHANGDUO="";
+    /* 发送发货提醒  -- 优尼雅 */
+    public static String RELATION_SEND_YULIA="";
+
+
+
 
 
     static {
@@ -69,6 +78,9 @@ public class SmsConfig {
             SEND_PRODUCT_SEND_WATERO=pro.getProperty("SEND_PRODUCT_SEND_WATERO");
             SEND_PRODUCT_SEND_SHANGDUO=pro.getProperty("SEND_PRODUCT_SEND_SHANGDUO");
             SEND_PRODUCT_SEND_YULIA=pro.getProperty("SEND_PRODUCT_SEND_YULIA");
+            RELATION_SEND_WATERO=pro.getProperty("RELATION_SEND_WATERO");
+            RELATION_SEND_SHANGDUO=pro.getProperty("RELATION_SEND_SHANGDUO");
+            RELATION_SEND_YULIA=pro.getProperty("RELATION_SEND_YULIA");
         } catch (Exception e) {
             e.printStackTrace();
         }

+ 193 - 16
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java

@@ -1,24 +1,26 @@
 package com.iamberry.rst.controllers.mq;
 
 import com.iamberry.rst.controllers.sys.SysController;
-import com.iamberry.rst.core.cm.Repair;
-import com.iamberry.rst.core.cm.SalesOrder;
-import com.iamberry.rst.core.cm.SalesOrderItem;
-import com.iamberry.rst.core.cm.StoreInfo;
+import com.iamberry.rst.core.address.City;
+import com.iamberry.rst.core.address.District;
+import com.iamberry.rst.core.address.Province;
+import com.iamberry.rst.core.cm.*;
 import com.iamberry.rst.core.order.EfastOrder;
 import com.iamberry.rst.core.order.ProductColor;
+import com.iamberry.rst.core.order.ProductType;
 import com.iamberry.rst.core.sms.OrderMessage;
 import com.iamberry.rst.core.sms.SmsMessage;
 import com.iamberry.rst.core.sys.Relu;
-import com.iamberry.rst.faces.cm.RepairService;
-import com.iamberry.rst.faces.cm.SalesOrderService;
-import com.iamberry.rst.faces.cm.StoreInfoService;
+import com.iamberry.rst.faces.address.AddressService;
+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.sms.MessageService;
 import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.faces.sys.SysService;
+import com.iamberry.rst.service.cm.mapper.CustomerInfoMapper;
 import com.iamberry.rst.service.sms.mapper.MessageMapper;
+import com.iamberry.rst.utils.KuaiDi100;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONArray;
@@ -32,14 +34,15 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
+import static com.iamberry.rst.util.SmsConfig.*;
+import static com.iamberry.rst.utils.KuaiDi100.replace;
+
 
 @Component(value="mqTask")
 @Lazy(false)
@@ -59,6 +62,16 @@ public class MQTask implements InitializingBean {
 	private SysService sysService;
 	@Autowired
 	private RepairService repairService;
+	@Autowired
+	private AddressService addressService;
+	@Autowired
+	private RenewedService renewedService;
+	@Autowired
+	private ReissueService reissueService;
+	@Autowired
+	private CustomerInfoMapper customerInfoMapper;
+
+
 
 	private Object lock = new Object();
 	private Object lock1 = new Object();
@@ -231,17 +244,181 @@ public class MQTask implements InitializingBean {
 		if(listRepair.size() > 0){
 			for(Repair re:listRepair){
 				if(re.getSalesDealCode() != null){
-					EfastOrder efastOrder = efastOrderService.getOrderInfoFromEfast(re.getSalesDealCode());
-					/*if (efastOrder.getOrderStatus() == 1){//1代表已发货  发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
-
-					}*/
+					EfastOrder efastOrder = efastOrderService.getFromEfastOrderInfo(re.getSalesDealCode());
+					if (efastOrder.getOrderStatus() == 1){//1代表已发货  发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
+						re.setRepairSendName(efastOrder.getOrderAddressName());
+						re.setRepairSendTel(efastOrder.getOrderAddressTel());
+						//查询省市县id
+						Map<String,String> pccMap = provincesCitiesCounties(efastOrder);
+						re.setProvinceNumber(Integer.valueOf(pccMap.get("provinceId")));
+						re.setCityNumber(Integer.valueOf(pccMap.get("cityId")));
+						re.setAreaNumber(Integer.valueOf(pccMap.get("districtId")));
+						re.setRepairSendMergeAddress(pccMap.get("province")+"-"+pccMap.get("city")+"-"+pccMap.get("district"));
+						re.setRepairSendAddress(efastOrder.getOrderAddress());
+						re.setRepairSendLogisticsCompany(efastOrder.getOrderPostFirm());
+						re.setRepairSendLogisticsNo(efastOrder.getOrderPostNum());
+						re.setRepairSendStatus(2);
+						Integer msg = repairService.updateRepairInfo(re);
+						if(msg > 0){
+							//发送维修发货通知短信
+							sendSMS("<维修业务>",efastOrder.getOrderPostFirm(),efastOrder.getOrderPostNum(),re.getCustomerId(),"15207170059");
+						}
+					}
 				}
 
 			}
 		}
 
 		/*同步换货订单*/
-
+		Renewed renewed = new Renewed();
+		renewed.setRenewedSendStatus(1);
+		List<Renewed> listRenewed = renewedService.listSynchronizingRenewed(renewed);
+		if(listRenewed.size() > 0){
+			for(Renewed re:listRenewed){
+				if(re.getSalesDealCode() != null){
+					EfastOrder efastOrder = efastOrderService.getFromEfastOrderInfo(re.getSalesDealCode());
+					if (efastOrder.getOrderStatus() == 1){//1代表已发货  发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
+						re.setRenewedSendName(efastOrder.getOrderAddressName());
+						re.setRenewedSendTel(efastOrder.getOrderAddressTel());
+						//查询省市县id
+						Map<String,String> pccMap = provincesCitiesCounties(efastOrder);
+						re.setProvinceNumber(Integer.valueOf(pccMap.get("provinceId")));
+						re.setCityNumber(Integer.valueOf(pccMap.get("cityId")));
+						re.setAreaNumber(Integer.valueOf(pccMap.get("districtId")));
+						re.setRenewedSendMergeAddress(pccMap.get("province")+"-"+pccMap.get("city")+"-"+pccMap.get("district"));
+						re.setRenewedSendAddress(efastOrder.getOrderAddress());
+						re.setRenewedSendLogisticsCompany(efastOrder.getOrderPostFirm());
+						re.setRenewedSendLogisticsNo(efastOrder.getOrderPostNum());
+						re.setRenewedSendStatus(2);
+						Integer msg = renewedService.updateRenewedInfo(re);
+						if(msg > 0){
+							//发送换货发货通知短信
+							sendSMS("<换货业务>",efastOrder.getOrderPostFirm(),efastOrder.getOrderPostNum(),re.getCustomerId(),"15207170059");
+						}
+					}
+				}
+			}
+		}
 		/*同步补发订单*/
+		Reissue reissue = new Reissue();
+		reissue.setReissueSendStatus(1);
+		List<Reissue> listReissue = reissueService.listSynchronizingReissue(reissue);
+		if(listReissue.size() > 0){
+			for(Reissue re:listReissue){
+				if(re.getSalesDealCode() != null){
+					EfastOrder efastOrder = efastOrderService.getFromEfastOrderInfo(re.getSalesDealCode());
+					if (efastOrder.getOrderStatus() == 1){//1代表已发货  发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
+						re.setReissueSendName(efastOrder.getOrderAddressName());
+						re.setReissueSendTel(efastOrder.getOrderAddressTel());
+						//查询省市县id
+						Map<String,String> pccMap = provincesCitiesCounties(efastOrder);
+						re.setProvinceNumber(Integer.valueOf(pccMap.get("provinceId")));
+						re.setCityNumber(Integer.valueOf(pccMap.get("cityId")));
+						re.setAreaNumber(Integer.valueOf(pccMap.get("districtId")));
+						re.setReissueSendMergeAddress(pccMap.get("province")+"-"+pccMap.get("city")+"-"+pccMap.get("district"));
+						re.setReissueSendAddress(efastOrder.getOrderAddress());
+						re.setReissueSendLogisticsCompany(efastOrder.getOrderPostFirm());
+						re.setReissueSendLogisticsNo(efastOrder.getOrderPostNum());
+						re.setReissueSendStatus(2);
+						Integer msg = reissueService.updateReissueInfo(re);
+						if(msg > 0){
+							//发送补发发货通知短信
+							sendSMS("<补发业务>",efastOrder.getOrderPostFirm(),efastOrder.getOrderPostNum(),re.getCustomerId(),"15207170059");
+
+						}
+					}
+				}
+
+			}
+		}
+	}
+
+
+	/**
+	 * 发送发货通知
+	 * @param relation 维修 换货 补发
+	 * @param postFirm 物流公司代码
+	 * @param postNum	物流单号
+	 * @param customerId 客诉主键id
+	 * @param tel 手机号
+	 */
+	public void sendSMS(String relation,String postFirm,String postNum,Integer customerId,String tel){
+		if(postFirm != null && !postFirm.equals("") && postNum != null && !postNum.equals("")
+				&& customerId > 0 && !tel.equals("")){
+			postFirm =  KuaiDi100.replace(postFirm);
+			if(!postFirm.equals("")){
+				ProductType productType = customerInfoMapper.getcompanyAffiliation(customerId);
+				if(productType != null){
+					String rejected_text = "";
+					//1:美国watero; 2:上朵电动牙刷  3:优尼雅净水机
+					if (productType.getTypeCompany() == 1){
+						rejected_text = RELATION_SEND_WATERO;
+					}
+					if (productType.getTypeCompany() == 2){
+						rejected_text = RELATION_SEND_SHANGDUO;
+					}
+					if (productType.getTypeCompany() == 3){
+						rejected_text = RELATION_SEND_YULIA;
+					}
+					String text = MessageFormat.format(rejected_text, relation,postFirm+","+postNum);
+					smsService.sendOtherCMS(tel,text);
+				}
+
+			}
+		}
+	}
+
+	/**
+	 * 查询省市县id
+	 * @param
+	 */
+	public Map<String,String> provincesCitiesCounties(EfastOrder efastOrder){
+		Map<String,String> map = new HashMap<String, String>();
+		String province = "";
+		String city = "";
+		String zone = "";
+		//省
+		if(efastOrder.getOrderProvince().substring(efastOrder.getOrderProvince().length() - 1,efastOrder.getOrderProvince().length()).equals("省")){
+			province = efastOrder.getOrderProvince().substring(0,efastOrder.getOrderProvince().length() - 1);
+		}else{
+			province = efastOrder.getOrderProvince();
+		}
+		Province provinceinfo = new Province();
+		provinceinfo.setProvince(province);
+		List<Province> provinceList = addressService.listProvince(provinceinfo);
+		if(provinceList.size() < 1){
+			provinceinfo.setProvince(null);
+			provinceList = addressService.listProvince(provinceinfo);
+		}
+		map.put("provinceId",String.valueOf(provinceList.get(0).getProvinceId()));
+		map.put("province",provinceList.get(0).getProvince());
+
+
+		//市
+		city = efastOrder.getOrderCity().substring(0,efastOrder.getOrderCity().length() - 1);
+		City cityInfo = new City();
+		cityInfo.setCity(city);
+		List<City> cityList = addressService.listCity(cityInfo);
+		if(cityList.size() < 1){
+			cityInfo.setCity(null);
+			cityInfo.setProvinceId(provinceList.get(0).getProvinceId());
+			cityList = addressService.listCity(cityInfo);
+		}
+		map.put("cityId",String.valueOf(cityList.get(0).getCityId()));
+		map.put("city",cityList.get(0).getCity());
+
+		//区
+		zone = efastOrder.getOrderArea().substring(0,efastOrder.getOrderArea().length() - 1);
+		District district = new  District();
+		district.setDistrict(zone);
+		List<District> districtList = addressService.listDistrict(district);
+		if(districtList.size() < 1){
+			district.setDistrict(null);
+			district.setCityId(cityList.get(0).getCityId());
+			districtList = addressService.listDistrict(district);
+		}
+		map.put("districtId",String.valueOf(districtList.get(0).getDistrictId()));
+		map.put("district",districtList.get(0).getDistrict());
+		return map;
 	}
 }

+ 61 - 0
watero-rst-web/src/main/java/com/iamberry/rst/utils/KuaiDi100.java

@@ -203,4 +203,65 @@ public class KuaiDi100 {
         }
         return content;
     }
+
+    /**物流名称替换**/
+    public static String replace(String code) {
+        String name = "";
+        switch (code){
+            case "sto":
+                name= "申通快递";
+                break;
+            case "yto":
+                name= "圆通快递";
+                break;
+            case "zto":
+                name= "中通速递";
+                break;
+            case "sf":
+                name= "顺丰快递";
+                break;
+            case "ems":
+                name= "邮政EMS";
+                break;
+            case "eyb":
+                name= "E邮宝";
+                break;
+            case "zjs":
+                name= "宅急送";
+                break;
+            case "yunda":
+                name= "韵达快递";
+                break;
+            case "cces":
+                name= "cces快递";
+                break;
+            case "pick":
+                name= "上门提货";
+                break;
+            case "htky":
+                name= "汇通快递";
+                break;
+            case "ttkdex":
+                name= "天天快递";
+                break;
+            case "stars":
+                name= "星晨急便";
+                break;
+            case "jd":
+                name= "京东快递";
+                break;
+            case "01":
+                name= "其他";
+                break;
+            case "02":
+                name= "上门送货";
+                break;
+            case "longbanwuliu":
+                name= "龙邦快递";
+                break;
+            default:
+                break;
+        }
+        return name;
+    }
 }

+ 28 - 2
watero-rst-web/src/main/java/com/iamberry/rst/utils/test.java

@@ -1,6 +1,8 @@
 package com.iamberry.rst.utils;
+import com.alibaba.dubbo.common.json.JSON;
 import com.auth0.jwt.internal.org.apache.commons.codec.binary.Base64;
 import com.auth0.jwt.internal.org.apache.commons.codec.binary.StringUtils;
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.apache.kafka.clients.consumer.ConsumerRecord;
 
@@ -8,6 +10,7 @@ import org.apache.kafka.clients.consumer.ConsumerRecord;
 import java.io.File;
 import java.io.FileInputStream;
 import java.security.Key;
+import java.util.Map;
 
 import javax.crypto.Cipher;
 import javax.crypto.spec.SecretKeySpec;
@@ -28,11 +31,34 @@ public class test {
 
 
     public static void main(String[] args) throws Exception {
-        ConsumerRecord<String, String> record = new ConsumerRecord<String, String>("4", 1, 1, "data", "{\"data\":\"7uiBfrOFcdy/EDWxcT6SlRwlTPRyTI7CHDtsa5VIbLtWgLCKxE4lMCo+4Njm/FyBhmZ8/vfzF9f8C5g7pKI8TvzaeeNu675pH3s5SP/5/bYUmZ5zICom6p41UxsMJ/+7uLSD3+B3uUc+buxwCELiRMiwsrdhUb4OObWd0tguFZdYQZrXGORTbQkUJIb7fctLuzR6OEBTmiC2H1/xEerFLua2LT4neI4VaHNC1MVW818=\"}");
+        ConsumerRecord<String, String> record = new ConsumerRecord<String, String>("4", 1, 1, "data", "{\"data\":\"7uiBfrOFcdy/EDWxcT6SlS1SvUzaqGDqdPa6XsnYNTrplpwdmjgJAo741xY0kRC8hmZ8/vfzF9f8C5g7pKI8TvzaeeNu675pH3s5SP/5/ba4eJOW8Qqwm/1H4nNX+1Ed/CTueaJe3E/BNsFxe7rF+nV1vzOwuvXM6YHC6yYNIi4t16eWO4Fyopbz12I60Pf8CTCNBf4XIxuHSB/BGVZpATEykU1vILnX89GzoJlV+10=\"}");
         String appKey = "5kkyurvvtt58bbuxueee";//填APP KEY
         String secretKey = "rhj6na6u3y6uhy6qrbb3944mg5uqqpbb";//APP SECRET
         String data = decrypt(JSONObject.fromObject(record.value()).getString("data"),
                 secretKey.substring(8, 24));//解析后的真正数据
-System.out.println(data);
+
+        JSONObject jasonObject = JSONObject.fromObject(data);
+        if(jasonObject.has("dps")){
+            JSONArray dps = jasonObject.getJSONArray("dps");
+            boolean flog = false;
+            for(int i = 0; i < dps.size(); i++){
+                Map maps = (Map) JSON.parse(dps.getString(i));
+                    for (Object obj : maps.keySet()){
+                    if(obj.equals("DEVECE_CONTROL_MILK")){
+                        String milkPowder = maps.get(obj).toString();
+                        flog = true;//如果数据中包含当前字段,表示当前推送的数据为奶粉记录
+                    }
+                    if(obj.equals("t")){
+                        Long milkTime = (Long)maps.get((obj));
+                    }
+                }
+            }
+            if(flog){
+                // 根据机器ID 获取对应的用户id
+                String devId = jasonObject.getString("devId");
+
+                flog = false;
+            }
+        }
     }
 }

Різницю між файлами не показано, бо вона завелика
+ 10 - 6
watero-rst-web/src/main/resources/platform.properties


+ 1 - 1
watero-rst-web/src/main/resources/watero-rst-ioc.xml

@@ -26,7 +26,7 @@
     <aop:aspectj-autoproxy proxy-target-class="true"/>
 
 	<!-- 开启注解启动定时器 -->
-    <!--<task:annotation-driven/>-->
+    <task:annotation-driven/>
 
 	<!-- DataSource -->
 	<import resource="classpath:watero-rst-db.xml"/>