代码生成配置模板

package ${package}.controller.${moduleName};

import javax.annotation.Resource;

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.study.app.common.BaseReq;
import com.study.app.common.JSONResult;
import com.study.app.common.PageResultResp;
import com.study.app.controller.base.BaseController;
<#if AddReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Add;
</#if>
<#if DelReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Del;
</#if>
<#if ModifyReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Modify;
</#if>
<#if QryReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Qry;
</#if>
import ${package}.pojo.${moduleName}.resp.${ClassName}Resp;
import ${package}.service.${moduleName}.${ClassName}Service;
import com.study.service.annotation.TokenCheck;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import io.swagger.annotations.ApiResponse;

/**
* ${tableComment}
*
* @author ${author} ${email}
* @since ${version} ${date}
*/
@RestController
@RequestMapping("/${moduleName}/${functionName}")
@Api(value = "/${moduleName}/${functionName}", tags = "${tableComment}")
public class ${ClassName}Controller extends BaseController {
    @Resource
    private ${ClassName}Service ${className}Service;

    @PostMapping(value = "/list.do", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "${tableComment}列表", httpMethod = "POST", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiResponse(code = 200, message = "success", response = JSONResult.class)
    @TokenCheck
    public JSONResult<PageResultResp<${ClassName}Resp>> qryList(
                    @ApiParam(name = "${className}QryReq", required = true, value = "请求报文体") @RequestBody BaseReq<${ClassName}Qry> ${className}QryReq) {
        logger.info("${tableComment}列表查询:" + ${className}QryReq.toString());
        // 公共请求部分报文校验
        super.volidateByBean(${className}QryReq.getPublicReq());
        return ${className}Service.qryList(${className}QryReq);
    }

    <#if AddReqjavaftl == "1">
    @PostMapping(value = "/add.do", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "${tableComment}新增", httpMethod = "POST", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiResponse(code = 200, message = "success", response = JSONResult.class)
    @TokenCheck
    public JSONResult save(
                    @ApiParam(name = "${className}AddReq", required = true, value = "请求报文体") @RequestBody BaseReq<${ClassName}Add> ${className}AddReq) {
        logger.info("${tableComment}新增参数:" + ${className}AddReq.toString());
        // 公共请求部分报文校验
        super.volidateByBean(${className}AddReq.getPublicReq());
        return ${className}Service.add(${className}AddReq);
    }
    </#if>

    <#if ModifyReqjavaftl == "1">
    @PostMapping(value = "/modify.do", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "${tableComment}修改", httpMethod = "POST", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiResponse(code = 200, message = "success", response = JSONResult.class)
    @TokenCheck
    public JSONResult modify(
                    @ApiParam(name = "${className}ModifyReq", required = true, value = "请求报文体") @RequestBody BaseReq<${ClassName}Modify> ${className}ModifyReq) {
        logger.info("${tableComment}修改参数:" + ${className}ModifyReq.toString());
        // 公共请求部分报文校验
        super.volidateByBean(${className}ModifyReq.getPublicReq());
        return ${className}Service.modify(${className}ModifyReq);
    }
    </#if>

    <#if DelReqjavaftl == "1">
    @PostMapping(value = "/delete.do", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiOperation(value = "${tableComment}删除", httpMethod = "POST", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    @ApiResponse(code = 200, message = "success", response = JSONResult.class)
    @TokenCheck
    public JSONResult delete(
                    @ApiParam(name = "${className}DelReq", required = true, value = "请求报文体") @RequestBody BaseReq<${ClassName}Del> ${className}DelReq) {
        logger.info("${tableComment}删除参数:" + ${className}DelReq.toString());
        // 公共请求部分报文校验
        super.volidateByBean(${className}DelReq.getPublicReq());
        return ${className}Service.delete(${className}DelReq);
    }
    </#if>
}

package ${package}.service.${moduleName};

import com.study.app.common.BaseReq;
import com.study.app.common.JSONResult;
import com.study.app.common.PageResultResp;
<#if AddReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Add;
</#if>
<#if DelReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Del;
</#if>
<#if ModifyReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Modify;
</#if>
import ${package}.pojo.${moduleName}.reqs.${ClassName}Qry;
import ${package}.pojo.${moduleName}.resp.${ClassName}Resp;

public interface ${ClassName}Service {

    /**
    * ${tableComment}列表查询
    * @param ${className}QryReq
    * @return
    */
    JSONResult<PageResultResp<${ClassName}Resp>> qryList(BaseReq<${ClassName}Qry> ${className}QryReq);

    <#if AddReqjavaftl == "1">
    /**
    * ${tableComment} 新增
    * @param ${className}AddReq
    * @return
    */
    JSONResult add(BaseReq<${ClassName}Add> ${className}AddReq);
    </#if>

    <#if ModifyReqjavaftl == "1">
    /**
    * ${tableComment} 修改
    * @param ${className}ModifyReq
    * @return
    */
    JSONResult modify(BaseReq<${ClassName}Modify> ${className}ModifyReq);
    </#if>

    <#if DelReqjavaftl == "1">
    /**
    * ${tableComment} 删除
    * @param ${className}DelReq
    * @return
    */
    JSONResult delete(BaseReq<${ClassName}Del> ${className}DelReq);
    </#if>
}


package ${package}.service.${moduleName}.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.study.app.annotation.DataSource;
import com.study.app.common.BaseReq;
import com.study.app.common.JSONResult;
import com.study.app.common.PageResp;
import com.study.app.common.PageResultResp;
import ${package}.dao.${ClassName}Mapper;
import ${package}.dao.entity.${ClassName};
<#if AddReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Add;
</#if>
<#if DelReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Del;
</#if>
<#if ModifyReqjavaftl == "1">
import ${package}.pojo.${moduleName}.reqs.${ClassName}Modify;
</#if>
import ${package}.pojo.${moduleName}.reqs.${ClassName}Qry;
import ${package}.pojo.${moduleName}.resp.${ClassName}Resp;
import com.study.app.service.base.BaseService;
import com.study.app.service.common.SeqService;
import ${package}.service.${moduleName}.${ClassName}Service;

/**
* ${tableComment}
*
* @author ${author}
* @since  ${version} ${date}
*/
@Component
public class ${ClassName}ServiceImpl extends BaseService implements ${ClassName}Service {
    @Resource
    private SeqService seqService;

    @Resource
    private ${ClassName}Mapper ${className}Mapper;

    @Override
    @DataSource
    public JSONResult<PageResultResp<${ClassName}Resp>> qryList(BaseReq<${ClassName}Qry> ${className}QryReq) {
        ${ClassName}Qry ${className}Qry = ${className}QryReq.getPri();
        super.validity(${className}Qry);
        int pageNum = ${className}Qry.getPageNum();
        int pageSize = ${className}Qry.getPageSize();
        PageHelper.startPage(pageNum, pageSize);
        List<${ClassName}Resp> list = ${className}Mapper.qryList(${className}Qry);
        PageInfo<${ClassName}Resp> pageInfo = new PageInfo<>(list);
        // 分页
        PageResp pageResp = new PageResp(list, pageInfo.getTotal(), pageInfo.getPageSize(), pageInfo.getSize(), pageInfo.getPageNum(),
                        pageInfo.getPages());
        return new JSONResult(pageResp);
    }

    <#if AddReqjavaftl == "1">
    /**
    * ${tableComment} 新增
    * @param ${className}AddReq
    * @return
    */
    @Override
    @DataSource
    public JSONResult add(BaseReq<${ClassName}Add> ${className}AddReq) {
        ${ClassName}Add ${className}Add = ${className}AddReq.getPri();
        //报文校验
        super.validity(${className}Add);
        ${ClassName} addEntity = new ${ClassName}();
        BeanUtils.copyProperties(${className}Add, addEntity);
        ${className}Mapper.insert(addEntity);
        return new JSONResult().ok();
    }
    </#if>

    <#if ModifyReqjavaftl == "1">
    /**
    * ${tableComment} 修改
    * @param ${className}ModifyReq
    * @return
    */
    @Override
    @DataSource
    public JSONResult modify(BaseReq<${ClassName}Modify> ${className}ModifyReq) {
        ${ClassName}Modify modify = ${className}ModifyReq.getPri();
        //报文校验
        super.validity(modify);
        ${ClassName} modifyEntity = new ${ClassName}();
        BeanUtils.copyProperties(modify, modifyEntity);
        ${className}Mapper.updateByPrimaryKeySelective(modifyEntity);
        return new JSONResult().ok();
    }
    </#if>

    <#if DelReqjavaftl == "1">
    /**
    * ${tableComment} 删除
    * @param ${className}DelReq
    * @return
    */
    @Override
    @DataSource
    public JSONResult delete(BaseReq<${ClassName}Del> ${className}DelReq) {
        ${ClassName}Del ${className}Del = ${className}DelReq.getPri();
        //报文校验
        super.validity(${className}Del);
        ${className}Mapper.deleteByPrimaryKey(${className}Del.get${PkAttrName}());
        return new JSONResult().ok();
    }
    </#if>
}


package ${package}.dao.entity;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
<#list importList as i>
import ${i!};
</#list>

/**
* ${tableComment}
*
* @author ${author} ${email}
* @since ${version} ${date}
*/
@Data
public class ${ClassName} {
<#list fieldList as field>
    <#if field.fieldComment!?length gt 0>
    @ApiModelProperty(value = "${field.fieldComment}")
    </#if>
    private ${field.attrType} ${field.attrName};

</#list>
}


package ${package}.pojo.${moduleName}.resp;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
<#list importList as i>
import ${i!};
</#list>

/**
* ${tableComment} 查询返回对象
*
* @author ${author} ${email}
* @since ${version} ${date}
*/
@Data
public class ${ClassName}Resp {
<#list qryRespList as field>
    <#if field.fieldComment!?length gt 0>
    @ApiModelProperty(value = "${field.fieldComment}")
    </#if>
    private ${field.attrType} ${field.attrName};

</#list>
}


package ${package}.pojo.${moduleName}.reqs;

import javax.validation.constraints.NotEmpty;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
<#list importList as i>
import ${i!};
</#list>

/**
* ${tableComment}新增
*
* @author ${author} ${email}
* @since ${version} ${date}
*/
@Data
public class ${ClassName}Add {
<#list addFieldList as field>
    <#if field.fieldComment!?length gt 0>
    @ApiModelProperty(value = "${field.fieldComment}")
    </#if>
    <#if field.formRequired>
    @NotEmpty(message = "${field.attrName},${field.fieldComment}不能为空")
    </#if>
    private ${field.attrType} ${field.attrName};

</#list>
}

package ${package}.pojo.${moduleName}.reqs;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
<#list importList as i>
import ${i!};
</#list>

/**
* ${tableComment}修改
*
* @author ${author} ${email}
* @since ${version} ${date}
*/
@Data
public class ${ClassName}Modify {
<#list modifyFieldList as field>
    <#if field.fieldComment!?length gt 0>
    @ApiModelProperty(value = "${field.fieldComment}")
    </#if>
    private ${field.attrType} ${field.attrName};

</#list>
}


package ${package}.pojo.${moduleName}.reqs;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
<#list importList as i>
import ${i!};
</#list>

/**
* ${tableComment}删除
*
* @author ${author} ${email}
* @since ${version} ${date}
*/
@Data
public class ${ClassName}Del {
<#list deleteFieldList as field>
    <#if field.fieldComment!?length gt 0>
    @ApiModelProperty(value = "${field.fieldComment}")
    </#if>
    private ${field.attrType} ${field.attrName};

</#list>
}


package ${package}.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import ${package}.dao.entity.${ClassName};
import ${package}.pojo.${moduleName}.reqs.${ClassName}Qry;
import ${package}.pojo.${moduleName}.resp.${ClassName}Resp;

/**
* ${tableComment}
*
* @author ${author} ${email}
* @since ${version} ${date}
*/
public interface ${ClassName}Mapper {
    <#if AddReqjavaftl == "1">
    int insert(${ClassName} record);
    </#if>

    <#if AddReqjavaftl == "1">
    /***
    * ${tableComment} 批量新增
    * @param dataList
    * @return
    */
    int insertBatch(@Param("dataList") List<${ClassName}> dataList);
    </#if>

    <#if DelReqjavaftl == "1">
    int deleteByPrimaryKey(String ${pkAttrName});
    </#if>

    <#if ModifyReqjavaftl == "1">
    int updateByPrimaryKeySelective(${ClassName} ${className});
    </#if>

    List<${ClassName}Resp> qryList(${ClassName}Qry ${className}Qry);
}


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="${package}.dao.${ClassName}Mapper">
    <resultMap type="${package}.dao.entity.${ClassName}" id="BaseResultMap">
        <#list fieldList as field>
        <result column="${field.fieldName}" jdbcType="${field.jdbcTypeFill}" property="${field.attrName}"/>
        </#list>
    </resultMap>

    <sql id="Base_Column_List">
        <#list fieldList as field><#if field_has_next>${field.fieldName},</#if><#if !field_has_next>${field.fieldName}</#if></#list>
    </sql>
    <#if AddReqjavaftl == "1">
    <insert id="insert" parameterType="${package}.dao.entity.${ClassName}">
        insert into ${tableName} (
        <#list fieldListPage as childList>
            <#list childList as field><#if field_has_next>${field.fieldName},</#if><#if !field_has_next && childList_has_next >${field.fieldName},</#if><#if !field_has_next && !childList_has_next >${field.fieldName}</#if></#list>
        </#list>
        )
        values
            (
        <#list fieldListPage as childList>
            <#list childList as field><#if field_has_next><#noparse>#</#noparse>{${field.jdbcType}},</#if><#if !field_has_next && childList_has_next><#noparse>#</#noparse>{${field.jdbcType}},</#if><#if !field_has_next && !childList_has_next><#noparse>#</#noparse>{${field.jdbcType}}</#if></#list>
        </#list>
            )
    </insert>
    </#if>
    <#if AddReqjavaftl == "1">
    <insert id="insertBatch">
        insert into ${tableName} (
        <#list fieldListPage as childList>
            <#list childList as field><#if field_has_next>${field.fieldName},</#if><#if !field_has_next && childList_has_next >${field.fieldName},</#if><#if !field_has_next && !childList_has_next >${field.fieldName}</#if></#list>
        </#list>
        )
        values
        <foreach item="item" index="index" collection="list" separator=",">
            (
            <#list fieldListPage as childList>
                <#list childList as field><#if field_has_next><#noparse>#</#noparse>{item.${field.jdbcType}},</#if><#if !field_has_next && childList_has_next><#noparse>#</#noparse>{item.${field.jdbcType}},</#if><#if !field_has_next && !childList_has_next><#noparse>#</#noparse>{item.${field.jdbcType}}</#if></#list>
            </#list>
            )
        </foreach>
    </insert>
    </#if>
    <#if DelReqjavaftl == "1">
    <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
        delete from ${tableName}
        where  ${pkFieldName} = <#noparse>#</#noparse>{${pkAttrName},jdbcType=VARCHAR}
    </delete>
    </#if>
    
    <#if ModifyReqjavaftl == "1">
    <update id="updateByPrimaryKeySelective" parameterType="${package}.dao.entity.${ClassName}">
        update ${tableName}
        <set>
         <#list fieldList as field>
         <#if field.jdbcTypeFill == "VARCHAR">
            <if test="${field.attrName} != null and ${field.attrName} !='' ">
                 ${field.fieldName} = <#noparse>#</#noparse>{${field.jdbcType}},
             </if>
         <#else>
            <if test="${field.attrName} != null ">
                 ${field.fieldName} = <#noparse>#</#noparse>{${field.jdbcType}},
             </if>
         </#if>
         </#list>
        </set>
        where  ${pkFieldName} = <#noparse>#</#noparse>{${pkAttrName},jdbcType=VARCHAR}
    </update>
    </#if>
    <select  id="qryList" parameterType="${package}.pojo.${moduleName}.reqs.${ClassName}Qry" resultType="${package}.pojo.${moduleName}.resp.${ClassName}Resp">
       select <include refid="Base_Column_List" /> from  ${tableName}
       <#if qryFieldList?size gt 0>
         <where>
         <#list qryFieldList as field>
         <#if field.jdbcTypeFill == "VARCHAR">
             <if test="${field.attrName} != null and ${field.attrName} !='' ">
                 and ${field.fieldName} = <#noparse>#</#noparse>{${field.jdbcType}}
             </if>
         <#else>
             <if test="${field.attrName} != null">
                 and ${field.fieldName} = <#noparse>#</#noparse>{${field.jdbcType}}
             </if>
         </#if>    
         </#list>
         </where>
       </#if>
    </select>

</mapper>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值