Subversion Repositories SmartDukaan

Rev

Rev 21496 | Rev 21699 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21390 ashik.ali 1
package com.spice.profitmandi.web.controller;
2
 
3
import javax.servlet.http.HttpServletRequest;
4
 
5
import org.slf4j.Logger;
6
import org.slf4j.LoggerFactory;
7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.http.ResponseEntity;
9
import org.springframework.stereotype.Controller;
10
import org.springframework.web.bind.annotation.RequestMapping;
11
import org.springframework.web.bind.annotation.RequestMethod;
12
import org.springframework.web.bind.annotation.RequestParam;
13
 
14
import com.spice.profitmandi.common.exception.ProfitMandiBusinessException;
15
import com.spice.profitmandi.common.model.ProfitMandiConstants;
21666 amit.gupta 16
import com.spice.profitmandi.dao.model.UserCart;
21390 ashik.ali 17
import com.spice.profitmandi.dao.repository.AddressRepository;
21666 amit.gupta 18
import com.spice.profitmandi.dao.repository.UserAccountRepository;
21448 ashik.ali 19
import com.spice.profitmandi.web.util.ResponseSender;
21390 ashik.ali 20
 
21666 amit.gupta 21
import io.swagger.annotations.ApiImplicitParam;
22
import io.swagger.annotations.ApiImplicitParams;
23
 
21390 ashik.ali 24
@Controller
25
public class AddressController {
26
 
21448 ashik.ali 27
	@Autowired
28
	ResponseSender<?> responseSender;
29
 
21390 ashik.ali 30
	private static final Logger LOGGER=LoggerFactory.getLogger(AddressController.class);
31
 
32
	@Autowired
33
	AddressRepository addressRepository;
34
 
21666 amit.gupta 35
	@Autowired
36
	UserAccountRepository userAccountRepository;
37
 
38
 
39
	@ApiImplicitParams({
40
		@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", 
41
				required = true, dataType = "string", paramType = "header")
42
	})
21390 ashik.ali 43
	@RequestMapping(value = ProfitMandiConstants.URL_ADDRESS_ALL, method=RequestMethod.GET)
21666 amit.gupta 44
	public ResponseEntity<?> getAll(HttpServletRequest request, @RequestParam(name = ProfitMandiConstants.PAGE_NUMBER) int pageNumber, @RequestParam(name = ProfitMandiConstants.PAGE_SIZE) int pageSize) throws Throwable{
45
		int userId = (int)request.getAttribute("userId");
46
		UserCart uc  = userAccountRepository.getUserCart(userId);
21390 ashik.ali 47
		LOGGER.info("requested url : "+request.getRequestURL().toString());
21666 amit.gupta 48
		return responseSender.ok(addressRepository.selectAll(uc.getUserId(), pageNumber, pageSize));
21390 ashik.ali 49
	}
21426 ashik.ali 50
 
21390 ashik.ali 51
	@RequestMapping(value = ProfitMandiConstants.URL_ADDRESS_ID, method=RequestMethod.GET)
21431 ashik.ali 52
	public ResponseEntity<?> getById(HttpServletRequest request, @RequestParam(name = "id") int id){
21390 ashik.ali 53
		LOGGER.info("requested url : "+request.getRequestURL().toString());
54
		try {
21448 ashik.ali 55
			return responseSender.ok(addressRepository.selectById(id));
21440 ashik.ali 56
		}catch (ProfitMandiBusinessException profitMandiBusinessException) {
57
			LOGGER.error("ProfitMandi error: ",  profitMandiBusinessException);
21448 ashik.ali 58
			return responseSender.badRequest(profitMandiBusinessException);
21390 ashik.ali 59
		}
60
	}
61
 
62
 
63
}