Subversion Repositories SmartDukaan

Rev

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

Rev 22027 Rev 22032
Line 3... Line 3...
3
import java.time.LocalDateTime;
3
import java.time.LocalDateTime;
4
import java.util.ArrayList;
4
import java.util.ArrayList;
5
import java.util.HashMap;
5
import java.util.HashMap;
6
import java.util.List;
6
import java.util.List;
7
import java.util.Map;
7
import java.util.Map;
-
 
8
import java.util.function.Predicate;
8
 
9
 
9
import javax.servlet.http.HttpServletRequest;
10
import javax.servlet.http.HttpServletRequest;
10
 
11
 
11
import org.slf4j.Logger;
12
import org.slf4j.Logger;
12
import org.slf4j.LoggerFactory;
13
import org.slf4j.LoggerFactory;
Line 148... Line 149...
148
		}
149
		}
149
		if (user != null) {
150
		if (user != null) {
150
			responseMap.put(ProfitMandiConstants.EMAIL_ID, user.getEmailId());
151
			responseMap.put(ProfitMandiConstants.EMAIL_ID, user.getEmailId());
151
			responseMap.put(ProfitMandiConstants.USER_ID, user.getId());
152
			responseMap.put(ProfitMandiConstants.USER_ID, user.getId());
152
			responseMap.put(ProfitMandiConstants.USER_NAME, user.getFirstName() + " " + user.getLastName());
153
			responseMap.put(ProfitMandiConstants.USER_NAME, user.getFirstName() + " " + user.getLastName());
153
			
154
 
154
			List<UserRole> userRoles = userRoleRepository.selectByUserId(user.getId());
155
			List<UserRole> userRoles = userRoleRepository.selectByUserId(user.getId());
155
			String[] roleTypes = new String[userRoles.size()];
156
			String[] roleTypes = new String[userRoles.size()];
156
			
-
 
157
			
-
 
158
			
-
 
159
			
157
 
160
			//generate new token if roles size is different
158
			// generate new token if roles have been updated
161
			if(userInfo.getRoleNames() == null || userRoles.size() != userInfo.getRoleNames().size()) {
159
			if (userInfo.getRoleNames() == null || userRoles.size() != userInfo.getRoleNames().size()) {
162
				//String[] roleTypes = new String[userRoles.size()];
160
				// String[] roleTypes = new String[userRoles.size()];
163
				int index = 0;
161
				int index = 0;
164
				for (UserRole userRole : userRoles) {
162
				for (UserRole userRole : userRoles) {
165
					roleTypes[index++] = userRole.getRoleType().toString();
163
					roleTypes[index++] = userRole.getRoleType().toString();
166
				}
164
				}
167
				String newToken = JWTUtil.create(user.getId(), roleTypes);
165
				String newToken = JWTUtil.create(user.getId(), roleTypes);
168
				responseMap.put("newAuthToken", newToken);
166
				responseMap.put("newAuthToken", newToken);
169
			}
167
			}
170
			
168
 
171
			// if user is retailer
169
			// if user is retailer
172
			UserCart uc  = userAccountRepository.getUserCart(userInfo.getUserId());
170
			if (userRoles.stream().anyMatch(new Predicate<UserRole>() {
-
 
171
				@Override
-
 
172
				public boolean test(UserRole t) {
173
				Retailer retailer  = retailerRepository.selectById(uc.getUserId());
173
					return t.getRoleType().equals(RoleType.RETAILER);
-
 
174
				}
-
 
175
			})) {
174
				responseMap.put(ProfitMandiConstants.RETAILER_NAME, retailer.getName());
176
				UserCart uc = userAccountRepository.getUserCart(userInfo.getUserId());
175
				responseMap.put(ProfitMandiConstants.SELF_PICKUP, retailer.isSelfPickup());
177
				Retailer retailer = retailerRepository.selectById(uc.getUserId());
176
				// if retailer is activated 1 then verified retailer
178
				// if retailer is activated 1 then verified retailer
177
				// else if migrated is 1 then old retailer
179
				// else if migrated is 1 then old retailer
178
				// else retailer is not verifed
180
				// else retailer is not verifed
179
				if (retailer.isActive()) {
181
				if (retailer.isActive()) {
180
					if(retailer.isFofo()){
182
					if (retailer.isFofo()) {
181
						responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.FOFO.getValue());
183
						responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.FOFO.getValue());
182
					} else {
184
					} else {
183
						responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.VERIFIED_RETAILER.getValue());
185
						responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.VERIFIED_RETAILER.getValue());
184
					}
186
					}
185
				} else if (retailer.isMigrated()){
187
				} else if (retailer.isMigrated()) {
186
					responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.RETAILER.getValue());
