build(dependencies): 更新 phpspreadsheet 版本

- 将 phpspreadsheet 依赖从 ^3.4 升级到 ^3.6
- 优化了订单列表问题
- 优化了读取文件代码
This commit is contained in:
mzeros 2024-12-09 18:08:31 +08:00
parent d24a69f721
commit 982020aad9
10 changed files with 837 additions and 378 deletions

View File

@ -50,7 +50,12 @@
{block name='script'}
<script>
$(function () {
$('#QueueTable').layTable({
even: true, height: 'full',
sort: {field: 'loops_time desc,id', type: 'desc'},
// 扩展数据处理,需要返回原 items 数据

View File

@ -229,13 +229,25 @@ class Order extends Controller
$this->success('获取数据列表成功', $result);
} else {
// 新版本中 QueryHelper 对象支持 Layui 表格数据加载
// $query->order('create_at desc')->layTable(function(QueryHelper $query){
// 前置操作,处理 HTML 模型
// // 新版本中 QueryHelper 对象支持 Layui 表格数据加载
// $query->layTable(function(QueryHelper $query){
// // 前置操作,处理 HTML 模型
// });
$res= $query->order('create_at desc')->page();
// 新版本中 QueryHelper 对象支持 Layui 表格数据加载
$query->order('create_at desc')->layTable(function(QueryHelper $query){
$this->clist = OrderService::instance()->getChannelList(true);
$this->mlist = OrderService::instance()->getMerchantList(true);
$this->plist = OrderService::instance()->getProductList(true);
$this->pkeylist = OrderService::instance()->getProductKeyList(true);
$this->search = $this->getConfig();
},function(QueryHelper $query){
// $vo['isp_name'] = $this->isp[$vo['isp']];
// 后置操作,处理表格数据
});
// $res= $query->order('create_at desc')->page();
}
@ -1277,9 +1289,12 @@ class Order extends Controller
} else {
$this->error('请上传文件');
}
// var_dump($data);die;
if (str_contains($data['file']['name'], '.xls')) {
$file = 'card/order_card.xlsx';
} elseif (str_contains($data['file']['name'], '.xlsx')) {
$file = 'card/order_card.xlsx';
} else {
$file = 'card/order_card.txt';
}
@ -1287,11 +1302,16 @@ class Order extends Controller
if (is_file($file)) {
@unlink($file);
}
$file =dirname(__DIR__, 3).'/public/'.$file;
// var_dump($s);die;
;
// $file=$data['file']['tmp_name'];
copy($data['file']['tmp_name'], $file);
if (is_file($file)) {
$data = $this->read($file);
// var_dump($data);die;
$yes = 0;
$no = 0;
@ -1376,30 +1396,19 @@ class Order extends Controller
}
return $result;
}
include('../excel/PHPExcel.php');
$objRead = new \PHPExcel_Reader_Excel2007();
if (!$objRead->canRead($file)) {
$objRead = new \PHPExcel_Reader_Excel5();
if (!$objRead->canRead($file)) {
Export::alert('file not exists!');
}
}
$sheet = 0;
$offset = 0;
$obj = $objRead->load($file);
$currSheet = $obj->getSheet($sheet);
$columnH = $currSheet->getHighestColumn();
$spreadsheet = IOFactory::load($file);
$sheet = $spreadsheet->getActiveSheet(); // 获取表格
$highestRow = $sheet->getHighestRow(); // 取得总行数
$columnH = $sheet->getHighestColumn();
$columnCnt = array_search($columnH, $this->cell);
$rowCnt = $currSheet->getHighestRow();
$rowCnt = $sheet->getHighestRow();
$data = array();
for ($_row = 1; $_row <= $rowCnt; $_row++) {
for ($_column = 0; $_column <= $columnCnt; $_column++) {
$cellId = $this->cell[$_column].$_row;
//$cellValue = $currSheet->getCell($cellId)->getValue();
$cellValue = $currSheet->getCell($cellId)->getCalculatedValue();
$cellValue = $sheet->getCell($cellId)->getCalculatedValue();
if ($cellValue instanceof \PHPExcel_RichText) {
$cellValue = $cellValue->__toString();
}
@ -1408,6 +1417,41 @@ class Order extends Controller
}
return $data;
//
// include('../excel/PHPExcel.php');
//
// $objRead = new \PHPExcel_Reader_Excel2007();
// if (!$objRead->canRead($file)) {
// $objRead = new \PHPExcel_Reader_Excel5();
// if (!$objRead->canRead($file)) {
// Export::alert('file not exists!');
// }
// }
// $sheet = 0;
// $offset = 0;
//
// $obj = $objRead->load($file);
// $currSheet = $obj->getSheet($sheet);
// $columnH = $currSheet->getHighestColumn();
// $columnCnt = array_search($columnH, $this->cell);
// $rowCnt = $currSheet->getHighestRow();
//
// $data = array();
// for ($_row = 1; $_row <= $rowCnt; $_row++) {
// for ($_column = 0; $_column <= $columnCnt; $_column++) {
// $cellId = $this->cell[$_column].$_row;
// //$cellValue = $currSheet->getCell($cellId)->getValue();
// $cellValue = $currSheet->getCell($cellId)->getCalculatedValue();
// if ($cellValue instanceof \PHPExcel_RichText) {
// $cellValue = $cellValue->__toString();
// }
// $data[$_row][$this->cell[$_column]] = $cellValue;
// }
// }
//
// return $data;
}
# 批量上传充值文件

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<fieldset>
<legend>条件搜索</legend>
<form class="layui-form layui-form-pane form-search" action="{:request()->url()}" onsubmit="return false" method="get" autocomplete="off">
<form class="layui-form layui-form-pane form-search" action="{:sysuri()}" onsubmit="return false" method="get" autocomplete="off">
<div class="layui-form-item layui-inline">
<label class="layui-form-label">渠道</label>
<label class="layui-input-inline">
@ -230,6 +230,7 @@
<button type="button" class="layui-btn layui-btn-primary" onclick="location.reload()"><i class="layui-icon">&#xe669;</i> 刷 新</button>
{if input('set_callback') != 1}
<button type="button" class="layui-btn layui-btn-primary" onclick="location.href=location.href+'&set_callback=1'"><i class="layui-icon">&#xe653;</i>手动回调</button>
<!-- <button type="button" class="layui-btn layui-btn-primary" onclick="location.href=location.href+'&set_callback=1'"><i class="layui-icon">&#xe653;</i>手动回调</button>-->
{/if}
<button type="button" class="layui-btn layui-btn-primary" data-title="手动充值" data-modal="{:url('pay')}"><i class="layui-icon">&#xe653;</i>手动充值</button>

View File

@ -37,7 +37,7 @@
<td class='text-left nowrap'><span class="color-desc">{$vo.channel_order_id|default=''}</span></td>
</tr>
<tr>
<td class='text-left nowrap'><span class="color-desc">上游订单号</span></td>
<td class='text-left nowrap'><span class="color-desc">平台侧订单号</span></td>
<td class='text-left nowrap'><span class="color-desc">{$vo.parent_order_id|default=''}</span></td>
</tr>
<tr>

View File

@ -21,7 +21,13 @@
<div class="layui-form-item">
<label class="color-black font-w7" >充值文件</label>
<div class="">
<button class="layui-btn layui-btn-primary" type='button' id="upload">选择充值文件</button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-active demo-class-accept" lay-options="{accept: 'file',exts: 'xlsx|xls'}">
<i class="layui-icon layui-icon-upload"></i>
选择充值文件
</button>
<!-- <button class="layui-btn layui-btn-primary" type='button' id="uploads">选择充值文件</button>-->
</div>
<span class="color-desc">充值文件格式为excel表格或者txt文本文件只需输入加油卡卡号即可上传成功自动导入到下述充值数据中</span>
@ -42,6 +48,8 @@
<button class="layui-btn layui-btn-danger" type='button' data-confirm="确定要取消吗?" data-close>取消</button>
</div>
</form>
<script>
form.render();
@ -57,7 +65,39 @@ function sform()
});
}
layui.use('upload', function(){
layui.use(function(){
var upload = layui.upload;
var layer = layui.layer;
// 渲染
upload.render({
elem: '.demo-class-accept', // 绑定多个元素
url: '/order/order/upload.html', // 此处配置你自己的上传接口即可
accept: 'file', // 普通文件
progress: function() {
layer.msg('上传中');
},
done: function(res){
if (res.code === 1) {
layer.msg('上传成功,点此继续上传');
layer.msg(res.info);
var data = res.data;
var old = $('#content_data').val();
if (old) {
data = old + "\r\n" + data;
}
$('#content_data').val(data);
} else {
layer.msg(res.info);
}
}
});
});
layui.use('uploads', function(){
var $ = layui.jquery
,upload = layui.upload;
//指定允许上传的文件类型
@ -66,11 +106,10 @@ layui.use('upload', function(){
,url: '/order/order/upload.html'
,accept: 'file' //普通文件
,progress: function() {
$('#upload').html('上传中...');
}
,done: function(res){
if (res.code == 1) {
layer.msg('上传成功');
$('#upload').html('上传成功,点此继续上传');
layer.msg(res.info);
var data = res.data;

View File

@ -4,7 +4,7 @@
<div class="layui-form-item">
<label class="relative block">
<span class="color-green font-w7">官方流水号</span>
<input name="s_number" value='{s_number|default=""}' placeholder="请输入官方流水号" class="layui-input">
<input name="s_number" value='{$s_number|default=""}' placeholder="请输入官方流水号" class="layui-input">
</label>
<p class="color-desc">为空则不设置流水号</p>
</div>

View File

@ -229,6 +229,23 @@ class Task extends Core
}
}
# 对暂停的的订单重新下单 status = -5
public function runStopOrder()
{
$orderService = OrderService::instance();
$result = $orderService->getStopOrder();
if ($result) {
$data = $result;
foreach ($data as $k => $v) {
$id = $orderService->db()->where('id', $v['id'])->update(['status' => -8]);
}
}
}
# 对需要复冲下单的订单下单 status = -4 可以加入到计划任务中,每分钟执行一次
public function runFcOrder()
{

View File

@ -32,7 +32,7 @@
"zoujingli/wechat-developer": "^1.2",
"zoujingli/think-plugs-admin": "^1.0",
"webman/console": "^v1.2.35",
"phpoffice/phpspreadsheet": "^3.4",
"phpoffice/phpspreadsheet": "^3.6",
"ext-mcrypt": "*",
"ext-apcu": "*",
"ext-xmlreader": "*",

BIN
public/card/order_card.xlsx Normal file

Binary file not shown.