/*
|
* Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
|
*
|
* Redistribution and use in source and binary forms, with or without
|
* modification, are permitted provided that the following conditions are met:
|
*
|
* Redistributions of source code must retain the above copyright notice,
|
* this list of conditions and the following disclaimer.
|
* Redistributions in binary form must reproduce the above copyright
|
* notice, this list of conditions and the following disclaimer in the
|
* documentation and/or other materials provided with the distribution.
|
* Neither the name of the dreamlu.net developer nor the names of its
|
* contributors may be used to endorse or promote products derived from
|
* this software without specific prior written permission.
|
* Author: Chill 庄骞 (smallchill@163.com)
|
*/
|
package com.vci.ubcs.omd.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
|
import com.vci.ubcs.omd.entity.Enum;
|
import com.vci.ubcs.omd.entity.EnumItem;
|
import com.vci.ubcs.omd.mapper.EnumItemMapper;
|
import com.vci.ubcs.omd.vo.EnumVO;
|
import com.vci.ubcs.omd.mapper.EnumMapper;
|
import com.vci.ubcs.omd.service.IEnumService;
|
import com.vci.ubcs.omd.wrapper.EnumWrapper;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.secure.utils.AuthUtil;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.core.tool.utils.StringPool;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import javax.annotation.Resource;
|
import java.util.*;
|
|
/**
|
* 枚举定义 服务实现类
|
*
|
* @author yuxc
|
* @since 2023-05-08
|
*/
|
@Service
|
public class EnumServiceImpl extends ServiceImpl<EnumMapper, Enum> implements IEnumService {
|
|
@Resource
|
EnumItemMapper enumItemMapper;
|
@Override
|
public IPage<EnumVO> selectOmdEnumPage(IPage<EnumVO> page, EnumVO omdEnum) {
|
return page.setRecords(baseMapper.selectOmdEnumPage(page, omdEnum));
|
}
|
|
@Override
|
public boolean submit(Enum omdEnum) {
|
Date date = new Date();
|
omdEnum.setCreator(AuthUtil.getUserAccount());
|
omdEnum.setCreatetime(date);
|
omdEnum.setModifier(AuthUtil.getUserAccount());
|
omdEnum.setModifytime(date);
|
omdEnum.setTs(date);
|
return this.saveOrUpdate(omdEnum);
|
}
|
|
@Override
|
public boolean deleteLogic(List<String> toStringList) {
|
return SqlHelper.retBool(baseMapper.deleteBatchIds(toStringList));
|
}
|
|
@Override
|
public boolean updateOmdEnum(Enum omdEnum) {
|
omdEnum.setModifier(AuthUtil.getUserAccount());
|
omdEnum.setModifytime(new Date());
|
return this.updateById(omdEnum);
|
}
|
|
@Override
|
public IPage<EnumVO> parentList(Map<String, Object> dict, Query query) {
|
IPage<Enum> page = this.page(Condition.getPage(query),
|
Condition.getQueryWrapper(dict, Enum.class).lambda()
|
.orderByDesc(Enum::getCreatetime));
|
return EnumWrapper.build().pageVO(page);
|
}
|
|
@Override
|
public List<EnumVO> tree(Map<String, Object> dict, Query query) {
|
List<Enum> pages = this.page(Condition.getPage(query),Condition.getQueryWrapper(dict, Enum.class).lambda()
|
.orderByDesc(Enum::getCreatetime)).getRecords();
|
List<EnumVO> listVo = new ArrayList<>();
|
pages.stream().forEach(page->{
|
EnumVO enumVO = new EnumVO();
|
QueryWrapper<EnumItem> wrapper = new QueryWrapper<>();
|
wrapper.eq("parentOid",page.getOid());
|
List<EnumItem> enumItems = enumItemMapper.selectList(wrapper);
|
BeanUtils.copyProperties(page, enumVO);
|
if(enumItems.size()>0){
|
enumVO.setChildren(enumItems);
|
enumVO.setHasChildren(true);
|
}
|
listVo.add(enumVO);
|
});
|
|
return listVo;
|
}
|
|
@Override
|
public String getValue(String name, String nameChild) {
|
return Func.toStr(baseMapper.getValue(name, nameChild), StringPool.EMPTY);
|
}
|
|
@Override
|
public List<EnumVO> getList(String name) {
|
return baseMapper.getList(name);
|
}
|
|
|
}
|