Subversion Repositories SmartDukaan

Rev

Rev 23568 | Rev 23786 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21615 kshitij.so 1
package com.spice.profitmandi.web.controller;
2
 
23568 govind 3
import java.io.IOException;
4
import java.net.URISyntaxException;
23784 ashik.ali 5
import java.util.List;
6
import java.util.Set;
23568 govind 7
 
22086 amit.gupta 8
import javax.servlet.http.HttpServletRequest;
9
 
23568 govind 10
import org.apache.logging.log4j.Logger;
11
import org.apache.logging.log4j.LogManager;
22481 ashik.ali 12
import org.springframework.beans.factory.annotation.Autowired;
23784 ashik.ali 13
import org.springframework.beans.factory.annotation.Qualifier;
23379 ashik.ali 14
import org.springframework.beans.factory.annotation.Value;
21615 kshitij.so 15
import org.springframework.stereotype.Controller;
22481 ashik.ali 16
import org.springframework.transaction.annotation.Transactional;
22073 ashik.ali 17
import org.springframework.ui.Model;
21615 kshitij.so 18
import org.springframework.web.bind.annotation.RequestMapping;
19
import org.springframework.web.bind.annotation.RequestMethod;
20
 
22481 ashik.ali 21
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
23784 ashik.ali 22
import com.spice.profitmandi.dao.entity.dtr.Role;
22654 ashik.ali 23
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
23784 ashik.ali 24
import com.spice.profitmandi.dao.enumuration.dtr.RoleType;
22481 ashik.ali 25
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
23784 ashik.ali 26
import com.spice.profitmandi.dao.repository.dtr.RoleRepository;
23568 govind 27
import com.spice.profitmandi.service.inventory.InventoryService;
22481 ashik.ali 28
import com.spice.profitmandi.web.model.LoginDetails;
29
import com.spice.profitmandi.web.util.CookiesProcessor;
30
 
21615 kshitij.so 31
@Controller
22481 ashik.ali 32
@Transactional(rollbackFor = Throwable.class)
21615 kshitij.so 33
public class DashboardController {
23379 ashik.ali 34
 
35
	@Value("${web.api.host}")
36
	private String webApiHost;
37
 
38
	@Value("${web.api.port}")
39
	private int webApiPort;
21615 kshitij.so 40
 
22481 ashik.ali 41
	@Autowired
22927 ashik.ali 42
	private CookiesProcessor cookiesProcessor;
22481 ashik.ali 43
 
44
	@Autowired
23784 ashik.ali 45
	@Qualifier("fofoInventoryService")
23568 govind 46
	private InventoryService inventoryService;
23784 ashik.ali 47
 
23568 govind 48
	@Autowired
23784 ashik.ali 49
	private RoleRepository roleRepository;
50
 
51
	@Autowired
22927 ashik.ali 52
	private FofoStoreRepository fofoStoreRepository;
22481 ashik.ali 53
 
23568 govind 54
	private static final Logger LOGGER = LogManager.getLogger(DashboardController.class);
21615 kshitij.so 55
 
56
	@RequestMapping(value = "/dashboard", method = RequestMethod.GET)
23568 govind 57
	public String dashboard(HttpServletRequest request, Model model) throws ProfitMandiBusinessException, URISyntaxException, IOException{
22927 ashik.ali 58
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
22481 ashik.ali 59
 
60
		FofoStore fofoStore = null;
61
		try {
22927 ashik.ali 62
			fofoStore = fofoStoreRepository.selectByRetailerId(loginDetails.getFofoId());
22481 ashik.ali 63
		} catch (ProfitMandiBusinessException e) {
22927 ashik.ali 64
			LOGGER.error("FofoStore Code not found of fofoId {}", loginDetails.getFofoId());
22481 ashik.ali 65
		}
23784 ashik.ali 66
 
67
 
22481 ashik.ali 68
		model.addAttribute("fofoStoreCode", fofoStore != null ? fofoStore.getCode() : null);
22086 amit.gupta 69
		model.addAttribute("appContextPath", request.getContextPath());
23784 ashik.ali 70
		model.addAttribute("fofoAdmin", this.isAdmin(loginDetails.getRoleIds()));
23379 ashik.ali 71
		model.addAttribute("webApiHost", webApiHost);
72
		model.addAttribute("webApiPort", webApiPort);
23568 govind 73
		//LOGGER.info("loginDetails.getFofoId()"+loginDetails.getFofoId());
74
		//inventoryService.prebookingAvailabilitySendMessage(loginDetails.getFofoId());
21615 kshitij.so 75
		return "dashboard";
76
	}
77
 
23784 ashik.ali 78
	private boolean isAdmin(Set<Integer> roleIds) {
79
		List<Role> roles = roleRepository.selectByIds(roleIds);
80
		for(Role role : roles) {
81
			if(role.getName().equals(RoleType.FOFO_ADMIN.toString())) {
82
				return true;
83
			}
84
		}
85
		return false;
86
	}
22860 ashik.ali 87
 
23784 ashik.ali 88
 
22354 ashik.ali 89
	@RequestMapping(value = "/contactUs", method = RequestMethod.GET)
22927 ashik.ali 90
	public String contactUs(HttpServletRequest request, Model model) throws Throwable{
22354 ashik.ali 91
		model.addAttribute("appContextPath", request.getContextPath());
92
		return "contact-us";
93
	}
94
 
23366 ashik.ali 95
	/*private List<PaymentOption> getPaymentOptions(int fofoId){
96
		List<Integer> paymentOptionIds = fofoPartnerPaymentOptionRepository.selectPaymentOptionIdsByFofoId(fofoId);
97
		if(paymentOptionIds.isEmpty()){
98
			return new ArrayList<>();
99
		}
100
		return paymentOptionRepository.selectByIds(new HashSet<>(paymentOptionIds));
101
	}*/
102
 
103
 
21615 kshitij.so 104
}