| | |
| | | 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.maintenance.vo.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> |
| | |
| | | @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); |
| | | } |
| | | } |
| | | } |
| | | } |