/* * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the dreamlu.net developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: Chill 庄骞 (smallchill@163.com) */ package org.springblade.modules.task.service.impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import org.apache.xmlbeans.impl.xb.xsdschema.Public; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.modules.task.entity.TaskEntity; import org.springblade.modules.task.mapper.TaskMapper; import org.springblade.modules.task.service.ITaskService; import org.springblade.modules.task.vo.TaskVO; import org.springframework.stereotype.Service; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * 任务表 服务实现类 * * @author BladeX * @since 2023-11-06 */ @Service public class TaskServiceImpl extends BaseServiceImpl implements ITaskService { @Override public IPage selectTaskPage(IPage page, TaskVO task) { task.setUserId(AuthUtil.getUserId()); return page.setRecords(baseMapper.selectTaskPage(page, task)); } /** * 新增任务 * * @param type * @param name * @param frequency * @param remark * @param createUser * @return */ @Override public Long saveTask(Integer type, String name, Integer frequency, String remark, Long createUser, String houseCode) { TaskEntity taskEntity = new TaskEntity(); taskEntity.setType(type); taskEntity.setName(name); taskEntity.setFrequency(frequency); taskEntity.setRemark(remark); taskEntity.setCreateTime(new Date()); taskEntity.setCreateUser(createUser); taskEntity.setHouseCode(houseCode); return baseMapper.insert(taskEntity) > 0 ? taskEntity.getId() : 0; } @Override public Long updateTask(Integer type, String name, Integer frequency, String remark, Long updateUser, Long id, Integer status) { TaskEntity taskEntity = new TaskEntity(); taskEntity.setId(id); taskEntity.setType(type); taskEntity.setName(name); taskEntity.setFrequency(frequency); taskEntity.setRemark(remark); taskEntity.setUpdateTime(new Date()); taskEntity.setUpdateUser(updateUser); taskEntity.setStatus(status); return baseMapper.updateById(taskEntity) > 0 ? 1L : 0; } @Override public Object countNumber(String houseCode, Integer status) { Map objectObjectHashMap = new HashMap<>(); // 总数 Long all = baseMapper.selectCount(Wrappers.lambdaQuery().eq(TaskEntity::getCreateUser, AuthUtil.getUserId() )); // 已处理 Long processed = baseMapper.selectCount(Wrappers.lambdaQuery().eq(TaskEntity::getCreateUser, AuthUtil.getUserId()) .eq(TaskEntity::getStatus, 2)); objectObjectHashMap.put("all", all); objectObjectHashMap.put("processed", processed); return objectObjectHashMap; } @Override public Object countTypeNumber() { TaskVO taskVO = new TaskVO(); Map objectObjectHashMap = new HashMap<>(); taskVO.setUserId(AuthUtil.getUserId()); taskVO.setType(1); taskVO.setStatus(1); Integer comprehensiveTask = baseMapper.selectTaskCount(taskVO); taskVO.setType(2); Integer residentialTask = baseMapper.selectTaskCount(taskVO); taskVO.setType(3); Integer publicTask = baseMapper.selectTaskCount(taskVO); objectObjectHashMap.put("comprehensiveTask", comprehensiveTask); objectObjectHashMap.put("residentialTask", residentialTask); objectObjectHashMap.put("publicTask", publicTask); return objectObjectHashMap; } @Override public Object countFrequencyNumber() { Map objectObjectHashMap = new HashMap<>(); TaskVO taskVO = new TaskVO(); taskVO.setUserId(AuthUtil.getUserId()); taskVO.setFrequency(1); taskVO.setStatus(1); Integer disposable = baseMapper.selectTaskCount(taskVO); taskVO.setFrequency(2); Integer periodicity = baseMapper.selectTaskCount(taskVO); objectObjectHashMap.put("disposable", disposable); objectObjectHashMap.put("periodicity", periodicity); return objectObjectHashMap; } }