vr-shopxo-plugin/shopxo/app/plugins/wallet/service/RechargeService.php

159 lines
5.2 KiB
PHP

<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2099 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( https://opensource.org/licenses/mit-license.php )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace app\plugins\wallet\service;
use think\facade\Db;
use app\plugins\wallet\service\BaseService;
use app\plugins\wallet\service\WalletService;
/**
* 充值服务层
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class RechargeService
{
/**
* 充值订单创建
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-04-29
* @desc description
* @param [array] $params [输入参数]
*/
public static function RechargeCreate($params = [])
{
// 请求参数
$p = [
[
'checked_type' => 'empty',
'key_name' => 'user',
'error_msg' => MyLang('user_info_incorrect_tips'),
],
[
'checked_type' => 'fun',
'key_name' => 'money',
'checked_data' => 'CheckPrice',
'error_msg' => '请输入有效的充值金额',
],
[
'checked_type' => 'min',
'key_name' => 'money',
'checked_data' => 0.01,
'error_msg' => '请输入大于0的充值金额',
],
];
$ret = ParamsChecked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// 是否存在钱包基础配置数据
if(empty($params['plugins_config']))
{
$base = BaseService::BaseConfig();
$params['plugins_config'] = $base['data'];
}
// 是否开启充值
if(!isset($params['plugins_config']['is_enable_recharge']) || $params['plugins_config']['is_enable_recharge'] != 1)
{
return DataReturn('未开启充值功能、请联系管理员!', -1);
}
// 用户钱包信息
if(empty($params['user_wallet']))
{
$user_wallet = WalletService::UserWallet($params['user']['id']);
if($user_wallet['code'] != 0)
{
return $$user_wallet;
}
$params['user_wallet'] = $user_wallet['data'];
}
// 添加
$data = [
'recharge_no' => date('YmdHis').GetNumberCode(6),
'wallet_id' => $params['user_wallet']['id'],
'user_id' => $params['user']['id'],
'money' => PriceNumberFormat($params['money']),
'status' => 0,
'operate_id' => empty($params['operate_id']) ? 0 : intval($params['operate_id']),
'operate_name' => empty($params['operate_name']) ? '' : trim($params['operate_name']),
'add_time' => time(),
];
$recharge_id = Db::name('PluginsWalletRecharge')->insertGetId($data);
if($recharge_id > 0)
{
return DataReturn(MyLang('insert_success'), 0, [
'recharge_id' => $recharge_id,
'recharge_no' => $data['recharge_no'],
'money' => $data['money'],
'user_id' => $data['user_id'],
'wallet_id' => $data['wallet_id'],
]);
}
return DataReturn(MyLang('insert_fail'), -100);
}
/**
* 充值纪录删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-14
* @desc description
* @param [array] $params [输入参数]
*/
public static function RechargeDelete($params = [])
{
// 请求参数
$p = [
[
'checked_type' => 'empty',
'key_name' => 'id',
'error_msg' => MyLang('data_id_error_tips'),
],
[
'checked_type' => 'empty',
'is_checked' => 2,
'key_name' => 'user',
'error_msg' => MyLang('user_info_incorrect_tips'),
],
];
$ret = ParamsChecked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// 删除
$where = [
'id' => intval($params['id']),
];
if(!empty($params['user']['id']))
{
$where['user_id'] = $params['user']['id'];
}
if(Db::name('PluginsWalletRecharge')->where($where)->delete())
{
return DataReturn(MyLang('delete_success'), 0);
}
return DataReturn(MyLang('delete_fail'), -100);
}
}
?>