| 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) {
|