Subversion Repositories SmartDukaan

Rev

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

Rev 31646 Rev 35321
Line 4... Line 4...
4
import com.spice.profitmandi.common.model.CustomRetailer;
4
import com.spice.profitmandi.common.model.CustomRetailer;
5
import com.spice.profitmandi.common.model.ProfitMandiConstants;
5
import com.spice.profitmandi.common.model.ProfitMandiConstants;
6
import com.spice.profitmandi.common.web.util.ResponseSender;
6
import com.spice.profitmandi.common.web.util.ResponseSender;
7
import com.spice.profitmandi.dao.entity.fofo.FofoPayment;
7
import com.spice.profitmandi.dao.entity.fofo.FofoPayment;
8
import com.spice.profitmandi.dao.entity.transaction.AddWalletRequest;
8
import com.spice.profitmandi.dao.entity.transaction.AddWalletRequest;
-
 
9
import com.spice.profitmandi.dao.entity.transaction.HdfcPayment;
9
import com.spice.profitmandi.dao.enumuration.fofo.Gateway;
10
import com.spice.profitmandi.dao.enumuration.fofo.Gateway;
10
import com.spice.profitmandi.dao.enumuration.transaction.AddWalletRequestStatus;
11
import com.spice.profitmandi.dao.enumuration.transaction.AddWalletRequestStatus;
11
import com.spice.profitmandi.dao.model.PaymentOptionModel;
12
import com.spice.profitmandi.dao.model.PaymentOptionModel;
12
import com.spice.profitmandi.dao.repository.catalog.AddWalletRequestRepository;
13
import com.spice.profitmandi.dao.repository.catalog.AddWalletRequestRepository;
13
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
14
import com.spice.profitmandi.dao.repository.dtr.UserAccountRepository;
14
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
15
import com.spice.profitmandi.dao.repository.dtr.UserRepository;
15
import com.spice.profitmandi.dao.repository.fofo.FofoPaymentRepository;
16
import com.spice.profitmandi.dao.repository.fofo.FofoPaymentRepository;
-
 
17
import com.spice.profitmandi.dao.repository.transaction.HdfcPaymentRepository;
16
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
18
import com.spice.profitmandi.dao.repository.transaction.UserWalletRepository;
17
import com.spice.profitmandi.service.integrations.CCAvenuePaymentService;
19
import com.spice.profitmandi.service.integrations.CCAvenuePaymentService;
18
import com.spice.profitmandi.service.user.RetailerService;
20
import com.spice.profitmandi.service.user.RetailerService;
19
import com.spice.profitmandi.service.wallet.WalletService;
21
import com.spice.profitmandi.service.wallet.WalletService;
20
import com.spice.profitmandi.web.req.CreateAddMoneyRequest;
22
import com.spice.profitmandi.web.req.CreateAddMoneyRequest;
Line 37... Line 39...
37
import javax.mail.internet.InternetAddress;
39
import javax.mail.internet.InternetAddress;
38
import javax.mail.internet.MimeMessage;
40
import javax.mail.internet.MimeMessage;
39
import javax.servlet.http.HttpServletRequest;
41
import javax.servlet.http.HttpServletRequest;
40
import java.text.MessageFormat;
42
import java.text.MessageFormat;
41
import java.time.LocalDateTime;
43
import java.time.LocalDateTime;
-
 
44
import java.util.Arrays;
42
import java.util.List;
45
import java.util.List;
43
import java.util.Map;
46
import java.util.Map;
44
import java.util.Optional;
47
import java.util.Optional;
-
 
48
import java.util.stream.Collectors;
-
 
49
 
-
 
50
import static com.spice.profitmandi.dao.enumuration.transaction.AddWalletRequestStatus.approved;
45
 
51
 
46
@Controller
52
@Controller
47
@Transactional(rollbackFor = Throwable.class)
53
@Transactional(rollbackFor = Throwable.class)
48
public class WalletController {
54
public class WalletController {
49
 
55
 
Line 131... Line 137...
131
		fofoPayment.setPaymentMethod(optPaymentOptionModel.get().getPaymentMethodDesctiption());
137
		fofoPayment.setPaymentMethod(optPaymentOptionModel.get().getPaymentMethodDesctiption());
132
		fofoPaymentRepository.persist(fofoPayment);
138
		fofoPaymentRepository.persist(fofoPayment);
133
		Map<String, String> returnMap = ccAvenuePaymentService.getFormParams(fofoPayment, payMethod);
139
		Map<String, String> returnMap = ccAvenuePaymentService.getFormParams(fofoPayment, payMethod);
134
		returnMap.put("status", "pending");
140
		returnMap.put("status", "pending");
135
		return responseSender.ok(returnMap);
141
		return responseSender.ok(returnMap);
136
		
142
 
137
	}
143
	}
138
 
144
 
-
 
145
    @Autowired
-
 
146
    HdfcPaymentRepository hdfcPaymentRepository;
-
 
147
 
139
	@RequestMapping(value = ProfitMandiConstants.URL_ADD_MONEY_TO_WALLET, method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
148
	@RequestMapping(value = ProfitMandiConstants.URL_ADD_MONEY_TO_WALLET, method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
140
	@ApiImplicitParams({
149
	@ApiImplicitParams({
141
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
150
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
142
	public ResponseEntity<?> addMoneyToWallet(HttpServletRequest request,
151
	public ResponseEntity<?> addMoneyToWallet(HttpServletRequest request,
143
			@RequestBody CreateAddMoneyRequest createAddMoneyRequest) throws Exception {
152
			@RequestBody CreateAddMoneyRequest createAddMoneyRequest) throws Exception {
144
		int userId = (int) request.getAttribute(ProfitMandiConstants.USER_ID);
153
		int userId = (int) request.getAttribute(ProfitMandiConstants.USER_ID);
145
		log.info("user_id" + userId);
154
		log.info("user_id" + userId);
-
 
155
        String transactionReference = createAddMoneyRequest.getTransaction_reference();
-
 
156
        List<AddWalletRequest> addWalletRequests = addWalletRequestRepository.selectByReference(transactionReference);
-
 
157
        addWalletRequests = addWalletRequests.stream().filter(x -> Arrays.asList(approved, AddWalletRequestStatus.pending).contains(x.getStatus())).collect(Collectors.toList());
-
 
158
        if (addWalletRequests.size() > 0) {
-
 
159
            throw new ProfitMandiBusinessException("Transaction Reference (UTR)", transactionReference, "Already added");
-
 
160
        }
-
 
161
        HdfcPayment hdfcPayment = hdfcPaymentRepository.selectByUtrNo(transactionReference);
-
 
162
        if (hdfcPayment != null) {
-
 
163
            throw new ProfitMandiBusinessException("Transaction Reference (UTR)", transactionReference, "Already added");
-
 
164
        }
146
		int retailerId = userAccountRepository.selectRetailerIdByUserId(userId);
165
		int retailerId = userAccountRepository.selectRetailerIdByUserId(userId);
147
		CustomRetailer customRetailer = retailerService.getFofoRetailer(retailerId);
166
		CustomRetailer customRetailer = retailerService.getFofoRetailer(retailerId);
148
		AddWalletRequest addWalletrequest = new AddWalletRequest();
167
		AddWalletRequest addWalletrequest = new AddWalletRequest();
149
		addWalletrequest.setRetailerId(retailerId);
168
		addWalletrequest.setRetailerId(retailerId);
150
		addWalletrequest.setAmount(createAddMoneyRequest.getAmount());
169
		addWalletrequest.setAmount(createAddMoneyRequest.getAmount());