188
					responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.RETAILER.getValue());
187
				} else {
189
				} else {
188
					responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.NOT_VERIFIED_RETAILER.getValue());
190
					responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.NOT_VERIFIED_RETAILER.getValue());
189
				}
191
				}
-
 
192
			} else if (userRoles.stream().anyMatch(new Predicate<UserRole>() {
-
 
193
				@Override
-
 
194
				public boolean test(UserRole t) {
-
 
195
					return t.getRoleType().equals(RoleType.RETAILER);
-
 
196
				}
190
			/*if () {
197
			})) {
191
				responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.REGISTERED.getValue());
198
				responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.REGISTERED.getValue());
192
			}*/
199
			}
193
		} else {
200
		} else {
194
			responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.NOT_REGISTERED.getValue());
201
			responseMap.put(ProfitMandiConstants.USER_STATUS, UserStatus.NOT_REGISTERED.getValue());
195
			responseMap.put(ProfitMandiConstants.EMAIL_ID, userInfo.getEmail());
202
			responseMap.put(ProfitMandiConstants.EMAIL_ID, userInfo.getEmail());
196
		}
203
		}
197
	
204
 
198
		return responseSender.ok(responseMap);
205
		return responseSender.ok(responseMap);
199
	}
206
	}
200
 
207
 
201
	@RequestMapping(value = ProfitMandiConstants.URL_USER, method = RequestMethod.POST)
208
	@RequestMapping(value = ProfitMandiConstants.URL_USER, method = RequestMethod.POST)
