提交 d198c9e3 编写于 作者: G gongfuxiang

pay

上级 3d69c09a
......@@ -15,6 +15,7 @@ class PaymentController extends CommonController
{
private $payment_dir;
private $payment_business_type_all;
private $cannot_deleted_list;
/**
* [_initialize 前置操作-继承公共前置方法]
......@@ -39,6 +40,9 @@ class PaymentController extends CommonController
// 支付业务类型
$this->payment_business_type_all = C('payment_business_type_all');
// 不删除的支付方式
$this->cannot_deleted_list = ['DeliveryPayment', 'CashPayment'];
}
/**
......@@ -50,8 +54,8 @@ class PaymentController extends CommonController
*/
public function Index()
{
// 数据列表
$this->assign('list', $this->GetPaymentList());
$this->assign('cannot_deleted_list', $this->cannot_deleted_list);
$this->display('Index');
}
......@@ -93,8 +97,9 @@ class PaymentController extends CommonController
$temp['name'] = $db_config[0]['name'];
$temp['logo'] = $db_config[0]['logo'];
$temp['apply_terminal'] = $db_config[0]['apply_terminal'];
$temp['is_enable'] = $db_config[0]['is_enable'];
$temp['config'] = $db_config[0]['config'];
$temp['is_enable'] = $db_config[0]['is_enable'];
$temp['is_open_user'] = $db_config[0]['is_open_user'];
}
$data[] = $temp;
}
......@@ -128,6 +133,7 @@ class PaymentController extends CommonController
'logo' => '',
'is_enable' => 0,
'is_open_user' => 0,
'is_install' => 0,
'apply_terminal'=> array_column(L('common_apply_terminal_list'), 'value'),
'config' => '',
......@@ -206,6 +212,7 @@ class PaymentController extends CommonController
// 公共额外数据处理
$_POST['is_enable'] = intval(I('is_enable', 0));
$_POST['is_open_user'] = intval(I('is_open_user', 0));
// 编辑
if($m->create($_POST, 2))
......@@ -273,9 +280,10 @@ class PaymentController extends CommonController
{
$this->ajaxReturn(L('common_param_error'), -1);
}
$field = I('field', 'is_enable');
// 数据更新
if(M('Payment')->where(array('payment'=>I('id')))->save(array('is_enable'=>I('state'))))
if(M('Payment')->where(array('payment'=>I('id')))->save(array($field=>I('state'))))
{
$this->ajaxReturn(L('common_operation_edit_success'));
} else {
......@@ -419,8 +427,14 @@ class PaymentController extends CommonController
$this->ajaxReturn(L('common_param_error'), -1);
}
// 是否存在
// 是否禁止删除
$payment = I('id');
if(in_array($payment, $this->cannot_deleted_list))
{
$this->ajaxReturn(L('payment_cannot_deleted_error'), -10);
}
// 是否存在
$file = $this->payment_dir.$payment.'.class.php';
if(!file_exists($file))
{
......
......@@ -12,11 +12,11 @@ return array(
'order_time_start_text' => '起始时间',
'order_time_end_text' => '结束时间',
'order_goods_text' => '商品信息',
'order_base_text' => '基础信息',
'order_receive_text' => '收件信息',
'order_express_text' => '快递信息',
'order_user_note_text' => '用户备注',
'order_price_text' => '订单金额(元)',
'order_price_th_text' => '订单金额(元)',
'order_confirm_time_text' => '确认时间',
'order_pay_time_text' => '支付时间',
......@@ -29,5 +29,12 @@ return array(
'order_business_express_title' => '选择快递',
'order_express_number_text' => '快递单号',
'order_express_number_format' => '请填写快递单号',
'order_order_no_text' => '订单号',
'order_price_text' => '金额',
'order_preferential_price_text' => '优惠',
'order_total_price_text' => '总价',
'order_pay_price_text' => '支付',
);
?>
\ No newline at end of file
......@@ -33,5 +33,8 @@ return array(
'payment_upload_format' => '文件格式有误,必须php文件',
'payment_upload_error' => '插件编写有误,请参考文档编写',
'payment_plugins_element_tips' => '该区域为插件配置填写项,请按照插件文档填写相应的值。',
'payment_cannot_deleted_error' => '该支付方式禁止删除',
'payment_is_open_user_text' => '对用户放开',
);
?>
\ No newline at end of file
......@@ -48,12 +48,12 @@
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-10 m-l-5">
<thead>
<tr>
<th class="am-hide-sm-only th-goods">{{:L('order_goods_text')}}</th>
<th class="am-hide-sm-only th-goods">{{:L('order_base_text')}}</th>
<th class="am-hide-sm-only th-receive-address">{{:L('order_receive_text')}}</th>
<th class="am-hide-sm-only">{{:L('order_express_text')}}</th>
<th>{{:L('common_order_status_name')}}</th>
<th>{{:L('common_pay_status_name')}}</th>
<th>{{:L('order_price_text')}}</th>
<th class="am-hide-sm-only">{{:L('common_pay_status_name')}}</th>
<th>{{:L('order_price_th_text')}}</th>
<th>{{:L('common_more_name')}}</th>
<th>{{:L('common_operation_name')}}</th>
</tr>
......@@ -63,6 +63,7 @@
<foreach name="list" item="v">
<tr id="data-list-{{$v.id}}">
<td class="am-hide-sm-only">
<div class="order-no">{{$v.order_no}}</div>
<foreach name="v.goods" item="vs">
<div class="goods-item">
<div class="base">
......@@ -106,14 +107,14 @@
<span class="block cr-red fs-12">用户已删除</span>
</if>
</td>
<td>
<td class="am-hide-sm-only">
<span class="block">{{$v.pay_status_text}}</span>
</td>
<td>
订单金额:{{$v.price}}<br />
优惠金额:{{$v.preferential_price}}<br />
订单总价:{{$v.total_price}}<br />
支付金额:{{$v.pay_price}}
{{:L('order_price_text')}}:{{$v.price}}<br />
{{:L('order_preferential_price_text')}}:{{$v.preferential_price}}<br />
{{:L('order_total_price_text')}}:{{$v.total_price}}<br />
{{:L('order_pay_price_text')}}:{{$v.pay_price}}
</td>
<td>
<span class="am-icon-caret-down c-p" data-am-modal="{target: '#my-popup{{$v.id}}'}"> {{:L('common_see_more_name')}}</span>
......@@ -125,7 +126,10 @@
</div>
<div class="am-popup-bd">
<dl class="dl-content">
<dt>{{:L('order_goods_text')}}</dt>
<dt>{{:L('order_order_no_text')}}</dt>
<dd><if condition="empty($v['order_no'])"><span class="cr-ddd">{{:L('common_on_fill_in_the_text')}}</span><else />{{$v.order_no}}</if></dd>
<dt>{{:L('order_base_text')}}</dt>
<dd>
<foreach name="v.goods" item="vs">
<div class="goods-item">
......@@ -164,24 +168,24 @@
<dt>{{:L('common_pay_status_name')}}</dt>
<dd><if condition="empty($v['pay_status_text'])"><span class="cr-ddd">{{:L('common_on_fill_in_the_text')}}</span><else />{{$v.pay_status_text}}</if></dd>
<dt>{{:L('common_order_status_name')}}</dt>
<dd><if condition="empty($v['status_text'])"><span class="cr-ddd">{{:L('common_not_set_text')}}</span><else />{{$v.status_text}}</if></dd>
<dt>{{:L('order_user_note_text')}}</dt>
<dd><if condition="empty($v['user_note'])"><span class="cr-ddd">{{:L('common_on_fill_in_the_text')}}</span><else />{{$v.user_note}}</if></dd>
<dt>{{:L('order_price_text')}}</dt>
<dt>{{:L('order_price_th_text')}}</dt>
<dd>
<if condition="empty($v['price'])">
<span class="cr-ddd">{{:L('common_on_fill_in_the_text')}}</span>
<else />
订单金额:{{$v.price}}<br />
优惠金额:{{$v.preferential_price}}<br />
订单总价:{{$v.total_price}}<br />
支付金额:{{$v.pay_price}}
{{:L('order_price_text')}}:{{$v.price}}<br />
{{:L('order_preferential_price_text')}}:{{$v.preferential_price}}<br />
{{:L('order_total_price_text')}}:{{$v.total_price}}<br />
{{:L('order_pay_price_text')}}:{{$v.pay_price}}
</if>
</dd>
<dt>{{:L('common_order_status_name')}}</dt>
<dd><if condition="empty($v['status_text'])"><span class="cr-ddd">{{:L('common_not_set_text')}}</span><else />{{$v.status_text}}</if></dd>
<dt>{{:L('order_confirm_time_text')}}</dt>
<dd><if condition="empty($v['confirm_time'])"><span class="cr-ddd">{{:L('common_on_fill_in_the_text')}}</span><else />{{$v.confirm_time}}</if></dd>
......
......@@ -20,6 +20,7 @@
<th class="am-hide-sm-only">{{:L('payment_author_text')}}</th>
<th class="am-hide-sm-only th-desc">{{:L('payment_desc_text')}}</th>
<th>{{:L('common_view_enable_title')}}</th>
<th>{{:L('payment_is_open_user_text')}}</th>
<th>{{:L('common_operation_name')}}</th>
</tr>
</thead>
......@@ -72,7 +73,14 @@
</td>
<td>
<if condition="$v['is_install'] eq 1">
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state <if condition="$v['is_enable'] eq 1">am-success<else />am-default</if>" data-url="{{:U('Admin/Payment/StatusUpdate')}}" data-id="{{$v.payment}}" data-state="{{$v['is_enable']}}" data-is-update-status="1"></a>
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state <if condition="$v['is_enable'] eq 1">am-success<else />am-default</if>" data-url="{{:U('Admin/Payment/StatusUpdate')}}" data-id="{{$v.payment}}" data-field="is_enable" data-state="{{$v['is_enable']}}" data-is-update-status="1"></a>
<else />
<span class="cr-ddd">{{:L('common_not_install_text')}}</span>
</if>
</td>
<td>
<if condition="$v['is_install'] eq 1">
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state <if condition="$v['is_open_user'] eq 1">am-success<else />am-default</if>" data-url="{{:U('Admin/Payment/StatusUpdate')}}" data-id="{{$v.payment}}" data-field="is_open_user" data-state="{{$v['is_open_user']}}"></a>
<else />
<span class="cr-ddd">{{:L('common_not_install_text')}}</span>
</if>
......@@ -81,9 +89,9 @@
<if condition="$v['is_install'] eq 0">
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-cubes submit-ajax" data-url="{{:U('Admin/Payment/Install')}}" data-id="{{$v.payment}}" data-view="reload" data-msg="{{:L('common_install_msg')}}"> {{:L('common_operation_install')}}</button>
<if condition="$v['is_enable'] eq 0">
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:U('Admin/Payment/Delete')}}" data-id="{{$v.payment}}"> {{:L('common_operation_delete')}}</button>
</if>
<if condition="!in_array($v['payment'], $cannot_deleted_list)">
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:U('Admin/Payment/Delete')}}" data-id="{{$v.payment}}"> {{:L('common_operation_delete')}}</button>
</if>
<else />
<a href="{{:U('Admin/Payment/SaveInfo', array('id'=>$v['id']))}}">
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-edit"> {{:L('common_operation_edit')}}</button>
......
......@@ -120,6 +120,11 @@
<input type="number" placeholder="{{:L('common_view_sort_title')}}" name="sort" min="0" max="255" data-validation-message="{{:L('common_sort_error')}}" class="am-radius" value="<if condition="isset($data['sort'])">{{$data.sort}}<else />0</if>" required />
</div>
<div class="am-form-group">
<label class="block">{{:L('payment_is_open_user_text')}}</label>
<input name="is_open_user" value="1" type="checkbox" data-off-text="{{:L('common_operation_off_is_text')}}" data-on-text="{{:L('common_operation_on_is_text')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch <if condition="(isset($data['is_open_user']) and $data['is_open_user'] eq 1) or !isset($data['is_open_user'])">checked="true"</if> />
</div>
<div class="am-form-group">
<label class="block">{{:L('common_view_enable_title')}}</label>
<input name="is_enable" value="1" type="checkbox" data-off-text="{{:L('common_operation_off_is_text')}}" data-on-text="{{:L('common_operation_on_is_text')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch <if condition="(isset($data['is_enable']) and $data['is_enable'] eq 1) or !isset($data['is_enable'])">checked="true"</if> />
......
......@@ -55,10 +55,10 @@ class BuyController extends CommonController
$this->assign('user_address_list', UserService::UserAddressList(['user'=>$this->user])['data']);
// 快递
$this->assign('express_list', ResourcesService::ExpressList(['is_enable'=>1]));
$this->assign('express_list', ResourcesService::ExpressList(['is_enable'=>1, 'is_open_user'=>1]));
// 支付方式
$this->assign('payment_list', ResourcesService::BuyPaymentList(['is_enable'=>1]));
$this->assign('payment_list', ResourcesService::BuyPaymentList(['is_enable'=>1, 'is_open_user'=>1]));
// 商品/基础信息
$base = [
......
......@@ -50,7 +50,6 @@ class OrderController extends CommonController
// 条件
$where = OrderService::HomeOrderListWhere($params);
// 获取总数
$total = OrderService::OrderTotal($where);
......@@ -74,7 +73,7 @@ class OrderController extends CommonController
$this->assign('data_list', $data['data']);
// 发起支付 - 支付方式
$this->assign('buy_payment_list', ResourcesService::BuyPaymentList());
$this->assign('buy_payment_list', ResourcesService::BuyPaymentList(['is_enable'=>1, 'is_open_user'=>1]));
// 支付方式
$this->assign('payment_list', ResourcesService::PaymentList());
......
<?php
namespace Library\Payment;
/**
* 现金支付
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
*/
class CashPayment
{
// 插件配置参数
private $config;
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-17
* @desc description
* @param [array] $params [输入参数(支付配置参数)]
*/
public function __construct($params = [])
{
$this->config = $params;
}
/**
* 配置信息
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
*/
public function Config()
{
// 基础信息
$base = [
'name' => '现金支付', // 插件名称
'version' => '0.0.1', // 插件版本
'apply_version' => '不限', // 适用系统版本描述
'desc' => '现金方式支付货款', // 插件描述(支持html)
'author' => 'Devil', // 开发者
'author_url' => 'http://gong.gg/', // 开发者主页
];
// 配置信息
$element = [
];
return [
'base' => $base,
'element' => $element,
];
}
/**
* 支付入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public function Pay($params = [])
{
$url = __MY_URL__.'payment_order_'.strtolower(substr(__CLASS__, strripos(__CLASS__, '\\')+1)).'_respond.php';
return DataReturn('处理成功', 0, $url);
}
/**
* 支付回调处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public function Respond($params = [])
{
return DataReturn('处理成功', 0);
}
}
?>
\ No newline at end of file
<?php
namespace Library\Payment;
/**
* 货到付款
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
*/
class DeliveryPayment
{
// 插件配置参数
private $config;
/**
* 构造方法
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-17
* @desc description
* @param [array] $params [输入参数(支付配置参数)]
*/
public function __construct($params = [])
{
$this->config = $params;
}
/**
* 配置信息
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
*/
public function Config()
{
// 基础信息
$base = [
'name' => '货到付款', // 插件名称
'version' => '0.0.1', // 插件版本
'apply_version' => '不限', // 适用系统版本描述
'desc' => '送货上门后收取货款', // 插件描述(支持html)
'author' => 'Devil', // 开发者
'author_url' => 'http://gong.gg/', // 开发者主页
];
// 配置信息
$element = [
];
return [
'base' => $base,
'element' => $element,
];
}
/**
* 支付入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public function Pay($params = [])
{
$url = __MY_URL__.'payment_order_'.strtolower(substr(__CLASS__, strripos(__CLASS__, '\\')+1)).'_respond.php';
return DataReturn('处理成功', 0, $url);
}
/**
* 支付回调处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-19
* @desc description
* @param [array] $params [输入参数]
*/
public function Respond($params = [])
{
return DataReturn('处理成功', 0);
}
}
?>
\ No newline at end of file
......@@ -66,9 +66,16 @@ class ResourcesService
public static function PaymentList($params = [])
{
$where = empty($params['where']) ? [] : $params['where'];
$where['is_enable'] = isset($params['is_enable']) ? intval($params['is_enable']) : 1;
if(isset($params['is_enable']))
{
$where['is_enable'] = intval($params['is_enable']);
}
if(isset($params['is_open_user']))
{
$where['is_open_user'] = intval($params['is_open_user']);
}
$data = M('Payment')->where($where)->field('id,logo,name,sort,payment,config,apply_terminal,apply_terminal,element,is_enable')->order('sort asc')->select();
$data = M('Payment')->where($where)->field('id,logo,name,sort,payment,config,apply_terminal,apply_terminal,element,is_enable,is_open_user')->order('sort asc')->select();
if(!empty($data) && is_array($data))
{
$images_host = C('IMAGE_HOST');
......
......@@ -23,7 +23,8 @@
.am-table .goods-item { padding: 5px 0; }
.am-table .goods-item, .am-table .goods-item .base { overflow: hidden; }
.am-table .goods-item .other .fl { width: 60%; }
.am-table .goods-item:not(:last-child) { border-bottom: 1px solid #eee; }
.am-table .goods-item:not(:last-child), .am-table .order-no { border-bottom: 1px solid #eee; }
.am-table .order-no { font-weight: 700; color: #333;}
/**
......
<?php
/**
* 订单支付异步入口
*/
// 默认绑定模块
$_GET['m'] = 'Api';
$_GET['c'] = 'OrderNotify';
$_GET['a'] = 'Notify';
// 支付模块标记
define('PAYMENT_TYPE', 'CashPayment');
// 引入公共入口文件
require './core.php';
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
?>
\ No newline at end of file
<?php
/**
* 订单支付同步入口
*/
// 默认绑定模块
$_GET['m'] = 'Home';
$_GET['c'] = 'Order';
$_GET['a'] = 'Respond';
// 支付模块标记
define('PAYMENT_TYPE', 'CashPayment');
// 引入公共入口文件
require './core.php';
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
?>
\ No newline at end of file
<?php
/**
* 订单支付异步入口
*/
// 默认绑定模块
$_GET['m'] = 'Api';
$_GET['c'] = 'OrderNotify';
$_GET['a'] = 'Notify';
// 支付模块标记
define('PAYMENT_TYPE', 'DeliveryPayment');
// 引入公共入口文件
require './core.php';
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
?>
\ No newline at end of file
<?php
/**
* 订单支付同步入口
*/
// 默认绑定模块
$_GET['m'] = 'Home';
$_GET['c'] = 'Order';
$_GET['a'] = 'Respond';
// 支付模块标记
define('PAYMENT_TYPE', 'DeliveryPayment');
// 引入公共入口文件
require './core.php';
// 引入ThinkPHP入口文件
require './ThinkPHP/ThinkPHP.php';
?>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册