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.
116 lines
4.0 KiB
116 lines
4.0 KiB
using Business.PowerCall;
|
|
using Common;
|
|
using Common.Helper;
|
|
using Common.JsonFileParsing;
|
|
using Common.Model;
|
|
using Common.Model.PowerCall;
|
|
using JsonRx.AuthFilter;
|
|
using JsonRx.Helper;
|
|
using log4net;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Web;
|
|
using System.Web.Caching;
|
|
using System.Web.Http;
|
|
using System.Web.Http.ModelBinding;
|
|
using System.Web.Routing;
|
|
|
|
namespace JsonRx.Api
|
|
{
|
|
/// <summary>
|
|
/// </summary>
|
|
[RoutePrefix("api/v1")]
|
|
//[EnableCors("*", "*", "*")]
|
|
public class PowerCallController : ApiController
|
|
{
|
|
private readonly IPowerCallBusiness _powercallBusiness;
|
|
private static readonly ILog Log = LogManager.GetLogger(typeof(PowerCallController));
|
|
|
|
public PowerCallController(PowerCallBusiness business)
|
|
{
|
|
_powercallBusiness = business;
|
|
}
|
|
|
|
[HttpPost]
|
|
[TokenAuthentication]
|
|
[Route("powerCall/GetChargeHistory")]
|
|
public IHttpActionResult GetChargeHistory(PowerCallInfo.GetPowerCallChargeHistory getHistory)
|
|
{
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "GetChargeHistory";
|
|
Log.Debug(JsonConvert.SerializeObject(getHistory));
|
|
var res = _powercallBusiness.GetChargeHistory(getHistory);
|
|
return Ok(res);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 카드 리스트 (Response 가 5일떈 충전상품 진행중)
|
|
/// </summary>
|
|
/// <param name="getCardInfo"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[TokenAuthentication]
|
|
[Route("powerCall/GetCardList")]
|
|
public IHttpActionResult GetCardList(PowerCallInfo.GetCardInfo getCardInfo)
|
|
{
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "GetCardList";
|
|
int getCardType = Convert.ToInt32(getCardInfo.GetcardType);
|
|
if (getCardInfo == null ||
|
|
Enum.IsDefined(typeof(PowerCallInfo.CARD_LIST_TYPE), getCardType) == false)
|
|
{
|
|
return Ok("Invaild Value");
|
|
}
|
|
Log.Debug("GetCardList:" + JsonConvert.SerializeObject(getCardInfo));
|
|
var res = _powercallBusiness.GetCardInfo(getCardInfo);
|
|
return Ok(res);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 파워콜 CallBack
|
|
/// </summary>
|
|
/// <param name="pds_result"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[TokenAuthentication]
|
|
[Route("powerCall/callBack/{pds_result?}")]
|
|
public IHttpActionResult CallBackPowerCall(string pds_result)
|
|
{
|
|
if (string.IsNullOrWhiteSpace(pds_result))
|
|
{
|
|
return Ok("string is NullOrWhiteSpace");
|
|
}
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "CallBackPowerCall";
|
|
Log.Debug("callback: " + pds_result);
|
|
var res = _powercallBusiness.CallBackPowerCall(pds_result);
|
|
return Ok("OK");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 상품 구매
|
|
/// </summary>
|
|
/// <param name="buyItem"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[TokenAuthentication]
|
|
[Route("powerCall/VerificationAndBuy")]
|
|
public IHttpActionResult VerificationAndBuy(PowerCallInfo.BuyItem buyItem)
|
|
{
|
|
LogicalThreadContext.Properties[LoggerProperty.METHODNAME] = "VertificationAndBuy";
|
|
//buyItem.PassWord = StringExtension.ToVirtualKeyDecryptString(buyItem.PassWord);
|
|
buyItem.PassWord = buyItem.PassWord;
|
|
|
|
if (buyItem.PassWord == null || string.IsNullOrWhiteSpace(buyItem.PassWord))
|
|
{
|
|
return Ok(new JsonRxResponse()
|
|
{
|
|
ErrorCode = "1",
|
|
Msg = "Pass Word is (Null or Empty)",
|
|
Data = null
|
|
});
|
|
}
|
|
var res = _powercallBusiness.VerificationAndBuy(buyItem);
|
|
return Ok(res);
|
|
}
|
|
}
|
|
}
|