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.

115 lines
4.0 KiB

1 year ago
  1. using Business.PowerCall;
  2. using Common;
  3. using Common.Helper;
  4. using Common.JsonFileParsing;
  5. using Common.Model;
  6. using Common.Model.PowerCall;
  7. using JsonRx.AuthFilter;
  8. using JsonRx.Helper;
  9. using log4net;
  10. using Newtonsoft.Json;
  11. using System;
  12. using System.Linq;
  13. using System.Threading.Tasks;
  14. using System.Web;
  15. using System.Web.Caching;
  16. using System.Web.Http;
  17. using System.Web.Http.ModelBinding;
  18. using System.Web.Routing;
  19. namespace JsonRx.Api
  20. {
  21. /// <summary>
  22. /// </summary>
  23. [RoutePrefix("api/v1")]
  24. //[EnableCors("*", "*", "*")]
  25. public class PowerCallController : ApiController
  26. {
  27. private readonly IPowerCallBusiness _powercallBusiness;
  28. private static readonly ILog Log = LogManager.GetLogger(typeof(PowerCallController));
  29. public PowerCallController(PowerCallBusiness business)
  30. {
  31. _powercallBusiness = business;
  32. }
  33. [HttpPost]
  34. [TokenAuthentication]
  35. [Route("powerCall/GetChargeHistory")]
  36. public IHttpActionResult GetChargeHistory(PowerCallInfo.GetPowerCallChargeHistory getHistory)
  37. {
  38. LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "GetChargeHistory";
  39. Log.Debug(JsonConvert.SerializeObject(getHistory));
  40. var res = _powercallBusiness.GetChargeHistory(getHistory);
  41. return Ok(res);
  42. }
  43. /// <summary>
  44. /// 카드 리스트 (Response 가 5일떈 충전상품 진행중)
  45. /// </summary>
  46. /// <param name="getCardInfo"></param>
  47. /// <returns></returns>
  48. [HttpPost]
  49. [TokenAuthentication]
  50. [Route("powerCall/GetCardList")]
  51. public IHttpActionResult GetCardList(PowerCallInfo.GetCardInfo getCardInfo)
  52. {
  53. LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "GetCardList";
  54. int getCardType = Convert.ToInt32(getCardInfo.GetcardType);
  55. if (getCardInfo == null ||
  56. Enum.IsDefined(typeof(PowerCallInfo.CARD_LIST_TYPE), getCardType) == false)
  57. {
  58. return Ok("Invaild Value");
  59. }
  60. Log.Debug("GetCardList:" + JsonConvert.SerializeObject(getCardInfo));
  61. var res = _powercallBusiness.GetCardInfo(getCardInfo);
  62. return Ok(res);
  63. }
  64. /// <summary>
  65. /// 파워콜 CallBack
  66. /// </summary>
  67. /// <param name="pds_result"></param>
  68. /// <returns></returns>
  69. [HttpGet]
  70. [TokenAuthentication]
  71. [Route("powerCall/callBack/{pds_result?}")]
  72. public IHttpActionResult CallBackPowerCall(string pds_result)
  73. {
  74. if (string.IsNullOrWhiteSpace(pds_result))
  75. {
  76. return Ok("string is NullOrWhiteSpace");
  77. }
  78. LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "CallBackPowerCall";
  79. Log.Debug("callback: " + pds_result);
  80. var res = _powercallBusiness.CallBackPowerCall(pds_result);
  81. return Ok("OK");
  82. }
  83. /// <summary>
  84. /// 상품 구매
  85. /// </summary>
  86. /// <param name="buyItem"></param>
  87. /// <returns></returns>
  88. [HttpPost]
  89. [TokenAuthentication]
  90. [Route("powerCall/VerificationAndBuy")]
  91. public IHttpActionResult VerificationAndBuy(PowerCallInfo.BuyItem buyItem)
  92. {
  93. LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "VertificationAndBuy";
  94. //buyItem.PassWord = StringExtension.ToVirtualKeyDecryptString(buyItem.PassWord);
  95. buyItem.PassWord = buyItem.PassWord;
  96. if (buyItem.PassWord == null || string.IsNullOrWhiteSpace(buyItem.PassWord))
  97. {
  98. return Ok(new JsonRxResponse()
  99. {
  100. ErrorCode = "1",
  101. Msg = "Pass Word is (Null or Empty)",
  102. Data = null
  103. });
  104. }
  105. var res = _powercallBusiness.VerificationAndBuy(buyItem);
  106. return Ok(res);
  107. }
  108. }
  109. }