Rev 23505 | Rev 23936 | Go to most recent revision | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.web.controller;import java.time.LocalDateTime;import java.util.ArrayList;import java.util.List;import javax.servlet.http.HttpServletRequest;import org.apache.logging.log4j.Logger;import org.apache.logging.log4j.LogManager;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.transaction.annotation.Transactional;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;import com.spice.profitmandi.common.model.ProfitMandiConstants;import com.spice.profitmandi.common.util.StringUtils;import com.spice.profitmandi.dao.entity.transaction.UserWallet;import com.spice.profitmandi.dao.entity.transaction.UserWalletHistory;import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;import com.spice.profitmandi.service.wallet.WalletService;import com.spice.profitmandi.web.model.LoginDetails;import com.spice.profitmandi.web.util.CookiesProcessor;@Controller@Transactional(rollbackFor = Throwable.class)public class WalletController {@Autowiredprivate CookiesProcessor cookiesProcessor;@Autowiredprivate WalletService walletService;@Autowiredprivate UserWalletRepository userWalletRepository;private static final Logger LOGGER = LogManager.getLogger(WalletController.class);@RequestMapping(value = "/walletDetails", method = RequestMethod.GET)public String dashboard(HttpServletRequest request, @RequestParam(name = ProfitMandiConstants.START_TIME, required = false) String startTimeString, @RequestParam(name = ProfitMandiConstants.END_TIME, required = false) String endTimeString, @RequestParam(name = "offset", defaultValue = "0") int offset, @RequestParam(name = "limit", defaultValue = "10") int limit, Model model) throws ProfitMandiBusinessException{LoginDetails fofoDetails = cookiesProcessor.getCookiesObject(request);UserWallet userWallet = null;try{userWallet = userWalletRepository.selectByRetailerId(fofoDetails.getFofoId());}catch(ProfitMandiBusinessException profitMandiBusinessException){LOGGER.error("UserWallet not found : ", profitMandiBusinessException);//return "error";}LocalDateTime startDateTime = StringUtils.toDateTime(startTimeString);LocalDateTime endDateTime = StringUtils.toDateTime(endTimeString);List<UserWalletHistory> userWalletHistories = new ArrayList<>();try{userWalletHistories = walletService.getPaginatedUserWalletHistoryByRetailerId(fofoDetails.getFofoId(), startDateTime, endDateTime, offset, limit);}catch(ProfitMandiBusinessException profitMandiBusinessException){LOGGER.error("UserWallet History not found : ", profitMandiBusinessException);}long countItems = 0;try{countItems = walletService.getSizeByRetailerId(fofoDetails.getFofoId(), startDateTime, endDateTime);}catch(ProfitMandiBusinessException profitMandiBusinessException){LOGGER.error("UserWallet not found : ",profitMandiBusinessException);}model.addAttribute("userWallet", userWallet);model.addAttribute("walletHistories", userWalletHistories);model.addAttribute("start", offset + 1);model.addAttribute("size",countItems);model.addAttribute(ProfitMandiConstants.START_TIME, startTimeString);model.addAttribute(ProfitMandiConstants.END_TIME, endTimeString);if (userWalletHistories.size() < limit){model.addAttribute("end", offset + userWalletHistories.size());}else{model.addAttribute("end", offset + limit);}return "wallet-details";}@RequestMapping(value = "/getPaginatedWalletHistory")public String getSaleHistoryPaginated(HttpServletRequest request, @RequestParam(name = ProfitMandiConstants.START_TIME, required = false) String startTimeString, @RequestParam(name = ProfitMandiConstants.END_TIME, required = false) String endTimeString, @RequestParam(name = "offset", defaultValue = "0") int offset, @RequestParam(name = "limit", defaultValue="10") int limit, Model model) throws ProfitMandiBusinessException{LoginDetails loginDetails = cookiesProcessor.getCookiesObject(request);LocalDateTime startDateTime = StringUtils.toDateTime(startTimeString);LocalDateTime endDateTime = StringUtils.toDateTime(endTimeString);List<UserWalletHistory> userWalletHistories = new ArrayList<>();try{userWalletHistories = walletService.getPaginatedUserWalletHistoryByRetailerId(loginDetails.getFofoId(), startDateTime, endDateTime, offset, limit);}catch(ProfitMandiBusinessException profitMandiBusinessException){LOGGER.error("UserWallet History not found : ", profitMandiBusinessException);}model.addAttribute("walletHistories", userWalletHistories);return "wallet-history-paginated";}}