Sfoglia il codice sorgente

签收模块修改

liujiankang 7 anni fa
parent
commit
36b245b9ff

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

@@ -88,6 +88,7 @@ public class Repair 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 +444,12 @@ public class Repair implements Serializable {
     public void setRepairUpdateTime(Date repairUpdateTime) {
         this.repairUpdateTime = repairUpdateTime;
     }
+
+    public String getSalesDealCode() {
+        return salesDealCode;
+    }
+
+    public void setSalesDealCode(String salesDealCode) {
+        this.salesDealCode = salesDealCode;
+    }
 }

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

@@ -2,6 +2,8 @@ package com.iamberry.rst.faces.cm;
 
 import com.iamberry.rst.core.cm.Repair;
 
+import java.util.List;
+
 /**
  * 维修Service
  * Created by liuzhiwei on 2017/11/8.
@@ -14,4 +16,11 @@ public interface RepairService {
      * @return
      */
     Integer updateRepairInfo(Repair repair);
+
+    /**
+     * 查询售后维修需要同步订单的数据集合
+     * @param repair
+     * @return
+     */
+    List<Repair> listSynchronizingRepair(Repair repair);
 }

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

@@ -6,6 +6,8 @@ import com.iamberry.rst.service.cm.mapper.RepairMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * 维修Service
  * Created by liuzhiwei on 2017/11/8.
@@ -20,4 +22,9 @@ public class RepairServiceImpl implements RepairService {
     public Integer updateRepairInfo(Repair repair) {
         return repairMapper.updateRepairInfo(repair);
     }
+
+    @Override
+    public List<Repair> listSynchronizingRepair(Repair repair) {
+        return repairMapper.listSynchronizingRepair(repair);
+    }
 }

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

@@ -35,4 +35,10 @@ public interface RepairMapper {
      * @return
      */
     Integer updateRepairInfo(Repair repair);
+    /**
+     * 查询售后维修需要同步订单的数据集合
+     * @param repair
+     * @return
+     */
+    List<Repair> listSynchronizingRepair(Repair repair);
 }

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

@@ -61,6 +61,9 @@
       <if test="customerId != null and customerId != ''">
         and customer_id = #{customerId}
       </if>
+      <if test="repairSendStatus != null and repairSendStatus != ''">
+        and repair_send_status = #{repairSendStatus}
+      </if>
     </where>
   </select>
 
@@ -244,4 +247,26 @@
       repair_update_time = #{repairUpdateTime,jdbcType=TIMESTAMP}
     where repair_id = #{repairId,jdbcType=INTEGER}
   </update>
+
+
+  <!-- 查询售后维修需要同步订单的数据集合 -->
+  <select id="listSynchronizingRepair" resultType="Repair" parameterType="Repair">
+    select
+    r.*,
+    o.sales_pay_time salesDealCode
+    from
+    tb_rst_repair r
+    LEFT JOIN tb_rst_sales_order_info o ON r.repair_back_efast_order_id = o.sales_orderId
+    <where>
+      <if test="repairState != null">
+        repair_state = #{repairState}
+      </if>
+      <if test="customerId != null and customerId != ''">
+        and customer_id = #{customerId}
+      </if>
+      <if test="repairSendStatus != null and repairSendStatus != ''">
+        and repair_send_status = #{repairSendStatus}
+      </if>
+    </where>
+  </select>
 </mapper>

+ 29 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/mq/MQTask.java

@@ -1,13 +1,16 @@
 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.order.EfastOrder;
 import com.iamberry.rst.core.order.ProductColor;
 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.order.EfastOrderService;
@@ -54,6 +57,8 @@ public class MQTask implements InitializingBean {
 	private SalesOrderService salesOrderService;
 	@Autowired
 	private SysService sysService;
+	@Autowired
+	private RepairService repairService;
 
 	private Object lock = new Object();
 	private Object lock1 = new Object();
@@ -215,4 +220,28 @@ public class MQTask implements InitializingBean {
 			} while (returnFlag);    //百胜返回条目数如果等于设置的分页条目数,则继续查询下一页*/
 		}
 	}
+
+	/**客诉系统  自动追踪发货信息**/
+	@Scheduled(cron = "0 0/1 * * * ?")//每三分钟执行一次
+	public void synchronousDelivery()throws Exception{
+		/*同步维修订单*/
+		Repair repair = new Repair();
+		repair.setRepairSendStatus(1);
+		List<Repair> listRepair = repairService.listSynchronizingRepair(repair);
+		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(备货中)
+
+					}*/
+				}
+
+			}
+		}
+
+		/*同步换货订单*/
+
+		/*同步补发订单*/
+	}
 }

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

@@ -28,7 +28,7 @@ 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/EDWxcT6SlZT7AORkrnWt533GP2oqstJT1zxbCQqLcNSyaITdfYZmhmZ8/vfzF9f8C5g7pKI8TvzaeeNu675pH3s5SP/5/bbL/U3eNahyWWQsMG1IhNtU66l6wd5Dwk5OTnoZmtRAliyN4Z9QwWjLU8DB11VW+EUGiD/1RodRhug3+ZLYgebFeJ/qT+1lbw86aX6QZNppgqByHL04wHsuQcOr6BVt1n0=\"}");
+        ConsumerRecord<String, String> record = new ConsumerRecord<String, String>("4", 1, 1, "data", "{\"data\":\"7uiBfrOFcdy/EDWxcT6SlRwlTPRyTI7CHDtsa5VIbLtWgLCKxE4lMCo+4Njm/FyBhmZ8/vfzF9f8C5g7pKI8TvzaeeNu675pH3s5SP/5/bYUmZ5zICom6p41UxsMJ/+7uLSD3+B3uUc+buxwCELiRMiwsrdhUb4OObWd0tguFZdYQZrXGORTbQkUJIb7fctLuzR6OEBTmiC2H1/xEerFLua2LT4neI4VaHNC1MVW818=\"}");
         String appKey = "5kkyurvvtt58bbuxueee";//填APP KEY
         String secretKey = "rhj6na6u3y6uhy6qrbb3944mg5uqqpbb";//APP SECRET
         String data = decrypt(JSONObject.fromObject(record.value()).getString("data"),