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