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.
203 lines
7.6 KiB
203 lines
7.6 KiB
<?php
|
|
|
|
namespace app\admin\service\setting;
|
|
|
|
use app\admin\service\AdminBaseService;
|
|
use app\model\DigitalListModel;
|
|
|
|
// 现货交易对
|
|
class DigitalService extends AdminBaseService
|
|
{
|
|
|
|
public function index()
|
|
{
|
|
try {
|
|
$list = DigitalListModel::order('id', 'desc')->select();
|
|
$rows = [];
|
|
if(!$list->isEmpty()){
|
|
$rows = $list->toArray();
|
|
}
|
|
return $this->toData('0', 'SUCCESS', ['list' => $rows, 'total' => count($rows)]);
|
|
}catch (\Exception $exception){
|
|
return $this->toData('1', '系统繁忙', []);
|
|
}
|
|
}
|
|
|
|
public function add($param)
|
|
{
|
|
try {
|
|
if(empty($param['trade_name']) || !is_string($param['trade_name'])){
|
|
return $this->toData('1', '数字货币名称无效');
|
|
}
|
|
|
|
|
|
if(empty($param['exchange_name']) || !is_string($param['exchange_name'])){
|
|
return $this->toData('1', '数字币兑换对名称无效');
|
|
}
|
|
|
|
// 简介
|
|
if(!empty($param['info']) && !is_string($param['info'])){
|
|
return $this->toData('1', '简介无效');
|
|
}
|
|
$info = $param['info']?? '';
|
|
|
|
// 状态
|
|
if(!isset($param['status']) || !in_array($param['status'], [0,1])){
|
|
return $this->toData('1', '启用状态无效');
|
|
}
|
|
|
|
// 排序
|
|
if(!isset($param['sort']) || !is_numeric($param['sort']) || ceil($param['sort']) != $param['sort']){
|
|
return $this->toData('1', '排序无效');
|
|
}
|
|
|
|
// 图片链接
|
|
if(empty($param['logo_link']) || !is_string($param['logo_link'])){
|
|
return $this->toData('1', 'logo链接无效');
|
|
}
|
|
|
|
// 小数位数
|
|
if(!isset($param['keep_decimal']) || !is_numeric($param['keep_decimal']) || $param['keep_decimal'] < 0 || ceil($param['keep_decimal']) != $param['keep_decimal']){
|
|
return $this->toData('1', '保留小数位无效');
|
|
}
|
|
|
|
// 判断股票代码是否已经存在
|
|
$count = DigitalListModel::where('trade_name', $param['trade_name'])->where('exchange_name', $param['exchange_name'])->count();
|
|
if($count > 0){
|
|
return $this->toData('1', '现货数字币交易对已经存在');
|
|
}
|
|
|
|
$digitalList = new DigitalListModel;
|
|
$digitalList->trade_name = $param['trade_name'];
|
|
$digitalList->exchange_name = $param['exchange_name'];
|
|
$digitalList->status = $param['status'];
|
|
$digitalList->logo_link = $param['logo_link'];
|
|
$digitalList->sort = $param['sort'];
|
|
$digitalList->keep_decimal = $param['keep_decimal'];
|
|
|
|
$digitalList->info = $info;
|
|
$digitalList->create_time = date('Y-m-d H:i:s');
|
|
$digitalList->update_time = date('Y-m-d H:i:s');
|
|
$digitalList->save();
|
|
|
|
// 设置缓存
|
|
$fee_key="DIGITAL:LIST:".strtoupper($param['trade_name']);
|
|
$redis = $this->getRedis();
|
|
$redis->del($fee_key);
|
|
$redis->hMSet($fee_key,[
|
|
'name'=>strtoupper($param['trade_name']),
|
|
'sort'=>$param['sort'],
|
|
'exchange_name'=>$param['exchange_name'],
|
|
'logo_link'=>$param['logo_link'],
|
|
'keep_decimal'=>$param['keep_decimal'],
|
|
'status'=>$param['status'],
|
|
]);
|
|
|
|
return $this->toData('0', '操作成功', []);
|
|
}catch (\Exception $exception){
|
|
return $this->toData('1', '系统繁忙', []);
|
|
}
|
|
}
|
|
|
|
public function edit($param)
|
|
{
|
|
|
|
try {
|
|
if(empty($param['id']) || !is_numeric($param['id'])){
|
|
return $this->toData('1', '目标不存在', []);
|
|
}
|
|
|
|
$digitalList = DigitalListModel::where('id', $param['id'])->find();
|
|
if(empty($digitalList)){
|
|
return $this->toData('1', '目标不存在', []);
|
|
}
|
|
|
|
if(empty($param['trade_name']) || !is_string($param['trade_name'])){
|
|
return $this->toData('1', '数字货币名称无效');
|
|
}
|
|
|
|
|
|
if(empty($param['exchange_name']) || !is_string($param['exchange_name'])){
|
|
return $this->toData('1', '数字币兑换对名称无效');
|
|
}
|
|
|
|
// 简介
|
|
if(!empty($param['info']) && !is_string($param['info'])){
|
|
return $this->toData('1', '简介无效');
|
|
}
|
|
$info = $param['info']?? '';
|
|
|
|
// 状态
|
|
if(!isset($param['status']) || !in_array($param['status'], [0,1])){
|
|
return $this->toData('1', '启用状态无效');
|
|
}
|
|
|
|
// 排序
|
|
if(!isset($param['sort']) || !is_numeric($param['sort']) || ceil($param['sort']) != $param['sort']){
|
|
return $this->toData('1', '排序无效');
|
|
}
|
|
|
|
// 图片链接
|
|
if(empty($param['logo_link']) || !is_string($param['logo_link'])){
|
|
return $this->toData('1', 'logo链接无效');
|
|
}
|
|
|
|
// 小数位数
|
|
if(!isset($param['keep_decimal']) || !is_numeric($param['keep_decimal']) || $param['keep_decimal'] < 0 || ceil($param['keep_decimal']) != $param['keep_decimal']){
|
|
return $this->toData('1', '保留小数位无效');
|
|
}
|
|
|
|
// 判断股票代码是否已经存在
|
|
$count = DigitalListModel::where('trade_name', $param['trade_name'])->where('exchange_name', $param['exchange_name'])
|
|
->where('id','<>', $param['id'])
|
|
->count();
|
|
if($count > 0){
|
|
return $this->toData('1', '现货数字币交易对已经存在');
|
|
}
|
|
|
|
$digitalList->trade_name = $param['trade_name'];
|
|
$digitalList->exchange_name = $param['exchange_name'];
|
|
$digitalList->status = $param['status'];
|
|
$digitalList->logo_link = $param['logo_link'];
|
|
$digitalList->sort = $param['sort'];
|
|
$digitalList->keep_decimal = $param['keep_decimal'];
|
|
|
|
$digitalList->info = $info;
|
|
$digitalList->update_time = date('Y-m-d H:i:s');
|
|
$digitalList->save();
|
|
|
|
// 设置缓存
|
|
$fee_key="DIGITAL:LIST:".strtoupper($param['trade_name']);
|
|
$redis = $this->getRedis();
|
|
$redis->del($fee_key);
|
|
$redis->hMSet($fee_key,[
|
|
'name'=>strtoupper($param['trade_name']),
|
|
'sort'=>$param['sort'],
|
|
'logo_link'=>$param['logo_link'],
|
|
'keep_decimal'=>$param['keep_decimal'],
|
|
'status'=>$param['status'],
|
|
]);
|
|
|
|
return $this->toData('0', '操作成功', []);
|
|
}catch (\Exception $exception){
|
|
return $this->toData('1', '系统繁忙', []);
|
|
}
|
|
}
|
|
|
|
public function getTradeNameList($param)
|
|
{
|
|
try {
|
|
if(isset($param['is_owner']) && in_array($param['is_owner'], [0,1])){
|
|
$list = DigitalListModel::where('status', 1)->order('id', 'desc')
|
|
->where('is_owner', $param['is_owner'])
|
|
->column('trade_name', 'id');
|
|
} else {
|
|
$list = DigitalListModel::where('status', 1)->order('id', 'desc')->column('trade_name', 'id');
|
|
}
|
|
|
|
return $this->toData('0', 'SUCCESS', ['list' => $list]);
|
|
}catch (\Exception $exception){
|
|
return $this->toData('1', '系统繁忙', []);
|
|
}
|
|
}
|
|
}
|