Commit f5ab63cc by 朱继来

调整

parent dae9a55b
Showing with 153 additions and 152 deletions
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Redis;
use Request;
use DB;
class BrandBlackListModel extends Model
{
protected $connection = 'order';
protected $table = 'lie_brand_blacklist';
protected $primaryKey = 'id';
protected $guarded = ['id'];
public $timestamps = true;
const CREATED_AT = 'create_time';
const UPDATED_AT = 'update_time';
/** * @param \DateTime|int $value * @return false|int * @author dividez */
public function fromDateTime($value)
{
return strtotime(parent::fromDateTime($value));
}
// 黑名单列表
public function lists($request, $export='')
{
$page = $request->input('page', 1);
$limit = $request->input('limit', 10);
$map['brand_name'] = $request->input('brand_name', ''); // 品牌名称
$map['com_name'] = $request->input('com_name', ''); // 公司名称
$map['status'] = $request->input('status', ''); // 状态
$map['begin_time'] = $request->input('begin_time', '') ? strtotime($request->input('begin_time')) : '';
$map['end_time'] = $request->input('end_time', '') ? strtotime($request->input('end_time')) + 86399 : '';
$list = $this->where(function($query) use ($map) {
// 品牌名称
if ($map['brand_name']) {
$query->where('brand_name', 'like', $map['brand_name'].'%');
}
})->where(function($query) use ($map) {
// 公司名称
if ($map['com_name']) {
$query->where('com_name', 'like', $map['com_name'].'%');
}
})->where(function($query) use ($map) {
// 状态
if ($map['status']) {
$query->where('status', '=', $map['status']);
}
})->where(function($query) use ($map) {
// 创建时间
if(!empty($map['begin_time']) && !empty($map['end_time'])) {
$query->whereBetween('create_time', [$map['begin_time'], $map['end_time']]);
}
else if(!empty($map['begin_time'])) {
$query->where('create_time', '>=', $map['begin_time']);
}
else if(!empty($map['end_time'])) {
$query->where('create_time', '<=', $map['end_time']);
}
})
->orderBy('create_time', 'desc')
->orderBy('id', 'desc');
if ($export) {
$list = $list->get()->toArray();
if (empty($list)) {
echo '<script>alert("导出数据为空");history.go(-1);</script>';die;
}
return $list;
} else {
$list = $list->paginate($limit, ['*'], 'page', $page)->toArray();
return [0, '获取成功', $list['data'], $list['total']];
}
}
// 新增、编辑
public function setBlackList($request, $brand_name='', $com_name='')
{
$id = $request->input('id', 0);
$data['brand_name'] = $brand_name ? $brand_name : $request->input('brand_name', '');
$data['com_name'] = $com_name ? $com_name : $request->input('com_name', '');
$res = $this->where($data)->first();
if ($res) return [-3, '数据已存在'];
if ($id) { // 编辑
$res = $this->where('id', $id)->update($data);
if ($res === false) return [-2, '编辑失败'];
} else {
$res = $this->create($data);
if ($res === false) return [-1, '新增失败'];
$id = $res->id;
}
Redis::hset('brand_blacklist', $id, json_encode($data)); // 设置缓存
return [0, '操作成功'];
}
// 删除
public function delBlackList($request)
{
$id = $request->input('id', 0);
if (!$id) return [-1, '参数缺失'];
$res = $this->where('id', $id)->delete();
if ($res === false) return [-2, '删除失败'];
Redis::hdel('brand_blacklist', $id); // 删除缓存
return [0, '删除成功'];
}
// 启用/禁用品牌黑名单
public function action($request)
{
$id = $request->input('id', 0);
$status = $request->input('status', 1);
if (!$id) return [-1, '参数缺失'];
$res = $this->where('id', $id)->update(['status' => $status]);
if ($res === false) return [-2, '操作失败'];
if ($status == 1) { // 启用
$blacklist = $this->find($id);
$data['brand_name'] = $blacklist['brand_name'];
$data['com_name'] = $blacklist['com_name'];
Redis::hset('brand_blacklist', $id, json_encode($data)); // 设置缓存
} else {
Redis::hdel('brand_blacklist', $id); // 删除缓存
}
return [0, '操作成功'];
}
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Redis;
use Request;
use DB;
class BrandBlackListModel extends Model
{
protected $connection = 'web';
protected $table = 'lie_brand_blacklist';
protected $primaryKey = 'id';
protected $guarded = ['id'];
public $timestamps = true;
const CREATED_AT = 'create_time';
const UPDATED_AT = 'update_time';
/** * @param \DateTime|int $value * @return false|int * @author dividez */
public function fromDateTime($value)
{
return strtotime(parent::fromDateTime($value));
}
// 黑名单列表
public function lists($request, $export='')
{
$page = $request->input('page', 1);
$limit = $request->input('limit', 10);
$map['brand_name'] = $request->input('brand_name', ''); // 品牌名称
$map['com_name'] = $request->input('com_name', ''); // 公司名称
$map['status'] = $request->input('status', ''); // 状态
$map['begin_time'] = $request->input('begin_time', '') ? strtotime($request->input('begin_time')) : '';
$map['end_time'] = $request->input('end_time', '') ? strtotime($request->input('end_time')) + 86399 : '';
$list = $this->where(function($query) use ($map) {
// 品牌名称
if ($map['brand_name']) {
$query->where('brand_name', 'like', $map['brand_name'].'%');
}
})->where(function($query) use ($map) {
// 公司名称
if ($map['com_name']) {
$query->where('com_name', 'like', $map['com_name'].'%');
}
})->where(function($query) use ($map) {
// 状态
if ($map['status']) {
$query->where('status', '=', $map['status']);
}
})->where(function($query) use ($map) {
// 创建时间
if(!empty($map['begin_time']) && !empty($map['end_time'])) {
$query->whereBetween('create_time', [$map['begin_time'], $map['end_time']]);
}
else if(!empty($map['begin_time'])) {
$query->where('create_time', '>=', $map['begin_time']);
}
else if(!empty($map['end_time'])) {
$query->where('create_time', '<=', $map['end_time']);
}
})
->orderBy('create_time', 'desc')
->orderBy('id', 'desc');
if ($export) {
$list = $list->get()->toArray();
if (empty($list)) {
echo '<script>alert("导出数据为空");history.go(-1);</script>';die;
}
return $list;
} else {
$list = $list->paginate($limit, ['*'], 'page', $page)->toArray();
return [0, '获取成功', $list['data'], $list['total']];
}
}
// 新增、编辑
public function setBlackList($request, $brand_name='', $com_name='')
{
$id = $request->input('id', 0);
$data['brand_name'] = $brand_name ? $brand_name : $request->input('brand_name', '');
$data['com_name'] = $com_name ? $com_name : $request->input('com_name', '');
$res = $this->where($data)->first();
if ($res) return [-3, '数据已存在'];
if ($id) { // 编辑
$res = $this->where('id', $id)->update($data);
if ($res === false) return [-2, '编辑失败'];
} else {
$res = $this->create($data);
if ($res === false) return [-1, '新增失败'];
$id = $res->id;
}
Redis::hset('brand_blacklist', $id, json_encode($data)); // 设置缓存
return [0, '操作成功'];
}
// 删除
public function delBlackList($request)
{
$id = $request->input('id', 0);
if (!$id) return [-1, '参数缺失'];
$res = $this->where('id', $id)->delete();
if ($res === false) return [-2, '删除失败'];
Redis::hdel('brand_blacklist', $id); // 删除缓存
return [0, '删除成功'];
}
// 启用/禁用品牌黑名单
public function action($request)
{
$id = $request->input('id', 0);
$status = $request->input('status', 1);
if (!$id) return [-1, '参数缺失'];
$res = $this->where('id', $id)->update(['status' => $status]);
if ($res === false) return [-2, '操作失败'];
if ($status == 1) { // 启用
$blacklist = $this->find($id);
$data['brand_name'] = $blacklist['brand_name'];
$data['com_name'] = $blacklist['com_name'];
Redis::hset('brand_blacklist', $id, json_encode($data)); // 设置缓存
} else {
Redis::hdel('brand_blacklist', $id); // 删除缓存
}
return [0, '操作成功'];
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment