Subversion Repositories SmartDukaan

Rev

Rev 1224 | Rev 2352 | Go to most recent revision | Details | Compare with Previous | 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);
966 chandransh 108
		Order order = new Order(t_order.getId(),
109
				t_order.getCustomer_id(),
110
				t_order.getCustomer_name(),
111
				t_order.getCustomer_mobilenumber(),
112
				t_order.getCustomer_pincode(),
113
				t_order.getCustomer_address1(),
114
				t_order.getCustomer_address2(),
115
				t_order.getCustomer_city(),
116
				t_order.getCustomer_state(),
117
				t_order.getCustomer_email(),
118
				t_order.getCreated_timestamp(),
119
				t_order.getExpected_delivery_time(),
120
				t_order.getStatus().getValue(),
121
				t_order.getStatusDescription(),
122
				lineItem.getItem_id(),
123
				lineItem.getProductGroup(),
124
				lineItem.getBrand(),
125
				lineItem.getModel_name(),
126
				lineItem.getModel_number(),
127
				lineItem.getColor(),
128
				lineItem.getExtra_info(),
129
				t_order.getTotal_amount(), t_order.getTotal_weight(), t_order.getAirwaybill_no(),
1224 chandransh 130
				t_order.getBilled_by(), t_order.getInvoice_number(), t_order.getJacket_number(),
131
				t_order.getBatchNo(), t_order.getSerialNo(),
132
				false);
966 chandransh 133
		return order;
671 chandransh 134
	}
135
 
493 rajveer 136
}