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.base.BaseSelect; import com.monkeylessey.sys.domain.entity.SysDictType; import com.monkeylessey.sys.domain.form.SysDictTypeForm; import com.monkeylessey.sys.domain.query.SysDictTypeQuery; import com.monkeylessey.sys.domain.vo.SysDictTypeVO; import com.monkeylessey.sys.mapper.SysDictTypeMapper; import com.monkeylessey.response.Result; import com.monkeylessey.sys.service.SysDictTypeService; 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.stream.Collectors; /** * 字典类型表 服务实现类 * * @author 向培 * @since 2022-05-28 */ @Service @RequiredArgsConstructor public class SysDictTypeServiceImpl extends ServiceImpl implements SysDictTypeService { private final SysDictTypeMapper sysDictTypeMapper; @Override public Result addSysDictType(SysDictTypeForm form) { SysDictType entity = SysDictTypeForm.getSysDictType(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 editSysDictType(SysDictTypeForm form) { SysDictType entity = SysDictTypeForm.getSysDictType(null, form); String s = SecurityUtil.getCurrentUserName(); entity.setUpdateBy(s); try { baseMapper.updateById(entity); return Result.ok("修改成功"); } catch (Exception e) { e.printStackTrace(); return Result.error("修改失败"); } } @Override public Result deleteSysDictTypeById(String id) { try { baseMapper.deleteById(id); return Result.ok("删除成功"); } catch (Exception e) { e.printStackTrace(); return Result.error("删除失败"); } } @Override @Transactional(rollbackFor = Exception.class) public Result deleteSysDictTypeByIds(List ids) { return Result.ok("操作成功").data(baseMapper.deleteBatchIds(ids)); } @Override public Result getSysDictTypeByPage(SysDictTypeQuery query) { List vos = new ArrayList<>(); Long total = 0L; try { IPage page = PageUtil.getPage(query, SysDictType.class); new LambdaQueryChainWrapper<>(this.baseMapper) .like(StringUtils.isNotBlank(query.getDictTypeName()), SysDictType::getDictTypeName, query.getDictTypeName()) .like(StringUtils.isNotBlank(query.getDictTypeKey()), SysDictType::getDictTypeKey, query.getDictTypeKey()) .page(page); vos = page.getRecords().stream() .map(sysDictType -> SysDictTypeVO.getVoByEntity(sysDictType, null)) .collect(Collectors.toList()); total = page.getTotal(); } catch (Exception e) { e.printStackTrace(); } return Result.ok().data(vos).total(total); } @Override public Result getSysDictTypeById(String id) { SysDictType entity = baseMapper.selectById(id); SysDictTypeVO vo = new SysDictTypeVO(); BeanUtils.copyProperties(entity, vo); return Result.ok().data(vo); } @Override public Result getTypeList(String keyword) { List list = new LambdaQueryChainWrapper<>(baseMapper) .select(SysDictType::getId, SysDictType::getDictTypeName) .like(StringUtils.isNotEmpty(keyword), SysDictType::getDictTypeName, keyword) .list(); List data = list.stream().map(item -> { BaseSelect select = new BaseSelect(); select.setId(item.getId()); select.setValue(item.getDictTypeName()); return select; }).collect(Collectors.toList()); return Result.ok().data(data); } }