Blame view

src/main/resources/templates/vm/java/Controller.java.vm 6.84 KB
mahuandong authored
1
package ${packageName}.controller;
tangying authored
2
3
4

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
mahuandong authored
5
import com.huaheng.common.utils.StringUtils;
tangying authored
6
7
8
9
10
11
12
13
14
15
16
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
mahuandong authored
17
18
import ${packageName}.domain.${ClassName};
import ${packageName}.service.I${ClassName}Service;
tangying authored
19
20
21
import com.huaheng.framework.web.controller.BaseController;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.framework.web.page.TableDataInfo;
mahuandong authored
22
23

import javax.annotation.Resource;
tangying authored
24
25
26
import java.util.List;

/**
mahuandong authored
27
28
 * ${functionName} 信息操作处理
 *
tangying authored
29
30
31
32
 * @author ${author}
 * @date ${datetime}
 */
@Controller
mahuandong authored
33
34
@RequestMapping("/${moduleName}/${className}")
public class ${ClassName}Controller extends BaseController {
tangying authored
35
    private String prefix = "${moduleName}/${classname}";
mahuandong authored
36
37
38
39
40

	@Resource
	private I${ClassName}Service ${className}Service;

	@RequiresPermissions("${moduleName}:${className}:view")
tangying authored
41
	@GetMapping()
mahuandong authored
42
43
	public String ${className}() {
	    return prefix + "/${className}";
tangying authored
44
	}
mahuandong authored
45
tangying authored
46
	/**
mahuandong authored
47
	 * 查询${functionName}列表
tangying authored
48
	 */
mahuandong authored
49
	@RequiresPermissions("${moduleName}:${className}:list")
tangying authored
50
51
	@PostMapping("/list")
	@ResponseBody
mahuandong authored
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
	public TableDataInfo list(${ClassName} ${className}) {
		LambdaQueryWrapper<${ClassName}> lambdaQueryWrapper = Wrappers.lambdaQuery();
		lambdaQueryWrapper
		#foreach( ${column} in ${columns})
			#if(${column.isQuery} == 1)
				#if(${column.queryType} == "EQ")
					#if(${column.javaType} == "String")
							.eq(StringUtils.isNotEmpty(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
						#else
							.eq(StringUtils.isNotNull(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#end
				#elseif(${column.queryType} == "NE")
					#if(${column.javaType} == "String")
						.ne(StringUtils.isNotEmpty(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#else
						.ne(StringUtils.isNotNull(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#end
				#elseif(${column.queryType} == "GT")
					#if(${column.javaType} == "String")
						.gt(StringUtils.isNotEmpty(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#else
						.gt(StringUtils.isNotNull(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#end
				#elseif(${column.queryType} == "GTE")
					#if(${column.javaType} == "String")
						.ge(StringUtils.isNotEmpty(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#else
						.ge(StringUtils.isNotNull(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#end
				#elseif(${column.queryType} == "LT")
					#if(${column.javaType} == "String")
						.lt(StringUtils.isNotEmpty(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#else
						.lt(StringUtils.isNotNull(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#end
				#elseif(${column.queryType} == "LTE")
					.#if(${column.javaType} == "String")
						.le(StringUtils.isNotEmpty(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#else
						.le(StringUtils.isNotNull(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#end
				#elseif(${column.queryType} == "LIKE")
					#if(${column.javaType} == "String")
						.like(StringUtils.isNotEmpty(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#else
						.like(StringUtils.isNotNull(${className}.get${column.CapJavaField}), ${ClassName}::get${column.CapJavaField}, ${className}.get${column.CapJavaField})
					#end
				#end
			#end
		#end
		PageDomain pageDomain = TableSupport.buildPageRequest();
		Integer pageNum = pageDomain.getPageNum();
		Integer pageSize = pageDomain.getPageSize();
		if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
			/*使用分页查询*/
			Page<${ClassName}> page = new Page<>(pageNum, pageSize);
			IPage<${ClassName}> iPage = addressService.page(page, lambdaQueryWrapper);
			return getMpDataTable(iPage.getRecords(), iPage.getTotal());
		} else {
			List<${ClassName}> list = ${className}Service.list(lambdaQueryWrapper);
			return getDataTable(list);
		}
tangying authored
114
	}
mahuandong authored
115
tangying authored
116
	/**
mahuandong authored
117
	 * 新增${functionName}
tangying authored
118
119
	 */
	@GetMapping("/add")
mahuandong authored
120
	public String add() {
tangying authored
121
122
	    return prefix + "/add";
	}
mahuandong authored
123
tangying authored
124
	/**
mahuandong authored
125
	 * 新增保存${functionName}
tangying authored
126
	 */
mahuandong authored
127
128
	@RequiresPermissions("${moduleName}:${className}:add")
	@Log(title = "${functionName}", action = BusinessType.INSERT)
tangying authored
129
130
	@PostMapping("/add")
	@ResponseBody
mahuandong authored
131
132
	public AjaxResult addSave(${ClassName} ${className}) {
		return toAjax(${className}Service.insert(${className}));
tangying authored
133
134
135
	}

	/**
mahuandong authored
136
	 * 修改${functionName}
tangying authored
137
	 */
mahuandong authored
138
139
140
141
	@GetMapping("/edit/{${pkColumn.javaField}}")
	public String edit(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField}, ModelMap mmap) {
		${ClassName} ${className} = ${className}Service.getById(${pkColumn.javaField});
		mmap.put("${className}", ${className});
tangying authored
142
143
	    return prefix + "/edit";
	}
mahuandong authored
144
tangying authored
145
	/**
mahuandong authored
146
	 * 修改保存${functionName}
tangying authored
147
	 */
mahuandong authored
148
149
	@RequiresPermissions("${moduleName}:${className}:edit")
	@Log(title = "${functionName}", action = BusinessType.UPDATE)
tangying authored
150
151
	@PostMapping("/edit")
	@ResponseBody
mahuandong authored
152
153
	public AjaxResult editSave(${ClassName} ${className}) {
		return toAjax(${classname}Service.updateById(${classname}));
tangying authored
154
	}
mahuandong authored
155
tangying authored
156
	/**
mahuandong authored
157
	 * 删除${functionName}
tangying authored
158
	 */
mahuandong authored
159
	@RequiresPermissions("${moduleName}:${className}:remove")
tangying authored
160
161
162
	@Log(title = "${tableComment}", action = BusinessType.DELETE)
	@PostMapping( "/remove")
	@ResponseBody
mahuandong authored
163
164
165
166
167
	public AjaxResult remove(String ids) {
		if (StringUtils.isEmpty(ids)){
			return AjaxResult.error("id不能为空");
		}
		return toAjax(${className}Service.removeByIds(Arrays.asList(Convert.toIntArray(ids))));
tangying authored
168
	}
mahuandong authored
169
tangying authored
170
}