Files
2026-09-14 16:32:07 +08:00

78 lines
1.8 KiB
PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* 序列号
*/
class Series_number extends AdminController
{
protected $base_model = 'series_number_model';
function list_get()
{
$items = parent::_list_get(true);
$this->load->model('package_model');
$package = $this->package_model->get(false,'id,name',true);
$package_map = [
'0'=>'未绑定套餐'
];
foreach ($package as $item) {
$package_map[$item['id']] = $item['name'];
}
foreach ($items['items'] as &$item) {
$item['status_desc'] = !empty($item['sample_id'])?'已激活':'未激活';
$item['package_name'] = $package_map[$item['package_ori']];
}
//统计
$items['stat'] = [
'total'=>(int)$this->{$this->base_model}->total(),
'used'=>(int)$this->{$this->base_model}->total(['s.id>0'],true),
'unused'=>(int)$this->{$this->base_model}->total(['s.id is null'],true),
];
$this->success($items);
}
//批量新建
function batch_create_post()
{
$data = $this->json_input();
if(empty($data['package_ori'])){
$this->error('套餐不能为空');
}
$package_id = trim($data['package_ori']);
$number = explode("\n",trim($data['device_id']));
$devices = [];
foreach ($number as $item) {
$item = trim($item);
if(empty($item)){
continue;
}
$devices[] = [
'device_id'=>$item,
'package_ori'=>$package_id
];
}
if(empty($devices)){
$this->error('序列号为空');
}
$config = array(
array(
'field' => 'device_id',
'label' => '序号',
'rules' => 'trim|min_length[0]|max_length[20]'
),
array(
'field' => 'package_ori',
'label' => '套餐名称',
'rules' => 'trim|required|min_length[1]|max_length[11]',
'errors' => array(
'required' => 'You must provide a %s.',
),
),
);
$this->_batch_create_post($config,$devices);
$this->success();
}
}