package com.xiaopeng.maintenance.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.xiaopeng.api.model.maintenance.XpTaskRule;
|
import com.xiaopeng.api.model.maintenance.XpTaskRuleRole;
|
import com.xiaopeng.common.core.domain.R;
|
import com.xiaopeng.common.core.utils.bean.BeanUtils;
|
import com.xiaopeng.maintenance.dto.TaskRuleDetailDto;
|
import com.xiaopeng.api.vo.maintenance.TaskRuleDetailVO;
|
import com.xiaopeng.maintenance.mapper.XpTaskRuleMapper;
|
import com.xiaopeng.maintenance.mapper.XpTaskRuleRoleMapper;
|
import com.xiaopeng.maintenance.service.IXpTaskRuleService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* <p>
|
* 任务规则设置 服务实现类
|
* </p>
|
*
|
* @author mitao
|
* @since 2026-02-03
|
*/
|
@Service
|
public class XpTaskRuleServiceImpl extends ServiceImpl<XpTaskRuleMapper, XpTaskRule> implements IXpTaskRuleService {
|
|
@Autowired
|
private XpTaskRuleRoleMapper taskRuleRoleMapper;
|
@Override
|
public R<TaskRuleDetailVO> taskRuleDetail() {
|
XpTaskRule taskRule = this.getOne(null);
|
if (taskRule == null){
|
TaskRuleDetailVO taskRuleDetailVO = new TaskRuleDetailVO();
|
return R.ok(taskRuleDetailVO);
|
}
|
TaskRuleDetailVO taskRuleDetailVO = new TaskRuleDetailVO();
|
BeanUtils.copyProperties(taskRule, taskRuleDetailVO);
|
List<XpTaskRuleRole> xpTaskRuleRoles = taskRuleRoleMapper.selectList(null);
|
taskRuleDetailVO.setTaskRuleRoleList(xpTaskRuleRoles);
|
return R.ok(taskRuleDetailVO);
|
}
|
|
@Override
|
public void saveOrUpdateTaskRule(TaskRuleDetailDto dto) {
|
if (dto.getId()!=null){
|
XpTaskRule xpTaskRule = new XpTaskRule();
|
BeanUtils.copyProperties(dto, xpTaskRule);
|
this.updateById(xpTaskRule);
|
taskRuleRoleMapper.delete(new LambdaQueryWrapper<XpTaskRuleRole>()
|
.isNotNull(XpTaskRuleRole::getId));
|
for (XpTaskRuleRole xpTaskRuleRole : dto.getTaskRuleRoleList()) {
|
taskRuleRoleMapper.insert(xpTaskRuleRole);
|
}
|
}else{
|
XpTaskRule xpTaskRule = new XpTaskRule();
|
BeanUtils.copyProperties(dto, xpTaskRule);
|
this.save(xpTaskRule);
|
for (XpTaskRuleRole xpTaskRuleRole : dto.getTaskRuleRoleList()) {
|
taskRuleRoleMapper.insert(xpTaskRuleRole);
|
}
|
}
|
}
|
}
|