package com.qdport.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.qdport.entity.PolicyStrive; import com.qdport.enums.QDPortEnum; import com.qdport.query.QueryWrapperBuilder; import com.qdport.vo.*; import lombok.AllArgsConstructor; import com.qdport.entity.PolicyTodo; import com.qdport.query.PolicyTodoQuery; import com.qdport.mapper.PolicyTodoMapper; import com.qdport.service.PolicyTodoService; import com.qdport.wrapper.PolicyTodoWrapper; import com.qdport.core.tool.utils.BeanUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.Date; import java.util.List; import java.util.stream.Collectors; /** * 政策待办 * * @author yuheng * @since 1.0.0 2024-10-11 */ @Service @AllArgsConstructor public class PolicyTodoServiceImpl extends ServiceImpl implements PolicyTodoService { @Override public IPage page(PolicyTodoQuery query) { IPage page = new Page<>(query.getPage(), query.getSize()); page = baseMapper.selectPage(page, getWrapper(query)); return PolicyTodoWrapper.build().pageVO(page); } private QueryWrapper getWrapper(PolicyTodoQuery query){ QueryWrapper wrapper = QueryWrapperBuilder.buildQueryWrapper(query, PolicyTodo.class); wrapper.eq("STATUS",QDPortEnum.POLICY_TODO_STATUS_ACTIVE.getValue()); wrapper.orderByDesc("CREATE_TIME"); return wrapper; } @Override public void save(PolicyTodoVO vo) { PolicyTodo entity = BeanUtil.copy(vo,PolicyTodo.class); baseMapper.insert(entity); } @Override public void save(PolicyShareVO vo) { PolicyTodo todo = new PolicyTodo(); todo.setRefId(vo.getId()); todo.setRefType(QDPortEnum.POLICY_TODO_REFTYPE_POLICY_SHARE.getValue()); todo.setCreateTime(new Date()); todo.setStatus(QDPortEnum.POLICY_TODO_STATUS_ACTIVE.getValue()); todo.setTodoType(QDPortEnum.POLICY_TODO_TYPE_APPROVE.getValue()); todo.setTodoUserId((long) 1); todo.setZcAbstractContent(vo.getAbstractContent()); todo.setZcContactPhone(vo.getContactPhone()); todo.setZcCreateId(vo.getCreateId()); todo.setZcCreateName(vo.getCreateName()); todo.setZcCreateTime(vo.getCreateTime()); todo.setZcName(vo.getName()); todo.setZcType(vo.getZcType()); baseMapper.insert(todo); } @Override public void save(PolicyStriveVO vo) { PolicyTodo todo = new PolicyTodo(); todo.setRefId(vo.getId()); todo.setRefType(QDPortEnum.POLICY_TODO_REFTYPE_POLICY_STRIVE.getValue()); todo.setCreateTime(new Date()); todo.setStatus(QDPortEnum.POLICY_TODO_STATUS_ACTIVE.getValue()); todo.setTodoType(QDPortEnum.POLICY_TODO_TYPE_APPROVE.getValue()); todo.setTodoUserId((long) 1); todo.setZcAbstractContent(vo.getAbstractContent()); todo.setZcContactPhone(vo.getContactPhone()); todo.setZcCreateId(vo.getCreateId()); todo.setZcCreateName(vo.getCreateName()); todo.setZcCreateTime(vo.getCreateTime()); todo.setZcName(vo.getName()); todo.setZcType(vo.getZcType()); baseMapper.insert(todo); } @Override public void save(PolicyCaseVO vo) { PolicyStrive policyStrive = vo.getPolicyStrive(); PolicyTodo todo = new PolicyTodo(); todo.setRefId(vo.getId()); todo.setRefType(QDPortEnum.POLICY_TODO_REFTYPE_POLICY_CASE.getValue()); todo.setCreateTime(new Date()); todo.setStatus(QDPortEnum.POLICY_TODO_STATUS_ACTIVE.getValue()); todo.setTodoType(QDPortEnum.POLICY_TODO_TYPE_APPROVE.getValue()); todo.setTodoUserId((long) 1); todo.setZcAbstractContent(policyStrive.getAbstractContent()); todo.setZcContactPhone(policyStrive.getContactPhone()); todo.setZcCreateId(policyStrive.getCreateId()); todo.setZcCreateName(policyStrive.getCreateName()); todo.setZcCreateTime(vo.getCreateTime()); todo.setZcName(policyStrive.getName()); todo.setZcType(policyStrive.getZcType()); baseMapper.insert(todo); } @Override public void update(PolicyTodoVO vo) { PolicyTodo entity = BeanUtil.copy(vo,PolicyTodo.class); updateById(entity); } @Override @Transactional(rollbackFor = Exception.class) public void delete(List idList) { removeByIds(idList); } }