Files
cunkebao_v3/Server/application/backend/controller/ProductReleaseController.php
2025-03-12 12:18:06 +08:00

63 lines
2.1 KiB
PHP

<?php
namespace app\backend\controller;
use app\common\model\ProductModel;
use app\common\model\ProductUseModel;
use app\common\model\TaskModel;
use app\common\task\ProductReleaseTask;
class ProductReleaseController extends BaseLoginController {
/**
* 保存
*
* @return \think\response\Json
*/
public function save() {
$devices = $this->request->param('devices');
$params = ProductReleaseTask::params($this->request);
if (empty($devices)
OR !is_array($devices)
OR is_null($params)) {
return $this->jsonFail('参数错误');
}
foreach ($devices as $deviceId) {
$pdts = [];
for ($i = 0; $i < $params['release_num']; $i ++) {
$product = array_shift($params['products']);
if (!empty($product)) {
$pdts[] = $product;
}
}
if (!empty($pdts)) {
$model = new TaskModel();
$model->device_id = $deviceId;
$model->platform = TaskModel::PLATFORM_XIANYU;
$model->type = TaskModel::TYPE_PRODUCT_RELEASE;
$model->params = array_merge($params, ['products' => $pdts]);
$model->run_type = TaskModel::RUN_TYPE_ONCE;
$model->run_time = '';
if ($model->save()) {
foreach ($pdts as $pdt) {
$useModel = new ProductUseModel();
$useModel->device_id = $deviceId;
$useModel->release_id = $model->id;
$useModel->product_id = $pdt['id'];
$useModel->use_type = $model->platform;
$useModel->save();
ProductModel::where(1)
->where('id', $pdt['id'])
->update([
'is_used' => ProductModel::IS_USED_YES,
]);
}
}
}
}
return $this->jsonSucc();
}
}