yz
2021-03-07 b8d038947e66850f1a6ec1f93e1805ba33f6fdc0
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/LabelServiceImpl.java
@@ -1,12 +1,15 @@
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;
@@ -38,6 +41,7 @@
    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<>();
@@ -49,13 +53,22 @@
    @Override
    public List<Label> findLabels(Label label) {
        LambdaQueryWrapper<Label> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.select(Label::getLabelcode,Label::getLabelname,Label::getLabelid).eq(Label::getDelFlag,0);
        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) {
    public void createLabel(Label label) throws FebsException {
        LambdaQueryWrapper<Label> queryWrapper = new LambdaQueryWrapper();
        queryWrapper.eq(Label::getDelFlag,0).and(i->i.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);
@@ -75,7 +88,11 @@
    @Transactional(rollbackFor = Exception.class)
    public void deleteLabel(Label label) {
        LambdaUpdateWrapper<Label> wapper = new LambdaUpdateWrapper<>();
        wapper.eq(Label::getLabelid,label.getLabelid()).setSql("delFlag = 1");
        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);
    }
}