Subversion Repositories SmartDukaan

Rev

Rev 2830 | Blame | Last modification | View Log | RSS feed

package in.shop2020.serving.controllers;

import in.shop2020.model.v1.user.UserCommunication;
import in.shop2020.thrift.clients.UserClient;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.TimeZone;

import org.apache.log4j.Logger;

/**
 * @author vikas
 *
 */
@SuppressWarnings("serial")
public class UserCommunicationsController extends BaseController {
    private static Logger log = Logger.getLogger(Class.class);
    private long userId;
    private List<Map<String, String>> userCommunications;

    public UserCommunicationsController(){
        super();
    }

    public String index() throws Exception {
        UserClient userServiceClient = new UserClient();
        in.shop2020.model.v1.user.UserContextService.Client userClient = userServiceClient.getClient();
        
        List<UserCommunication> communications = userClient.getUserCommunicationByUser(userId);
        
        userCommunications = new ArrayList<Map<String,String>>();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        sdf.setTimeZone(TimeZone.getTimeZone("IST"));
        
        for (UserCommunication comm : communications) {
            Map<String, String> commMap = new HashMap<String, String>();
            commMap.put("id", Long.toString(comm.getId()));
            commMap.put("commtype", comm.getCommunicationType().name());
            commMap.put("subject", comm.getSubject());
            commMap.put("time", sdf.format(new Date(comm.getCommunication_timestamp())));
            userCommunications.add(commMap);
        }
        return "index";
    }

    public void setUserId(String userId) {
        try {
            this.userId = Long.parseLong(userId);
        }
        catch (NumberFormatException e) {
            log.error(e);
        }
    }
    
    public Long getUserId() {
        return userId;
    }

    public List<Map<String, String>> getUserCommunications() {
        return userCommunications;
    }
}