Pārlūkot izejas kodu

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

# Conflicts:
#	watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java
#	watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/SalesOrderMapper.java
#	watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
wangxiaoming 7 gadi atpakaļ
vecāks
revīzija
18d21e6d24

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

@@ -39,6 +39,13 @@ public interface SalesOrderService {
     Integer addSalesOrderList(List<SalesOrder> list);
 
     /**
+     * 添加订单和订单项
+     * @param list
+     * @return
+     */
+    boolean addOrderAndItem(SalesOrder salesOrder, List<SalesOrderItem> list);
+
+    /**
      * 获取订单集合
      * @param salesOrder
      * @return

+ 21 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/SalesOrderServiceImpl.java

@@ -44,6 +44,27 @@ public class SalesOrderServiceImpl implements SalesOrderService {
     }
 
     @Override
+    public boolean addOrderAndItem(SalesOrder salesOrder, List<SalesOrderItem> list) {
+        if (list == null || list.size() == 0) {
+            return false;
+        }
+        //添加订单数据
+        int orderNum = salesOrderMapper.addSalesOrder(salesOrder);
+        if (orderNum <= 0) {
+            return false;
+        }
+        for (SalesOrderItem item : list) {
+            item.setItemOrderId(salesOrder.getSalesId());
+        }
+        //批量添加订单项数据
+        int itemNum = salesOrderMapper.addOrderItemList(list);
+        if (itemNum <= 0) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
     public List<SalesOrderItem> listSalesOrderItem(SalesOrderItem salesOrderItem) {
         return salesOrderMapper.listSalesOrderItem(salesOrderItem);
     }

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

@@ -48,4 +48,11 @@ public interface SalesOrderMapper {
      * @return
      */
     List<SalesOrderItem> listSalesOrderItem(SalesOrderItem salesOrderItem);
+
+    /**
+     * 批量添加订单项
+     * @param list
+     * @return
+     */
+    Integer addOrderItemList(List<SalesOrderItem> list);
 }

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

@@ -77,6 +77,7 @@
         AND sales_address_name like CONCAT('%',#{salesAddressName},'%')
       </if>
     </where>
+    ORDER BY sales_create_time DESC
   </select>
 
   <!-- 订单项集合 -->
@@ -98,7 +99,7 @@
       sales_pay_time, sales_create_time, sales_admin_remark, 
       sales_user_remark, sales_pay_number, sales_store_id, 
       sales_company_id, sales_type)
