Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
1981 varun.gupt 1
package in.shop2020.serving.controllers;
2
 
3
import org.apache.log4j.Logger;
4
import org.apache.struts2.convention.annotation.Result;
5
import org.apache.struts2.convention.annotation.Results;
6
 
7
import in.shop2020.model.v1.user.PromotionException;
8
import in.shop2020.model.v1.user.UserContextService;
9
import in.shop2020.model.v1.user.PromotionService;
10
import in.shop2020.serving.controllers.BaseController;
11
import in.shop2020.thrift.clients.UserContextServiceClient;
12
import in.shop2020.thrift.clients.PromotionServiceClient;
13
 
14
import in.shop2020.model.v1.user.Cart;
15
 
16
@Results({
17
    @Result(name = "redirect", type = "redirectAction", params = {"actionName" , "cart"})
18
})
19
public class PromotionController extends BaseController {
20
 
21
    public PromotionController() {
22
        super();
23
    }
24
    private static Logger log = Logger.getLogger(Class.class);
25
 
26
    public String create()  {
27
        String action = request.getParameter("action");
28
        log.info("Action is: " + action);
29
 
30
        UserContextServiceClient userServiceClient = null;
31
        PromotionServiceClient promotionServiceClient = null;
32
 
33
        try {
34
            long cartId = userinfo.getCartId();
35
 
36
            if(action == null || action.isEmpty())  {
37
                addActionError("Invalid Request Action");
38
                return "redirect";
39
            }
40
            if (action.equals("applycoupon"))   {
41
                String couponCode = request.getParameter("coupon_code");
42
 
43
                if (couponCode == null || couponCode.isEmpty()) {
44
                    addActionError("Coupon Code field cannot be left empty");
45
                    return "redirect";
46
                }
47
                promotionServiceClient = new PromotionServiceClient();
48
                PromotionService.Client promotionClient = promotionServiceClient.getClient();
49
                Cart cart = promotionClient.applyCoupon(couponCode, cartId);
50
            }
51
            else if (action.equals("removecoupon"))    {
52
                userServiceClient = new UserContextServiceClient();
53
                UserContextService.Client userClient = userServiceClient.getClient();
54
                userClient.removeCoupon(cartId);
55
            }
56
        } catch (PromotionException e) {
57
            addActionError(e.getMessage());
58
        } catch (Exception e) {
59
            e.printStackTrace();
60
        }
61
        return "redirect";
62
    }
63
}