Commit cfcc468d authored by tianbo's avatar tianbo

小程序 图片上传接口调整

parent 355f10c7
...@@ -171,6 +171,7 @@ public class DataDictionaryController extends BaseController { ...@@ -171,6 +171,7 @@ public class DataDictionaryController extends BaseController {
// 数据字典还原 by kongfm 2021-09-09 // 数据字典还原 by kongfm 2021-09-09
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>(); QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type); queryWrapper.eq("type", type);
queryWrapper.eq("is_delete", false);
queryWrapper.orderByAsc("sort_num"); queryWrapper.orderByAsc("sort_num");
if (redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE + type)) { if (redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE + type)) {
......
...@@ -62,7 +62,6 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da ...@@ -62,7 +62,6 @@ public class DataDictionaryServiceImpl extends BaseService<DataDictionaryDto, Da
public Object gwmcDataDictionary(String type) throws Exception { public Object gwmcDataDictionary(String type) throws Exception {
QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>(); QueryWrapper<DataDictionary> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("type", type); queryWrapper.eq("type", type);
queryWrapper.eq("is_delete", false);
queryWrapper.orderByAsc("sort_num"); queryWrapper.orderByAsc("sort_num");
if (redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE + type)) { if (redisUtils.hasKey(RedisKey.DATA_DICTIONARY_CODE + type)) {
......
...@@ -3,16 +3,23 @@ package com.yeejoin.amos.patrol.business.controller; ...@@ -3,16 +3,23 @@ package com.yeejoin.amos.patrol.business.controller;
import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver; import com.thoughtworks.xstream.io.xml.DomDriver;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.patrol.business.constants.XJConstant; import com.yeejoin.amos.patrol.business.constants.XJConstant;
import com.yeejoin.amos.patrol.business.entity.mybatis.TaskBo; import com.yeejoin.amos.patrol.business.entity.mybatis.TaskBo;
import com.yeejoin.amos.patrol.business.entity.mybatis.TaskFeedbackBo; import com.yeejoin.amos.patrol.business.entity.mybatis.TaskFeedbackBo;
import com.yeejoin.amos.patrol.business.param.*; import com.yeejoin.amos.patrol.business.param.FeedbackParam;
import com.yeejoin.amos.patrol.business.param.RoutePointParam;
import com.yeejoin.amos.patrol.business.param.TaskPageParam;
import com.yeejoin.amos.patrol.business.param.TaskParam;
import com.yeejoin.amos.patrol.business.param.TaskStatisticsParam;
import com.yeejoin.amos.patrol.business.service.intfc.IPointService; import com.yeejoin.amos.patrol.business.service.intfc.IPointService;
import com.yeejoin.amos.patrol.business.service.intfc.ITaskService; import com.yeejoin.amos.patrol.business.service.intfc.ITaskService;
import com.yeejoin.amos.patrol.business.util.*; import com.yeejoin.amos.patrol.business.util.ClazzFieldUtil;
import com.yeejoin.amos.patrol.business.util.CommonResponse;
import com.yeejoin.amos.patrol.business.util.CommonResponseUtil;
import com.yeejoin.amos.patrol.business.util.DaoCriteria;
import com.yeejoin.amos.patrol.business.util.FileHelper;
import com.yeejoin.amos.patrol.business.util.TaskPageParamUtil;
import com.yeejoin.amos.patrol.business.vo.TaskStatisticsVo; import com.yeejoin.amos.patrol.business.vo.TaskStatisticsVo;
import com.yeejoin.amos.patrol.common.enums.TaskFeedbackType; import com.yeejoin.amos.patrol.common.enums.TaskFeedbackType;
import com.yeejoin.amos.patrol.common.enums.TaskStatusEnum; import com.yeejoin.amos.patrol.common.enums.TaskStatusEnum;
...@@ -28,7 +35,6 @@ import com.yeejoin.amos.patrol.feign.RemoteSecurityService; ...@@ -28,7 +35,6 @@ import com.yeejoin.amos.patrol.feign.RemoteSecurityService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import net.sf.json.JSONObject;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -37,7 +43,14 @@ import org.springframework.core.io.ClassPathResource; ...@@ -37,7 +43,14 @@ import org.springframework.core.io.ClassPathResource;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil; import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
...@@ -47,13 +60,28 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper; ...@@ -47,13 +60,28 @@ import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel; import org.typroject.tyboot.core.restful.utils.ResponseModel;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.xml.transform.*; import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource; import javax.xml.transform.stream.StreamSource;
import java.io.*; import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.text.SimpleDateFormat; import java.util.ArrayList;
import java.util.*; import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -902,30 +930,13 @@ public class TaskController extends AbstractBaseController{ ...@@ -902,30 +930,13 @@ public class TaskController extends AbstractBaseController{
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@ApiOperation(value = "图片上传按月分文件夹") @ApiOperation(value = "图片上传按月分文件夹")
@PostMapping(value = "/imageUpload") @PostMapping(value = "/imageUpload")
public ResponseModel<Object> uploadTaskFiles (@RequestBody MultipartFile file) throws Exception { public ResponseModel<Object> uploadTaskFiles (@RequestBody MultipartFile file) {
JSONObject jsonObject = uploadFile(file, "/twoRegulations");
return ResponseHelper.buildResponse(jsonObject);
}
private JSONObject uploadFile(MultipartFile file, String tag) {
if (ValidationUtil.isEmpty(file)){ if (ValidationUtil.isEmpty(file)){
throw new BadRequest("参数校验失败."); throw new BadRequest("参数校验失败.");
} }
Date today = new Date(); Map fileMap = taskService.uploadFile(file);
SimpleDateFormat format = new SimpleDateFormat("yyyyMM"); return ResponseHelper.buildResponse(fileMap);
String path = format.format(today);
FeignClientResult<Map<String, String>> date = Systemctl.fileStorageClient.updateCommonFileFree(file, "tzs/" + tag + "/" + path);
JSONObject jsonObj = new JSONObject();
if (date != null) {
Map<String, String> map = date.getResult();
Iterator<String> it = map.keySet().iterator();
while (it.hasNext()) {
String urlString=it.next();
jsonObj.put("fileUrl", urlString);
jsonObj.put("fileName", map.get(urlString));
}
} }
return jsonObj;
}
} }
package com.yeejoin.amos.patrol.business.service.impl; package com.yeejoin.amos.patrol.business.service.impl;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.component.feign.model.FeignClientResult;
import com.yeejoin.amos.feign.privilege.model.AgencyUserModel; import com.yeejoin.amos.feign.privilege.model.AgencyUserModel;
import com.yeejoin.amos.feign.systemctl.Systemctl;
import com.yeejoin.amos.patrol.business.dao.mapper.CheckMapper; import com.yeejoin.amos.patrol.business.dao.mapper.CheckMapper;
import com.yeejoin.amos.patrol.business.dao.mapper.TaskMapper; import com.yeejoin.amos.patrol.business.dao.mapper.TaskMapper;
import com.yeejoin.amos.patrol.business.dao.mapper.TaskPictureMapper; import com.yeejoin.amos.patrol.business.dao.mapper.TaskPictureMapper;
import com.yeejoin.amos.patrol.business.dao.repository.*; import com.yeejoin.amos.patrol.business.dao.repository.ICheckShotDao;
import com.yeejoin.amos.patrol.business.dao.repository.ITaskDao;
import com.yeejoin.amos.patrol.business.dao.repository.ITaskDetailDao;
import com.yeejoin.amos.patrol.business.dao.repository.ITaskFeedbackDao;
import com.yeejoin.amos.patrol.business.dao.repository.ITaskForwardLogDao;
import com.yeejoin.amos.patrol.business.dao.repository.ITaskPictureDao;
import com.yeejoin.amos.patrol.business.entity.mybatis.PointCheckDetailBo; import com.yeejoin.amos.patrol.business.entity.mybatis.PointCheckDetailBo;
import com.yeejoin.amos.patrol.business.entity.mybatis.TaskBo; import com.yeejoin.amos.patrol.business.entity.mybatis.TaskBo;
import com.yeejoin.amos.patrol.business.entity.mybatis.TaskFeedbackBo; import com.yeejoin.amos.patrol.business.entity.mybatis.TaskFeedbackBo;
import com.yeejoin.amos.patrol.business.param.*; import com.yeejoin.amos.patrol.business.param.TaskDetailParam;
import com.yeejoin.amos.patrol.business.param.TaskInfoParam;
import com.yeejoin.amos.patrol.business.param.TaskPageParam;
import com.yeejoin.amos.patrol.business.param.TaskParam;
import com.yeejoin.amos.patrol.business.param.TaskStatisticsParam;
import com.yeejoin.amos.patrol.business.service.intfc.ITaskService; import com.yeejoin.amos.patrol.business.service.intfc.ITaskService;
import com.yeejoin.amos.patrol.business.util.DaoCriteria; import com.yeejoin.amos.patrol.business.util.DaoCriteria;
import com.yeejoin.amos.patrol.business.util.ToolUtils; import com.yeejoin.amos.patrol.business.util.ToolUtils;
...@@ -20,7 +31,12 @@ import com.yeejoin.amos.patrol.common.enums.TaskFeedbackType; ...@@ -20,7 +31,12 @@ import com.yeejoin.amos.patrol.common.enums.TaskFeedbackType;
import com.yeejoin.amos.patrol.common.enums.TaskStatusEnum; import com.yeejoin.amos.patrol.common.enums.TaskStatusEnum;
import com.yeejoin.amos.patrol.core.common.response.AppPointCheckRespone; import com.yeejoin.amos.patrol.core.common.response.AppPointCheckRespone;
import com.yeejoin.amos.patrol.core.util.query.BaseQuerySpecification; import com.yeejoin.amos.patrol.core.util.query.BaseQuerySpecification;
import com.yeejoin.amos.patrol.dao.entity.*; import com.yeejoin.amos.patrol.dao.entity.CheckShot;
import com.yeejoin.amos.patrol.dao.entity.Task;
import com.yeejoin.amos.patrol.dao.entity.TaskDetail;
import com.yeejoin.amos.patrol.dao.entity.TaskFeedback;
import com.yeejoin.amos.patrol.dao.entity.TaskForwardLog;
import com.yeejoin.amos.patrol.dao.entity.TaskPicture;
import com.yeejoin.amos.patrol.exception.YeeException; import com.yeejoin.amos.patrol.exception.YeeException;
import com.yeejoin.amos.patrol.feign.RemoteSecurityService; import com.yeejoin.amos.patrol.feign.RemoteSecurityService;
import com.yeejoin.amos.patrol.quartz.IJobService; import com.yeejoin.amos.patrol.quartz.IJobService;
...@@ -35,6 +51,8 @@ import org.springframework.data.domain.PageImpl; ...@@ -35,6 +51,8 @@ import org.springframework.data.domain.PageImpl;
import org.springframework.data.jpa.domain.Specification; import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
...@@ -43,7 +61,15 @@ import javax.persistence.criteria.Predicate; ...@@ -43,7 +61,15 @@ import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import javax.transaction.Transactional; import javax.transaction.Transactional;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern; import java.util.regex.Pattern;
...@@ -573,4 +599,33 @@ public class TaskServiceImpl implements ITaskService { ...@@ -573,4 +599,33 @@ public class TaskServiceImpl implements ITaskService {
List<Map<String, Object>> taskList = taskMapper.synchronizedOfflineTasks(request); List<Map<String, Object>> taskList = taskMapper.synchronizedOfflineTasks(request);
return taskList; return taskList;
} }
@Override
public Map<String, String> uploadFile(MultipartFile file) {
JSONObject fileObj = uploadFile(file, "twoRegulations");
Map<String, String> map = new HashMap<>();
if (!ValidationUtil.isEmpty(fileObj)) {
map.put(fileObj.getString("fileUrl"), fileObj.getString("fileName"));
}
return map;
}
private JSONObject uploadFile(MultipartFile file, String tag) {
Date today = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMM");
String path = format.format(today);
FeignClientResult<Map<String, String>> date = Systemctl.fileStorageClient.updateCommonFileFree(file, "tzs/" + tag + "/" + path);
JSONObject jsonObj = new JSONObject();
if (date != null) {
Map<String, String> map = date.getResult();
Iterator<String> it = map.keySet().iterator();
while (it.hasNext()) {
String urlString=it.next();
jsonObj.put("fileUrl", urlString);
jsonObj.put("fileName", map.get(urlString));
}
}
return jsonObj;
}
} }
...@@ -13,6 +13,7 @@ import com.yeejoin.amos.patrol.dao.entity.TaskFeedback; ...@@ -13,6 +13,7 @@ import com.yeejoin.amos.patrol.dao.entity.TaskFeedback;
import com.yeejoin.amos.patrol.dao.entity.TaskPicture; import com.yeejoin.amos.patrol.dao.entity.TaskPicture;
import org.quartz.JobDataMap; import org.quartz.JobDataMap;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.web.multipart.MultipartFile;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -166,4 +167,11 @@ public interface ITaskService { ...@@ -166,4 +167,11 @@ public interface ITaskService {
* @return * @return
*/ */
public List<Map<String, Object>> synchronizedOfflineTasks(AgencyUserModel user, ReginParams reginParams); public List<Map<String, Object>> synchronizedOfflineTasks(AgencyUserModel user, ReginParams reginParams);
/**
* 图片上传
*
* @return*/
Map<String, String> uploadFile(MultipartFile file);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment