Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
21429 kshitij.so 1
package com.spice.profitmandi.web.controller;
2
 
3
import java.time.LocalDateTime;
4
 
5
import javax.servlet.http.HttpServletRequest;
6
 
7
import org.json.JSONObject;
8
import org.slf4j.Logger;
9
import org.slf4j.LoggerFactory;
10
import org.springframework.http.HttpStatus;
11
import org.springframework.http.MediaType;
12
import org.springframework.http.ResponseEntity;
13
import org.springframework.stereotype.Controller;
14
import org.springframework.web.bind.annotation.PathVariable;
15
import org.springframework.web.bind.annotation.RequestMapping;
16
import org.springframework.web.bind.annotation.RequestMethod;
17
 
18
import com.google.gson.Gson;
19
import com.spice.profitmandi.common.model.ProfitMandiConstants;
20
import com.spice.profitmandi.dao.model.LimitedMasterDataPojo;
21643 ashik.ali 21
import com.spice.profitmandi.dao.repository.impl.Mongo;
21429 kshitij.so 22
import com.spice.profitmandi.web.model.ProfitMandiResponse;
23
import com.spice.profitmandi.web.model.ResponseStatus;
24
 
25
import io.swagger.annotations.ApiImplicitParam;
26
import io.swagger.annotations.ApiImplicitParams;
27
import io.swagger.annotations.ApiOperation;
28
 
29
@Controller
30
public class MasterDataController {
31
 
32
	private static final Logger logger=LoggerFactory.getLogger(MasterDataController.class);
33
 
34
 
35
	@RequestMapping(value = ProfitMandiConstants.URL_MASTER_DATA, method=RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
36
	@ApiImplicitParams({
37
		@ApiImplicitParam(name = "Auth-Token", value = "Auth-Token", 
38
				required = true, dataType = "string", paramType = "header")
39
	})
40
	@ApiOperation(value = "Get limited info of master data for skuBundleId")
41
	public ResponseEntity<?> getMasterDataBySkuBundleId(HttpServletRequest request, @PathVariable(value="id") long skuBundleId){
42
		LimitedMasterDataPojo masterData = null;
43
		try {
44
			JSONObject jsonObject = Mongo.getItemsByBundleId(skuBundleId);
45
			masterData = new Gson().fromJson(jsonObject.toString(), LimitedMasterDataPojo.class);
46
			final ProfitMandiResponse<?> profitMandiResponse=new ProfitMandiResponse<>(LocalDateTime.now(), request.getRequestURL().toString() , HttpStatus.OK.toString(), HttpStatus.OK, ResponseStatus.SUCCESS, masterData);
47
			return new ResponseEntity<>(profitMandiResponse,HttpStatus.OK);
48
		} catch (Exception e) {
49
			logger.info("Unable to get skuBundleId "+skuBundleId,e);
50
			final ProfitMandiResponse<?> profitMandiResponse=new ProfitMandiResponse<>(LocalDateTime.now(), request.getRequestURL().toString() , HttpStatus.INTERNAL_SERVER_ERROR.toString(), HttpStatus.INTERNAL_SERVER_ERROR, ResponseStatus.FAILURE, masterData);
51
			return new ResponseEntity<>(profitMandiResponse,HttpStatus.INTERNAL_SERVER_ERROR);
52
		}
53
	}
54
 
55
}