Subversion Repositories SmartDukaan

Rev

Rev 32457 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 32457 Rev 33247
Line 1... Line 1...
1
package com.spice.profitmandi.web.controller;
1
package com.spice.profitmandi.web.controller;
2
 
2
 
-
 
3
import com.spice.profitmandi.common.enumuration.ProviderBalanceFrom;
-
 
4
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
3
import java.time.LocalDateTime;
5
import com.spice.profitmandi.common.model.*;
4
import java.util.ArrayList;
6
import com.spice.profitmandi.common.web.util.ResponseSender;
5
import java.util.Arrays;
7
import com.spice.profitmandi.dao.entity.dtr.*;
6
import java.util.HashMap;
8
import com.spice.profitmandi.dao.entity.fofo.PaymentOption;
7
import java.util.HashSet;
9
import com.spice.profitmandi.dao.enumuration.dtr.RechargeType;
8
import java.util.List;
10
import com.spice.profitmandi.dao.repository.dtr.*;
-
 
11
import com.spice.profitmandi.dao.repository.fofo.FofoPartnerPaymentOptionRepository;
-
 
12
import com.spice.profitmandi.dao.repository.fofo.PaymentOptionRepository;
9
import java.util.Map;
13
import com.spice.profitmandi.service.recharge.RechargeService;
10
import java.util.Set;
14
import com.spice.profitmandi.web.model.LoginDetails;
11
 
-
 
12
import javax.servlet.http.HttpServletRequest;
15
import com.spice.profitmandi.web.util.CookiesProcessor;
13
 
-
 
14
import org.apache.logging.log4j.LogManager;
16
import org.apache.logging.log4j.LogManager;
15
import org.apache.logging.log4j.Logger;
17
import org.apache.logging.log4j.Logger;
16
import org.springframework.beans.factory.annotation.Autowired;
18
import org.springframework.beans.factory.annotation.Autowired;
17
import org.springframework.beans.factory.annotation.Value;
19
import org.springframework.beans.factory.annotation.Value;
18
import org.springframework.http.ResponseEntity;
20
import org.springframework.http.ResponseEntity;
Line 22... Line 24...
22
import org.springframework.web.bind.annotation.RequestBody;
24
import org.springframework.web.bind.annotation.RequestBody;
23
import org.springframework.web.bind.annotation.RequestMapping;
25
import org.springframework.web.bind.annotation.RequestMapping;
24
import org.springframework.web.bind.annotation.RequestMethod;
26
import org.springframework.web.bind.annotation.RequestMethod;
25
import org.springframework.web.bind.annotation.RequestParam;
27
import org.springframework.web.bind.annotation.RequestParam;
26
 
28
 
27
import com.spice.profitmandi.common.enumuration.ProviderBalanceFrom;
-
 
28
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
-
 
29
import com.spice.profitmandi.common.model.OperatorType;
-
 
30
import com.spice.profitmandi.common.model.ProfitMandiConstants;
-
 
31
import com.spice.profitmandi.common.model.RechargeCommissionRequest;
-
 
32
import com.spice.profitmandi.common.model.RechargeCredential;
-
 
33
import com.spice.profitmandi.common.model.RechargeRequest;
29
import javax.servlet.http.HttpServletRequest;
34
import com.spice.profitmandi.common.web.util.ResponseSender;
-
 
35
import com.spice.profitmandi.dao.entity.dtr.DailyRecharge;
-
 
36
import com.spice.profitmandi.dao.entity.dtr.RechargeCommission;
-
 
37
import com.spice.profitmandi.dao.entity.dtr.RechargeOperator;
-
 
38
import com.spice.profitmandi.dao.entity.dtr.RechargeProvider;
-
 
39
import com.spice.profitmandi.dao.entity.dtr.RechargeProviderCreditWalletHistory;
-
 
40
import com.spice.profitmandi.dao.entity.dtr.RechargeTransaction;
-
 
41
import com.spice.profitmandi.dao.entity.fofo.PaymentOption;
-
 
42
import com.spice.profitmandi.dao.enumuration.dtr.RechargeType;
-
 
43
import com.spice.profitmandi.dao.repository.dtr.DailyRechargeRepository;
-
 
44
import com.spice.profitmandi.dao.repository.dtr.RechargeCommissionRepository;
-
 
