/* * 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.place.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.modules.place.entity.PlaceEntity; import org.springblade.modules.place.entity.PlaceExtEntity; import org.springblade.modules.place.entity.PlacePractitionerEntity; import org.springblade.modules.place.service.IPlacePractitionerService; import org.springblade.modules.place.service.IPlaceService; import org.springblade.modules.place.vo.PlaceExtVO; import org.springblade.modules.place.mapper.PlaceExtMapper; import org.springblade.modules.place.service.IPlaceExtService; import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.modules.task.entity.TaskEntity; import org.springblade.modules.task.service.ITaskService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** * 场所详情表 服务实现类 * * @author BladeX * @since 2023-10-28 */ @Service public class PlaceExtServiceImpl extends ServiceImpl implements IPlaceExtService { @Autowired private ITaskService taskService; @Autowired private IPlaceService placeService; @Autowired private IPlacePractitionerService placePractitionerService; /** * 自定义查询 * @param page * @param placeExt * @return */ @Override public IPage selectPlaceExtPage(IPage page, PlaceExtVO placeExt) { return page.setRecords(baseMapper.selectPlaceExtPage(page, placeExt)); } /** * 场所详情表 自定义更新 * @param placeExt * @return */ @Override public boolean updatePlaceExt(PlaceExtEntity placeExt) { // 设置参数 placeExt.setUpdateTime(new Date()); placeExt.setUpdateUser(AuthUtil.getUserId()); // 更新 return updateById(placeExt); } /** * 场所详情表 审核 * @param placeExt * @return */ @Override @Transactional(rollbackFor = Exception.class) public boolean checkPlaceExt(PlaceExtEntity placeExt) { boolean flag = false; // 设置更新时间 placeExt.setConfirmTime(new Date()); placeExt.setConfirmUserId(AuthUtil.getUserId()); // 更新数据 boolean b = updateById(placeExt); if (b) { PlaceExtEntity entity = getById(placeExt.getId()); // 更新任务表状态 TaskEntity taskEntity = new TaskEntity(); taskEntity.setId(entity.getTaskId()); taskEntity.setStatus(placeExt.getConfirmFlag()); flag = taskService.updateById(taskEntity); } // 返回 return flag; } /** * 场所详情表 新增 * @param placeExt * @return */ @Override public boolean savePlaceExt(PlaceExtEntity placeExt) { PlaceEntity placeEntity = placeService.getById(placeExt.getPlaceId()); TaskEntity taskEntity = new TaskEntity(); taskEntity.setId(placeExt.getTaskId()); taskEntity.setStatus(placeExt.getConfirmFlag()); taskEntity.setType(1); taskEntity.setFrequency(3); taskEntity.setName(placeEntity.getPlaceName() + "信息完善任务" + System.currentTimeMillis()); // 新增任务 boolean save = taskService.save(taskEntity); if (save){ placeExt.setTaskId(taskEntity.getId()); placeExt.setConfirmFlag(1); placeExt.setCreateTime(new Date()); placeExt.setUpdateTime(new Date()); placeExt.setCreateUser(AuthUtil.getUserId()); placeExt.setUpdateUser(AuthUtil.getUserId()); // 新增场所详情 save(placeExt); } return false; } /** * 场所详情表 自定义详情 * @param placeExt * @return */ @Override public PlaceExtVO getDetail(PlaceExtVO placeExt) { PlaceExtVO detail = baseMapper.getDetail(placeExt); // 查询从业人员信息 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("place_id",placeExt.getPlaceId()); detail.setPlacePractitioner(placePractitionerService.list(queryWrapper)); // 返回 return detail; } }