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>
代码生成配置模板
于 2024-02-21 16:28:21 首次发布