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