WebController.java.vm 4.11 KB
package ${webPackage}.controller;

import java.util.Date;
import java.util.List;

import com.lhcredit.common.utils.StringUtils;
import com.lhcredit.common.utils.security.ShiroUtils;
import com.lhcredit.framework.aspectj.lang.enums.OperatorType;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.lhcredit.framework.aspectj.lang.annotation.Log;
import com.lhcredit.framework.aspectj.lang.enums.BusinessType;
import ${package}.domain.${className};
import ${package}.service.I${className}Service;
import com.lhcredit.framework.web.controller.BaseController;
import com.lhcredit.framework.web.domain.AjaxResult;


/**
 * ${tableComment}信息对外接口
 *
 * @author ${author}
 * @date ${datetime}
 */
@RestController
@RequestMapping("/web/${classname}")
public class Web${className}Controller extends BaseController {
    @Autowired
    private I${className}Service ${classname}Service;

    /**
     * 查询${tableComment}列表接口
     */
    @ApiOperation("查询${tableComment}列表")
    @Log(title = "${tableComment}", businessType = BusinessType.LIST, operatorType = OperatorType.WEB)
    @GetMapping
    public AjaxResult list(${className} ${classname}) {
        startPage();
        ${classname}.setDelFlag("0");
        ${classname}.setStatus("0");
        List<${className}> list = ${classname}Service.changeModel(${classname}Service.select${className}List(${classname}));
        return toAjax(list);
    }

    /**
     * 查询${tableComment}详情接口
     */
    @ApiOperation("查询${tableComment}详情")
    @ApiImplicitParam(name = "id", value = "主键", required = true, dataType = "int", paramType = "path")
    @Log(title = "${tableComment}", businessType = BusinessType.DETAIL, operatorType = OperatorType.WEB)
    @GetMapping("/{id}")
    public AjaxResult detail(@PathVariable Long id) {
        ${className} ${classname} =${classname}Service.changeModel(${classname}Service.select${className}ById(id));
        if (StringUtils.isNull(${classname})) {
            return AjaxResult.error("该信息不存在");
        }
        return toAjax(${classname});
    }

    /**
     * 新增保存${tableComment}接口
     */
    @ApiOperation("新增${tableComment}")
    @ApiImplicitParam(name = "${classname}", value = "${tableComment}", dataType = "${className}")
    @Log(title = "${tableComment}", businessType = BusinessType.INSERT, operatorType = OperatorType.WEB)
    @PostMapping
    public AjaxResult addSave(${className} ${classname}) {
        ${classname}.setCreateBy(ShiroUtils.getLoginName());
        ${classname}.setCreateTime(new Date());
        ${classname}.setUpdateBy(ShiroUtils.getLoginName());
        ${classname}.setUpdateTime(new Date());
        return toAjax(${classname}Service.insert${className}(${classname}));
    }

    /**
     * 修改保存${tableComment}接口
     */
    @ApiOperation("修改${tableComment}")
    @ApiImplicitParam(name = "${classname}", value = "${tableComment}", dataType = "${className}")
    @Log(title = "${tableComment}", businessType = BusinessType.UPDATE, operatorType = OperatorType.WEB)
    @PutMapping
    public AjaxResult update(${className} ${classname}) {
        if (StringUtils.isNull(${classname}) || StringUtils.isNull(${classname}.get${primaryKey.attrName}())){
            return AjaxResult.error("主键id不能为空");
        }
        ${classname}.setUpdateBy(ShiroUtils.getLoginName());
        ${classname}.setUpdateTime(new Date());
        return toAjax(${classname}Service.update${className}(${classname}));
    }

    /**
     * 删除${tableComment}接口
     */
    @ApiOperation("删除${tableComment}")
    @ApiImplicitParam(name = "ids", value = "主键id,多条以英文逗号分隔", required = true, dataType = "String", paramType = "path")
    @Log(title = "${tableComment}", businessType = BusinessType.DELETE, operatorType = OperatorType.WEB)
    @DeleteMapping("/{ids}")
    public AjaxResult delete(@PathVariable String ids) {
        return toAjax(${classname}Service.delete${className}ByIds(ids));
    }

}