chengkun
2025-08-29 a370f8c298c691b18f713d4db19919162fbd3299
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
 
namespace app\admin\controller;
 
use think\Exception;
use think\facade\Db;
use think\facade\View;
use think\facade\Request;
use \app\admin\validate\StockCountry as StockCountryValidate;
 
class StockCountry extends Common {
    
    /**
     * 国家列表
     * @return string
     */
    public function index() {
        ////////
        if (!Request::isPost()) {
            return View::fetch();
        } else {
            try {
                $kw = input('kw');
                if (!empty($kw)) {
                    $condition[] = array('purpose_name', 'like', "%$kw%");
                }
                $p = input('p', 1);
                $other['page_size'] = input('page_size', 20);
                $order = 'order_id asc,id asc';
                $count = Db::name('stock_country')->where($condition)->count();
                $list = Db::name('stock_country')->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 StockCountryValidate();
            $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('stock_country')->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('stock_country')->insertGetId($data);
                if (!$add_result) {
                    return $this->errorResponse('添加失败!');
                }
                Db::name('stock_country')->where('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 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('stock_country')->field('id')->where($condition)->find();
            if (!$info) {
                return $this->errorResponse(lang('parameter_error'));
            }
            Db::name('stock_country')->where('id', $id)->delete();
            //提交事务
            Db::commit();
            return $this->successResponse('删除成功!');
        } catch (Exception $exc) {
            // 回滚事务
            Db::rollback();
            return $this->errorResponse($exc->getMessage());
        }
    }
    
}