194 lines
6.6 KiB
PHP
194 lines
6.6 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
require_once APPPATH . 'controllers/api/BaseController.php';
|
|
|
|
/**
|
|
* Notes:私域直播_商品管理
|
|
* Created on: 2022/10/21 17:15
|
|
* Created by: dengbw
|
|
*/
|
|
class Goods extends BaseController
|
|
{
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('market/Market_sylive_items_model', 'mdSyliveItems');
|
|
}
|
|
|
|
/**
|
|
* Notes:商品管理列表
|
|
* Created on: 2022/9/20 14:48
|
|
* Created by: dengbw
|
|
*/
|
|
public function page_get()
|
|
{
|
|
$activityId = intval($this->input_param('activityId'));
|
|
$page = $this->input_param('page');
|
|
$limit = $this->input_param('limit');
|
|
$title = $this->input_param('title');
|
|
$sort = $this->input_param('sort');
|
|
$order = $this->input_param('order');
|
|
!$page && $page = 1;
|
|
!$limit && $limit = 10;
|
|
$sort_order = 'itemId desc';
|
|
if ($sort && $order) {
|
|
$sort_order = $sort . ' ' . $order;
|
|
}
|
|
$where['status>='] = 0;
|
|
$title && $where['title LIKE "%' . trim($title) . '%"'] = null;
|
|
$activityId && $where['activityId'] = $activityId;
|
|
$count = $this->mdSyliveItems->count($where);
|
|
$list = [];
|
|
if ($count) {
|
|
$res = $this->mdSyliveItems->select($where, $sort_order, $page, $limit);
|
|
foreach ($res as $v) {
|
|
$banner = [];
|
|
$dateRange = '';
|
|
$imgs = $v['imgs'] ? json_decode($v['imgs'], true) : [];
|
|
if ($imgs['banner']) {
|
|
foreach ($imgs['banner'] as $k2 => $v2) {
|
|
$banner[] = ['uid' => $k2 + 1, 'fileUrl' => $v2, 'url' => build_qiniu_image_url($v2), 'status' => 'done'];
|
|
}
|
|
}
|
|
$timeStart = $v['timeStart'] != '0000-00-00 00:00:00' ? $v['timeStart'] : '';
|
|
$v['timeStart'] && $dateRange[] = $v['timeStart'];
|
|
$v['timeEnd'] && $dateRange[] = $v['timeEnd'];
|
|
$list[] = ['itemId' => $v['itemId'], 'activityId' => $v['activityId'], 'title' => $v['title'], 'banner' => $banner
|
|
, 'dateRange' => $dateRange, 'descrip' => $v['descrip'], 'price' => $v['price'], 'stock' => $v['stock']
|
|
, 'timeStart' => $timeStart, 'sort' => $v['sort'], 'status' => intval($v['status']), 'createTime' => $v['createTime']];
|
|
}
|
|
}
|
|
$date = ['list' => $list, 'count' => $count];
|
|
$this->return_response_list($date);
|
|
}
|
|
|
|
/**
|
|
* Notes:添加商品
|
|
* Created on: 2022/10/21 16:46
|
|
* Created by: dengbw
|
|
*/
|
|
public function index_post()
|
|
{
|
|
$activityId = intval($this->input_param('activityId'));
|
|
$title = $this->input_param('title');
|
|
$banner = $this->input_param('banner');
|
|
$descrip = $this->input_param('descrip');
|
|
$price = $this->input_param('price');
|
|
$stock = $this->input_param('stock');
|
|
$sort = $this->input_param('sort');
|
|
$dateRange = $this->input_param('dateRange');
|
|
if (!$activityId) {
|
|
$this->return_json('参数错误');
|
|
}
|
|
if (!$title) {
|
|
$this->return_json('请输入商品标题');
|
|
}
|
|
$addDate = ['activityId' => $activityId, 'title' => $title, 'price' => $price, 'stock' => $stock, 'sort' => $sort
|
|
, 'descrip' => $descrip, 'createTime' => date('Y-m-d H:i:s')];
|
|
$dateRange[0] && $addDate['timeStart'] = $dateRange[0];
|
|
$dateRange[1] && $addDate['timeEnd'] = $dateRange[1];
|
|
$imgs = [];
|
|
if ($banner) {
|
|
$imgs_banner = [];
|
|
foreach ($banner as $v) {
|
|
$imgs_banner[] = $v['fileUrl'];
|
|
}
|
|
$imgs_banner && $imgs['banner'] = $imgs_banner;
|
|
}
|
|
$imgs && $upDate['imgs'] = json_encode($imgs, JSON_UNESCAPED_UNICODE);
|
|
$id = $this->mdSyliveItems->add($addDate);
|
|
if (!$id) {
|
|
$this->return_json('添加商品失败');
|
|
}
|
|
$this->return_response();
|
|
}
|
|
|
|
/**
|
|
* Notes:修改商品
|
|
* Created on: 2022/10/21 14:48
|
|
* Created by: dengbw
|
|
*/
|
|
public function index_put()
|
|
{
|
|
$itemId = intval($this->input_param('itemId'));
|
|
$title = $this->input_param('title');
|
|
$banner = $this->input_param('banner');
|
|
$descrip = $this->input_param('descrip');
|
|
$price = $this->input_param('price');
|
|
$stock = $this->input_param('stock');
|
|
$sort = $this->input_param('sort');
|
|
$dateRange = $this->input_param('dateRange');
|
|
if (!$itemId) {
|
|
$this->return_json('参数错误');
|
|
}
|
|
if (!$title) {
|
|
$this->return_json('请输入商品标题');
|
|
}
|
|
$upDate = ['title' => $title, 'price' => $price, 'stock' => $stock, 'sort' => $sort
|
|
, 'descrip' => $descrip];
|
|
$dateRange[0] && $addDate['timeStart'] = $dateRange[0];
|
|
$dateRange[1] && $addDate['timeEnd'] = $dateRange[1];
|
|
$imgs = [];
|
|
if ($banner) {
|
|
$imgs_banner = [];
|
|
foreach ($banner as $v) {
|
|
$imgs_banner[] = $v['fileUrl'];
|
|
}
|
|
$imgs_banner && $imgs['banner'] = $imgs_banner;
|
|
}
|
|
$imgs && $upDate['imgs'] = json_encode($imgs, JSON_UNESCAPED_UNICODE);
|
|
$this->mdSyliveItems->update($upDate, ['itemId' => $itemId]);
|
|
$this->return_response();
|
|
}
|
|
|
|
/**
|
|
* Notes:删除商品
|
|
* Created on: 2022/10/21 16:10
|
|
* Created by: dengbw
|
|
* @param null $id
|
|
*/
|
|
public function index_delete($id = null)
|
|
{
|
|
if (!$id) {
|
|
$this->return_json('参数错误');
|
|
}
|
|
$this->mdSyliveItems->update(['status' => -1], ['itemId' => $id]);
|
|
$this->return_response();
|
|
}
|
|
|
|
/**
|
|
* Notes:批量删除商品
|
|
* Created on: 2022/10/21 17:11
|
|
* Created by: dengbw
|
|
*/
|
|
public function batch_delete()
|
|
{
|
|
$ids = $this->inputs;
|
|
if (!$ids) {
|
|
$this->return_json('参数错误');
|
|
}
|
|
$str_ids = implode(',', $ids);
|
|
if ($str_ids) {
|
|
$this->mdSyliveItems->update(['status' => -1], ["itemId in($str_ids)" => null]);
|
|
}
|
|
$this->return_response();
|
|
}
|
|
|
|
/**
|
|
* Notes:修改状态
|
|
* Created on: 2022/9/8 16:10
|
|
* Created by: dengbw
|
|
*/
|
|
public function status_put()
|
|
{
|
|
$itemId = intval($this->input_param('itemId'));
|
|
$status = $this->input_param('status');
|
|
if (!$itemId) {
|
|
$this->return_json('参数错误');
|
|
}
|
|
$this->mdSyliveItems->update(['status' => $status], ['itemId' => $itemId]);
|
|
$this->return_response();
|
|
}
|
|
|
|
} |