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.core.toolkit.Assert;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.query.MPJQueryWrapper;
import com.hxkj.admin.LikeAdminThreadLocal;
import com.hxkj.admin.config.AdminConfig;
import com.hxkj.admin.service.ISystemAdminService;
import com.hxkj.admin.service.ISystemRoleMenuService;
import com.hxkj.admin.service.ISystemRoleService;
import com.hxkj.admin.validate.PageParam;
import com.hxkj.admin.validate.system.SystemAdminParam;
import com.hxkj.admin.vo.system.SystemAdminVo;
import com.hxkj.admin.vo.system.SystemRoleVo;
import com.hxkj.admin.vo.system.SystemSelfVo;
import com.hxkj.common.core.PageResult;
import com.hxkj.common.entity.system.SystemAdmin;
import com.hxkj.common.mapper.system.SystemAdminMapper;
import com.hxkj.common.mapper.system.SystemMenuMapper;
import com.hxkj.common.utils.*;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
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-06-15 06:21:31 +00:00
@Resource
2022-06-15 09:14:20 +00:00
${EntityName}Mapper ${entityName}Mapper;
2022-06-15 06:21:31 +00:00
2022-06-17 11:03:18 +00:00
#if($table.sub_table_name.equals(""))
#if($table.genTpl=="curd")
2022-06-15 06:21:31 +00:00
/**
2022-06-15 09:14:20 +00:00
* ${functionName}列表
2022-06-15 06:21:31 +00:00
*
2022-06-15 09:14:20 +00:00
* @author ${authorName}
2022-06-15 06:21:31 +00:00
* @param pageParam 分页参数
2022-06-17 11:03:18 +00:00
* @param params 搜索参数
* @return PageResult<${EntityName}Vo>
2022-06-15 06:21:31 +00:00
*/
@Override
2022-06-15 09:14:20 +00:00
public PageResult<${EntityName}Vo> list(PageParam pageParam, Map<String, String> params) {
2022-06-15 06:21:31 +00:00
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
2022-06-17 11:03:18 +00:00
QueryWrapper<${EntityName}> queryWrapper = new QueryWrapper<>();
#if($isSearch)
#if($fields.contains("is_delete"))
2022-06-15 09:14:20 +00:00
queryWrapper.eq("is_delete", 0);
2022-06-17 11:03:18 +00:00
#end
#if($fields.contains("sort"))
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
#else
queryWrapper.orderByDesc("id");
#end
#end
#if($isSearch)
${entityName}Mapper.setSearch(queryWrapper, params, new String[]{
#foreach ($column in $columns)
#if($column.isQuery)
#if($column.queryType=="datetime")
"datetime:startTime-endTime@${column.columnName}:str"
#else
#if($column.javaType=="Integer")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:int",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:int",
#end
#elseif($column.javaType=="Long")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:long",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:long",
#end
#else
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:str",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:str",
#end
#end
#end
#end
#end
});
#end
IPage<${EntityName}Vo> iPage = ${entityName}Mapper.selectPage(new Page<>(page, limit), queryWrapper);
#if($fields.contains("create_time") || $fields.contains("update_time"))
List<${EntityName}Vo> list = new ArrayList<>();
for (${EntityName} item : iPage.getRecords()) {
${EntityName}Vo vo = new ${EntityName}Vo();
BeanUtils.copyProperties(item, vo);
#if($fields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage))
#end
#if($fields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar))
#end
#if($fields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(vo.getLogo))
#end
#if($fields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
#end
#if($fields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
#end
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
#else
return PageResult.iPageHandle(iPage);
#end
}
#elseif($table.genTpl=="tree")
/**
* ${functionName}列表
*
* @author ${authorName}
* @param params 搜索参数
* @return PageResult<${EntityName}Vo>
*/
@Override
public JSONArray list(Map<String, String> params) {
QueryWrapper<${EntityName}> queryWrapper = new QueryWrapper<>();
#if($isSearch)
#if($fields.contains("is_delete"))
queryWrapper.eq("is_delete", 0);
#end
#if($fields.contains("sort"))
queryWrapper.orderByDesc(Arrays.asList("sort", "id"));
#else
queryWrapper.orderByDesc("id");
#end
#end
2022-06-15 06:21:31 +00:00
2022-06-16 11:01:59 +00:00
#if($isSearch)
${entityName}Mapper.setSearch(queryWrapper, params, new String[]{
#foreach ($column in $columns)
2022-06-17 11:03:18 +00:00
#if($column.isQuery)
#if($column.queryType=="datetime")
"datetime:startTime-endTime@${column.columnName}:str"
#else
#if($column.javaType=="Integer")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:int",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:int",
#end
#elseif($column.javaType=="Long")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:long",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:long",
#end
#else
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:str",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:str",
#end
#end
#end
#end
#end
});
#end
List<${EntityName}> arrayData = ${entityName}Mapper.selectList(queryWrapper);
#if($fields.contains("create_time") || $fields.contains("update_time"))
List<${EntityName}Vo> list = new ArrayList<>();
for (${EntityName} item : arrayData) {
${EntityName}Vo vo = new ${EntityName}Vo();
BeanUtils.copyProperties(item, vo);
#if($fields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage))
#end
#if($fields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar))
#end
#if($fields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(vo.getLogo))
#end
#if($fields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
#end
#if($fields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
#end
list.add(vo);
}
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(list));
return ArrayUtil.listToTree(jsonArray, "${table.treePrimary}", "${table.treeParent}", "children");
#else
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(arrayData));
return ArrayUtil.listToTree(jsonArray, "${table.treePrimary}", "${table.treeParent}", "children");
#end
}
#end
#else
#if($table.genTpl=="curd")
/**
* ${functionName}列表
*
* @author ${authorName}
* @param pageParam 分页参数
* @param params 搜索参数
* @return PageResult<${EntityName}Vo>
*/
@Override
public PageResult<${EntityName}Vo> list(PageParam pageParam, Map<String, String> params) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
MPJQueryWrapper<${EntityName}> mpjQueryWrapper = new MPJQueryWrapper<>();
mpjQueryWrapper.join("${table.sub_table_name} f ON f.${table.sub_table_fk}=t.id")
#if($isSearch)
#if($fields.contains("is_delete"))
mpjQueryWrapper.eq("is_delete", 0);
#end
#if($fields.contains("sort"))
mpjQueryWrapper.orderByDesc(Arrays.asList("sort", "id"));
#else
mpjQueryWrapper.orderByDesc("id");
#end
#end
#if($isSearch)
${entityName}Mapper.setSearch(mpjQueryWrapper, params, new String[]{
#foreach ($column in $columns)
#if($column.isQuery)
#if($column.queryType=="datetime")
"datetime:startTime-endTime@${column.columnName}:str"
#else
#if($column.javaType=="Integer")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:int",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:int",
#end
#elseif($column.javaType=="Long")
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:long",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:long",
#end
#else
#if($column.javaField.equals($column.columnName))
"${column.queryType}:${column.javaField}:str",
#else
"${column.queryType}:${column.javaField}@${column.columnName}:str",
2022-06-16 11:01:59 +00:00
#end
2022-06-17 11:03:18 +00:00
#end
2022-06-16 11:01:59 +00:00
#end
#end
2022-06-17 11:03:18 +00:00
#end
2022-06-15 06:21:31 +00:00
});
2022-06-15 09:14:20 +00:00
#end
2022-06-15 06:21:31 +00:00
2022-06-17 11:03:18 +00:00
IPage<${EntityName}Vo> iPage = ${entityName}Mapper.selectJoinPage(
new Page<>(page, limit),
${EntityName}Vo.class,
mpjQueryWrapper);
#if($fields.contains("create_time") || $fields.contains("update_time"))
for (${EntityName} item : iPage.getRecords()) {
${EntityName}Vo vo = new ${EntityName}Vo();
BeanUtils.copyProperties(item, vo);
#if($fields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage))
#end
#if($fields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar))
#end
#if($fields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(vo.getLogo))
#end
#if($fields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
#end
#if($fields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
#end
2022-06-15 06:21:31 +00:00
}
2022-06-17 11:03:18 +00:00
#end
2022-06-15 06:21:31 +00:00
return PageResult.iPageHandle(iPage);
2022-06-17 11:03:18 +00:00
}
#elseif($table.genTpl=="tree")
/**
* ${functionName}列表
*
* @author ${authorName}
* @param params 搜索参数
* @return PageResult<${EntityName}Vo>
*/
@Override
public JSONArray list(Map<String, String> params) {
MPJQueryWrapper<${EntityName}> mpjQueryWrapper = new MPJQueryWrapper<>();
#if($isSearch)
#if($fields.contains("is_delete"))
mpjQueryWrapper.eq("t.is_delete", 0);
#end
#if($fields.contains("sort"))
mpjQueryWrapper.orderByDesc(Arrays.asList("t.sort", "t.id"));
#else
mpjQueryWrapper.orderByDesc("t.id");
#end
#end
#if($isSearch)
${entityName}Mapper.setSearch(mpjQueryWrapper, params, new String[]{
#foreach ($column in $columns)
#if($column.isQuery)
#if($column.queryType=="datetime")
"datetime:startTime-endTime@t.${column.columnName}:str"
#else
#if($column.javaType=="Integer")
"${column.queryType}:${column.javaField}@t.${column.columnName}:int",
#elseif($column.javaType=="Long")
"${column.queryType}:${column.javaField}@t.${column.columnName}:long",
#else
"${column.queryType}:${column.javaField}@t.${column.columnName}:str",
#end
#end
#end
#end
});
#end
List<${EntityName}> arrayData = ${entityName}Mapper.selectJoinList(
${EntityName}Vo.class,
mpjQueryWrapper);
#if($fields.contains("create_time") || $fields.contains("update_time"))
for (${EntityName} item : arrayData) {
${EntityName}Vo vo = new ${EntityName}Vo();
BeanUtils.copyProperties(item, vo);
#if($fields.contains("image"))
vo.setImage(UrlUtil.toAbsoluteUrl(vo.getImage))
#end
#if($fields.contains("avatar"))
vo.setAvatar(UrlUtil.toAbsoluteUrl(vo.getAvatar))
#end
#if($fields.contains("logo"))
vo.setLogo(UrlUtil.toAbsoluteUrl(vo.getLogo))
#end
#if($fields.contains("create_time"))
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
#end
#if($fields.contains("update_time"))
vo.setUpdateTime(TimeUtil.timestampToDate(item.getUpdateTime()));
#end
list.add(vo);
}
#end
JSONArray jsonArray = JSONArray.parseArray(JSONArray.toJSONString(arrayData));
return ArrayUtil.listToTree(jsonArray, "${table.treePrimary}", "${table.treeParent}", "children");
}
#end
#end
/**
* ${functionName}详情
*
* @author ${authorName}
* @param id 主键参数
* @return ${EntityName}
*/
@Override
public ${EntityName} detail(Integer id) {
Article model = ${entityName}Mapper.selectOne(
#if($field.contains("is_delete"))
new QueryWrapper<${EntityName}>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
#else
new QueryWrapper<${EntityName}>()
.eq("id", id)
.last("limit 1"));
#end
Assert.notNull(model, "${functionName}不存在}");
#if($field.contains("image"))
model.setImage(UrlUtil.toAbsoluteUrl(model.getImage()));
#end
#if($field.contains("avatar"))
model.setAvatar(UrlUtil.toAbsoluteUrl(model.getAvatar()));
#end
#if($field.contains("logo"))
model.setLogo(UrlUtil.toAbsoluteUrl(model.getLogo()));
#end
return model;
}
/**
* ${functionName}新增
*
* @author ${authorName}
* @param ${entityName}Param 参数
*/
@Override
public void add(${EntityName}Param ${entityName}Param) {
${EntityName} model = new ${EntityName}();
#foreach ($column in $columns)
#if(!$column.isIncrement)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.javaField.equals("image") || $colum.javaField.equals("avatar") || $colum.javaField.equals("logo"))
model.set${AttrName}(UrlUtil.toRelativeUrl(Param.get${AttrName}()))
#elseif(!$column.javaField.equals("createTime") and !$column.javaField.equals("deleteTime") and !$column.javaField.equals("updateTime") and !$column.javaField.equals("isDelete"))
model.set${AttrName}(${entityName}Param.get${AttrName}());
#elseif($column.javaField.equals("createTime") || $column.javaField.equals("updateTime"))
model.set${AttrName}(System.currentTimeMillis() / 1000);
#end
#end
#end
${entityName}Mapper.insert(model);
}
/**
* ${functionName}编辑
*
* @author ${authorName}
* @param ${entityName}Param 参数
*/
@Override
public void edit(${EntityName}Param ${entityName}Param) {
${EntityName} model = ${entityName}Mapper.selectOne(
#if($field.contains("is_delete"))
new QueryWrapper<${EntityName}>()
.eq("id", ${entityName}Param.getId())
.eq("is_delete", 0)
.last("limit 1"));
#else
new QueryWrapper<${EntityName}>()
.eq("id", ${entityName}Param.getId())
.last("limit 1"));
#end
Assert.notNull(model, "${functionName}不存在!");
#foreach ($column in $columns)
#if(!$column.isIncrement)
#set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
#if($column.javaField.equals("image") || $colum.javaField.equals("avatar") || $colum.javaField.equals("logo"))
model.set${AttrName}(UrlUtil.toRelativeUrl(Param.get${AttrName}()))
#elseif(!$column.javaField.equals("createTime") and !$column.javaField.equals("deleteTime") and !$column.javaField.equals("updateTime") and !$column.javaField.equals("isDelete"))
model.set${AttrName}(${entityName}Param.get${AttrName}());
#elseif($column.javaField.equals("updateTime"))
model.set${AttrName}(System.currentTimeMillis() / 1000);
#end
#end
#end
${entityName}Mapper.updateById(model);
}
/**
* ${functionName}删除
*
* @author ${authorName}
* @param id 主键ID
*/
@Override
public void del(Integer id) {
${EntityName} model = ${entityName}Mapper.selectOne(
#if($fields.contains("is_delete"))
new QueryWrapper<${EntityName}>()
.eq("id", id)
.eq("is_delete", 0)
.last("limit 1"));
#else
new QueryWrapper<${EntityName}>()
.eq("id", id)
.last("limit 1"));
#end
Assert.notNull(model, "${functionName}不存在!");
#if($fields.contains("is_delete"))
model.setIsDelete(1);
#if($fields.contains("delete_time"))
model.setDeleteTime(System.currentTimeMillis() / 1000);
#end
${entityName}Mapper.updateById(article);
#else
${entityName}Mapper.delete(new QueryWrapper<${EntityName}>().eq("id", id));
#end
2022-06-15 06:21:31 +00:00
}
}