package com.moral.api.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.moral.api.entity.Supervision; import com.moral.api.mapper.SupervisionMapper; import com.moral.api.service.SupervisionService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.moral.constant.Constants; import com.moral.constant.ResponseCodeEnum; import com.moral.util.FileUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.UUID; import java.util.stream.Collectors; /** *

* 督办单 服务实现类 *

* * @author moral * @since 2022-01-12 */ @Service public class SupervisionServiceImpl extends ServiceImpl implements SupervisionService { @Autowired private SupervisionMapper supervisionMapper; @Override public Map add(MultipartFile[] files, Supervision supervision) { String path = this.getClass().getClassLoader() .getResource("").getFile() + "static/img/"; Map result = new HashMap<>(); List images = new ArrayList<>(); for (MultipartFile file : files) { //判断上传文件格式 String fileType = file.getContentType(); if ("image/jpg".equals(fileType) || "image/png".equals(fileType) || "image/jpeg".equals(fileType)) { //获取文件名 String fileName = file.getOriginalFilename(); //获取文件后缀名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); //重新生成文件名 fileName = UUID.randomUUID() + suffixName; //图片上传 if (FileUtils.upload(file, path, fileName)) { images.add(fileName); } } else { result.put("code", ResponseCodeEnum.IMG_UPLOAD_FAIl.getCode()); result.put("msg", ResponseCodeEnum.IMG_UPLOAD_FAIl.getMsg()); return result; } } if (!ObjectUtils.isEmpty(images)) { String image = images.stream() .map(String::valueOf) .collect(Collectors.joining(",")); supervision.setImages(image); } supervisionMapper.insert(supervision); return result; } @Override public Map selectSupervisions(Map params) { //获取查询参数 int cityCode = Integer.parseInt(params.get("cityCode").toString()); int page = Integer.parseInt(params.get("page").toString()); int size = Integer.parseInt(params.get("size").toString()); Object start = params.get("start"); Object end = params.get("end"); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("city_code", cityCode) .eq("is_delete", Constants.NOT_DELETE); if (start != null) { queryWrapper.ge("time", start); } if (start != null) { queryWrapper.le("time", end); } //按time倒序 queryWrapper.orderByDesc("time"); //分页 Page supervisionPage = new Page<>(page, size); supervisionMapper.selectPage(supervisionPage, queryWrapper); List supervisions = supervisionPage.getRecords(); Map result = new LinkedHashMap<>(); result.put("total", supervisionPage.getTotal()); result.put("totalPage", supervisionPage.getPages()); result.put("current", supervisionPage.getCurrent()); result.put("pageSize", supervisionPage.getSize()); result.put("item", supervisions); return result; } @Override public Map updateSupervision(MultipartFile[] files, Supervision supervision) { String path = this.getClass().getClassLoader() .getResource("").getFile() + "static/img/"; Map result = new HashMap<>(); List images = new ArrayList<>(); for (MultipartFile file : files) { //判断上传文件格式 String fileType = file.getContentType(); if ("image/jpg".equals(fileType) || "image/png".equals(fileType) || "image/jpeg".equals(fileType)) { //获取文件名 String fileName = file.getOriginalFilename(); //获取文件后缀名 String suffixName = fileName.substring(fileName.lastIndexOf(".")); //重新生成文件名 fileName = UUID.randomUUID() + suffixName; //图片上传 if (FileUtils.upload(file, path, fileName)) { images.add(fileName); } } else { result.put("code", ResponseCodeEnum.IMG_UPLOAD_FAIl.getCode()); result.put("msg", ResponseCodeEnum.IMG_UPLOAD_FAIl.getMsg()); return result; } } if (!ObjectUtils.isEmpty(images)) { String image = images.stream() .map(String::valueOf) .collect(Collectors.joining(",")); supervision.setImages(image); } supervisionMapper.updateById(supervision); return result; } }