-    values (#{salesId,jdbcType=INTEGER}, #{salesOrderid,jdbcType=VARCHAR}, #{salesOpenid,jdbcType=VARCHAR}, 
+    values (#{salesId,jdbcType=INTEGER}, #{salesOrderId,jdbcType=VARCHAR}, #{salesOpenId,jdbcType=VARCHAR},
       #{salesDiscountMoney,jdbcType=INTEGER}, #{salesPledgeMoney,jdbcType=INTEGER}, #{salesRemainDeposit,jdbcType=INTEGER}, 
       #{salesStatus,jdbcType=INTEGER}, #{salesSendType,jdbcType=INTEGER}, #{salesSendTime,jdbcType=TIMESTAMP}, 
       #{salesSalesTime,jdbcType=TIMESTAMP}, #{salesPostNum,jdbcType=VARCHAR}, #{salesPostFirm,jdbcType=VARCHAR}, 
@@ -110,6 +111,24 @@
       #{salesCompanyId,jdbcType=INTEGER}, #{salesType,jdbcType=INTEGER})
   </insert>
 
+  <!-- 批量添加订单项数据 -->
+  <insert id="addOrderItemList" parameterType="ArrayList">
+    INSERT INTO tb_rst_sales_order_item
+      (
+        item_order_id,item_product_id,item_num,item_color_id,item_product_type,
+        item_product_name,item_product_pic,item_product_color,item_color_bar,
+        item_product_price,item_product_discount,item_create_time
+      )
+    VALUES
+    <foreach collection="list" item="item" separator=",">
+      (
+        #{item.itemOrderId},#{item.itemProductId},#{item.itemNum},#{item.itemColorId},
+        #{item.itemProductType},#{item.itemProductName},#{item.itemProductPic},#{item.itemProductColor},
+        #{item.itemColorBar},#{item.itemProductPrice},#{item.itemProductDiscount},#{item.itemCreateTime}
+      )
+    </foreach>
+  </insert>
+
   <!-- 批量添加订单信息 -->
   <insert id="addSalesOrderList" parameterType="ArrayList" >
     insert into tb_rst_sales_order_info (

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

@@ -325,7 +325,7 @@ public class EfastOrderServiceImpl implements EfastOrderService {
 
         Map<String, String> requestData = getRequestData(EFAST_ORDER_SELECT);
         requestData.put("oid", orderid);
-        requestData.put("feilds","order_status,shipping_status");   //1.order_status 订单状态:0(未确认)1(确认)2(挂起)3(作废)     2.shipping_status发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
+        requestData.put("feilds",NameUtils.getConfig("order_field"));   //1.order_status 订单状态:0(未确认)1(确认)2(挂起)3(作废)     2.shipping_status发货状态: 0(未发货)1(已发货,即已扫描出库)3(备货中)
 
         try {
             String result = HttpClient431Util.doGet(requestData, EFAST_BASE_URL);

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

@@ -7,12 +7,14 @@ import com.iamberry.rst.core.cm.StoreInfo;
 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.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.cm.StoreInfoService;
 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.service.sms.mapper.MessageMapper;
+import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
@@ -49,8 +51,8 @@ public class MQTask implements InitializingBean {
 	private ProductService productService;
 	@Autowired
 	private StoreInfoService storeInfoService;
-
-	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+	@Autowired
+	private SalesOrderService salesOrderService;
 
 	public void afterPropertiesSet() throws Exception {
 	}
@@ -96,7 +98,6 @@ public class MQTask implements InitializingBean {
 		do {
 			//批量获取百胜订单信息
 			JSONObject obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize,date);
-			System.out.println("obj="+obj);
 			if (obj == null) {
 				return;
 			}
@@ -127,7 +128,7 @@ public class MQTask implements InitializingBean {
 		for (int i = 0;i < orderList.size();i++) {
 			JSONObject order = orderList.getJSONObject(i);
 			//获取订单详情
-			JSONObject orderInfo = efastOrderService.getOrderFormEfast(order.getString("order_sn"));
+			JSONObject orderInfo = efastOrderService.getOrderFormEfast(order.getString("deal_code"));
 			if (orderInfo == null) {
 				return;
 			}
@@ -138,10 +139,13 @@ public class MQTask implements InitializingBean {
 			}
 
 			SalesOrder salesOrder = new SalesOrder();
-			salesOrder.setSalesOrderId(order.getString("order_sn"));//订单编号
+			salesOrder.setSalesOrderId(order.getString("deal_code"));//订单编号
 			int payStatus = order.getInt("pay_status");				//是否付款 0:未付款,2:已付款
 			int orderStatus = order.getInt("order_status");			//订单状态 0:未确认,1:已确认,2:挂起,3:作废
 			int shippingStatus = order.getInt("shipping_status");	//发货状态 0:未发货,1:已发货,3:备货中
+			if (orderStatus == 2 || orderStatus == 3) {
+				continue;
+			}
 			if (payStatus == 2 && (orderStatus == 0 || orderStatus == 1)) {
 				if (shippingStatus == 0) {
 					salesOrder.setSalesStatus(2);
@@ -151,8 +155,9 @@ public class MQTask implements InitializingBean {
 			}
 			salesOrder.setSalesPostFirm(order.getString("shipping_name"));//快递方式代码
 			salesOrder.setSalesPostNum(order.getString("invoice_no"));//快递单号
+			salesOrder.setSalesOpenId(order.getString("mobile"));//唯一标识
 			salesOrder.setSalesPayType(efastOrderService.getPayType(order.getString("pay_name")));//支付方式
-			salesOrder.setSalesPayTime(format.parse(order.getString("pay_time")));//支付时间
+			salesOrder.setSalesPayTime(new Date(order.getInt("pay_time")*1000));//支付时间
 			salesOrder.setSalesUserRemark(order.getString("postscript"));//买家留言
 			salesOrder.setSalesAdminRemark(order.getString("to_buyer"));//商家留言
 			salesOrder.setSalesAmount(order.getInt("order_amount")*100);//应付款
@@ -161,9 +166,9 @@ public class MQTask implements InitializingBean {
 			salesOrder.setSalesAddressTel(order.getString("mobile"));//收货人电话
 			salesOrder.setSalesAddressInfo(order.getString("address").replaceAll(" ","-"));//收货地址
 			salesOrder.setSalesShippingFee(order.getInt("shipping_fee")*100);//邮费
-			salesOrder.setSalesCreateTime(format.parse(order.getString("create_time")));//创建时间
+			salesOrder.setSalesCreateTime(DateTimeUtil.parse(order.getString("create_time"),"yyyy-MM-dd HH:mm:ss"));//创建时间
 			if (StringUtils.isNotEmpty(order.getString("delivery_time"))) {
-				salesOrder.setSalesSendTime(format.parse(order.getString("delivery_time")));//发货时间
+				salesOrder.setSalesSendTime(DateTimeUtil.parse(order.getString("delivery_time"),"yyyy-MM-dd HH:mm:ss"));//发货时间
 			}
 			salesOrder.setSalesDiscountMoney(salesOrder.getSalesAmount() - salesOrder.getSalesPayMoney());//优惠金额
 			salesOrder.setSalesPledgeMoney(0);//押金金额
@@ -180,7 +185,7 @@ public class MQTask implements InitializingBean {
 			List<StoreInfo> storeList = storeInfoService.listStore(storeInfo);
 			int storeId = 0;
 			int companyId = 0;
-			if (storeList == null || storeList.size() == 0) {
+			if (storeList != null && storeList.size() > 0) {
 				storeInfo = storeList.get(0);
 				storeId = storeInfo.getStoreId();
 				companyId = storeInfo.getCompanyId();
@@ -211,7 +216,8 @@ public class MQTask implements InitializingBean {
 				item.setItemProductPrice(color.getColorPrice());
 				itemList.add(item);
 			}
-
+			//添加订单和订单项
+			salesOrderService.addOrderAndItem(salesOrder,itemList);
 		}
 	}
 }

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

@@ -5,6 +5,8 @@ app_key=8888
 app_secret=8888
 # sd_id \uFFFD\uFFFD\uFFFD\uFFFDid		test:001		watero:8
 sd_id=001
+# order_field
+order_field=order_sn,deal_code,order_status,shipping_status,pay_status,process_status,is_send,is_locked,is_separate,consignee,address,zipcode,tel,mobile,shipping_name,pay_name,invoice_no,order_amount ,money_paid,user_id ,orders.goods_sn,orders.goods_name,orders.goods_number,orders.goods_price,orders.goods_barcode,orders.payment_ft,pay_time,to_buyer,postscript,order_amount,user_nick,money_paid,shipping_fee
 #---efast end---#
 #---SMS begin---#
 #SMS_USERNAME=aibeiyuan