You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

94 lines
2.9 KiB

using Business.Reward;
using Common;
using Common.Helper;
using Common.Model.Reward;
using JsonRx.AuthFilter;
using log4net;
using Newtonsoft.Json;
using System;
using System.Web.Http;
namespace JsonRx.Api
{
[RoutePrefix("api/v2")]
public class RewardController : ApiController
{
private readonly IRewardServices requestServices;
private static readonly ILog Log = LogManager.GetLogger(typeof(RewardController));
/// <summary>
/// Constructor RewardController
/// </summary>
public RewardController(RewardServices requestServices)
{
this.requestServices = requestServices;
}
/// <summary>
/// 구매할 수 있는 제품 리스트
/// </summary>
/// <returns></returns>
[HttpPost]
[TokenAuthentication]
[Route("reward/productList")]
public IHttpActionResult GetProductList()
{
var url = ApplicationConfig.ReadWebConfig("rootUrl", "");
var jsonResult = requestServices.GetProductLists(url);
return Ok(jsonResult);
}
/// <summary>
/// 제품 구매 요청
/// </summary>
/// <param name="orderRequest"></param>
/// <returns></returns>
[HttpPost]
[TokenAuthentication]
[Route("reward/productBuy")]
public IHttpActionResult BuyProduct(RequestedOrderDetail orderRequest)
{
JsonRxResponse jxRes = new JsonRxResponse();
LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "BuyRewardProduct";
Log.Debug("Log : Reward Product Buy : header : " + JsonConvert.SerializeObject(orderRequest));
if (orderRequest == null)
{
jxRes.ErrorCode = "1";
jxRes.Msg = "Invalid parameters.";
jxRes.Data = new { Message = jxRes.Msg };
return Ok(jxRes);
}
jxRes = requestServices.BuyProduct(orderRequest);
return Ok(jxRes);
}
/// <summary>
/// 주문한 제품 리스트
/// </summary>
/// <param name="orderRequest"></param>
/// <returns></returns>
[HttpPost]
[TokenAuthentication]
[Route("reward/productOrderedList")]
public IHttpActionResult OrderdProductList(RequestedOrderDetail orderRequest)
{
var jsonResult = requestServices.OrderedProductList(orderRequest);
return Ok(jsonResult);
}
/// <summary>
/// </summary>
/// <returns></returns>
[HttpPost]
[TokenAuthentication]
[Route("reward/branchInfo")]
public IHttpActionResult GetBranchInfos()
{
var jsonResult = requestServices.GetAgentInfo();
return Ok(jsonResult);
}
}
}