first commit

This commit is contained in:
陈现府
2025-11-20 10:45:16 +08:00
commit 8355431361
2643 changed files with 291314 additions and 0 deletions
@@ -0,0 +1,136 @@
package ${packageName}.interfaces.${className}.facadeApi;
import java.util.List;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import ${packageName}.interfaces.dto.${className}.${ClassName}DTO;
import ${packageName}.domain.${className}.repository.todo.${ClassName}DO;
import ${packageName}.domain.${className}.repository.po.${ClassName}PO;
import ${packageName}.application.service.${className}.${ClassName}ApplicationService;
import ${packageName}.interfaces.assembler.${className}.${ClassName}Assembler;
import javax.annotation.Resource;
import com.mhd.common.core.web.controller.BaseController;
import com.mhd.common.core.web.domain.AjaxResult;
#if($table.crud || $table.sub)
import com.mhd.common.core.web.page.TableDataInfo;
#elseif($table.tree)
#end
/**
* ${functionName}Api
*
* @author ${author}
* @date ${datetime}
*/
@RestController
@RequestMapping("/${className}Api")
public class ${ClassName}Api extends BaseController{
@Autowired
private ${ClassName}ApplicationService ${className}ApplicationService;
@Resource
private ${ClassName}Assembler ${className}Assembler;
/**
* 分页查询${functionName}列表
*/
## @RequiresPermissions("${permissionPrefix}:list")
@ApiOperation("查询${functionName}列表")
@GetMapping("/list")
#if($table.crud || $table.sub)
public TableDataInfo list(${ClassName}DTO ${className}DTO)
{
//转换实体
${ClassName}DO ${className}DO = ${className}Assembler.toDO(${className}DTO);
startPage();
List<${ClassName}PO> list = ${className}ApplicationService.queryList(${className}DO);
return getDataTable(list);
}
#elseif($table.tree)
public AjaxResult list(${ClassName} ${className})
{
List<${ClassName}> list = ${className}ApplicationService.queryList(${className});
return AjaxResult.success(list);
}
#end
/**
* 编辑${functionName}
*/
## @RequiresPermissions("${permissionPrefix}:edit")
## @Log(title = "${functionName}", businessType = BusinessType.UPDATE)
@ApiOperation("编辑${functionName}")
@PostMapping("/edit")
public AjaxResult edit(@RequestBody ${ClassName}DTO ${className}DTO)
{
//转换实体
${ClassName}DO ${className}DO = ${className}Assembler.toDO(${className}DTO);
if(${className}DTO.get${pkColumn.capJavaField}() != null){
return toAjax(${className}ApplicationService.update(${className}DO));
}else {
return toAjax(${className}ApplicationService.insert(${className}DO));
}
}
/**
* 批量删除${functionName}
*/
## @RequiresPermissions("${permissionPrefix}:remove")
## @Log(title = "${functionName}", businessType = BusinessType.DELETE)
@ApiOperation("批量删除${functionName}")
@DeleteMapping("/deleteByIds/{${pkColumn.javaField}s}")
public AjaxResult delete(@PathVariable ${pkColumn.javaType}[] ${pkColumn.javaField}s)
{
return toAjax(${className}ApplicationService.delete(${pkColumn.javaField}s));
}
/**
* 获取${functionName}详细信息
*/
@ApiOperation("获取${functionName}")
## @RequiresPermissions("${permissionPrefix}:query")
@GetMapping(value = "/getInfo/{${pkColumn.javaField}}")
public AjaxResult getInfo(@PathVariable("${pkColumn.javaField}") ${pkColumn.javaType} ${pkColumn.javaField})
{
return AjaxResult.success(${className}ApplicationService.getInfo(${pkColumn.javaField}));
}
#*/**
* 导出${functionName}列表
*/
@RequiresPermissions("${permissionPrefix}:export")
@Log(title = "${functionName}", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ${ClassName}DTO ${className}DTO)
{
List<${ClassName}> list = ${className}ApplicationService.select${ClassName}List(${className});
ExcelUtil<${ClassName}> util = new ExcelUtil<${ClassName}>(${ClassName}.class);
util.exportExcel(response, list, "${functionName}数据");
}*#
#* /**
* 新增${functionName}
*/
@RequiresPermissions("${permissionPrefix}:add")
@Log(title = "${functionName}", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ${ClassName} ${className})
{
return toAjax(${className}ApplicationService.insert${ClassName}(${className}));
}*#
}
@@ -0,0 +1,72 @@
package ${packageName}.application.${className}.service;
import ${packageName}.domain.${className}.repository.po.${ClassName}PO;
import ${packageName}.domain.${className}.repository.todo.${ClassName}DO;
import ${packageName}.domain.${className}.service.${ClassName}DomainService;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* ${functionName}ApplicationService
*
* @author ${author}
* @date ${datetime}
*/
@Service
@Slf4j
public class ${ClassName}ApplicationService {
@Autowired
private ${ClassName}DomainService ${className}DomainService;
/**
* 分页查询${functionName}列表
*/
public List<${ClassName}PO> queryList(${ClassName}DO ${className}DO) {
LoginUser loginUser = SecurityUtils.getLoginUser();
if (loginUser != null){
Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId();
if (topOrganizationId != null && topOrganizationId != 1){
${className}DO.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId());
}
}
return ${className}DomainService.queryList(${className}DO);
}
/**
* 新增${functionName}
*/
public Boolean insert(${ClassName}DO ${className}DO) {
return ${className}DomainService.insert(${className}DO);
}
/**
* 修改${functionName}
*/
public Boolean update(${ClassName}DO ${className}DO) {
return ${className}DomainService.update(${className}DO);
}
/**
* 批量删除${functionName}
*/
public boolean delete(${pkColumn.javaType}[] ${pkColumn.javaField}s) {
return ${className}DomainService.delete(${pkColumn.javaField}s);
}
/**
* 获取${functionName}详细信息
*/
public ${ClassName}PO getInfo(${pkColumn.javaType} ${pkColumn.javaField})
{
return ${className}DomainService.getInfo(${pkColumn.javaField});
}
}
@@ -0,0 +1,65 @@
package ${packageName}.interfaces.assembler.${className};
import cn.hutool.core.util.ObjectUtil;
import ${packageName}.domain.${className}.repository.todo.${ClassName}DO;
import ${packageName}.interfaces.dto.${className}.${ClassName}DTO;
import com.mhd.common.core.exception.digitalLogisticsException.DigitalLogisticsException;
import com.mhd.common.core.exception.digitalLogisticsException.UserError;
import com.mhd.common.core.utils.bean.BeanUtils;
import com.mhd.common.core.utils.IgnoreNullUtil;
import com.mhd.common.security.utils.SecurityUtils;
import com.mhd.system.api.model.LoginUser;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* ${functionName}Assembler
*
* @author ${author}
* @date ${datetime}
*/
@Component
public class ${ClassName}Assembler {
/**
* 转换实体
*/
public ${ClassName}DO toDO(${ClassName}DTO ${className}DTO) {
${ClassName}DO ${className}DO = new ${ClassName}DO();
// 拷贝
BeanUtils.copyProperties(${className}DTO, ${className}DO, IgnoreNullUtil.getNullPropertyNames(${className}DTO));
LoginUser loginUser = SecurityUtils.getLoginUser();
if (ObjectUtil.isNull(loginUser)) {
throw new DigitalLogisticsException(UserError.TIMEOUT);
}
String userName = loginUser.getUsername();
// 获取登录人id
Long userId = loginUser.getUserid();
if(${className}DTO.get${pkColumn.capJavaField}() != null){
if(userId != null){
${className}DO.setUpdateBy(userId);
}else {
${className}DO.setUpdateBy(new Long("0"));
}
${className}DO.setUpdateByName(userName);
${className}DO.setUpdateTime(new Date());
}else {
if(userId != null){
${className}DO.setCreateBy(userId);
${className}DO.setUpdateBy(userId);
}else {
${className}DO.setCreateBy(new Long("0"));
${className}DO.setUpdateBy(new Long("0"));
}
${className}DO.setCreateByName(userName);
${className}DO.setUpdateByName(userName);
${className}DO.setCreateTime(new Date());
${className}DO.setUpdateTime(new Date());
${className}DO.setDelFlag(1);
}
return ${className}DO;
}
}
@@ -0,0 +1,54 @@
package ${packageName}.domain.${className}.repository.todo;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* ${functionName}对象 ${tableName}
*
* @author ${author}
* @date ${datetime}
*/
#set($Entity="BaseVOEntity")
@Data
public class ${ClassName}DO extends ${Entity}{
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
@ApiModelProperty("$column.columnComment")
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($parentheseIndex != -1)
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
#elseif($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
#else
@Excel(name = "${comment}")
#end
#end
private $column.javaType $column.javaField;
#end
#end
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,56 @@
package ${packageName}.domain.${className}.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.mhd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.math.BigDecimal;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* ${functionName}对象 ${tableName}
*
* @author ${author}
* @date ${datetime}
*/
#set($Entity="BaseVOEntity")
@Data
public class ${ClassName} extends ${Entity}{
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
@ApiModelProperty("$column.columnComment")
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($parentheseIndex != -1)
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
#elseif($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
#else
@Excel(name = "${comment}")
#end
#end
#if($pkJavaField !=$column.javaField)
private $column.javaType $column.javaField;
#else
@TableId(type = IdType.AUTO)
private $column.javaType $column.javaField;
#end
#end
#end
}
@@ -0,0 +1,64 @@
package ${packageName}.domain.${className}.service;
import ${packageName}.domain.${className}.repository.facade.I${ClassName}Service;
import ${packageName}.domain.${className}.repository.po.${ClassName}PO;
import ${packageName}.domain.${className}.repository.todo.${ClassName}DO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* ${functionName}
*
* @author ${author}
* @date ${datetime}
*/
@Service
@Slf4j
public class ${ClassName}DomainService {
@Autowired
private I${ClassName}Service ${className}Service;
/**
* 分页查询${functionName}列表
*/
public List<${ClassName}PO> queryList(${ClassName}DO ${className}DO) {
return ${className}Service.queryList(${className}DO);
}
/**
* 新增${functionName}
*/
public Boolean insert(${ClassName}DO ${className}DO) {
return ${className}Service.insert(${className}DO);
}
/**
* 修改${functionName}
*/
public Boolean update(${ClassName}DO ${className}DO) {
return ${className}Service.update(${className}DO);
}
/**
* 批量删除${functionName}
*/
public Boolean delete(${pkColumn.javaType}[] ${pkColumn.javaField}s) {
return ${className}Service.delete(${pkColumn.javaField}s);
}
/**
* 获取${functionName}详细信息
*/
public ${ClassName}PO getInfo(${pkColumn.javaType} ${pkColumn.javaField})
{
return ${className}Service.getInfo(${pkColumn.javaField});
}
}
@@ -0,0 +1,54 @@
package ${packageName}.interfaces.dto.${className};
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.math.BigDecimal;
import io.swagger.annotations.ApiModelProperty;
import com.mhd.common.core.web.domain.BaseVOEntity;
import java.util.List;
/**
* ${functionName}对象 ${tableName}
*
* @author ${author}
* @date ${datetime}
*/
#set($Entity="BaseVOEntity")
@Data
public class ${ClassName}DTO extends ${Entity}{
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
@ApiModelProperty("$column.columnComment")
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($parentheseIndex != -1)
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
#elseif($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
#else
@Excel(name = "${comment}")
#end
#end
private $column.javaType $column.javaField;
#end
#end
@ApiModelProperty(name = "组织ID集合")
private List<Long> organizationIdList;
@ApiModelProperty(name = "权限菜单ID")
private Long permissionMenuId;
}
@@ -0,0 +1,81 @@
package ${packageName}.domain.${className}.repository.persistence;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import ${packageName}.domain.${className}.entity.${ClassName};
import ${packageName}.domain.${className}.repository.facade.I${ClassName}Service;
import ${packageName}.domain.${className}.repository.mapper.${ClassName}Mapper;
import ${packageName}.domain.${className}.repository.po.${ClassName}PO;
import ${packageName}.domain.${className}.repository.todo.${ClassName}DO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* ${functionName}Service业务层处理
*
* @author ${author}
* @date ${datetime}
*/
@Service
public class ${ClassName}Impl extends ServiceImpl<${ClassName}Mapper, ${ClassName}> implements I${ClassName}Service{
@Autowired
private ${ClassName}Mapper ${className}Mapper;
/**
* 查询${functionName}列表
*/
@Override
public List<${ClassName}PO> queryList(${ClassName}DO ${className}DO)
{
return ${className}Mapper.queryList(${className}DO);
}
/**
* 新增${functionName}
*/
@Override
public Boolean insert(${ClassName}DO ${className}DO) {
${ClassName} ${className} = new ${ClassName}();
BeanUtils.copyProperties(${className}DO,${className});
return this.save(${className});
}
/**
* 修改${functionName}
*/
@Override
public Boolean update(${ClassName}DO ${className}DO) {
${ClassName} ${className} = new ${ClassName}();
BeanUtils.copyProperties(${className}DO,${className});
return this.updateById(${className});
}
/**
* 批量删除${functionName}
*/
@Override
public Boolean delete(${pkColumn.javaType}[] ${pkColumn.javaField}s ) {
List<${ClassName}> list = new ArrayList<>();
for (${pkColumn.javaType} id : ${pkColumn.javaField}s) {
${ClassName} ${className} = new ${ClassName}();
${className}.set${pkColumn.capJavaField}(id);
${className}.setDelFlag(2);
list.add(${className});
}
return this.updateBatchById(list);
}
/**
* 修改${functionName}
*/
@Override
public ${ClassName}PO getInfo(${pkColumn.javaType} ${pkColumn.javaField}) {
${ClassName} ${className} = this.getById(${pkColumn.javaField});
${ClassName}PO ${className}PO = new ${ClassName}PO();
BeanUtils.copyProperties(${className},${className}PO);
return ${className}PO;
}
}
@@ -0,0 +1,43 @@
package ${packageName}.domain.${className}.repository.facade;
import com.baomidou.mybatisplus.extension.service.IService;
import ${packageName}.domain.${className}.entity.${ClassName};
import ${packageName}.domain.${className}.repository.po.${ClassName}PO;
import ${packageName}.domain.${className}.repository.todo.${ClassName}DO;
import java.util.List;
/**
* ${functionName}Service接口
*
* @author ${author}
* @date ${datetime}
*/
public interface I${ClassName}Service extends IService<${ClassName}>
{
/**
* 分页查询${functionName}列表
*/
public List<${ClassName}PO> queryList(${ClassName}DO ${className}DO);
/**
* 新增${functionName}
*/
public Boolean insert(${ClassName}DO ${className}DO);
/**
* 修改${functionName}
*/
public Boolean update(${ClassName}DO ${className}DO);
/**
* 批量删除${functionName}
*/
public Boolean delete(${pkColumn.javaType}[] ${pkColumn.javaField}s);
/**
* 查询${functionName}
*/
public ${ClassName}PO getInfo(${pkColumn.javaType} ${pkColumn.javaField});
}
@@ -0,0 +1,22 @@
package ${packageName}.domain.${className}.repository.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import ${packageName}.domain.${className}.entity.${ClassName};
import ${packageName}.domain.${className}.repository.po.${ClassName}PO;
import ${packageName}.domain.${className}.repository.todo.${ClassName}DO;
import org.apache.ibatis.annotations.Param;
/**
* ${functionName}Mapper接口
*
* @author ${author}
* @date ${datetime}
*/
public interface ${ClassName}Mapper extends BaseMapper<${ClassName}>
{
/**
* 查询${functionName}列表
*/
public List<${ClassName}PO> queryList(${ClassName}DO ${className}DO);
}
@@ -0,0 +1,51 @@
package ${packageName}.domain.${className}.repository.po;
import com.mhd.common.core.annotation.Excel;
import lombok.Data;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.math.BigDecimal;
import com.mhd.common.core.web.domain.BaseVOEntity;
/**
* ${functionName}对象 ${tableName}
*
* @author ${author}
* @date ${datetime}
*/
#set($Entity="BaseVOEntity")
@Data
@ApiModel(value = "${functionName}对象", description = "${functionName}响应对象")
public class ${ClassName}PO extends ${Entity}{
private static final long serialVersionUID = 1L;
#foreach ($column in $columns)
#if(!$table.isSuperColumn($column.javaField))
@ApiModelProperty("$column.columnComment")
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($parentheseIndex != -1)
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
#elseif($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
#else
@Excel(name = "${comment}")
#end
#end
private $column.javaType $column.javaField;
#end
#end
}
@@ -0,0 +1,73 @@
package ${packageName}.domain;
#foreach ($import in $subImportList)
import ${import};
#end
import com.mhd.common.core.annotation.Excel;
/**
* ${subTable.functionName}对象 ${subTableName}
*
* @author ${author}
* @date ${datetime}
*/
public class ${subClassName} extends BaseEntity
{
private static final long serialVersionUID = 1L;
#foreach ($column in $subTable.columns)
#if(!$table.isSuperColumn($column.javaField))
/** $column.columnComment */
#if($column.list)
#set($parentheseIndex=$column.columnComment.indexOf(""))
#if($parentheseIndex != -1)
#set($comment=$column.columnComment.substring(0, $parentheseIndex))
#else
#set($comment=$column.columnComment)
#end
#if($parentheseIndex != -1)
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
#elseif($column.javaType == 'Date')
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "${comment}", width = 30, dateFormat = "yyyy-MM-dd")
#else
@Excel(name = "${comment}")
#end
#end
private $column.javaType $column.javaField;
#end
#end
#foreach ($column in $subTable.columns)
#if(!$table.isSuperColumn($column.javaField))
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
public void set${AttrName}($column.javaType $column.javaField)
{
this.$column.javaField = $column.javaField;
}
public $column.javaType get${AttrName}()
{
return $column.javaField;
}
#end
#end
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
#foreach ($column in $subTable.columns)
#if($column.javaField.length() > 2 && $column.javaField.substring(1,2).matches("[A-Z]"))
#set($AttrName=$column.javaField)
#else
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#end
.append("${column.javaField}", get${AttrName}())
#end
.toString();
}
}