Subversion Repositories SmartDukaan

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
493 rajveer 1
package in.shop2020.hotspot.dashbaord.server;
2
 
3
import in.shop2020.hotspot.dashbaord.shared.actions.Order;
4
import in.shop2020.hotspot.dashbaord.shared.actions.OrderType;
5
import in.shop2020.model.v1.order.Alert;
914 chandransh 6
import in.shop2020.model.v1.order.LineItem;
493 rajveer 7
import in.shop2020.model.v1.order.OrderStatus;
8
import in.shop2020.model.v1.order.TransactionService.Client;
9
import in.shop2020.thrift.clients.TransactionServiceClient;
10
 
11
import java.util.ArrayList;
12
import java.util.Date;
13
import java.util.List;
14
 
15
public class TransactionUtils {
16
	public static List<Order> getOrders(OrderType type, long warehouseId){
17
		List<OrderStatus> statuses = new ArrayList<OrderStatus>();
18
 
19
		switch (type) {
20
		case ACCEPTED:
21
			statuses.add(OrderStatus.ACCEPTED);
22
			break;
23
 
24
		case ALL:
25
			break;
26
 
27
		case NEW:
28
			statuses.add(OrderStatus.SUBMITTED_FOR_PROCESSING);
29
			statuses.add(OrderStatus.INVENTORY_LOW);
30
			break;
31
 
32
		case BILLED:
33
			statuses.add(OrderStatus.BILLED);
34
			break;
35
 
36
		case NO_STOCK:
37
			statuses.add(OrderStatus.INVENTORY_LOW);
38
			break;
39
 
40
		case REJECTED:
41
			statuses.add(OrderStatus.REJECTED);
42
			break;
43
 
44
		case SHIPPED:
45
			statuses.add(OrderStatus.SHIPPED_FROM_WH);
46
			statuses.add(OrderStatus.SHIPPED_TO_LOGST);
47
			break;
48
 
49
		default:
50
			break;
51
		}
52
 
53
 
54
		List<Order> orders = new ArrayList<Order>();
55
		try{
56
			TransactionServiceClient client = new TransactionServiceClient();
57
			Client c = client.getClient();
58
 
59
			List<in.shop2020.model.v1.order.Order> t_orders = new ArrayList<in.shop2020.model.v1.order.Order>();
60
			if(statuses.isEmpty()){
61
				t_orders.addAll(c.getAllOrders(null, 0L, new Date().getTime(), warehouseId));
62
			}
63
			else {
64
				for(OrderStatus status: statuses){
65
					t_orders.addAll(c.getAllOrders(status, 0L, new Date().getTime(), warehouseId));
66
				}
67
			}
68
 
69
			for (in.shop2020.model.v1.order.Order t_order: t_orders){
671 chandransh 70
				Order o = getOrderFromThriftOrder(t_order);
493 rajveer 71
 
72
				orders.add(o);
73
				//check if it has an associated alert
74
				List<Alert> alerts = c.getAlerts(t_order.getId(), true);
75
				if(alerts != null){
76
					if (alerts.size() != 0){
77
						o.setAlert(true);
78
						o.setStatusMessage(alerts.iterator().next().getComment());
79
					}
80
				}else{
81
					o.setAlert(false);
82
				}
83
			}
84
		}catch(Exception e){
85
			System.out.println(e);
86
		}
87
		return orders;
88
	}
89
 
760 chandransh 90
	public static boolean markOrdersAsManifested(long warehouseId, String providerId){
91
		try {
92
			long provider_id = Long.parseLong(providerId);
93
			TransactionServiceClient client = new TransactionServiceClient();
94
			Client c = client.getClient();
95
			return c.markOrdersAsManifested(warehouseId, provider_id);
96
		}catch(Exception e){
97
			e.printStackTrace();
98
			return false;
99
		}
100
	}
101
 
671 chandransh 102
	/**
103
	 * @param t_order
104
	 * @return
105
	 */
106
	public static Order getOrderFromThriftOrder(in.shop2020.model.v1.order.Order t_order) {
914 chandransh 107
		LineItem lineItem = t_order.getLineitems().get(0);
671 chandransh 108
		Order o = new Order(t_order.getId(), t_order.getCustomer_id(), t_order.getCustomer_name(), t_order.getCustomer_mobilenumber(),
737 chandransh 109
				t_order.getCustomer_pincode(), t_order.getCustomer_address1(), t_order.getCustomer_address2(), t_order.getCustomer_city(), t_order.getCustomer_state(), t_order.getCustomer_email(), t_order.getCreated_timestamp(),
914 chandransh 110
				t_order.getExpected_delivery_time(), t_order.getStatus().getValue(), t_order.getStatusDescription(), lineItem.getItem_id(),
111
				lineItem.getBrand(), lineItem.getModel_name(), lineItem.getModel_number(), lineItem.getColor(),
112
				lineItem.getExtra_info(), t_order.getTotal_amount(), t_order.getTotal_weight(), t_order.getAirwaybill_no(),
671 chandransh 113
				t_order.getBilled_by(), t_order.getInvoice_number(), t_order.getJacket_number(), false);
114
		return o;
115
	}
116
 
493 rajveer 117
}