edu/server/like-generator/src/main/resources/java/serviceImpl.java.vm

360 lines
13 KiB
Plaintext
Raw Normal View History

2022-07-13 09:04:05 +00:00
package ${packageName}.admin.service.${moduleName}.impl;
2022-06-15 06:21:31 +00:00
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper;
2022-07-14 07:11:04 +00:00
import ${packageName}.admin.service.${moduleName}.I${EntityName}Service;
2022-07-13 09:17:10 +00:00
import ${packageName}.admin.validate.common.PageParam;
2022-07-14 07:11:04 +00:00
import ${packageName}.admin.validate.${moduleName}.${EntityName}Param;
2022-07-13 09:42:53 +00:00
import ${packageName}.admin.vo.${moduleName}.${EntityName}ListVo;
import ${packageName}.admin.vo.${moduleName}.${EntityName}DetailVo;
2022-07-13 09:17:10 +00:00
import ${packageName}.common.core.PageResult;
2022-07-14 07:11:04 +00:00
import ${packageName}.common.entity.${moduleName}.${EntityName};
import ${packageName}.common.mapper.${moduleName}.${EntityName}Mapper;
2022-07-13 09:17:10 +00:00
import ${packageName}.common.utils.TimeUtil;
import ${packageName}.common.utils.UrlUtil;
2022-07-14 07:11:04 +00:00
import com.hxkj.common.config.GlobalConfig;
2022-06-15 06:21:31 +00:00
import org.springframework.stereotype.Service;
2022-07-13 09:17:10 +00:00
import org.springframework.util.Assert;
2022-06-15 06:21:31 +00:00
import javax.annotation.Resource;
import java.util.*;
/**
2022-06-15 09:14:20 +00:00
* ${functionName}实现类
2022-06-15 06:21:31 +00:00
*/
@Service
2022-06-15 09:14:20 +00:00
public class ${EntityName}ServiceImpl implements I${EntityName}Service {
2022-07-14 07:11:04 +00:00
## 设置模板方式的变量
#if($table.genTpl.equals("curd"))
#set($genTpl = "PageResult<${EntityName}ListVo>")
2022-06-17 11:03:18 +00:00
#if($isSearch)
2022-07-14 07:11:04 +00:00
#set($isSearchParam = true)
#set($genParam = "PageParam pageParam, Map<String, String> params")
2022-06-17 11:03:18 +00:00
#else
2022-07-14 07:11:04 +00:00
#set($isSearchParam = false)
#set($genParam = "PageParam pageParam")
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#else
#set($genTpl = "JSONArray")
2022-06-17 11:03:18 +00:00
#if($isSearch)
2022-07-14 07:11:04 +00:00
#set($isSearchParam = true)
#set($genParam = "Map<String, String> params")
#else
#set($isSearchParam = false)
#set($genParam = "")
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#end
## 设置基本的参数变量
#set($isAuthor = !$authorName.equals(""))
#set($pageParam = "@param pageParam 分页参数")
#set($searchparams = "@param params 搜索参数")
2022-06-17 11:03:18 +00:00
2022-07-14 07:11:04 +00:00
@Resource
${EntityName}Mapper ${entityName}Mapper;
2022-06-17 11:03:18 +00:00
/**
* ${functionName}列表
*
2022-07-14 07:11:04 +00:00
#if($isAuthor)
2022-06-17 11:03:18 +00:00
* @author ${authorName}
2022-07-13 09:17:10 +00:00
#end
2022-07-14 07:11:04 +00:00
* ${pageParam}
#if($isSearchParam)
* ${searchparams}
#end
* @return $genTpl
2022-06-17 11:03:18 +00:00
*/
@Override
2022-07-14 07:11:04 +00:00
public $genTpl list($genParam) {
#if($table.genTpl.equals("curd"))
Integer pageNo = pageParam.getPageNo();
Integer pageSize = pageParam.getPageSize();
#end
#if(!$table.subTableName.equals("") && !$table.subTableFk.equals(""))
MPJQueryWrapper<${EntityName}> queryWrapper = new MPJQueryWrapper<>();
queryWrapper.innerJoin("?_$table.subTableName f ON f.$table.SubTableFk=t.id".replace("?_", GlobalConfig.tablePrefix));
#else
2022-06-17 11:03:18 +00:00
QueryWrapper<${EntityName}> queryWrapper = new QueryWrapper<>();
2022-07-14 07:11:04 +00:00
#end
#if($fields.contains("is_delete"))
2022-06-17 11:03:18 +00:00
queryWrapper.eq("is_delete", 0);
2022-07-14 07:11:04 +00:00
#end
#if($fields.contains("sort"))
2022-06-17 11:03:18 +00:00
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
2022-07-14 07:11:04 +00:00
#else
2022-06-17 11:03:18 +00:00
queryWrapper.orderByDesc("id");
2022-07-14 07:11:04 +00:00
#end
2022-06-15 06:21:31 +00:00
2022-07-14 07:11:04 +00:00
#if($isSearch)
${entityName}Mapper.setSearch(mpjQueryWrapper, params, new String[]{
#foreach ($column in $columns)
#if($column.isQuery)
#if($dateFields.contains($column.columnName))
"datetime:startTime-endTime@${column.columnName}:str"
#elseif($column.javaType=="Integer")
#if($column.javaField.equals($column.columnName))
"${column.queryType.toLowerCase()}:${column.javaField}:int",
2022-06-17 11:03:18 +00:00
#else
2022-07-14 07:11:04 +00:00
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:int",
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#elseif($column.javaType=="Long")
#if($column.javaField.equals($column.columnName))
"${column.queryType.toLowerCase()}:${column.javaField}:long",
#else
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:long",
2022-06-17 11:03:18 +00:00
#end
#else
2022-07-14 07:11:04 +00:00
#if($column.javaField.equals($column.columnName))
"${column.queryType.toLowerCase()}:${column.javaField}:str",
#else
"${column.queryType.toLowerCase()}:${column.javaField}@${column.columnName}:str",
#end
2022-06-17 11:03:18 +00:00
#end
#end
#end
2022-07-14 07:11:04 +00:00
}
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#if(!$table.subTableName.equals("") && !$table.subTableFk.equals(""))
#set($isJoin = true)
#set($joinCurdList = "${EntityName}ListVo")
#set($joinCurdName = "iPage.getRecords()")
#if($table.genTpl.equals("curd"))
2022-07-13 09:40:21 +00:00
IPage<${EntityName}ListVo> iPage = ${entityName}Mapper.selectJoinPage(
new Page<>(page, limit),
2022-07-13 10:15:04 +00:00
${EntityName}ListVo.class,
2022-07-13 09:40:21 +00:00
mpjQueryWrapper);
2022-07-14 07:11:04 +00:00
#else
List<${EntityName}ListVo> iPage = ${entityName}Mapper.selectJoinList(
${EntityName}ListVo.class,
mpjQueryWrapper);
#end
2022-06-17 11:03:18 +00:00
#else
2022-07-14 07:11:04 +00:00
#set($isJoin = false)
#set($joinCurdList = "${EntityName}")
#if($table.genTpl.equals("curd"))
#set($joinCurdName = "iPage.getRecords()")
IPage<${EntityName}> iPage = ${entityName}Mapper.selectPage(new Page<>(page, limit), queryWrapper);
#else
#set($joinCurdName = "array")
List<${EntityName}> array = ${entityName}Mapper.selectList(queryWrapper);
#end
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#set($filter = false)
#if($listFields.contains("create_time") || $listFields.contains("update_time") ||
$listFields.contains("delete_time") || $listFields.contains("start_time") ||
$listFields.contains("end_time") || $listFields.contains("image") ||
$listFields.contains("avatar") || $listFields.contains("logo") ||
$listFields.contains("img"))
#set($filter = true)
#if(!$isJoin)
List<${EntityName}ListVo> list = new LinkedList<>();
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
for($joinCurdList item : $joinCurdName) {
#if(!$isJoin)
2022-07-13 09:40:21 +00:00
${EntityName}ListVo vo = new ${EntityName}Vo();
2022-06-17 11:03:18 +00:00
BeanUtils.copyProperties(item, vo);
#end
2022-07-14 07:11:04 +00:00
#if($listFields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(item.getImage()))
#end
#if($listFields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(item.getAvatar()))
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#if($listFields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(item.getLogo()))
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#if($listFields.contains("img"))
vo.setImg(UrlUtil.toAbsoluteUrl(item.getImg()))
#end
#if($listFields.contains("create_time"))
2022-06-17 11:03:18 +00:00
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
#end
2022-07-14 07:11:04 +00:00
#if($listFields.contains("update_time"))
2022-06-17 11:03:18 +00:00
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
#end
2022-07-14 07:11:04 +00:00
#if($listFields.contains("delete_time"))
vo.setDeleteTime(TimeUtil.timestampToDate(item.getDeleteTime()));
#end
#if($listFields.contains("start_time"))
vo.setStartTime(TimeUtil.timestampToDate(item.getStartTime()));
#end
#if($listFields.contains("end_time"))
vo.setEndTime(TimeUtil.timestampToDate(item.getEndTime()));
#end
#if(!$isJoin)
list.add(vo)
#end
2022-06-17 11:03:18 +00:00
}
2022-07-14 07:11:04 +00:00
#end
2022-06-17 11:03:18 +00:00
2022-07-14 07:11:04 +00:00
#if($table.genTpl.equals("curd"))
#if($isJoin)
return PageResult.iPageHandle(iPage);
#else
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
#end
#else
#if($filter)
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(list));
#else
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(array));
2022-06-17 11:03:18 +00:00
#end
return ArrayUtil.listToTree(jsonArray, "${table.treePrimary}", "${table.treeParent}", "children");
#end
2022-07-14 07:11:04 +00:00
}
2022-06-17 11:03:18 +00:00
/**
* ${functionName}详情
*
2022-07-14 07:11:04 +00:00
#if($isAuthor)
2022-06-17 11:03:18 +00:00
* @author ${authorName}
2022-07-13 09:17:10 +00:00
#end
2022-06-17 11:03:18 +00:00
* @param id 主键参数
* @return ${EntityName}
*/
@Override
2022-07-14 07:11:04 +00:00
public ${EntityName}DetailVo detail(Integer id) {
${EntityName} model = new QueryWrapper<${EntityName}>()
.eq("id", id)
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
.last("limit 1"));
Assert.notNull(model, "数据不存在");
${EntityName}DetailVo vo = new ${EntityName}DetailVo();
BeanUtils.copyProperties(model, vo);
#if($detailFields.contains("create_time") || $detailFields.contains("update_time") ||
$detailFields.contains("delete_time") || $detailFields.contains("start_time") ||
$detailFields.contains("end_time") || $detailFields.contains("image") ||
$detailFields.contains("avatar") || $detailFields.contains("logo") ||
$detailFields.contains("img"))
#if($detailFields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(model.getImage()))
#end
#if($detailFields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(model.getAvatar()))
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#if($detailFields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(model.getLogo()))
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#if($detailFields.contains("img"))
vo.setImg(UrlUtil.toAbsoluteUrl(model.getImg()))
2022-06-17 11:03:18 +00:00
#end
2022-07-14 07:11:04 +00:00
#if($detailFields.contains("create_time"))
2022-07-13 10:00:59 +00:00
vo.setCreateTime(TimeUtil.timestampToDate(model.getCreateTime()));
#end
2022-07-14 07:11:04 +00:00
#if($detailFields.contains("update_time"))
2022-07-13 10:00:59 +00:00
vo.setUpdateTime(TimeUtil.timestampToDate(model.getUpdateTime()));
#end
2022-07-14 07:11:04 +00:00
#if($detailFields.contains("delete_time"))
vo.setDeleteTime(TimeUtil.timestampToDate(model.getDeleteTime()));
#end
#if($detailFields.contains("start_time"))
vo.setStartTime(TimeUtil.timestampToDate(model.getStartTime()));
#end
#if($detailFields.contains("end_time"))
vo.setEndTime(TimeUtil.timestampToDate(model.getEndTime()));
2022-07-13 10:00:59 +00:00
#end
2022-07-14 07:11:04 +00:00
#end
2022-07-13 09:40:21 +00:00
return vo;
2022-06-17 11:03:18 +00:00
}
/**
* ${functionName}新增
*
2022-07-14 07:11:04 +00:00
#if($isAuthor)
2022-06-17 11:03:18 +00:00
* @author ${authorName}
2022-07-13 09:17:10 +00:00
#end
2022-06-17 11:03:18 +00:00
* @param ${entityName}Param 参数
*/
@Override
public void add(${EntityName}Param ${entityName}Param) {
${EntityName} model = new ${EntityName}();
#foreach ($column in $columns)
2022-07-14 07:11:04 +00:00
#if($column.isInsert)
2022-06-17 11:03:18 +00:00
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
2022-07-14 07:11:04 +00:00
#if($column.javaField.equals("image") || $column.javaField.equals("avatar") || $column.javaField.equals("logo") || $column.javaField.equals("img"))
2022-07-13 10:15:04 +00:00
model.set${AttrName}(UrlUtil.toRelativeUrl(${entityName}Param.get${AttrName}()));
2022-07-14 07:11:04 +00:00
#elseif(!$dateFields.contains($column.columnName) and !$column.javaField.equals("isDelete"))
2022-06-17 11:03:18 +00:00
model.set${AttrName}(${entityName}Param.get${AttrName}());
2022-07-14 07:11:04 +00:00
#elseif($dateFields.contains($column.columnName))
2022-06-17 11:03:18 +00:00
model.set${AttrName}(System.currentTimeMillis() / 1000);
#end
#end
#end
${entityName}Mapper.insert(model);
}
/**
* ${functionName}编辑
*
2022-07-14 07:11:04 +00:00
#if($isAuthor)
2022-06-17 11:03:18 +00:00
* @author ${authorName}
2022-07-13 09:17:10 +00:00
#end
2022-06-17 11:03:18 +00:00
* @param ${entityName}Param 参数
*/
@Override
public void edit(${EntityName}Param ${entityName}Param) {
2022-07-14 07:11:04 +00:00
${EntityName} model = new QueryWrapper<${EntityName}>()
.eq("id", id)
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
.last("limit 1"));
2022-06-17 11:03:18 +00:00
2022-07-14 07:11:04 +00:00
Assert.notNull(model, "数据不存在!");
2022-06-17 11:03:18 +00:00
#foreach ($column in $columns)
2022-07-14 07:11:04 +00:00
#if($column.isEdit==1)
2022-06-17 11:03:18 +00:00
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
2022-07-14 07:11:04 +00:00
#if($column.javaField.equals("image") || $column.javaField.equals("avatar") || $column.javaField.equals("logo") || $column.javaField.equals("img"))
2022-07-13 10:15:04 +00:00
model.set${AttrName}(UrlUtil.toRelativeUrl(${entityName}Param.get${AttrName}()));
2022-07-14 07:11:04 +00:00
#elseif(!$dateFields.contains($column.columnName) and !$column.javaField.equals("isDelete"))
2022-06-17 11:03:18 +00:00
model.set${AttrName}(${entityName}Param.get${AttrName}());
2022-07-14 07:11:04 +00:00
#elseif($dateFields.contains($column.columnName))
2022-06-17 11:03:18 +00:00
model.set${AttrName}(System.currentTimeMillis() / 1000);
#end
#end
#end
${entityName}Mapper.updateById(model);
}
/**
* ${functionName}删除
*
2022-07-14 07:11:04 +00:00
#if($isAuthor)
2022-06-17 11:03:18 +00:00
* @author ${authorName}
2022-07-13 09:17:10 +00:00
#end
2022-06-17 11:03:18 +00:00
* @param id 主键ID
*/
@Override
public void del(Integer id) {
2022-07-14 07:11:04 +00:00
${EntityName} model = new QueryWrapper<${EntityName}>()
.eq("id", id)
#if($allFields.contains("is_delete"))
.eq("is_delete", 0)
#end
.last("limit 1"));
2022-06-17 11:03:18 +00:00
2022-07-14 07:11:04 +00:00
Assert.notNull(model, "数据不存在!");
2022-06-17 11:03:18 +00:00
2022-07-14 07:11:04 +00:00
#if($allFields.contains("is_delete"))
2022-06-17 11:03:18 +00:00
model.setIsDelete(1);
2022-07-14 07:11:04 +00:00
#if($allFields.contains("delete_time"))
2022-06-17 11:03:18 +00:00
model.setDeleteTime(System.currentTimeMillis() / 1000);
#end
2022-07-13 10:15:04 +00:00
${entityName}Mapper.updateById(model);
2022-07-14 07:11:04 +00:00
#else
${entityName}Mapper.delete(new QueryWrapper<${EntityName}>().eq("id", id));
#end
2022-06-15 06:21:31 +00:00
}
}