diff --git a/api/pom.xml b/api/pom.xml index 0f8cdeaed980364a3062bce787bae042486c8842..6482bfd055c4e5bd6e50f70559ae349dfa2d2d5f 100644 --- a/api/pom.xml +++ b/api/pom.xml @@ -25,6 +25,12 @@ org.springframework.cloud spring-cloud-starter-security + + + org.bouncycastle + bcpkix-jdk15on + + com.github.binarywang weixin-java-pay + + + org.bouncycastle + bcpkix-jdk15on + + diff --git a/api/src/main/resources/templates/code/add.ftl b/api/src/main/resources/templates/code/add.ftl deleted file mode 100644 index 658483a6a97843281e4e118b19d4ef329ebe3834..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/add.ftl +++ /dev/null @@ -1,245 +0,0 @@ - - - - -
- - - -<#list columns as column> - <#if column.name == "id" || column.name == "createDate" || column.name == "createBy" || column.name == "updateDate" || column.name == "updateBy" || column.name == "userId"> - <#else> - <#if (column.allowInput?string('yes', 'no'))=='yes'> - <#switch column.uiType> - <#case "Input"> - - - - <#break> - <#case "Radio"> - - - - <#break> - <#case "Checkbox"> - - ${column.comment} - - <#break> - <#case "InputNumber"> - - - - <#break> - <#case "Select"> - - - - - - - <#break> - <#case "Cascader"> - - <#break> - <#case "Switch"> - - - - - <#break> - <#case "Slider"> - - - - <#break> - <#case "TimePicker"> - - - - - <#break> - <#case "DatePicker"> - - - - - <#break> - <#case "DateTimePicker"> - - - - - <#break> - <#case "Upload"> - - - - <#break> - <#case "Rate"> - - - - - <#break> - <#case "ColorPicker"> - - - - <#break> - <#case "Transfer"> - - - - <#break> - <#case "neditor"> - - - - <#break> - <#default> - - - - - - - - - - - - - - -
- - - - - \ No newline at end of file diff --git a/api/src/main/resources/templates/code/controller.ftl b/api/src/main/resources/templates/code/controller.ftl deleted file mode 100644 index f0de9f1d45a74f625f152d8463b99d42f87f9731..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/controller.ftl +++ /dev/null @@ -1,41 +0,0 @@ -package ${basePackage}.controller; - -import ${basePackage}.common.controller.BaseController; -import ${basePackage}.model.${modelNameUpperCamel}; -import ${basePackage}.service.${modelNameUpperCamel}Service; -import ${basePackage}.repository.${modelNameUpperCamel}Repository; - -import ${basePackage}.common.domain.ResultMsg; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.MessageSource; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.security.core.Authentication; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.security.RolesAllowed; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.security.Principal; -import java.util.Locale; -import java.time.LocalTime; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** -* @author ${AUTHOR} -* @date ${CREATE} -**/ - -@Api(description = "") -@Slf4j -@RestController -@RequestMapping("${baseRequestMapping}") -public class ${modelNameUpperCamel}Controller extends BaseController{ - - @Autowired - private ${modelNameUpperCamel}Service ${modelNameLowerCamel}Service; - -} \ No newline at end of file diff --git a/api/src/main/resources/templates/code/controllerWithPage.ftl b/api/src/main/resources/templates/code/controllerWithPage.ftl deleted file mode 100644 index 9d4e76e16da1c073cdc876af3f2b27305940b3ed..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/controllerWithPage.ftl +++ /dev/null @@ -1,249 +0,0 @@ -<#function dashedToCamel(s)> - <#return s - ?replace('(^_+)|(_+$)', '', 'r') - ?replace('\\_+(\\w)?', ' $1', 'r') - ?replace('([A-Z])', ' $1', 'r') - ?capitalize - ?replace(' ' , '') - ?uncap_first - > - -package ${basePackage}.controller; - -import com.github.liaochong.myexcel.core.DefaultExcelBuilder; -import com.github.liaochong.myexcel.core.DefaultExcelReader; -import com.github.liaochong.myexcel.utils.AttachmentExportUtil; -import ${basePackage}.common.controller.BaseController; -import ${basePackage}.model.${modelNameUpperCamel}; -import ${basePackage}.service.DictTypeService; -import ${basePackage}.service.${modelNameUpperCamel}Service; -import ${basePackage}.repository.${modelNameUpperCamel}Repository; - -import ${basePackage}.common.domain.ResultMsg; -import ${basePackage}.common.domain.UserEntity; -import ${basePackage}.common.domain.EasyUIDataGridResult; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import io.swagger.annotations.ApiParam; -import lombok.extern.slf4j.Slf4j; -import org.apache.poi.ss.usermodel.Workbook; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.MessageSource; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.security.core.Authentication; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; -import springfox.documentation.annotations.ApiIgnore; - -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.domain.PageRequest; -import org.springframework.data.domain.Sort; - -import javax.annotation.security.RolesAllowed; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.security.Principal; -import java.io.IOException; -import java.util.Locale; -import java.util.Date; -import java.util.Map; -import java.util.HashMap; -import java.util.LinkedHashMap; - -import java.sql.Time; -import java.time.LocalTime; -import java.time.LocalDate; -import java.time.LocalDateTime; -import java.util.List; - -/** -* ${tableComment} -* -* @author ${AUTHOR} -* @date ${CREATE} -**/ -@Slf4j -@Api(description = "${tableComment}") -@Controller -@RequestMapping("/api/${entityName?uncap_first}s") -public class ${entityName}Controller extends BaseController { - - @Autowired - private ${entityName}Service ${entityName?uncap_first}Service; - - @Autowired - private DictTypeService dictTypeService; - - @ApiIgnore - @ApiOperation(value = "列表页面") - @GetMapping("list") - public String list(Model model, Locale locale) { -<#list columns as column> - <#if column.name == "id" || column.name == "createDate" || column.name == "createBy" || column.name == "updateDate" || column.name == "updateBy" || column.name == "userId"> - <#else> - <#if (column.allowInput?string('yes', 'no'))=='yes' && (column.extraInfo)??> - model.addAttribute("${column.extraInfo}", dictTypeService.getTypeByGroupCode("${column.extraInfo}", locale.toString())); - - - - return "vue/${entityName?uncap_first}/list"; - } - - @ApiIgnore - @ApiOperation(value = "新增页面") - @GetMapping("add") - public String add(Model model, Locale locale) { -<#list columns as column> - <#if column.name == "id" || column.name == "createDate" || column.name == "createBy" || column.name == "updateDate" || column.name == "updateBy" || column.name == "userId"> - <#else> - <#if (column.allowInput?string('yes', 'no'))=='yes' && (column.extraInfo)??> - model.addAttribute("${column.extraInfo}", dictTypeService.getTypeByGroupCode("${column.extraInfo}", locale.toString())); - - - - return "vue/${entityName?uncap_first}/add"; - } - - @ApiIgnore - @ApiOperation(value = "编辑页面") - @GetMapping("edit") - public String edit(@RequestParam ${idType} id, Model model, Locale locale) { - model.addAttribute("entity", ${entityName?uncap_first}Service.findById(id)); -<#list columns as column> - <#if column.name == "id" || column.name == "createDate" || column.name == "createBy" || column.name == "updateDate" || column.name == "updateBy" || column.name == "userId"> - <#else> - <#if (column.allowInput?string('yes', 'no'))=='yes' && (column.extraInfo)??> - model.addAttribute("${column.extraInfo}", dictTypeService.getTypeByGroupCode("${column.extraInfo}", locale.toString())); - - - - return "vue/${entityName?uncap_first}/edit"; - } - - @ApiIgnore - @ApiOperation(value = "列表数据") - @GetMapping("data") - @ResponseBody - public EasyUIDataGridResult<${entityName}> data ( -<#list columns as column> - <#if column.allowSearch> - <#switch column.type> - <#case "Date"> - @ApiParam(value = "${(column.comment)}")@RequestParam(required = false) String[] ${column.name}, - <#break> - <#case "LocalTime"> - @ApiParam(value = "${(column.comment)}")@RequestParam(required = false) String[] ${column.name}, - <#break> - <#case "LocalDate"> - @ApiParam(value = "${(column.comment)}")@RequestParam(required = false) String[] ${column.name}, - <#break> - <#case "LocalDateTime"> - @ApiParam(value = "${(column.comment)}")@RequestParam(required = false) String[] ${column.name}, - <#break> - <#default> - @ApiParam(value= "${(column.comment)}")@RequestParam(required = false) ${column.type} ${column.name}, - - - - @ApiParam(value = "页码", defaultValue = "1", required = true) @RequestParam Integer pageNo, - @ApiParam(value = "每页条数", defaultValue = "10", required = true)@RequestParam Integer pageSize, - @ApiParam(value = "排序")@RequestParam(required = false, defaultValue = "") String orderBy){ - Map params = new LinkedHashMap<>(); -<#list columns as column> -<#if column.allowSearch> - <#switch column.type> - <#case "Date"> - if(null != ${column.name} && ${column.name}.length == 2) { - params.put("${column.name}Start", ${column.name}[0]); - params.put("${column.name}End", ${column.name}[1]); - } - <#break> - <#case "LocalTime"> - if(null != ${column.name} && ${column.name}.length == 2) { - params.put("${column.name}Start", ${column.name}[0]); - params.put("${column.name}End", ${column.name}[1]); - } - <#break> - <#case "LocalDate"> - if(null != ${column.name} && ${column.name}.length == 2) { - params.put("${column.name}Start", ${column.name}[0]); - params.put("${column.name}End", ${column.name}[1]); - } - <#break> - <#case "LocalDateTime"> - if(null != ${column.name} && ${column.name}.length == 2) { - params.put("${column.name}Start", ${column.name}[0]); - params.put("${column.name}End", ${column.name}[1]); - } - <#break> - <#default> - params.put("${column.name}", ${column.name}); - - - - return new EasyUIDataGridResult<>(${entityName?uncap_first}Service.getList(params, pageNo, pageSize, orderBy)); - } - - @ApiOperation(value = "新增") - @PostMapping("add") - @ResponseBody - public ResultMsg add(@RequestBody ${entityName} body, Authentication authentication) { - UserEntity userEntity = getCurrentUser(authentication); - body.setCreateDate(LocalDateTime.now()); - body.setCreateBy(userEntity.getId()); -<#list columns as column> - <#if column.name == "userId"> - body.setUserId(userEntity.getId()); - - - ${entityName?uncap_first}Service.insertSelective(body); - return ResultMsg.success(); - } - - @ApiOperation(value = "修改") - @PatchMapping("edit") - @ResponseBody - public ResultMsg update(@RequestBody ${entityName} body, Authentication authentication) { - UserEntity userEntity = getCurrentUser(authentication); - body.setUpdateDate(LocalDateTime.now()); - body.setUpdateBy(userEntity.getId()); - ${entityName?uncap_first}Service.updateByPrimaryKeySelective(body); - return ResultMsg.success(); - } - - @ApiOperation(value = "删除") - @DeleteMapping("delete") - @ResponseBody - public ResultMsg delete(@RequestParam String ids) { - ${entityName?uncap_first}Service.deleteByIds(ids); - return ResultMsg.success(); - } - - @ApiIgnore - @ApiOperation(value = "导出") - @GetMapping("export") - public void exportExcel(HttpServletRequest request, HttpServletResponse response) throws IOException { - List<${entityName}> list = ${entityName?uncap_first}Service.findAll(); - Workbook workbook = DefaultExcelBuilder.of(${entityName}.class) - .build(list); - AttachmentExportUtil.export(workbook, "${tableComment}", response); - } - - @ApiIgnore - @ApiOperation(value = "导入", notes = "该请求路径必须添加到WebSecurityConfig的csrf忽略列表里。") - @PostMapping("import") - @ResponseBody - public ResponseEntity importExcel(@RequestParam("file") MultipartFile file) throws Exception { - List<${entityName}> result = DefaultExcelReader.of(${entityName}.class) - .sheet(0) - .rowFilter(row -> row.getRowNum() > 0) - .read(file.getInputStream()); - ${entityName?uncap_first}Service.batchUpdate(result); - return ResponseEntity.ok(ResultMsg.success()); - } -} \ No newline at end of file diff --git a/api/src/main/resources/templates/code/edit.ftl b/api/src/main/resources/templates/code/edit.ftl deleted file mode 100644 index fde7aa72507dfd50005ec21a9e0f22f8aef2cb25..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/edit.ftl +++ /dev/null @@ -1,251 +0,0 @@ - - - - -
- - - -<#list columns as column> - <#if column.name == "id" || column.name == "createDate" || column.name == "createBy" || column.name == "updateDate" || column.name == "updateBy" || column.name == "userId"> - <#else> - <#if (column.allowInput?string('yes', 'no'))=='yes'> - <#switch column.uiType> - <#case "Input"> - - - - <#break> - <#case "Radio"> - - - - <#break> - <#case "Checkbox"> - - ${column.comment} - - <#break> - <#case "InputNumber"> - - - - <#break> - <#case "Select"> - - - - - - - <#break> - <#case "Cascader"> - - <#break> - <#case "Switch"> - - - - - <#break> - <#case "Slider"> - - - - <#break> - <#case "TimePicker"> - - - - - <#break> - <#case "DatePicker"> - - - - - <#break> - <#case "DateTimePicker"> - - - - - <#break> - <#case "Upload"> - - - - <#break> - <#case "Rate"> - - - - - <#break> - <#case "ColorPicker"> - - - - <#break> - <#case "Transfer"> - - - - <#break> - <#case "neditor"> - - - - <#break> - <#default> - - - - - - - - - 提交 - 关闭 - - - - -
- - - - - \ No newline at end of file diff --git a/api/src/main/resources/templates/code/entity.ftl b/api/src/main/resources/templates/code/entity.ftl deleted file mode 100644 index 16e82b55e2368fc168f27346a6e63372ad7badaf..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/entity.ftl +++ /dev/null @@ -1,59 +0,0 @@ -package ${basePackage}.model; - -import com.simon.common.domain.BasePo; -import com.alibaba.fastjson.annotation.JSONField; -import com.alibaba.fastjson.serializer.ToStringSerializer; -import com.fasterxml.jackson.annotation.JsonFormat; -import com.github.liaochong.myexcel.core.WorkbookType; -import com.github.liaochong.myexcel.core.annotation.ExcelColumn; -import com.github.liaochong.myexcel.core.annotation.ExcelTable; -import com.github.liaochong.myexcel.core.annotation.ExcludeColumn; -import ${basePackage}.common.config.AppConfig; -import ${basePackage}.common.utils.UUIdGenId; -import ${basePackage}.common.utils.SnowflakeGenId; -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import org.hibernate.annotations.GenericGenerator; -import org.springframework.format.annotation.DateTimeFormat; -import tk.mybatis.mapper.annotation.KeySql; - -import lombok.Data; -import lombok.EqualsAndHashCode; -import javax.persistence.*; -import java.io.Serializable; -import java.util.Date; -import java.math.BigDecimal; -import java.time.LocalTime; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** -* ${tableComment} -* @author ${AUTHOR} -* @date ${CREATE} -**/ -@ExcelTable(sheetName = "${tableComment}", workbookType = WorkbookType.SXLSX, rowAccessWindowSize = 100, useFieldNameAsTitle = true) -@ApiModel(description = "${tableComment}") -@Data -@EqualsAndHashCode(callSuper = true) -@Entity -@Table(name="${tableName}") -public class ${entityName} extends BasePo<${idType}> implements Serializable { - @ExcludeColumn - private static final long serialVersionUID = 1L; -<#list columns as column> - - ${(column.annotation)} - private ${column.type} ${column.name}; - - - /**@ExcludeColumn - @ApiModelProperty(value = "创建人名称") - @Transient - private String createUser; - - @ExcludeColumn - @ApiModelProperty(value = "更新人名称") - @Transient - private String updateUser;**/ -} \ No newline at end of file diff --git a/api/src/main/resources/templates/code/list.ftl b/api/src/main/resources/templates/code/list.ftl deleted file mode 100644 index e64e8ec684f6818bb52ef05eb7fb49a3d36d6267..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/list.ftl +++ /dev/null @@ -1,415 +0,0 @@ -<#function dashedToCamel(s)> - <#return s - ?replace('(^_+)|(_+$)', '', 'r') - ?replace('\\_+(\\w)?', ' $1', 'r') - ?replace('([A-Z])', ' $1', 'r') - ?capitalize - ?replace(' ' , '') - ?uncap_first - > - - - - - -
- -
- - - - \ No newline at end of file diff --git a/api/src/main/resources/templates/code/mapper.ftl b/api/src/main/resources/templates/code/mapper.ftl deleted file mode 100644 index e158ee20328aa946b67dd0e579bfabf3376d8725..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/mapper.ftl +++ /dev/null @@ -1,32 +0,0 @@ -package ${basePackage}.mapper; - -import ${basePackage}.common.mapper.CrudMapper; -import ${basePackage}.model.${modelNameUpperCamel}; -import ${basePackage}.provider.${modelNameUpperCamel}Provider; -import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; -import org.apache.ibatis.annotations.ResultMap; -import org.apache.ibatis.annotations.Select; -import org.apache.ibatis.annotations.SelectProvider; - -import java.util.List; -import java.util.Map; -import java.time.LocalTime; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** -* @author ${AUTHOR} -* @date ${CREATE} -**/ -@Mapper -public interface ${modelNameUpperCamel}Mapper extends CrudMapper<${modelNameUpperCamel}> { - /** - * 使用Map查询 - * @param map 查询条件 - * @return 结果列表 - */ - @ResultMap("BaseResultMap") - @SelectProvider(type = ${modelNameUpperCamel}Provider.class, method = "getList") - List<${modelNameUpperCamel}> getList(Map map); -} \ No newline at end of file diff --git a/api/src/main/resources/templates/code/provider.ftl b/api/src/main/resources/templates/code/provider.ftl deleted file mode 100644 index 62a6d082ca9eee32d0c1f849257c5760b9dce6a7..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/provider.ftl +++ /dev/null @@ -1,59 +0,0 @@ -package com.simon.provider; - -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.jdbc.SQL; - -import java.util.Map; -import java.time.LocalTime; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** -* ${tableComment} -* @author ${AUTHOR} -* @date ${CREATE} -**/ - -public class ${entityName}Provider { - /** - * 构造SQL查询语句 - * @param param 查询条件 - * @return SQL字符串 - */ - public String getList(Map param) { - return new SQL() { - { - SELECT("tb1.*,tu1.username AS create_user,tu2.username AS update_user"); - FROM("${tableName} tb1"); - LEFT_OUTER_JOIN("t_users tu1 ON tb1.create_by = tu1.id"); - LEFT_OUTER_JOIN("t_users tu2 ON tb1.update_by = tu2.id"); - <#list columns as column> - <#if column.allowSearch> - <#switch column.type> - <#case "String"> - if (null != param.get("${column.name}") && StringUtils.isNotEmpty(String.valueOf(param.get("${column.name}")))) { - WHERE("tb1.${column.name?replace("([a-z])([A-Z]+)","$1_$2","r")?lower_case}=${r"#{" + column.name + r"}"}"); - } - <#break> - <#case "Date"> - if (null != param.get("${column.name}Start") && null == param.get("${column.name}End")) { - WHERE("tb1.${column.name?replace("([a-z])([A-Z]+)","$1_$2","r")?lower_case} gt;=${r'#{' + column.name + 'Start}'}"); - } - if (null == param.get("${column.name}Start") && null != param.get("${column.name}End")) { - WHERE("tb1.${column.name?replace("([a-z])([A-Z]+)","$1_$2","r")?lower_case} lt;=${r'#{' + column.name + 'End}'}"); - } - if (null != param.get("${column.name}Start") && null != param.get("${column.name}End")) { - WHERE("tb1.${column.name?replace("([a-z])([A-Z]+)","$1_$2","r")?lower_case} BETWEEN ${r"#{" + column.name + "Start}"} AND ${r"#{" + column.name + "End}"}"); - } - <#break> - <#default> - if (null != param.get("${column.name}")) { - WHERE("tb1.${column.name?replace("([a-z])([A-Z]+)","$1_$2","r")?lower_case}=${r"#{" + column.name + r"}"}"); - } - - - - } - }.toString(); - } -} diff --git a/api/src/main/resources/templates/code/repository.ftl b/api/src/main/resources/templates/code/repository.ftl deleted file mode 100644 index 274127b7ed01ba9195d56f661d7f193e63729f5d..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/repository.ftl +++ /dev/null @@ -1,20 +0,0 @@ -package ${basePackage}.repository; - -import ${basePackage}.model.${modelNameUpperCamel}; -import java.math.BigDecimal; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -import java.time.LocalTime; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** -* @author ${AUTHOR} -* @date ${CREATE} -**/ -@Repository -public interface ${modelNameUpperCamel}Repository extends JpaRepository<${modelNameUpperCamel}, ${idType}> { -} diff --git a/api/src/main/resources/templates/code/service-impl.ftl b/api/src/main/resources/templates/code/service-impl.ftl deleted file mode 100644 index 30188935cef05501f1bb07c4c73ef7f9e929517e..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/service-impl.ftl +++ /dev/null @@ -1,40 +0,0 @@ - -package ${basePackage}.service.impl; - -import com.simon.common.service.impl.CrudServiceImpl; -import ${basePackage}.mapper.${modelNameUpperCamel}Mapper; -import ${basePackage}.model.${modelNameUpperCamel}; -import ${basePackage}.service.${modelNameUpperCamel}Service; -import ${basePackage}.repository.${modelNameUpperCamel}Repository; -import ${basePackage}.common.config.AppConfig; -import lombok.extern.slf4j.Slf4j; -import lombok.var; -import com.github.pagehelper.PageHelper; -import com.github.pagehelper.PageInfo; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.beans.factory.annotation.Autowired; -import org.apache.ibatis.session.ExecutorType; -import org.apache.ibatis.session.SqlSession; -import org.apache.ibatis.session.SqlSessionFactory; -import org.apache.commons.lang3.StringUtils; - -import javax.annotation.Resource; -import java.util.List; -import java.util.Map; -import java.time.LocalTime; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** -* @author ${AUTHOR} -* @date ${CREATE} -**/ -@Slf4j -@Service -@Transactional(rollbackFor = {Exception.class}) -public class ${modelNameUpperCamel}ServiceImpl extends CrudServiceImpl<${modelNameUpperCamel}, ${idType}> implements ${modelNameUpperCamel}Service { - -} \ No newline at end of file diff --git a/api/src/main/resources/templates/code/service.ftl b/api/src/main/resources/templates/code/service.ftl deleted file mode 100644 index fea80fd362e2a78e9ff0022a4adfa0d2ef3faa4e..0000000000000000000000000000000000000000 --- a/api/src/main/resources/templates/code/service.ftl +++ /dev/null @@ -1,15 +0,0 @@ -package ${basePackage}.service; -import ${basePackage}.model.${modelNameUpperCamel}; -import ${basePackage}.common.service.CrudService; - -import java.time.LocalTime; -import java.time.LocalDate; -import java.time.LocalDateTime; - -/** -* @author ${AUTHOR} -* @date ${CREATE} -**/ -public interface ${modelNameUpperCamel}Service extends CrudService<${modelNameUpperCamel}, ${idType}> { - -} \ No newline at end of file diff --git a/common/pom.xml b/common/pom.xml index dd28133d14d2a1ebd7f9b77020441a24923d6925..ffdd1b6c568db72fcf1713642cf2e87207490f32 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -41,6 +41,12 @@ org.springframework.cloud spring-cloud-starter-security + + + org.bouncycastle + bcpkix-jdk15on + + @@ -113,6 +119,12 @@ org.mybatis.generator mybatis-generator-maven-plugin + + + org.codehaus.plexus + plexus-utils + + org.mybatis.generator @@ -182,6 +194,12 @@ io.springfox springfox-swagger2 + + + net.bytebuddy + byte-buddy + + io.springfox diff --git a/common/src/main/java/com/simon/common/code/CodeGenerator.java b/common/src/main/java/com/simon/common/code/CodeGenerator.java index e4aad7a75fa1ebf64c13b3ba02fa977069d801b3..d79f770e1b8c5240f49de09cdad4d2289c0668a0 100644 --- a/common/src/main/java/com/simon/common/code/CodeGenerator.java +++ b/common/src/main/java/com/simon/common/code/CodeGenerator.java @@ -357,7 +357,7 @@ public class CodeGenerator { DbUtil.getConnection(JDBC_DIVER_CLASS_NAME, JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD), tableName, modelName, - MODEL_PACKAGE); + BASE_PACKAGE); //重新生成Mapper.java,覆盖自动生成的。 reGenMapper(tableName, tableComment, modelName, idType); } diff --git a/common/src/main/java/com/simon/common/code/FreeMarkerGeneratorUtil.java b/common/src/main/java/com/simon/common/code/FreeMarkerGeneratorUtil.java index 65c49b08de1fa9d58af74a706753b52c32a0b027..6c9a999c8c8c6850a38bbdfea837af6f97672753 100644 --- a/common/src/main/java/com/simon/common/code/FreeMarkerGeneratorUtil.java +++ b/common/src/main/java/com/simon/common/code/FreeMarkerGeneratorUtil.java @@ -17,6 +17,7 @@ import java.sql.Connection; /** * 代码生成器工具类 + * * @author simon * @date 2018-08-07 **/ @@ -25,6 +26,7 @@ public class FreeMarkerGeneratorUtil { /** * 仅生成dao层 + * * @param con * @param tableName * @param modelName @@ -45,33 +47,32 @@ public class FreeMarkerGeneratorUtil { throw new IOException("Path " + CodeGenerator.PROJECT_PATH + " is not directory!"); } File[] ls = projectPathFile.listFiles(); - for (File f: ls) { + for (File f : ls) { String currModule = f.toString(); boolean matches = currModule.matches("(.*?pojo.*?)|(.*?domain.*?)|(.*?entity.*?)"); - if (f.isDirectory()&&matches){ - entityDir = f.toString()+ CodeGenerator.JAVA_PATH + "/" + basePackage.replace(".", "/"); + if (f.isDirectory() && matches) { + entityDir = f.toString() + CodeGenerator.JAVA_PATH + "/" + basePackage.replace(".", "/") + "/model"; break; } } - if (StringUtils.isBlank(entityDir)){ - entityDir = CodeGenerator.PROJECT_PATH + CodeGenerator.JAVA_PATH + "/" + basePackage.replace(".", "/"); + if (StringUtils.isBlank(entityDir)) { + entityDir = CodeGenerator.PROJECT_PATH + CodeGenerator.JAVA_PATH + "/" + basePackage.replace(".", "/") + "/model"; } File entityDirFile = new File(entityDir); if (!entityDirFile.exists()) { entityDirFile.mkdirs(); - log.info("创建目录:{} 成功! ",entityDir); + log.info("创建目录:{} 成功! ", entityDir); } EntityDataModel entityModel = DbUtil.getEntityModel(con, tableName, CodeGenerator.BASE_PACKAGE, modelName); //生成每个表实体 generateCode(entityModel, templatePath, "entity.ftl", entityDir); - String providerPackage = "com.simon.provider"; //检查provider文件夹是否存在,不存在就创建 - String providerDir = CodeGenerator.PROJECT_PATH + CodeGenerator.JAVA_PATH + "/" + providerPackage.replace(".", "/"); + String providerDir = CodeGenerator.PROJECT_PATH + CodeGenerator.JAVA_PATH + "/" + basePackage.replace(".", "/") + "/provider"; File providerDirFile = new File(providerDir); if (!providerDirFile.exists()) { providerDirFile.mkdirs(); - log.info("创建目录:{} 成功! ",providerDir); + log.info("创建目录:{} 成功! ", providerDir); } //生成Provider generateCode(entityModel, templatePath, "provider.ftl", providerDir); @@ -82,7 +83,6 @@ public class FreeMarkerGeneratorUtil { } /** - * * @param dataModel * @param templatePath * @param templateName @@ -95,15 +95,15 @@ public class FreeMarkerGeneratorUtil { //String file = outDir +"/"+ dataModel.getEntityName() + dataModel.getFileSuffix(); String file; - if(templateName.contains("entity")){ - file = outDir +"/"+ dataModel.getEntityName() + dataModel.getFileSuffix(); - }else if(templateName.contains("provider")){ + if (templateName.contains("entity")) { + file = outDir + "/" + dataModel.getEntityName() + dataModel.getFileSuffix(); + } else if (templateName.contains("provider")) { file = outDir + "/" + dataModel.getEntityName() + "Provider" + dataModel.getFileSuffix(); - }else{ + } else { throw new BusinessException("不支持的模板"); } File targetFile = new File(file); - if (targetFile.exists()){ + if (targetFile.exists()) { Files.delete(targetFile.toPath()); } //获取模板对象 diff --git a/common/src/main/resources/templates/code/entity.ftl b/common/src/main/resources/templates/code/entity.ftl index 16e82b55e2368fc168f27346a6e63372ad7badaf..700b7bd646612546ac14acf59c855ae89a1bb9c4 100644 --- a/common/src/main/resources/templates/code/entity.ftl +++ b/common/src/main/resources/templates/code/entity.ftl @@ -1,6 +1,6 @@ package ${basePackage}.model; -import com.simon.common.domain.BasePo; +import ${basePackage}.common.domain.BasePo; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.ToStringSerializer; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/common/src/main/resources/templates/code/mapper.ftl b/common/src/main/resources/templates/code/mapper.ftl index e158ee20328aa946b67dd0e579bfabf3376d8725..b0f93ec42143f87627dec63a4737fb91e9d52404 100644 --- a/common/src/main/resources/templates/code/mapper.ftl +++ b/common/src/main/resources/templates/code/mapper.ftl @@ -26,6 +26,7 @@ public interface ${modelNameUpperCamel}Mapper extends CrudMapper<${modelNameUppe * @param map 查询条件 * @return 结果列表 */ + @Override @ResultMap("BaseResultMap") @SelectProvider(type = ${modelNameUpperCamel}Provider.class, method = "getList") List<${modelNameUpperCamel}> getList(Map map); diff --git a/common/src/main/resources/templates/code/service-impl.ftl b/common/src/main/resources/templates/code/service-impl.ftl index 30188935cef05501f1bb07c4c73ef7f9e929517e..7b1512e47294c92ff7baebb9a81a5ff000273400 100644 --- a/common/src/main/resources/templates/code/service-impl.ftl +++ b/common/src/main/resources/templates/code/service-impl.ftl @@ -1,7 +1,7 @@ package ${basePackage}.service.impl; -import com.simon.common.service.impl.CrudServiceImpl; +import ${basePackage}.common.service.impl.CrudServiceImpl; import ${basePackage}.mapper.${modelNameUpperCamel}Mapper; import ${basePackage}.model.${modelNameUpperCamel}; import ${basePackage}.service.${modelNameUpperCamel}Service; diff --git a/pom.xml b/pom.xml index ad0bf4241d7aa9f7640e5193bdb1be79f8357710..dab8f552ff61bbea2b161d41ed789ad472222143 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ UTF-8 UTF-8 1.8 - ${parent.version} + 1.5.22.RELEASE 127.0.0.1:5000 2.9.2 1.2.4.RELEASE @@ -290,7 +290,7 @@ org.mybatis.spring.boot mybatis-spring-boot-starter - 1.3.2 + 1.3.5 org.mybatis.generator diff --git a/web/pom.xml b/web/pom.xml index afca8cc87d95dacd3b10e5b45ffade710dfcf6c3..33b1fc9daf5366aa298ead950d9ae2600a92456f 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -25,6 +25,12 @@ org.springframework.cloud spring-cloud-starter-security + + + org.bouncycastle + bcpkix-jdk15on + + @@ -428,6 +446,12 @@ org.mybatis.generator mybatis-generator-maven-plugin 1.3.7 + + + org.codehaus.plexus + plexus-utils + + diff --git a/web/src/main/resources/templates/code/entity.ftl b/web/src/main/resources/templates/code/entity.ftl index 16e82b55e2368fc168f27346a6e63372ad7badaf..700b7bd646612546ac14acf59c855ae89a1bb9c4 100644 --- a/web/src/main/resources/templates/code/entity.ftl +++ b/web/src/main/resources/templates/code/entity.ftl @@ -1,6 +1,6 @@ package ${basePackage}.model; -import com.simon.common.domain.BasePo; +import ${basePackage}.common.domain.BasePo; import com.alibaba.fastjson.annotation.JSONField; import com.alibaba.fastjson.serializer.ToStringSerializer; import com.fasterxml.jackson.annotation.JsonFormat; diff --git a/web/src/main/resources/templates/code/mapper.ftl b/web/src/main/resources/templates/code/mapper.ftl index e158ee20328aa946b67dd0e579bfabf3376d8725..b0f93ec42143f87627dec63a4737fb91e9d52404 100644 --- a/web/src/main/resources/templates/code/mapper.ftl +++ b/web/src/main/resources/templates/code/mapper.ftl @@ -26,6 +26,7 @@ public interface ${modelNameUpperCamel}Mapper extends CrudMapper<${modelNameUppe * @param map 查询条件 * @return 结果列表 */ + @Override @ResultMap("BaseResultMap") @SelectProvider(type = ${modelNameUpperCamel}Provider.class, method = "getList") List<${modelNameUpperCamel}> getList(Map map); diff --git a/web/src/main/resources/templates/code/service-impl.ftl b/web/src/main/resources/templates/code/service-impl.ftl index 30188935cef05501f1bb07c4c73ef7f9e929517e..7b1512e47294c92ff7baebb9a81a5ff000273400 100644 --- a/web/src/main/resources/templates/code/service-impl.ftl +++ b/web/src/main/resources/templates/code/service-impl.ftl @@ -1,7 +1,7 @@ package ${basePackage}.service.impl; -import com.simon.common.service.impl.CrudServiceImpl; +import ${basePackage}.common.service.impl.CrudServiceImpl; import ${basePackage}.mapper.${modelNameUpperCamel}Mapper; import ${basePackage}.model.${modelNameUpperCamel}; import ${basePackage}.service.${modelNameUpperCamel}Service;