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.

93 lines
2.9 KiB

1 year ago
  1. using Business.Reward;
  2. using Common;
  3. using Common.Helper;
  4. using Common.Model.Reward;
  5. using JsonRx.AuthFilter;
  6. using log4net;
  7. using Newtonsoft.Json;
  8. using System;
  9. using System.Web.Http;
  10. namespace JsonRx.Api
  11. {
  12. [RoutePrefix("api/v2")]
  13. public class RewardController : ApiController
  14. {
  15. private readonly IRewardServices requestServices;
  16. private static readonly ILog Log = LogManager.GetLogger(typeof(RewardController));
  17. /// <summary>
  18. /// Constructor RewardController
  19. /// </summary>
  20. public RewardController(RewardServices requestServices)
  21. {
  22. this.requestServices = requestServices;
  23. }
  24. /// <summary>
  25. /// 구매할 수 있는 제품 리스트
  26. /// </summary>
  27. /// <returns></returns>
  28. [HttpPost]
  29. [TokenAuthentication]
  30. [Route("reward/productList")]
  31. public IHttpActionResult GetProductList()
  32. {
  33. var url = ApplicationConfig.ReadWebConfig("rootUrl", "");
  34. var jsonResult = requestServices.GetProductLists(url);
  35. return Ok(jsonResult);
  36. }
  37. /// <summary>
  38. /// 제품 구매 요청
  39. /// </summary>
  40. /// <param name="orderRequest"></param>
  41. /// <returns></returns>
  42. [HttpPost]
  43. [TokenAuthentication]
  44. [Route("reward/productBuy")]
  45. public IHttpActionResult BuyProduct(RequestedOrderDetail orderRequest)
  46. {
  47. JsonRxResponse jxRes = new JsonRxResponse();
  48. LogicalThreadContext.Properties[LoggerProperty.PROCESSID] = Guid.NewGuid();
  49. LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "BuyRewardProduct";
  50. Log.Debug("Log : Reward Product Buy : header : " + JsonConvert.SerializeObject(orderRequest));
  51. if (orderRequest == null)
  52. {
  53. jxRes.ErrorCode = "1";
  54. jxRes.Msg = "Invalid parameters.";
  55. jxRes.Data = new { Message = jxRes.Msg };
  56. return Ok(jxRes);
  57. }
  58. jxRes = requestServices.BuyProduct(orderRequest);
  59. return Ok(jxRes);
  60. }
  61. /// <summary>
  62. /// 주문한 제품 리스트
  63. /// </summary>
  64. /// <param name="orderRequest"></param>
  65. /// <returns></returns>
  66. [HttpPost]
  67. [TokenAuthentication]
  68. [Route("reward/productOrderedList")]
  69. public IHttpActionResult OrderdProductList(RequestedOrderDetail orderRequest)
  70. {
  71. var jsonResult = requestServices.OrderedProductList(orderRequest);
  72. return Ok(jsonResult);
  73. }
  74. /// <summary>
  75. /// </summary>
  76. /// <returns></returns>
  77. [HttpPost]
  78. [TokenAuthentication]
  79. [Route("reward/branchInfo")]
  80. public IHttpActionResult GetBranchInfos()
  81. {
  82. var jsonResult = requestServices.GetAgentInfo();
  83. return Ok(jsonResult);
  84. }
  85. }
  86. }