Subversion Repositories SmartDukaan

Rev

Rev 26005 | Rev 26012 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 26005 Rev 26011
Line 6... Line 6...
6
import java.time.LocalDate;
6
import java.time.LocalDate;
7
import java.time.LocalDateTime;
7
import java.time.LocalDateTime;
8
import java.time.LocalTime;
8
import java.time.LocalTime;
9
import java.time.ZoneOffset;
9
import java.time.ZoneOffset;
10
import java.util.ArrayList;
10
import java.util.ArrayList;
-
 
11
import java.util.HashMap;
11
import java.util.LinkedHashMap;
12
import java.util.LinkedHashMap;
12
import java.util.List;
13
import java.util.List;
13
import java.util.Map;
14
import java.util.Map;
14
import java.util.stream.Collectors;
15
import java.util.stream.Collectors;
15
 
16
 
Line 39... Line 40...
39
import com.spice.profitmandi.common.model.CustomRetailer;
40
import com.spice.profitmandi.common.model.CustomRetailer;
40
import com.spice.profitmandi.common.model.Notification;
41
import com.spice.profitmandi.common.model.Notification;
41
import com.spice.profitmandi.common.model.ProfitMandiConstants;
42
import com.spice.profitmandi.common.model.ProfitMandiConstants;
42
import com.spice.profitmandi.common.web.util.ResponseSender;
43
import com.spice.profitmandi.common.web.util.ResponseSender;
43
import com.spice.profitmandi.dao.Interface.Campaign;
44
import com.spice.profitmandi.dao.Interface.Campaign;
-
 
45
import com.spice.profitmandi.dao.entity.auth.AuthUser;
-
 
46
import com.spice.profitmandi.dao.entity.auth.Menu;
-
 
47
import com.spice.profitmandi.dao.entity.cs.Position;
-
 
48
import com.spice.profitmandi.dao.entity.cs.TicketCategory;
44
import com.spice.profitmandi.dao.entity.dtr.Document;
49
import com.spice.profitmandi.dao.entity.dtr.Document;
45
import com.spice.profitmandi.dao.entity.dtr.NotificationCampaign;
50
import com.spice.profitmandi.dao.entity.dtr.NotificationCampaign;
46
import com.spice.profitmandi.dao.entity.dtr.UserCampaign;
51
import com.spice.profitmandi.dao.entity.dtr.UserCampaign;
47
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
52
import com.spice.profitmandi.dao.entity.fofo.FofoStore;
48
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
53
import com.spice.profitmandi.dao.entity.fofo.PartnerDailyInvestment;
49
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
54
import com.spice.profitmandi.dao.entity.fofo.PartnerTargetDetails;
50
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
55
import com.spice.profitmandi.dao.entity.fofo.PartnerType;
51
import com.spice.profitmandi.dao.model.SimpleCampaign;
56
import com.spice.profitmandi.dao.model.SimpleCampaign;
52
import com.spice.profitmandi.dao.model.SimpleCampaignParams;
57
import com.spice.profitmandi.dao.model.SimpleCampaignParams;
53
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
58
import com.spice.profitmandi.dao.repository.auth.AuthRepository;
-
 
59
import com.spice.profitmandi.dao.repository.auth.MenuCategoryRepository;
-
 
60
import com.spice.profitmandi.dao.repository.auth.MenuRepository;
-
 
61
import com.spice.profitmandi.dao.repository.cs.PositionRepository;
-
 
62
import com.spice.profitmandi.dao.repository.cs.TicketCategoryRepository;
54
import com.spice.profitmandi.dao.repository.dtr.DocumentRepository;
63
import com.spice.profitmandi.dao.repository.dtr.DocumentRepository;
55
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
64
import com.spice.profitmandi.dao.repository.dtr.FofoStoreRepository;
56
import com.spice.profitmandi.dao.repository.dtr.Mongo;
65
import com.spice.profitmandi.dao.repository.dtr.Mongo;
57
import com.spice.profitmandi.dao.repository.dtr.NotificationCampaignRepository;
66
import com.spice.profitmandi.dao.repository.dtr.NotificationCampaignRepository;
58
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
67
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
Line 88... Line 97...
88
 
97
 
89
	@Autowired
98
	@Autowired
90
	private CookiesProcessor cookiesProcessor;
99
	private CookiesProcessor cookiesProcessor;
91
 
100
 
92
	@Autowired
101
	@Autowired
-
 
102
	private MenuRepository menuRepository;
-
 
103
	
-
 
104
	@Autowired
-
 
105
	private MenuCategoryRepository menuCategoryRepository;
-
 
106
 
-
 
107
	@Autowired
93
	private PartnerTargetRepository partnerTargetRepository;
108
	private PartnerTargetRepository partnerTargetRepository;
94
 
109
 
95
	@Autowired
110
	@Autowired
96
	private ResponseSender<?> responseSender;
111
	private ResponseSender<?> responseSender;
97
	
112
	
Line 119... Line 134...
119
	@Autowired
134
	@Autowired
120
	private CurrentInventorySnapshotRepository currentInventorySnapshotRepository;
135
	private CurrentInventorySnapshotRepository currentInventorySnapshotRepository;
121
 
136
 
122
	@Autowired
137
	@Autowired
123
	private FofoOrderItemRepository fofoOrderItemRepository;
138
	private FofoOrderItemRepository fofoOrderItemRepository;
-
 
139
	
-
 
140
	@Autowired
-
 
