|
@@ -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.core.sys.Relu;
|
|
|
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.faces.sys.SysService;
|
|
|
import com.iamberry.rst.service.sms.mapper.MessageMapper;
|
|
|
import com.iamberry.wechat.tools.DateTimeUtil;
|
|
|
import com.iamberry.wechat.tools.ResponseJson;
|
|
@@ -29,6 +31,7 @@ import org.springframework.stereotype.Component;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Calendar;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.concurrent.locks.Lock;
|
|
@@ -48,11 +51,12 @@ public class MQTask implements InitializingBean {
|
|
|
@Autowired
|
|
|
private EfastOrderService efastOrderService;
|
|
|
@Autowired
|
|
|
- private ProductService productService;
|
|
|
- @Autowired
|
|
|
- private StoreInfoService storeInfoService;
|
|
|
- @Autowired
|
|
|
private SalesOrderService salesOrderService;
|
|
|
+ @Autowired
|
|
|
+ private SysService sysService;
|
|
|
+
|
|
|
+ private Object lock = new Object();
|
|
|
+ private Object lock1 = new Object();
|
|
|
|
|
|
public void afterPropertiesSet() throws Exception {
|
|
|
}
|
|
@@ -95,136 +99,118 @@ public class MQTask implements InitializingBean {
|
|
|
int pageSize = 20;
|
|
|
boolean flag = false;
|
|
|
String date = "";
|
|
|
-
|
|
|
- List<SalesOrder> orderList = salesOrderService.listSalesOrder(new SalesOrder());
|
|
|
- if (orderList != null && orderList.size() > 0) {
|
|
|
- SalesOrder salesOrder = orderList.get(0);
|
|
|
- date = salesOrder.getSalesCreateTime().toString();
|
|
|
- } else {
|
|
|
- date = "2016-04-01";
|
|
|
- }
|
|
|
- do {
|
|
|
-
|
|
|
- JSONObject obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize,date);
|
|
|
- if (obj == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
- int pageSize1 = obj.getInt("page_size");
|
|
|
- if (pageSize <= pageSize1) {
|
|
|
- flag = true;
|
|
|
- pageNo++;
|
|
|
+ synchronized (lock) {
|
|
|
+
|
|
|
+ List<SalesOrder> orderList = salesOrderService.listSalesOrder(new SalesOrder());
|
|
|
+ if (orderList != null && orderList.size() > 0) {
|
|
|
+ SalesOrder salesOrder = orderList.get(0);
|
|
|
+ date = salesOrder.getSalesCreateTime().toString();
|
|
|
} else {
|
|
|
- flag = false;
|
|
|
+ date = "2016-04-01";
|
|
|
}
|
|
|
- this.addSalesOrderList(obj);
|
|
|
- } while (flag);
|
|
|
+ do {
|
|
|
+
|
|
|
+ JSONObject obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize, date);
|
|
|
+ if (obj == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ int pageSize1 = obj.getInt("page_size");
|
|
|
+ if (pageSize <= pageSize1) {
|
|
|
+ flag = true;
|
|
|
+ pageNo++;
|
|
|
+ } else {
|
|
|
+ flag = false;
|
|
|
+ }
|
|
|
+ salesOrderService.addSalesOrderList(obj);
|
|
|
+ } while (flag);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|
|
|
- * 添加订单信息
|
|
|
- * @param obj
|
|
|
+ * 同步百胜订单状态等信息
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
- public void addSalesOrderList(JSONObject obj) throws Exception {
|
|
|
- if (obj == null) {
|
|
|
- return;
|
|
|
- }
|
|
|
- JSONArray orderList = obj.getJSONArray("list");
|
|
|
- if (orderList == null || orderList.size() == 0) {
|
|
|
- return;
|
|
|
- }
|
|
|
- for (int i = 0;i < orderList.size();i++) {
|
|
|
- JSONObject order = orderList.getJSONObject(i);
|
|
|
-
|
|
|
- JSONObject orderInfo = efastOrderService.getOrderFormEfast(order.getString("deal_code"));
|
|
|
- if (orderInfo == null) {
|
|
|
- return;
|
|
|
+
|
|
|
+
|
|
|
+ public void syncEfastOrderStatus() throws Exception {
|
|
|
+ int pageNo = 1;
|
|
|
+ int pageSize = 20;
|
|
|
+ boolean flag = false;
|
|
|
+
|
|
|
+ int returnPageNo = 1;
|
|
|
+ int returnPageSize = 20;
|
|
|
+ boolean returnFlag = false;
|
|
|
+ synchronized (lock1) {
|
|
|
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ Date beginDate = new Date();
|
|
|
+ SalesOrder order = new SalesOrder();
|
|
|
+ Calendar date = Calendar.getInstance();
|
|
|
+
|
|
|
+ Relu relu = new Relu();
|
|
|
+ relu.setrId(6);
|
|
|
+ relu.setrIsStatus(1);
|
|
|
+
|
|
|
+ List<Relu> reluList = sysService.ListSysRelu(relu);
|
|
|
+ if (reluList == null || reluList.size() == 0) {
|
|
|
+ relu.setrNum(7);
|
|
|
+ relu.setrText("0");
|
|
|
+ } else {
|
|
|
+ relu = reluList.get(0);
|
|
|
}
|
|
|
-
|
|
|
- JSONArray itemArray = orderInfo.getJSONArray("orders");
|
|
|
- if (itemArray == null || itemArray.size() == 0) {
|
|
|
+ if (Integer.parseInt(relu.getrText()) > 0) {
|
|
|
+ date.setTime(beginDate);
|
|
|
+ date.set(Calendar.DATE, date.get(Calendar.DATE) - (int) relu.getrNum());
|
|
|
+ order.setSalesCreateTime(format.parse(format.format(date.getTime())));
|
|
|
+ } else {
|
|
|
+ order.setSalesCreateTime(format.parse("2016-04-01"));
|
|
|
+ relu.setrText("1");
|
|
|
+
|
|
|
+ sysService.updateRelu(relu);
|
|
|
+ }
|
|
|
+
|
|
|
+ List<SalesOrder> orderlist = salesOrderService.listSalesOrder(order);
|
|
|
+ if (orderlist == null || orderlist.size() == 0) {
|
|
|
return;
|
|
|
}
|
|
|
+ do {
|
|
|
+
|
|
|
+ JSONObject obj = efastOrderService.listOrderInfoFormEfast(pageNo, pageSize, format.format(date.getTime()));
|
|
|
+ if (obj == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ JSONArray orderList = obj.getJSONArray("list");
|
|
|
+ if (orderList == null || orderList.size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ salesOrderService.updateOrderList(orderList, orderlist);
|
|
|
+ int pageSize1 = obj.getInt("page_size");
|
|
|
+ if (pageSize <= pageSize1) {
|
|
|
+ flag = true;
|
|
|
+ pageNo++;
|
|
|
+ } else {
|
|
|
+ flag = false;
|
|
|
+ }
|
|
|
+ } while (flag);
|
|
|
|
|
|
- SalesOrder salesOrder = new SalesOrder();
|
|
|
- salesOrder.setSalesOrderId(order.getString("order_sn"));
|
|
|
- salesOrder.setSalesDealCode(order.getString("deal_code"));
|
|
|
- salesOrder.setSalesOrderStatus(1);
|
|
|
- salesOrder.setSalesShippingStatus(order.getInt("shipping_status"));
|
|
|
- salesOrder.setSalesPayStatus(order.getInt("pay_status"));
|
|
|
- salesOrder.setSalesProcessStatus(order.getInt("process_status"));
|
|
|
- salesOrder.setSalesIsSend(order.getInt("is_send"));
|
|
|
- salesOrder.setSalesIsLocked(order.getInt("is_locked"));
|
|
|
- salesOrder.setSalesIsSeparate(order.getInt("is_separate"));
|
|
|
- salesOrder.setSalesStatus(order.getInt("order_status"));
|
|
|
-
|
|
|
- continue;
|
|
|
- }*/
|
|
|
- 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(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);
|
|
|
- salesOrder.setSalesPayMoney(order.getInt("money_paid")*100);
|
|
|
- salesOrder.setSalesAddressName(order.getString("consignee"));
|
|
|
- salesOrder.setSalesAddressTel(order.getString("mobile"));
|
|
|
- salesOrder.setSalesAddressInfo(order.getString("address").replaceAll(" ","-"));
|
|
|
- salesOrder.setSalesShippingFee(order.getInt("shipping_fee")*100);
|
|
|
- salesOrder.setSalesCreateTime(DateTimeUtil.parse(order.getString("create_time"),"yyyy-MM-dd HH:mm:ss"));
|
|
|
- if (StringUtils.isNotEmpty(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);
|
|
|
- salesOrder.setSalesRemainDeposit(0);
|
|
|
- salesOrder.setSalesSendType(2);
|
|
|
- salesOrder.setSalesSalesTime(salesOrder.getSalesCreateTime());
|
|
|
- salesOrder.setSalesWaitMoney(0);
|
|
|
- salesOrder.setSalesLastMoney(salesOrder.getSalesPayMoney());
|
|
|
- salesOrder.setSalesPayNumber("0000");
|
|
|
- salesOrder.setSalesType(1);
|
|
|
-
|
|
|
- StoreInfo storeInfo = new StoreInfo();
|
|
|
- storeInfo.setStoreEfast(order.getString("sd_id"));
|
|
|
- List<StoreInfo> storeList = storeInfoService.listStore(storeInfo);
|
|
|
- int storeId = 0;
|
|
|
- int companyId = 0;
|
|
|
- if (storeList != null && storeList.size() > 0) {
|
|
|
- storeInfo = storeList.get(0);
|
|
|
- storeId = storeInfo.getStoreId();
|
|
|
- companyId = storeInfo.getCompanyId();
|
|
|
- }
|
|
|
- salesOrder.setSalesStoreId(storeId);
|
|
|
- salesOrder.setSalesCompanyId(companyId);
|
|
|
- List<SalesOrderItem> itemList = new ArrayList<SalesOrderItem>();
|
|
|
- for (int j = 0;j < itemArray.size();j++) {
|
|
|
- ProductColor color = new ProductColor();
|
|
|
- JSONObject itemJson = itemArray.getJSONObject(j);
|
|
|
- SalesOrderItem item = new SalesOrderItem();
|
|
|
- color.setColorBar(itemJson.getString("goods_sn"));
|
|
|
- List<ProductColor> colorList = productService.listproductAndColor(color);
|
|
|
- if (colorList == null || colorList.size() == 0) {
|
|
|
+ do {
|
|
|
+
|
|
|
+ JSONObject obj = efastOrderService.listReturnOrderFormEfast(returnPageNo, returnPageSize, format.format(date.getTime()));
|
|
|
+ if (obj == null) {
|
|
|
return;
|
|
|
}
|
|
|
- color = colorList.get(0);
|
|
|
- item.setItemColorBar(itemJson.getString("goods_sn"));
|
|
|
- item.setItemNum(itemJson.getInt("sn"));
|
|
|
- item.setItemCreateTime(salesOrder.getSalesCreateTime());
|
|
|
- item.setItemColorId(color.getColorId());
|
|
|
- item.setItemProductColor(color.getColorName());
|
|
|
- item.setItemProductDiscount(color.getColorDiscount());
|
|
|
- item.setItemProductId(color.getColorProductId());
|
|
|
- item.setItemProductName(color.getProductName());
|
|
|
- item.setItemProductPic(color.getColorPicture());
|
|
|
- item.setItemProductType(color.getProductType());
|
|
|
- item.setItemProductPrice(color.getColorPrice());
|
|
|
- itemList.add(item);
|
|
|
- }
|
|
|
-
|
|
|
- salesOrderService.addOrderAndItem(salesOrder,itemList);
|
|
|
+ JSONArray orderList = obj.getJSONArray("list");
|
|
|
+ if (orderList == null || orderList.size() == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ salesOrderService.updateReturnOrderList(orderList, orderlist);
|
|
|
+ int pageSize1 = obj.getInt("page_size");
|
|
|
+ if (returnPageSize <= pageSize1) {
|
|
|
+ returnFlag = true;
|
|
|
+ returnPageNo++;
|
|
|
+ } else {
|
|
|
+ returnFlag = false;
|
|
|
+ }
|
|
|
+ } while (returnFlag);
|
|
|
}
|
|
|
}
|
|
|
}
|