202
	@ApiImplicitParams({
209
	@ApiImplicitParams({
203
		@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
210
			@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", required = true, dataType = "string", paramType = "header") })
204
	public ResponseEntity<?> createUser(HttpServletRequest request, @RequestBody UserRequest userRequest) throws Throwable{
211
	public ResponseEntity<?> createUser(HttpServletRequest request, @RequestBody UserRequest userRequest)
-
 
212
			throws Throwable {
205
		LOGGER.info("requested url : " + request.getRequestURL().toString());
213
		LOGGER.info("requested url : " + request.getRequestURL().toString());
206
		User user = new User();
214
		User user = new User();
207
		user.setFirstName(userRequest.getFirstName());
215
		user.setFirstName(userRequest.getFirstName());
208
		user.setLastName(userRequest.getLastName());
216
		user.setLastName(userRequest.getLastName());
209
		user.setCity(userRequest.getCity());
217
		user.setCity(userRequest.getCity());
Line 217... Line 225...
217
		user.setGroup_id(1);
225
		user.setGroup_id(1);
218
		user.setStatus(0);
226
		user.setStatus(0);
219
		user.setActivated(false);
227
		user.setActivated(false);
220
		user.setCreateTimestamp(LocalDateTime.now());
228
		user.setCreateTimestamp(LocalDateTime.now());
221
		user.setUpdateTimestamp(LocalDateTime.now());
229
		user.setUpdateTimestamp(LocalDateTime.now());
222
		try{
230
		try {
223
			userRepository.persist(user);
231
			userRepository.persist(user);
224
			UserRole userRole = new UserRole();
232
			UserRole userRole = new UserRole();
225
			userRole.setRoleType(RoleType.USER);
233
			userRole.setRoleType(RoleType.USER);
226
			userRole.setUserId(user.getId());
234
			userRole.setUserId(user.getId());
227
			userRoleRepository.persist(userRole);
235
			userRoleRepository.persist(userRole);
Line 231... Line 239...
231
			return responseSender.badRequest(profitMandiBusinessException);
239
			return responseSender.badRequest(profitMandiBusinessException);
232
		}
240
		}
233
	}
241
	}
234
 
242
 
235
	@RequestMapping(value = ProfitMandiConstants.URL_USER_ALL, method = RequestMethod.GET)
243
	@RequestMapping(value = ProfitMandiConstants.URL_USER_ALL, method = RequestMethod.GET)
-
 
244
	public ResponseEntity<?> getAll(HttpServletRequest request,
236
	public ResponseEntity<?> getAll(HttpServletRequest request, @RequestParam(name = ProfitMandiConstants.PAGE_NUMBER) int pageNumber, @RequestParam(name = ProfitMandiConstants.PAGE_SIZE) int pageSize) {
245
			@RequestParam(name = ProfitMandiConstants.PAGE_NUMBER) int pageNumber,
-
 
246
			@RequestParam(name = ProfitMandiConstants.PAGE_SIZE) int pageSize) {
237
		LOGGER.info("requested url : " + request.getRequestURL().toString());
247
		LOGGER.info("requested url : " + request.getRequestURL().toString());
238
		return responseSender.ok(userRepository.selectAll(pageNumber, pageSize));
248
		return responseSender.ok(userRepository.selectAll(pageNumber, pageSize));
239
	}
249
	}
240
 
250
 
241
	@RequestMapping(value = ProfitMandiConstants.URL_USER_ID, method = RequestMethod.GET)
251
	@RequestMapping(value = ProfitMandiConstants.URL_USER_ID, method = RequestMethod.GET)
Line 335... Line 345...
335
	public ResponseEntity<?> addRole(HttpServletRequest request, @RequestBody UserAddRoleRequest userAddRoleRequest) {
345
	public ResponseEntity<?> addRole(HttpServletRequest request, @RequestBody UserAddRoleRequest userAddRoleRequest) {
336
		LOGGER.info("requested url : " + request.getRequestURL().toString());
346
		LOGGER.info("requested url : " + request.getRequestURL().toString());
337
		try {
347
		try {
338
			User user = userRepository.selectById(userAddRoleRequest.getUserId());
348
			User user = userRepository.selectById(userAddRoleRequest.getUserId());
339
 
349
 
-
 
350
			/*
340
			/*Role role = null;
351
			 * Role role = null; try { role =
341
			try {
-
 
342
				role = roleRepository.selectByNameAndType(userAddRoleRequest.getRole().getName(),
352
			 * roleRepository.selectByNameAndType(userAddRoleRequest.getRole().
343
						userAddRoleRequest.getRole().getType());
353
			 * getName(), userAddRoleRequest.getRole().getType()); } catch
344
			} catch (ProfitMandiBusinessException profitMandiBusinessException) {
354
			 * (ProfitMandiBusinessException profitMandiBusinessException) {
345
				role = new Role();
355
			 * role = new Role();
346
				role.setName(userAddRoleRequest.getRole().getName());
356
			 * role.setName(userAddRoleRequest.getRole().getName());
347
				role.setType(userAddRoleRequest.getRole().getType());
357
			 * role.setType(userAddRoleRequest.getRole().getType());
348
				roleRepository.persist(role);
358
			 * roleRepository.persist(role); }
349
			}*/
359
			 */
350
			Permission permission = new Permission();
360
			Permission permission = new Permission();
351
			permission.setType(userAddRoleRequest.getPermissionType());
361
			permission.setType(userAddRoleRequest.getPermissionType());
352
			permission.setRoleType(userAddRoleRequest.getRoleType());
362
			permission.setRoleType(userAddRoleRequest.getRoleType());
353
			permissionRepository.persist(permission);
363
			permissionRepository.persist(permission);
354
			UserRole userRole = new UserRole();
364
			UserRole userRole = new UserRole();
Line 410... Line 420...
410
			responseMap.put(ProfitMandiConstants.REGISTERED, false);
420
			responseMap.put(ProfitMandiConstants.REGISTERED, false);
411
		}
421
		}
412
		return responseSender.ok(responseMap);
422
		return responseSender.ok(responseMap);
413
 
423
 
414
	}
424
	}
415
	
425
 
416
	@RequestMapping(value = ProfitMandiConstants.URL_ADMIN_MIGRATE, method = RequestMethod.GET)
426
	@RequestMapping(value = ProfitMandiConstants.URL_ADMIN_MIGRATE, method = RequestMethod.GET)
417
	public ResponseEntity<?> migrate(HttpServletRequest request) {
427
	public ResponseEntity<?> migrate(HttpServletRequest request) {
418
		LOGGER.info("requested url : " + request.getRequestURL().toString());
428
		LOGGER.info("requested url : " + request.getRequestURL().toString());
419
		userToRetailerMigrationUtil.migrate();
429
		userToRetailerMigrationUtil.migrate();
420
		return responseSender.ok(ResponseCodeHolder.getMessage("OK_1000"));
430
		return responseSender.ok(ResponseCodeHolder.getMessage("OK_1000"));