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

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