<?php

// 用户购买视频支付接口
require_once ("../user_include.inc");

ErrorLogger::doOutput("Compass...ajax_set_buy_media.php.php....Start.", 0);

//获取参数
$unionId = ParamUtil::getRequestString("unionId");
$openId = ParamUtil::getRequestString("openId", 0);
$courseId = ParamUtil::getRequestNumber("courseId", 0);
$mediaId = ParamUtil::getRequestNumber("mediaId", 0);

$result = array();

//参数检查
if(empty($unionId) || empty($openId)|| empty($courseId)|| empty($mediaId)) {
	$result["message"] = "参数错误!";
	responseNG($result);
}

$result = array();

//判断用户是否存在
$param = array();
$param['unionid'] = $unionId;
$param['openid'] = $openId;
$param['delete_flg'] = false;
$userList = UserMst::getList($param,'id','desc', 0, 1);
if(empty($userList)) {
	$result["message"] = "用户不存在!";
	responseNG($result);
}
$userMst = $userList[0];

//判断视频是否存在
$param = array();
$param['id'] = $mediaId;
$param['course_id'] = $courseId;
$param['delete_flg'] = false;
$courseMediaList = CourseMediaDat::getList($param,'id','desc', 0, 1);
if(empty($courseMediaList)) {
	$result["message"] = "视频不存在!";
	responseNG($result);
}
$courseMediaDat = $courseMediaList[0];

//用户是否已经购买本视频
$param = array();
$param['user_id'] = $userMst->id;
$param['course_id'] = $courseId;
$param['media_id'] = $courseMediaDat->id;
$param['is_free'] = false;
$param['status'] = 'SUCCESS';
$param['delete_flg'] = false;
$userBuyMediaList = UserMediaDat::getList($param, "id", "desc", 0, 1);
if(!empty($userBuyMediaList)) {
	$result["message"] = "不能重复购买!";
	responseNG($result);
}

//调用微信支付

//生成临时订单
$orderNo = "M" . date("YmdHis") . "_" . $userMst->id;
$userMediaDat = new UserMediaDat();
$userMediaDat->user_id = $userMst->id;
$userMediaDat->course_id = $courseId;
$userMediaDat->media_id = $mediaId
$userMediaDat->is_free = false;
$userMediaDat->money = $courseMediaDat->price;
$userMediaDat->order_no = $orderNo;
$userMediaDat->status = "NEW";
$userMediaDat->save();

//调用微信支付接口
$tools = new JsApiPay();
$input = new WxPayUnifiedOrder();
$input->SetBody($courseMediaDat->title);
$input->SetAttach($courseMediaDat->title);
$input->SetOut_trade_no($orderNo);
$input->SetTotal_fee($courseMediaDat->price * 100);//折算到分
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 800));
$input->SetGoods_tag($courseMediaDat->title);
$input->SetNotify_url("https://" . SSL_PATH . "/api/api_wx_pay_notify.php");
$input->SetTrade_type("JSAPI");
$input->SetOpenid($userMst->openid);

$order = WxPayApi::unifiedOrder($input);

$jsApiParameters = $tools->GetJsApiParameters($order);
ErrorLogger::doOutput($jsApiParameters);
ErrorLogger::doOutput("Compass...ajax_set_buy_media.php.php....End.", 0);
//已经被 encode一次了,先还原为数组。
responseOK(json_decode($jsApiParameters));

?>