141
	private TicketCategoryRepository ticketCategoryRepository;
124
 
142
 
125
	@Autowired
143
	@Autowired
126
	private PartnerTypeChangeService partnerTypeChangeService;
144
	private PartnerTypeChangeService partnerTypeChangeService;
127
 
145
 
128
	@Autowired
146
	@Autowired
129
	private HygieneDataRepository hygieneDataRepository;
147
	private HygieneDataRepository hygieneDataRepository;
130
 
148
 
131
	@Autowired
149
	@Autowired
132
	private UserCampaignRepository userCampaignRepository;
150
	private UserCampaignRepository userCampaignRepository;
-
 
151
	
-
 
152
	@Autowired
-
 
153
	private PositionRepository positionRepository;
133
 
154
 
134
	@Autowired
155
	@Autowired
135
	private UserAccountRepository userAccountRepository;
156
	private UserAccountRepository userAccountRepository;
136
 
157
 
137
	@Autowired
158
	@Autowired
Line 301... Line 322...
301
	}
322
	}
302
 
323
 
303
	@RequestMapping(value = "/dashboard", method = RequestMethod.GET)
324
	@RequestMapping(value = "/dashboard", method = RequestMethod.GET)
304
	public String dashboard(HttpServletRequest request, Model model) throws Exception {
325
	public String dashboard(HttpServletRequest request, Model model) throws Exception {
305
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
326
		LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);
-
 
327
		String email = loginDetails.getEmailId();
306
		boolean isAdmin = roleManager.isAdmin(loginDetails.getRoleIds());
328
		boolean isAdmin = roleManager.isAdmin(loginDetails.getRoleIds());
307
		model.addAttribute("isAdmin", isAdmin);
329
		model.addAttribute("isAdmin", isAdmin);
308
 
330
 
309
		model.addAttribute("webApiHost", webApiHost);
331
		model.addAttribute("webApiHost", webApiHost);
310
		model.addAttribute("webApiPort", webApiPort);
332
		model.addAttribute("webApiPort", webApiPort);
311
		model.addAttribute("webApiScheme", webApiScheme);
333
		model.addAttribute("webApiScheme", webApiScheme);
312
		model.addAttribute("webApiRoot", webApiRoot);
334
		model.addAttribute("webApiRoot", webApiRoot);
313
		if (isAdmin) {
335
		if (isAdmin) {
314
			return adminPanel();
336
			return adminPanel(loginDetails.getFofoId(), email, model);
315
		} else {
337
		} else {
316
			FofoStore fofoStore = null;
338
			FofoStore fofoStore = null;
317
			try {
339
			try {
318
				fofoStore = fofoStoreRepository.selectByRetailerId(loginDetails.getFofoId());
340
				fofoStore = fofoStoreRepository.selectByRetailerId(loginDetails.getFofoId());
319
				if (!fofoStore.isActive()) {
341
				if (!fofoStore.isActive()) {
Line 367... Line 389...
367
		model.addAttribute("monthDays", LocalDate.now().minusDays(1).lengthOfMonth());
389
		model.addAttribute("monthDays", LocalDate.now().minusDays(1).lengthOfMonth());
368
		model.addAttribute("dayOfMonth", LocalDate.now().minusDays(1).getDayOfMonth());
390
		model.addAttribute("dayOfMonth", LocalDate.now().minusDays(1).getDayOfMonth());
369
		return "dashboard1";
391
		return "dashboard1";
370
	}
392
	}
371
 
393
 
-
 
394
	private String adminPanel(int fofoId, String email, Model model) throws ProfitMandiBusinessException {
-
 
395
		List<Menu> menus;
-
 
396
		try {
-
 
397
			AuthUser authUser = authRepository.selectByEmailOrMobile(email);
-
 
398
			List<Position> positions = positionRepository.selectAll(authUser.getId());
-
 
399
			menus = menuRepository.selectAllByIds(menuCategoryRepository.selectAllByPositions(positions).stream().map(x->x.getMenuId()).collect(Collectors.toList()));
-
 
400
		} catch (ProfitMandiBusinessException e){
-
 
401
			menus = menuRepository.selectAll();
-
 
402
		}
-
 
403
		
-
 
404
		Map<Integer, List<Menu>> subMenuMap = new HashMap<Integer, List<Menu>>();
-
 
405
		for(Menu menu : menus) {
372
	private String adminPanel() {
406
			if(menu.get_parent()==null) {
-
 
407
				if(!subMenuMap.containsKey(menu.getId())) {
-
 
408
					subMenuMap.put(menu.getId(), new ArrayList<>());
-
 
409
				}
-
 
410
				menu.setSubMenus(subMenuMap.get(menu.getId()));
-
 
411
			} else {
-
 
412
				int parentId = menu.get_parent().getId();
-
 
413
				if(!subMenuMap.containsKey(parentId)) {
-
 
414
					subMenuMap.put(parentId, new ArrayList<>());
-
 
415
				}
-
 
416
				subMenuMap.get(parentId).add(menu);
-
 
417
			}
-
 
418
		}
-
 
419
		model.addAttribute("menu", menus);
373
		return "admin";
420
		return "admin";
374
	}
421
	}
375
 
422
 
376
	// This method is currently hardcoded to faciliate watches sold as gift.
423
	// This method is currently hardcoded to faciliate watches sold as gift.
377
	private boolean hasGift(int fofoId) {
424
	private boolean hasGift(int fofoId) {