Rev 6996 | Blame | Compare with Previous | Last modification | View Log | RSS feed
package in.shop2020.serving.controllers;import in.shop2020.model.v1.order.RechargeOrder;import in.shop2020.model.v1.order.RechargeOrderStatus;import in.shop2020.model.v1.order.RechargeType;import in.shop2020.model.v1.order.UserWallet;import in.shop2020.serving.utils.FormattingUtils;import in.shop2020.serving.utils.Utils;import in.shop2020.thrift.clients.TransactionClient;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Collections;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.log4j.Logger;import org.apache.struts2.convention.annotation.InterceptorRef;import org.apache.struts2.convention.annotation.InterceptorRefs;import org.apache.struts2.convention.annotation.Result;import org.apache.struts2.convention.annotation.Results;/*** @author rajveer**/@SuppressWarnings("serial")@InterceptorRefs({@InterceptorRef("myDefault"),@InterceptorRef("login")})@Results({@Result(name="redirect", type="redirectAction",params = {"actionName" , "login"})})public class MyRechargesController extends BaseController {private static Logger logger = Logger.getLogger(Class.class);private FormattingUtils formattingUtils = new FormattingUtils();Map<Long, String> providerNames = new HashMap<Long, String>();List<RechargeOrder> rechargeOrders = null;List<String> orderDate = new ArrayList<String>();private long orderId = 0;private Map<Long, String> rechargeProviderMap = new HashMap<Long, String>() ;private UserWallet wallet = null;private String errorMessage = "";public MyRechargesController() {super();}public String index(){logger.info("this.request=" + this.request);try {TransactionClient transactionServiceClient = new TransactionClient();in.shop2020.model.v1.order.TransactionService.Client orderClient = transactionServiceClient.getClient();rechargeOrders = orderClient.getRechargeOrders(userinfo.getUserId());//Reverse the list of order. Last come first displayedCollections.reverse(rechargeOrders);//LogisticsClient logisticsServiceClient = new LogisticsClient();//in.shop2020.logistics.LogisticsService.Client logisticsClient = logisticsServiceClient.getClient();//List<Provider> providers = logisticsClient.getAllProviders();//for(Provider provider: providers)// providerNames.put(provider.getId(), provider.getName());} catch (Exception e) {logger.error("Error while getting the recharge orders for the user", e);}if(rechargeOrders != null && !rechargeOrders.isEmpty()){for(RechargeOrder rechargeOrder: rechargeOrders) {if(rechargeOrder.getRechargeType() == RechargeType.MOBILE){rechargeProviderMap.put(rechargeOrder.getId(), Utils.getMobileProvidersMap().get(rechargeOrder.getOperatorId()));}if(rechargeOrder.getRechargeType() == RechargeType.DTH){rechargeProviderMap.put(rechargeOrder.getId(), Utils.getDthProvidersMap().get(rechargeOrder.getOperatorId()));}}}return "index";}public String formatDate(long timestamp){Date date = new Date(timestamp);SimpleDateFormat dateformat = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss aa");return dateformat.format(date);}public boolean shouldShowExtraColumn() {try {TransactionClient transactionServiceClient = new TransactionClient();in.shop2020.model.v1.order.TransactionService.Client orderClient = transactionServiceClient.getClient();wallet = orderClient.getUserWallet(userinfo.getUserId());if (wallet.getAmount() > 0) {for(RechargeOrder rechargeOrder : rechargeOrders) {if (Utils.refundableRechargeStatusList.contains(rechargeOrder.getStatus()) &&(rechargeOrder.getWalletAmount() != (rechargeOrder.getTotalAmount() - rechargeOrder.getCouponAmount()))) {return true;}}} else {for(RechargeOrder rechargeOrder : rechargeOrders) {if (rechargeOrder.getStatus() == RechargeOrderStatus.RECHARGE_SUCCESSFUL) {return true;}}}} catch (Exception e) {logger.error("Unable to get Wallet", e);}return false;}public boolean isRefundPossible(RechargeOrder rechargeOrder) {if (wallet.getAmount() > 0 && Utils.refundableRechargeStatusList.contains(rechargeOrder.getStatus()) &&(rechargeOrder.getWalletAmount() != (rechargeOrder.getTotalAmount() - rechargeOrder.getCouponAmount()))) {return true;}return false;}public String create() {try {TransactionClient transactionServiceClient = new TransactionClient();if(!transactionServiceClient.getClient().refundRechargeOrder(orderId)) {errorMessage = "Refund failed";}} catch (Exception e) {logger.error("Unable to refund rechargeOrder : " + orderId, e);errorMessage = "Refund failed";}return index();}public String getDisplayStatus(RechargeOrderStatus status) {return Utils.statusMap.get(status);}public List<RechargeOrder> getRechargeOrders() {return rechargeOrders;}public List<String> getOrderDate() {return orderDate;}public String getProviderName(Long rechargeOrderId) {return rechargeProviderMap.get(rechargeOrderId);}public long getOrderId() {return orderId;}public void setOrderId(long orderId) {this.orderId = orderId;}public String getErrorMessage() {return errorMessage;}public void setErrorMessage(String errorMessage) {this.errorMessage = errorMessage;}}