<?php
|
|
namespace app\admin\controller;
|
|
use think\Exception;
|
use think\facade\Db;
|
use think\facade\View;
|
use think\facade\Request;
|
use \app\admin\validate\GoodsFreightAttr as GoodsFreightAttrValidate;
|
|
class GoodsFreightAttr extends Common {
|
|
/**
|
* 货运属性列表
|
* @return string
|
*/
|
public function index() {
|
////////
|
if (!Request::isPost()) {
|
return View::fetch();
|
} else {
|
try {
|
$kw = input('kw');
|
if (!empty($kw)) {
|
$condition[] = array('attr_name|attr_code', 'like', "%$kw%");
|
}
|
$p = input('p', 1);
|
$other['page_size'] = input('page_size', 20);
|
$order = 'order_id asc,id asc';
|
$count = Db::name('goods_freight_attr')->where($condition)->count();
|
$list = Db::name('goods_freight_attr')->field("*")->where($condition)->order($order)->page($p, $other['page_size'])->select()->toArray();
|
$other['count'] = $count;
|
if (!$list) {
|
$list = [];
|
}
|
$result['other'] = $other;
|
$result['list'] = $list;
|
return $this->successResponse($result);
|
} catch (Exception $exc) {
|
return $this->errorResponse($exc->getMessage());
|
}
|
}
|
}
|
|
/**
|
*保存货运属性
|
*/
|
public function save() {
|
if (!Request::isPost()) {
|
return $this->errorResponse(lang('request_method_incorrect'));
|
}
|
//开始事务
|
Db::startTrans();
|
try {
|
$data = Request::post();
|
$validate = new GoodsFreightAttrValidate();
|
$check_result = $validate->check($data);
|
if (!$check_result) {
|
return $this->errorResponse($validate->getError());
|
}
|
$id = input('post.id');
|
if (is_numeric($id)) {
|
//更新数据
|
$update_result = Db::name('goods_freight_attr')->where('id', $id)->withoutField('id')->save($data);
|
if ($update_result === FALSE) {
|
return $this->errorResponse(lang('editing_failed'));
|
}
|
//提交事务
|
Db::commit();
|
return $this->successResponse('修改成功!');
|
} else {
|
//添加数据
|
unset($data['id']);
|
$add_result = Db::name('goods_freight_attr')->insertGetId($data);
|
if (!$add_result) {
|
return $this->errorResponse('添加失败!');
|
}
|
Db::name('goods_freight_attr')->where('id', $add_result)->save(['order_id' => $add_result]);
|
//提交事务
|
Db::commit();
|
return $this->successResponse('添加成功!');
|
}
|
} catch (Exception $exc) {
|
// 回滚事务
|
Db::rollback();
|
return $this->errorResponse($exc->getMessage());
|
}
|
}
|
|
/**
|
* 删除货运属性
|
* @return array|int[]
|
*/
|
public function delete() {
|
if (!Request::isPost()) {
|
return $this->errorResponse(lang('request_method_incorrect'));
|
}
|
//开始事务
|
Db::startTrans();
|
try {
|
$id = input('id');
|
if (!is_numeric($id)) {
|
return $this->errorResponse(lang('parameter_error'));
|
}
|
$condition['id'] = $id;
|
$info = Db::name('goods_freight_attr')->field('id')->where($condition)->find();
|
if (!$info) {
|
return $this->errorResponse(lang('parameter_error'));
|
}
|
Db::name('goods_freight_attr')->where('id', $id)->delete();
|
//提交事务
|
Db::commit();
|
return $this->successResponse('删除成功!');
|
} catch (Exception $exc) {
|
// 回滚事务
|
Db::rollback();
|
return $this->errorResponse($exc->getMessage());
|
}
|
}
|
|
}
|