45
import com.spice.profitmandi.dao.repository.dtr.RechargeOperatorRepository;
-
 
46
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderCreditWalletHistoryRepository;
-
 
47
import com.spice.profitmandi.dao.repository.dtr.RechargeProviderRepository;
-
 
48
import com.spice.profitmandi.dao.repository.dtr.RechargeTransactionRepository;
-
 
49
import com.spice.profitmandi.dao.repository.fofo.FofoPartnerPaymentOptionRepository;
-
 
50
import com.spice.profitmandi.dao.repository.fofo.PaymentOptionRepository;
-
 
51
import com.spice.profitmandi.service.recharge.RechargeService;
-
 
52
import com.spice.profitmandi.web.model.LoginDetails;
30
import java.time.LocalDateTime;
53
import com.spice.profitmandi.web.util.CookiesProcessor;
31
import java.util.*;
54
 
32
 
55
@Controller
33
@Controller
56
@Transactional(rollbackFor = Throwable.class)
34
@Transactional(rollbackFor = Throwable.class)
57
public class RechargeController {
35
public class RechargeController {
58
 
36
 
Line 136... Line 114...
136
		model.addAttribute("rechargeOperators", rechargeOperators);
114
		model.addAttribute("rechargeOperators", rechargeOperators);
137
		return "create-recharge";
115
		return "create-recharge";
138
	}
116
	}
139
 
117
 
140
	private Map<Integer, String> rechargeTransactionsToRechargeOperatorIdNameMap(
118
	private Map<Integer, String> rechargeTransactionsToRechargeOperatorIdNameMap(
141
			List<RechargeTransaction> rechargeTransactions) {
119
            List<RechargeTransaction> rechargeTransactions) throws ProfitMandiBusinessException {
142
		Map<Integer, String> rechargeOperatorIdrechargeOperatorNameMap = new HashMap<>();
120
		Map<Integer, String> rechargeOperatorIdrechargeOperatorNameMap = new HashMap<>();
143
		if (rechargeTransactions.isEmpty()) {
121
		if (rechargeTransactions.isEmpty()) {
144
			return rechargeOperatorIdrechargeOperatorNameMap;
122
			return rechargeOperatorIdrechargeOperatorNameMap;
145
		}
123
		}
146
		Set<Integer> operatorIds = new HashSet<>();
124
		Set<Integer> operatorIds = new HashSet<>();
Line 154... Line 132...
154
		}
132
		}
155
		return rechargeOperatorIdrechargeOperatorNameMap;
133
		return rechargeOperatorIdrechargeOperatorNameMap;
156
	}
134
	}
157
 
135
 
158
	private Map<Integer, RechargeOperator> rechargeCommissionsOperatorIdRechargeOperatorMap(
136
	private Map<Integer, RechargeOperator> rechargeCommissionsOperatorIdRechargeOperatorMap(
159
			List<RechargeCommission> rechargeCommissions) {
137
            List<RechargeCommission> rechargeCommissions) throws ProfitMandiBusinessException {
160
		Map<Integer, RechargeOperator> rechargeOperatorIdNameMap = new HashMap<>();
138
		Map<Integer, RechargeOperator> rechargeOperatorIdNameMap = new HashMap<>();
161
		if (rechargeCommissions.isEmpty()) {
139
		if (rechargeCommissions.isEmpty()) {
162
			return rechargeOperatorIdNameMap;
140
			return rechargeOperatorIdNameMap;
163
		}
141
		}
164
		Set<Integer> operatorIds = new HashSet<>();
142
		Set<Integer> operatorIds = new HashSet<>();
Line 171... Line 149...
171
			rechargeOperatorIdNameMap.put(rechargeOperator.getId(), rechargeOperator);
149
			rechargeOperatorIdNameMap.put(rechargeOperator.getId(), rechargeOperator);
172
		}
150
		}
173
		return rechargeOperatorIdNameMap;
151
		return rechargeOperatorIdNameMap;
174
	}
152
	}
175
 
153
 
176
	private Map<Integer, String> rechargeCommissionsProviderIdNameMap(List<RechargeCommission> rechargeCommissions) {
154
    private Map<Integer, String> rechargeCommissionsProviderIdNameMap(List<RechargeCommission> rechargeCommissions) throws ProfitMandiBusinessException {
177
		if (rechargeCommissions.isEmpty()) {
155
		if (rechargeCommissions.isEmpty()) {
178
			return new HashMap<>();
156
			return new HashMap<>();
179
		}
157
		}
180
		Set<Integer> providerIds = new HashSet<>();
158
		Set<Integer> providerIds = new HashSet<>();
181
		for (RechargeCommission rechargeCommission : rechargeCommissions) {
159
		for (RechargeCommission rechargeCommission : rechargeCommissions) {
182
			providerIds.add(rechargeCommission.getProviderId());
160
			providerIds.add(rechargeCommission.getProviderId());
183
		}
161
		}
184
		return providerIdNameMap(providerIds);
162
		return providerIdNameMap(providerIds);
185
	}
163
	}
186
 
164
 
187
	private Map<Integer, String> providerIdNameMap(Set<Integer> providerIds) {
165
    private Map<Integer, String> providerIdNameMap(Set<Integer> providerIds) throws ProfitMandiBusinessException {
188
		Map<Integer, String> rechargeProviderIdNameMap = new HashMap<>();
166
		Map<Integer, String> rechargeProviderIdNameMap = new HashMap<>();
189
		List<RechargeProvider> rechargeProviders = rechargeProviderRepository.selectAllByIds(providerIds);
167
		List<RechargeProvider> rechargeProviders = rechargeProviderRepository.selectAllByIds(providerIds);
190
		for (RechargeProvider rechargeProvider : rechargeProviders) {
168
		for (RechargeProvider rechargeProvider : rechargeProviders) {
191
			rechargeProviderIdNameMap.put(rechargeProvider.getId(), rechargeProvider.getName());
169
			rechargeProviderIdNameMap.put(rechargeProvider.getId(), rechargeProvider.getName());
192
		}
170
		}
193
		return rechargeProviderIdNameMap;
171
		return rechargeProviderIdNameMap;
194
	}
172
	}
195
 
173
 
196
	private Map<Integer, String> rechargeProviderCreditWalletHistoriesProviderIdNameMap(
174
	private Map<Integer, String> rechargeProviderCreditWalletHistoriesProviderIdNameMap(
197
			List<RechargeProviderCreditWalletHistory> rechargeProviderCreditWalletHistories) {
175
            List<RechargeProviderCreditWalletHistory> rechargeProviderCreditWalletHistories) throws ProfitMandiBusinessException {
198
		if (rechargeProviderCreditWalletHistories.isEmpty()) {
176
		if (rechargeProviderCreditWalletHistories.isEmpty()) {
199
			return new HashMap<>();
177
			return new HashMap<>();
200
		}
178
		}
201
		Set<Integer> providerIds = new HashSet<>();
179
		Set<Integer> providerIds = new HashSet<>();
202
		for (RechargeProviderCreditWalletHistory rechargeProviderCreditWalletHistory : rechargeProviderCreditWalletHistories) {
180
		for (RechargeProviderCreditWalletHistory rechargeProviderCreditWalletHistory : rechargeProviderCreditWalletHistories) {
203
			providerIds.add(rechargeProviderCreditWalletHistory.getProviderId());
181
			providerIds.add(rechargeProviderCreditWalletHistory.getProviderId());
204
		}
182
		}
205
		return this.providerIdNameMap(providerIds);
183
		return this.providerIdNameMap(providerIds);
206
	}
184
	}
207
 
185
 
208
	private Map<Integer, String> dailyRechargesProviderIdNameMap(List<DailyRecharge> dailyRecharges) {
186
    private Map<Integer, String> dailyRechargesProviderIdNameMap(List<DailyRecharge> dailyRecharges) throws ProfitMandiBusinessException {
209
		if (dailyRecharges.isEmpty()) {
187
		if (dailyRecharges.isEmpty()) {
210
			return new HashMap<>();
188
			return new HashMap<>();
211
		}
189
		}
212
		Set<Integer> providerIds = new HashSet<>();
190
		Set<Integer> providerIds = new HashSet<>();
213
		for (DailyRecharge dailyRecharge : dailyRecharges) {
191
		for (DailyRecharge dailyRecharge : dailyRecharges) {