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
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);
|
|
}
|
|
}
|
|
}
|