elkers
10 天以前 3a1efe863c0cf30683870c204fb9b55ff6c35500
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
/**
#                                                    __----~~~~~~~~~~~------___
#                                   .  .   ~~//====......          __--~ ~~
#                   -.            \_|//     |||\\  ~~~~~~::::... /~
#                ___-==_       _-~o~  \/    |||  \\            _/~~-
#        __---~~~.==~||\=_    -_--~/_-~|-   |\\   \\        _/~
#    _-~~     .=~    |  \\-_    '-~7  /-   /  ||    \      /
#  .~       .~       |   \\ -_    /  /-   /   ||      \   /
# /  ____  /         |     \\ ~-_/  /|- _/   .||       \ /
# |~~    ~~|--~~~~--_ \     ~==-/   | \~--===~~        .\
#          '         ~-|      /|    |-~\~~       __--~~
#                      |-~~-_/ |    |   ~\_   _-~            /\
#                           /  \     \__   \/~                \__
#                       _--~ _/ | .-~~____--~-/                  ~~==.
#                      ((->/~   '.|||' -_|    ~~-/ ,              . _||
#                                 -_     ~\      ~~---l__i__i__i--~~_/
#                                 _-~-__   ~)  \--______________--~~
#                               //.-~~~-~_--~- |-------~~~~~~~~
#                                      //.-~~~--\
#                  神兽保佑
#                  永无BUG!
*/
package com.nanjing.water.host.controller.base;
 
import com.nanjing.water.common.ExecutedResult;
import com.nanjing.water.common.PagerResult;
import com.nanjing.water.common.util.ParameterUtil;
import com.nanjing.water.common.validator.ParameterValidateResult;
import com.nanjing.water.common.validator.ParameterValidator;
import com.nanjing.water.entity.request.ReqListId;
import com.nanjing.water.entity.request.sysregion.ReqCreateSysRegion;
import com.nanjing.water.entity.request.sysregion.ReqModifySysRegion;
import com.nanjing.water.entity.response.region.ResRegionTree;
import com.nanjing.water.entity.search.SearchSysRegion;
import com.nanjing.water.host.BasicController;
import com.nanjing.water.host.api.NonLogin;
import com.nanjing.water.repository.vo.SysRegionVO;
import com.nanjing.water.service.SysRegionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
/**
 * 06.系统行政地区
 * @author lin.liu
 * @order 06
 */
@RestController
@RequestMapping(value = "sysRegion")
public class SysRegionController extends BasicController {
    @Autowired
    private SysRegionService service;
 
    /**
     * 创建[系统行政地区]
     * @author lin.liu
     * @description 创建[系统行政地区]
     */
    @PostMapping(value = "create")
    public ExecutedResult<Long> create(@RequestBody ReqCreateSysRegion request) {
        //#region 参数验证
        ParameterValidator validator = new ParameterValidator()
                // 非空
                //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName())
                // 限制最大长度
                //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50)
                ;
        ParameterValidateResult result = validator.validate();
        if (result.getIsFiled()) {
            return failed(result.getErrorMsg());
        }
        //#endregion
        return this.service.create(request);
    }
 
    /**
     * 编辑[系统行政地区]
     * @author lin.liu
     * @description 编辑[系统行政地区]
     */
    @PostMapping(value = "modify")
    public ExecutedResult<String> modify(@RequestBody ReqModifySysRegion request) {
        //#region 参数验证
        ParameterValidator validator = new ParameterValidator()
                // 必须大于0
                .addGreater(ParameterUtil.named("[系统行政地区]id"), request.getId(), 0L)
                // 非空
                //.addNotNullOrEmpty(ParameterUtil.named("名称"), request.getName())
                // 限制最大长度
                //.addLengthMax(ParameterUtil.named("名称"), request.getName(), ConstantFactory.LENGTH_MAX50)
                ;
        ParameterValidateResult result = validator.validate();
        if (result.getIsFiled()) {
            return failed(result.getErrorMsg());
        }
        //#endregion
        return this.service.modify(request);
    }
 
    /**
     * 获取[系统行政地区]
     * @author lin.liu
     * @description 获取[系统行政地区]
     */
    @GetMapping(value = "get/{code}")
    public ExecutedResult<SysRegionVO> get(@PathVariable String code) {
        return this.service.get(code);
    }
    /**
     * 根据id批量获取[系统行政地区]
     * @author lin.liu
     * @description 根据id批量获取[系统行政地区]
     */
    @PostMapping(value = "getList")
    public ExecutedResult<List<SysRegionVO>> getList(@RequestBody ReqListId request) {
        return this.service.getList(request.getListId());
    }
 
    /**
     * 获取指定区域的子级区域
     *
     * @param code 区域编号,不传获取所有一级区域
     * @author lin.liu
     * @date 2024/05/13
     */
    @GetMapping(value = "getListChild")
    public ExecutedResult<List<ResRegionTree>> getListChild(@RequestParam String code) {
        return this.service.getListChild(code);
    }
    /**
     * 查询[系统行政地区]
     * @author lin.liu
     * @description 查询[系统行政地区]
     */
    @PostMapping(value = "search")
    public ExecutedResult<PagerResult<SysRegionVO>> search(@RequestBody SearchSysRegion request) {
        return this.service.search(request);
    }
    /**
     * 获取指定区域的子级区域(包含自身)
     *
     * @param code 区域编号
     * @author lin.liu
     * @date 2024/05/13
     */
    @NonLogin
    @GetMapping(value = "currAndTree/{code}")
    public ExecutedResult<ResRegionTree> currAndTree(@PathVariable String code) {
        //#region 参数验证
        ParameterValidator validator = new ParameterValidator()
                .addNotNullOrEmpty(ParameterUtil.named("区域编号"), code);
        ParameterValidateResult result = validator.validate();
        if (result.getIsFiled()) {
            return ExecutedResult.failed(result.getErrorMsg());
        }
        //#endregion
        return this.service.currAndTree(code);
    }
}