package cc.mrbird.febs.server.hr.service.impl;
|
|
import cc.mrbird.febs.common.core.constant.ModuleCode;
|
import cc.mrbird.febs.common.core.exception.FebsException;
|
import cc.mrbird.febs.common.core.utils.FebsUtil;
|
import cc.mrbird.febs.common.core.utils.SequenceUtil;
|
import cc.mrbird.febs.server.hr.entity.EmpAccessory;
|
import cc.mrbird.febs.server.hr.entity.Folder;
|
import cc.mrbird.febs.server.hr.entity.Label;
|
import cc.mrbird.febs.server.hr.mapper.LabelMapper;
|
import cc.mrbird.febs.server.hr.service.ILabelService;
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Propagation;
|
import lombok.RequiredArgsConstructor;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import cc.mrbird.febs.common.core.entity.QueryRequest;
|
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Optional;
|
import java.util.function.Predicate;
|
|
/**
|
* 标签 Service实现
|
*
|
* @author yz
|
* @date 2021-02-17 22:18:51
|
*/
|
@Service
|
@RequiredArgsConstructor
|
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
|
public class LabelServiceImpl extends ServiceImpl<LabelMapper, Label> implements ILabelService {
|
|
private final LabelMapper labelMapper;
|
private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
|
.map(u -> u.getUserId().toString())
|
.orElse("1");
|
|
@Override
|
public IPage<Label> findLabels(QueryRequest request, Label label) {
|
LambdaQueryWrapper<Label> queryWrapper = new LambdaQueryWrapper<>();
|
// TODO 设置查询条件
|
Page<Label> page = new Page<>(request.getPageNum(), request.getPageSize());
|
return this.page(page, queryWrapper);
|
}
|
|
@Override
|
public List<Label> findLabels(Label label) {
|
LambdaQueryWrapper<Label> queryWrapper = new LambdaQueryWrapper<>();
|
queryWrapper.select(Label::getLabelcode, Label::getLabelname, Label::getLabelid).eq(Label::getDelFlag, 0);
|
return this.baseMapper.selectList(queryWrapper);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void createLabel(Label label) throws FebsException {
|
LambdaQueryWrapper<Label> queryWrapper = new LambdaQueryWrapper();
|
queryWrapper.eq(Label::getLabelname, label.getLabelname()).or().eq(Label::getLabelcode, label.getLabelcode());
|
Label l = this.getOne(queryWrapper);
|
if (null != l && StrUtil.equals(label.getLabelname(), l.getLabelname())) {
|
throw new FebsException("标签名字重复");
|
} else if (null != l && StrUtil.equals(label.getLabelcode(), l.getLabelcode())) {
|
throw new FebsException("标签code重复");
|
}
|
|
label.setLabelid(SequenceUtil.generateId(0L, ModuleCode.HR_FIlE));
|
label.setCreator(operatorId);
|
label.setModifier(operatorId);
|
label.setCreatetime(new Date());
|
label.setModifytime(new Date());
|
label.setVersion(0);
|
this.save(label);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void updateLabel(Label label) {
|
this.saveOrUpdate(label);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void deleteLabel(Label label) {
|
LambdaUpdateWrapper<Label> wapper = new LambdaUpdateWrapper<>();
|
wapper.eq(Label::getLabelid, label.getLabelid());
|
wapper.set(Label::getDelFlag,1);
|
wapper.set(Label::getModifier,operatorId);
|
wapper.set(Label::getModifytime,new Date());
|
this.update(wapper);
|
}
|
}
|