package com.monkeylessey.sys.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.monkeylessey.sys.domain.entity.SysDictData; import com.monkeylessey.sys.domain.form.SysDictDataForm; import com.monkeylessey.sys.domain.query.SysDictDataQuery; import com.monkeylessey.sys.domain.vo.SysDictDataVO; import com.monkeylessey.sys.mapper.SysDictDataMapper; import com.monkeylessey.response.Result; import com.monkeylessey.sys.service.SysDictDataService; import com.monkeylessey.framework.utils.SecurityUtil; import com.monkeylessey.utils.PageUtil; import lombok.RequiredArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; /** * 字典数据表 服务实现类 * * @author 向培 * @since 2022-05-29 */ @Service @RequiredArgsConstructor public class SysDictDataServiceImpl extends ServiceImpl implements SysDictDataService { private final SysDictDataMapper sysDictDataMapper; @Override public Result addSysDictData(SysDictDataForm form) { SysDictData entity = SysDictDataForm.getSysDictData(null, form); String s = SecurityUtil.getCurrentUserName(); entity.setCreateBy(s); try { int insert = baseMapper.insert(entity); return Result.ok("添加成功").data(insert); } catch (Exception e) { e.printStackTrace(); return Result.error("添加失败"); } } @Override public Result editSysDictData(SysDictDataForm form) { SysDictData entity = SysDictDataForm.getSysDictData(null, form); String s = SecurityUtil.getCurrentUserName(); entity.setUpdateBy(s); try { int i = baseMapper.updateById(entity); return Result.ok("修改成功").data(i); } catch (Exception e) { e.printStackTrace(); return Result.error("修改失败"); } } @Override public Result deleteSysDictDataById(String id) { try { int i = baseMapper.deleteById(id); return Result.ok("删除成功").data(i); } catch (Exception e) { e.printStackTrace(); return Result.error("删除失败"); } } @Override @Transactional(rollbackFor = Exception.class) public Result deleteSysDictDataByIds(List ids) { return Result.ok("操作成功").data(baseMapper.deleteBatchIds(ids)); } @Override public Result getSysDictDataByPage(SysDictDataQuery query) { List vos = new ArrayList<>(); Long total = 0L; try { IPage page = PageUtil.getPage(query, SysDictData.class); new LambdaQueryChainWrapper<>(this.baseMapper).page(page); vos = page.getRecords().stream() .map(sysDictData -> SysDictDataVO.getVoByEntity(sysDictData, null)) .collect(Collectors.toList()); total = page.getTotal(); } catch (Exception e) { e.printStackTrace(); } return Result.ok().data(vos).total(total); } @Override public Result getSysDictDataById(String id) { SysDictData entity = baseMapper.selectById(id); SysDictDataVO vo = new SysDictDataVO(); BeanUtils.copyProperties(entity, vo); return Result.ok("").data(vo); } @Override public Result getSysDictDataByType(Integer dictTypeId, Page page, String keyword) { new LambdaQueryChainWrapper<>(this.baseMapper) .eq(Objects.nonNull(dictTypeId), SysDictData::getDictTypeId, dictTypeId) .like(StringUtils.isNotEmpty(keyword), SysDictData::getDictLabel, keyword) .page(page); return Result.ok().data(page.getRecords()).total(page.getTotal()); } }