/* * 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 implements IEnumService { @Resource EnumItemMapper enumItemMapper; @Override public IPage selectOmdEnumPage(IPage 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 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 parentList(Map dict, Query query) { IPage page = this.page(Condition.getPage(query), Condition.getQueryWrapper(dict, Enum.class).lambda() .orderByDesc(Enum::getCreatetime)); return EnumWrapper.build().pageVO(page); } @Override public List tree(Map dict, Query query) { List pages = this.page(Condition.getPage(query),Condition.getQueryWrapper(dict, Enum.class).lambda() .orderByDesc(Enum::getCreatetime)).getRecords(); List listVo = new ArrayList<>(); pages.stream().forEach(page->{ EnumVO enumVO = new EnumVO(); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("parentOid",page.getOid()); List 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 getList(String name) { return baseMapper.getList(name); } }