diff --git a/.gitignore b/.gitignore index ec188fc..b93822b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /vehicle-simple.iml /.idea/ /target/ +/picture/ diff --git a/pom.xml b/pom.xml index 76aa5dc..fea7d36 100644 --- a/pom.xml +++ b/pom.xml @@ -117,7 +117,11 @@ com.alibaba fastjson - 1.2.54 + 1.2.57 + + + commons-codec + commons-codec org.apache.httpcomponents diff --git a/src/main/java/com/objecteye/VehicleApplication.java b/src/main/java/com/objecteye/VehicleApplication.java index 806e1e9..9546410 100644 --- a/src/main/java/com/objecteye/VehicleApplication.java +++ b/src/main/java/com/objecteye/VehicleApplication.java @@ -10,10 +10,8 @@ import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; -import org.springframework.transaction.annotation.EnableTransactionManagement; @SpringBootApplication -@EnableTransactionManagement @EnableScheduling @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) diff --git a/src/main/java/com/objecteye/config/AuthenticationHeadFilter.java b/src/main/java/com/objecteye/config/AuthenticationHeadFilter.java index 80f0074..67f99a2 100644 --- a/src/main/java/com/objecteye/config/AuthenticationHeadFilter.java +++ b/src/main/java/com/objecteye/config/AuthenticationHeadFilter.java @@ -40,6 +40,7 @@ public class AuthenticationHeadFilter extends OncePerRequestFilter { String claims = jwt.getClaims(); user = JSON.parseObject(claims, TokenUser.class); } catch (Exception e) { + e.printStackTrace(); httpServletResponse.setContentType("application/json;charset=UTF-8"); httpServletResponse.getWriter().write("Useless token..."); return; diff --git a/src/main/java/com/objecteye/controller/DeployController.java b/src/main/java/com/objecteye/controller/DeployController.java index 403bd9e..c870f34 100644 --- a/src/main/java/com/objecteye/controller/DeployController.java +++ b/src/main/java/com/objecteye/controller/DeployController.java @@ -155,7 +155,7 @@ public class DeployController { @RequestMapping(value = "/delete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult delete(@RequestBody Map map) { try { - String[] ids = (String[]) map.get("ids"); + List ids = (List) map.get("ids"); deployService.delete(ids); return CommonResult.success("操作成功"); } catch (Exception e) { diff --git a/src/main/java/com/objecteye/controller/FeatureController.java b/src/main/java/com/objecteye/controller/FeatureController.java index 776b826..e35c903 100644 --- a/src/main/java/com/objecteye/controller/FeatureController.java +++ b/src/main/java/com/objecteye/controller/FeatureController.java @@ -99,7 +99,7 @@ public class FeatureController { @RequestMapping(value = "/delete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult delete(@RequestBody Map map) { try { - String[] ids = (String[]) map.get("ids"); + List ids = (List) map.get("ids"); featureService.delete(ids); return CommonResult.success("操作成功"); } catch (RuntimeException e) { diff --git a/src/main/java/com/objecteye/controller/PersonnelController.java b/src/main/java/com/objecteye/controller/PersonnelController.java index eb4639c..da4183c 100644 --- a/src/main/java/com/objecteye/controller/PersonnelController.java +++ b/src/main/java/com/objecteye/controller/PersonnelController.java @@ -11,6 +11,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.util.List; import java.util.Map; @@ -98,7 +99,7 @@ public class PersonnelController { @RequestMapping(value = "/delete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult delete(@RequestBody Map map) { try { - String[] ids = (String[]) map.get("ids"); + List ids = (List) map.get("ids"); personnelService.delete(ids); return CommonResult.success("操作成功"); } catch (Exception e) { diff --git a/src/main/java/com/objecteye/controller/UploadFileController.java b/src/main/java/com/objecteye/controller/UploadFileController.java index fedfc22..9109fec 100644 --- a/src/main/java/com/objecteye/controller/UploadFileController.java +++ b/src/main/java/com/objecteye/controller/UploadFileController.java @@ -1,21 +1,28 @@ package com.objecteye.controller; import com.objecteye.common.CommonResult; +import com.objecteye.service.IUploadFileService; import com.objecteye.utils.GlobalUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; +import java.io.IOException; + @RestController @RequestMapping("uploadDbMongo") @Api(value = "UploadFileController", description = "上传文件解析保存到mongo库,代替ftp") @CrossOrigin -public class UploadFileController { +public class UploadFileController extends BasicController { + + @Autowired + private IUploadFileService iUploadFileService; @ApiOperation("上传文件到mongo") @RequestMapping(value = "uploadToMongo", method = RequestMethod.POST, produces = GlobalUtil.COMMON_HEADER_CONTENT_TYPE) - public CommonResult uploadToMongo(@RequestParam MultipartFile multipartFile) { - return CommonResult.success(""); + public CommonResult uploadToMongo(@RequestParam MultipartFile multipartFile) throws IOException { + return jsonObjectResultHandle(iUploadFileService.uploadFile2Mongo(multipartFile)); } } diff --git a/src/main/java/com/objecteye/controller/VehicleController.java b/src/main/java/com/objecteye/controller/VehicleController.java index fb27162..8ad1aba 100644 --- a/src/main/java/com/objecteye/controller/VehicleController.java +++ b/src/main/java/com/objecteye/controller/VehicleController.java @@ -57,10 +57,9 @@ public class VehicleController { */ @ApiOperation("批量删除") @RequestMapping(value = "/delete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public CommonResult delete(@RequestBody Map map) { + public CommonResult delete(@RequestBody Map map) { try { - String[] ids = map.get("ids"); - //int vehicleId= (int) map.get("vehicleId"); + List ids = (List) map.get("ids"); vehicleService.delete(ids); return CommonResult.success("操作成功"); } catch (Exception e) { diff --git a/src/main/java/com/objecteye/controller/VehicleDbController.java b/src/main/java/com/objecteye/controller/VehicleDbController.java index 8bbb15f..097c5c1 100644 --- a/src/main/java/com/objecteye/controller/VehicleDbController.java +++ b/src/main/java/com/objecteye/controller/VehicleDbController.java @@ -99,7 +99,7 @@ public class VehicleDbController { @RequestMapping(value = "/delete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) public CommonResult delete(@RequestBody Map map) { try { - String[] ids = (String[]) map.get("ids"); + List ids = (List) map.get("ids"); vehicleDbService.delete(ids); return CommonResult.success(""); } catch (Exception e) { diff --git a/src/main/java/com/objecteye/controller/VehicleViolationsController.java b/src/main/java/com/objecteye/controller/VehicleViolationsController.java index 86286fc..c9da2e2 100644 --- a/src/main/java/com/objecteye/controller/VehicleViolationsController.java +++ b/src/main/java/com/objecteye/controller/VehicleViolationsController.java @@ -10,6 +10,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; import java.util.Map; @CrossOrigin @@ -85,8 +86,8 @@ public class VehicleViolationsController { */ @ApiOperation("禁行任务维护- 删除接口") @RequestMapping(value = "forbiddenTaskDelete", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) - public CommonResult forbiddenTaskDelete(@RequestBody Map queryParams) { - String[] ids = queryParams.get("ids"); + public CommonResult forbiddenTaskDelete(@RequestBody Map queryParams) { + List ids = (List) queryParams.get("ids"); int resultStatus = vehicleViolationsService.forbiddenTaskDelete(ids); return resultStatus > 0 ? CommonResult.success("success") : CommonResult.success(201, "操作失败", 0); } diff --git a/src/main/java/com/objecteye/dao/MongoTemplates.java.old b/src/main/java/com/objecteye/dao/MongoTemplates.java.old deleted file mode 100644 index b59da57..0000000 --- a/src/main/java/com/objecteye/dao/MongoTemplates.java.old +++ /dev/null @@ -1,109 +0,0 @@ -package com.objecteye.dao; - -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.mongodb.core.MongoTemplate; -import org.springframework.data.mongodb.core.geo.GeoJson; -import org.springframework.data.mongodb.core.query.Criteria; -import org.springframework.stereotype.Component; - -import java.util.List; - -@Component -public class MongoTemplates { - @Autowired - private MongoTemplate mongoTemplate; - - public void save(Polygon polygon){ - mongoTemplate.save(polygon); - } - - public void saveRegions(List gisRegionList){ - mongoTemplate.insert(gisRegionList,GisRegion.class); - } - - public T findById(Class entityClass, String id) { - return mongoTemplate.findById(id, entityClass); - } - - public List findAll(Class entityClass) { - return mongoTemplate.findAll(entityClass); - } - - public void remove(T entity) { - mongoTemplate.remove(entity); - } - - public void add(T entity) { - mongoTemplate.insert(entity); - } - - public void addAll(List entity) { - mongoTemplate.insertAll(entity); - } - - public void saveOrUpdate(T entity) { - mongoTemplate.save(entity); - } - - public T findOne(Class entityClass) { - return mongoTemplate.findOne(new Query(), entityClass); - } - - public List findIntersective(GeoJson geoJson){ - Query query=new Query(Criteria.where("geometry").intersects(geoJson)); - List list=mongoTemplate.find(query,Polygon.class); - return list; - } - - public boolean isExistIntersective(GeoJson geoJson){ - Query query=new Query(Criteria.where("geometry").intersects(geoJson).and("_id").is(100000)); - boolean res=mongoTemplate.exists(query,GisRegion.class); - return res; - } - - /*public T findBy(Class entityClass, String id) { - - Criteria cri = new Criteria(); - // 设置条件(注意:设置查询的值类型必须和mongodb中类型一致) - cri.and("status").is("0"); // 类型为String,类似sql中 status = '0' - cri.and("boolRelation").is(0D); // 类型为Double,类似sql中 boolRelation = 0 - cri.and("enforType").regex("01.*"); // 正则表达匹配,类似右模糊查询,sql中 like '01%' - - // lt gt lte gte - - return null; - }*/ - - //mongodb查询根据指定条件对象 - /* public T findQuery(Class entityClass, BasicDBObject basicDBObject) { - // 分、 排序、按时间查询 - - Query query = new Query(); - //必须条件 - // Criteria c = Criteria.where("VINID").is(Map.get(vin)); - Criteria c = new Criteria(); - //范围条件 - if (!StringUtils.isEmpty(start) && StringUtils.isEmpty(end)) { - c.and("TIME1").gte(GetTime1(start)); - } else if (StringUtils.isEmpty(start) && !StringUtils.isEmpty(end)) { - c.and("TIME1").lte(GetTime1(end)); - } else if (!StringUtils.isEmpty(start) && !StringUtils.isEmpty(end)) { - //对同一个属性加两次限制需这样操作 - c.andOperator( - c.where("TIME1").gte(GetTime1(start)), - c.where("TIME1").lte(GetTime1(end)) - ); - } - query.addCriteria(c); - //总数 - int num = (int) mongoTemplate.count(query, CarDataEx.class, "jmevTest"); - System.out.println("总数:" + num); - //分页 - query.skip((page - 1) * rows).limit(rows); - //排序 - query.with(new Sort(Sort.Direction.DESC, "TIME1","TIME2")); - //query.with(new Sort(properties)); - List jmevTest = (List) mongoTemplate.find(query, CarDataEx.class, "jmevTest"); - }*/ - -} diff --git a/src/main/java/com/objecteye/entity/SyDeploy.java b/src/main/java/com/objecteye/entity/SyDeploy.java index 8001813..c654817 100644 --- a/src/main/java/com/objecteye/entity/SyDeploy.java +++ b/src/main/java/com/objecteye/entity/SyDeploy.java @@ -32,9 +32,6 @@ public class SyDeploy implements Serializable { private String description; - @ApiModelProperty(value = "布控设备id以逗号分隔") - private String deployEquip; - @ApiModelProperty(value = "布控库") private String deployLib; @@ -54,10 +51,6 @@ public class SyDeploy implements Serializable { @ApiModelProperty(value = "人像/车辆id") private String singleId; - /** - * 设备名称 - */ - private String areaName; private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/src/main/java/com/objecteye/entity/SyVehicleForbidenTask.java b/src/main/java/com/objecteye/entity/SyVehicleForbidenTask.java index 8972202..c466631 100644 --- a/src/main/java/com/objecteye/entity/SyVehicleForbidenTask.java +++ b/src/main/java/com/objecteye/entity/SyVehicleForbidenTask.java @@ -19,7 +19,7 @@ public class SyVehicleForbidenTask implements Serializable { private static final long serialVersionUID = -8007441463935902798L; @ApiModelProperty(value = "任务id, 自增主键") - private Integer id; + private String id; @ApiModelProperty(value = "任务名称") private String name; diff --git a/src/main/java/com/objecteye/pojo/RabbitMqVehicleViolation.java b/src/main/java/com/objecteye/pojo/RabbitMqVehicleViolation.java index 3217993..d616bb6 100644 --- a/src/main/java/com/objecteye/pojo/RabbitMqVehicleViolation.java +++ b/src/main/java/com/objecteye/pojo/RabbitMqVehicleViolation.java @@ -48,9 +48,5 @@ public class RabbitMqVehicleViolation implements Serializable { /** * 是否违规 */ - private Integer taskId; - /** - * 设备名称 - */ - private String equipmentName; + private String taskId; } diff --git a/src/main/java/com/objecteye/service/DeployService.java b/src/main/java/com/objecteye/service/DeployService.java index d6afad9..2c3be7f 100644 --- a/src/main/java/com/objecteye/service/DeployService.java +++ b/src/main/java/com/objecteye/service/DeployService.java @@ -96,7 +96,7 @@ public interface DeployService { * * @param ids */ - void delete(String[] ids); + void delete(List ids); /** * 布控任务查询列表- 分页 diff --git a/src/main/java/com/objecteye/service/FeatureService.java b/src/main/java/com/objecteye/service/FeatureService.java index 7ddf11a..7326740 100644 --- a/src/main/java/com/objecteye/service/FeatureService.java +++ b/src/main/java/com/objecteye/service/FeatureService.java @@ -59,7 +59,7 @@ public interface FeatureService { * * @param ids */ - void delete(String[] ids); + void delete(List ids); /** * 分页 diff --git a/src/main/java/com/objecteye/service/IVehicleViolationsService.java b/src/main/java/com/objecteye/service/IVehicleViolationsService.java index aa25d52..991ed4b 100644 --- a/src/main/java/com/objecteye/service/IVehicleViolationsService.java +++ b/src/main/java/com/objecteye/service/IVehicleViolationsService.java @@ -5,6 +5,8 @@ import com.objecteye.entity.SyVehicleForbidenTask; import com.objecteye.entity.VehicleViolationsForbidenTaskQueryParams; import com.objecteye.pojo.RabbitMQVehicle; +import java.util.List; + /** * 车辆违规模块 * @@ -52,7 +54,7 @@ public interface IVehicleViolationsService { * @param ids 请求参数 * @return 结果集 */ - int forbiddenTaskDelete(String[] ids); + int forbiddenTaskDelete(List ids); /** * 布控任务监控 diff --git a/src/main/java/com/objecteye/service/PersonnelService.java b/src/main/java/com/objecteye/service/PersonnelService.java index 5fe81d1..3436802 100644 --- a/src/main/java/com/objecteye/service/PersonnelService.java +++ b/src/main/java/com/objecteye/service/PersonnelService.java @@ -66,7 +66,7 @@ public interface PersonnelService { * @param ids */ - void delete(String[] ids); + void delete(List ids); /** diff --git a/src/main/java/com/objecteye/service/VehicleDbService.java b/src/main/java/com/objecteye/service/VehicleDbService.java index fcead8a..431d266 100644 --- a/src/main/java/com/objecteye/service/VehicleDbService.java +++ b/src/main/java/com/objecteye/service/VehicleDbService.java @@ -57,7 +57,7 @@ public interface VehicleDbService { * * @param ids */ - void delete(String[] ids); + void delete(List ids); /** * 分页 diff --git a/src/main/java/com/objecteye/service/VehicleService.java b/src/main/java/com/objecteye/service/VehicleService.java index c70ec63..da4eb45 100644 --- a/src/main/java/com/objecteye/service/VehicleService.java +++ b/src/main/java/com/objecteye/service/VehicleService.java @@ -20,7 +20,7 @@ public interface VehicleService { */ PageResult findPage(int vehicleId, String picName, int pageNum, int pageSize); - void delete(String[] ids); + void delete(List ids); void update(UploadVehicleDbResult uploadVehicleDbResult); diff --git a/src/main/java/com/objecteye/service/impl/DeployServiceImpl.java b/src/main/java/com/objecteye/service/impl/DeployServiceImpl.java index 607b940..65e8058 100644 --- a/src/main/java/com/objecteye/service/impl/DeployServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/DeployServiceImpl.java @@ -19,10 +19,10 @@ import org.springframework.data.mongodb.core.aggregation.Aggregation; import org.springframework.data.mongodb.core.aggregation.AggregationResults; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; +import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.math.RoundingMode; @@ -35,7 +35,7 @@ import java.util.stream.Collectors; * * @author Administrator */ -@Service +@Component @Slf4j public class DeployServiceImpl implements DeployService { @Autowired @@ -60,6 +60,9 @@ public class DeployServiceImpl implements DeployService { @Override public Integer cancelOrReNewDeployTask(int deployId) { SyDeploy syDeploy = mongoTemplate.findOne(Query.query(Criteria.where("id").is(deployId)), SyDeploy.class); + if (syDeploy == null) { + throw new RuntimeException("未找到对应布控任务"); + } Integer status = syDeploy.getStatus(); if (status == 0) { syDeploy.setStatus(1); @@ -196,7 +199,6 @@ public class DeployServiceImpl implements DeployService { * * @param syDeploy */ - @Transactional(rollbackFor = Exception.class) @Override public void add(SyDeploy syDeploy) { // 处理前端传递的时间戳 @@ -220,7 +222,6 @@ public class DeployServiceImpl implements DeployService { syDeploy.setDeployLib(featureIds); - syDeploy.setSingleId(syDeploy.getDeployEquip()); mongoTemplate.insert(syDeploy); String deployId = syDeploy.getId(); // 布控库中每一条数据都放到redis中 @@ -275,7 +276,6 @@ public class DeployServiceImpl implements DeployService { } @Override - @Transactional(rollbackFor = Exception.class) public void update(SyDeploy deploy) { // 处理前端传递的时间戳 makeTimeLongToTimeStr(deploy); @@ -304,7 +304,7 @@ public class DeployServiceImpl implements DeployService { redisTemplate.opsForHash().put(GlobalUtil.DEPLOY_TYPE, deployId, deployType); redisTemplate.opsForHash().put(GlobalUtil.DEPLOYIDANDENDTIME, deployId, endTime); - mongoTemplate.save(deploy, "syDeploy"); + mongoTemplate.save(deploy); } /** @@ -350,12 +350,10 @@ public class DeployServiceImpl implements DeployService { * @param ids */ @Override - public void delete(String[] ids) { + public void delete(List ids) { for (String id : ids) { - SyDeploy syDeploy = mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), SyDeploy.class); - syDeploy.setIsDelete(1); deleteRedisWhenUpdateDeploy(id); - mongoTemplate.save(syDeploy); + mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(id)), Update.update("isDelete", 1), SyDeploy.class); redisTemplate.opsForHash().delete(GlobalUtil.DEPLOY_LIB, id); redisTemplate.opsForHash().delete(GlobalUtil.DEPLOY_TYPE, id); redisTemplate.opsForHash().delete(GlobalUtil.DEPLOYIDANDENDTIME, id); @@ -534,12 +532,7 @@ public class DeployServiceImpl implements DeployService { mongoTemplate.save(syDeploy); } } else if (currentTimeStamp > deployEndTimeStamp) { - SyDeploy syDeploy = mongoTemplate.findOne(Query.query(Criteria.where("id").is(integer)), SyDeploy.class); - if (syDeploy == null) { - return; - } - syDeploy.setStatus(1); - mongoTemplate.save(syDeploy); + mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(integer)), Update.update("status", 1), SyDeploy.class); redisTemplate.opsForHash().delete(GlobalUtil.DEPLOYID_STATRTIME, integer); } } @@ -738,7 +731,7 @@ public class DeployServiceImpl implements DeployService { */ private void plateAlarmMsgProducer(PlateAlarmMsg plateAlarmMsg) { if (plateAlarmMsg != null) { - PlateAlarmMsg save = mongoTemplate.save(plateAlarmMsg); + PlateAlarmMsg save = mongoTemplate.insert(plateAlarmMsg); String s = JSON.toJSONString(save); redisTemplate.opsForList().leftPush("ALARM", s); } diff --git a/src/main/java/com/objecteye/service/impl/FeatureServiceImpl.java b/src/main/java/com/objecteye/service/impl/FeatureServiceImpl.java index 00d23af..8d9d564 100644 --- a/src/main/java/com/objecteye/service/impl/FeatureServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/FeatureServiceImpl.java @@ -11,13 +11,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 服务实现层 @@ -108,16 +106,13 @@ public class FeatureServiceImpl implements FeatureService { * @param ids */ @Override - public void delete(String[] ids) { + public void delete(List ids) { for (String id : ids) { List deployList = deployService.getDeployListByLibAndDeployType(id, 2); - SyFeature syFeature = mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), SyFeature.class); - syFeature.setIsDelete(1); List syPersonnels = mongoTemplate.find(Query.query(Criteria.where("fid").is(id)), SyPersonnel.class); + mongoTemplate.updateMulti(Query.query(Criteria.where("fid").is(id)), Update.update("status", 1), SyPersonnel.class); if (syPersonnels.size() > 0) { for (SyPersonnel syPersonnel : syPersonnels) { - syPersonnel.setStatus(1); - mongoTemplate.save(syPersonnel); redisTemplate.opsForHash().delete("personUrl", syPersonnel.getId()); } } @@ -126,11 +121,11 @@ public class FeatureServiceImpl implements FeatureService { String key = deployId + "|" + id; redisTemplate.opsForHash().delete(key); String[] deploy = {deployId}; - deployService.delete(deploy); + deployService.delete(Arrays.asList(deploy)); } } - mongoTemplate.save(syFeature); } + mongoTemplate.updateMulti(Query.query(Criteria.where("id").in(ids)), Update.update("isDelete", 1), SyFeature.class); } diff --git a/src/main/java/com/objecteye/service/impl/LocusOrbitServiceImpl.java b/src/main/java/com/objecteye/service/impl/LocusOrbitServiceImpl.java index 8b56bdf..099a82b 100644 --- a/src/main/java/com/objecteye/service/impl/LocusOrbitServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/LocusOrbitServiceImpl.java @@ -71,7 +71,8 @@ public class LocusOrbitServiceImpl implements ILocusOrbitService { @Override public List locusOrbitByPlateNumber(int gcxh, LocusOrbitQueryParams locusOrbitQueryParams, MultipartFile multipartFile) { String fileName = multipartFile.getOriginalFilename(); - String picPath = GlobalUtil.dbPath1() + File.separator + "picture" + File.separator + fileName; + String picPath = GlobalUtil.dbPath1() + File.separator + "export" + File.separator + "vehicleProject" + + File.separator + "picture" + File.separator + fileName; File newFile = new File(picPath); try { multipartFile.transferTo(newFile); diff --git a/src/main/java/com/objecteye/service/impl/PersonnelServiceImpl.java b/src/main/java/com/objecteye/service/impl/PersonnelServiceImpl.java index 9a9a867..af681cb 100644 --- a/src/main/java/com/objecteye/service/impl/PersonnelServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/PersonnelServiceImpl.java @@ -17,9 +17,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.io.File; @@ -129,17 +129,16 @@ public class PersonnelServiceImpl implements PersonnelService { */ @Override - @Transactional(rollbackFor = Exception.class) - public void delete(String[] ids) { + public void delete(List ids) { for (String id : ids) { SyPersonnel syPersonnel = mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), SyPersonnel.class); - syPersonnel.setStatus(1); - mongoTemplate.save(syPersonnel); + if (syPersonnel == null) { + continue; + } + mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(id)), Update.update("status", 1), SyPersonnel.class); String fid = syPersonnel.getFid(); - long personCountByFid = findPersonCountByFid(fid); - SyFeature syFeature = mongoTemplate.findOne(Query.query(Criteria.where("id").is(fid)), SyFeature.class); - syFeature.setCount((int) personCountByFid); - mongoTemplate.save(syFeature); + int personCountByFid = (int) findPersonCountByFid(fid); + mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(fid)), Update.update("count", personCountByFid), SyFeature.class); List deployListByLibAndDeployType = deployService.getDeployListByLibAndDeployType(fid, 2); if (deployListByLibAndDeployType != null && deployListByLibAndDeployType.size() > 0) { for (String s : deployListByLibAndDeployType) { @@ -207,7 +206,6 @@ public class PersonnelServiceImpl implements PersonnelService { * @return */ @Override - @Transactional(rollbackFor = Exception.class) public String uploadFiles(MultipartFile[] uploadFiles, String featureId) { int count = 0; SyFeature one = featureService.findOne(featureId); diff --git a/src/main/java/com/objecteye/service/impl/UploadFileServiceImpl.java b/src/main/java/com/objecteye/service/impl/UploadFileServiceImpl.java index 1ae944a..c6a00e7 100644 --- a/src/main/java/com/objecteye/service/impl/UploadFileServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/UploadFileServiceImpl.java @@ -42,7 +42,8 @@ public class UploadFileServiceImpl implements IUploadFileService { public JSONObject uploadFile2Mongo(MultipartFile multipartFile) throws IOException { // 格式化文件名由format开头, e.g. format-15321354564-12.12654_15.156567.jpg String fileName = multipartFile.getOriginalFilename(); - String picPath = GlobalUtil.dbPath1() + File.separator + "picture" + File.separator + fileName; + String picPath = GlobalUtil.dbPath1() + File.separator + "export" + File.separator + "vehicleProject" + + File.separator + "picture" + File.separator + fileName; File newFile = new File(picPath); multipartFile.transferTo(newFile); @@ -75,8 +76,6 @@ public class UploadFileServiceImpl implements IUploadFileService { String s = JSON.toJSONString(uploadVehicleResult); rabbitTemplate.convertAndSend(RabbitmqConfig.EXCHANGE_TOPICS_INFORM, "inform.store", s); } - - - return null; + return new JSONObject(); } } diff --git a/src/main/java/com/objecteye/service/impl/VehicleDbServiceImpl.java b/src/main/java/com/objecteye/service/impl/VehicleDbServiceImpl.java index f98fdd4..a722faf 100644 --- a/src/main/java/com/objecteye/service/impl/VehicleDbServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/VehicleDbServiceImpl.java @@ -10,13 +10,11 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; +import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 服务实现层 @@ -95,7 +93,7 @@ public class VehicleDbServiceImpl implements VehicleDbService { * @param ids */ @Override - public void delete(String[] ids) { + public void delete(List ids) { for (String id : ids) { List deployList = deployService.getDeployListByLibAndDeployType(id, 2); UploadVehicleDbResult uploadVehicleDbResult = mongoTemplate.findOne(Query.query(new Criteria("id").is(id)), UploadVehicleDbResult.class); @@ -114,13 +112,11 @@ public class VehicleDbServiceImpl implements VehicleDbService { for (int i = 0; i < size; i++) { String deployId = deployList.get(i); String[] deploy = {deployId}; - deployService.delete(deploy); + deployService.delete(Arrays.asList(deploy)); } } } - SyVehicleDb syVehicleDb = mongoTemplate.findOne(Query.query(Criteria.where("id").is(id)), SyVehicleDb.class); - syVehicleDb.setIsDelete(1); - mongoTemplate.save(syVehicleDb); + mongoTemplate.updateMulti(Query.query(Criteria.where("id").is(id)), Update.update("isDelete", 1), SyVehicleDb.class); } } diff --git a/src/main/java/com/objecteye/service/impl/VehicleFileServiceImpl.java b/src/main/java/com/objecteye/service/impl/VehicleFileServiceImpl.java index fd4729a..239f956 100644 --- a/src/main/java/com/objecteye/service/impl/VehicleFileServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/VehicleFileServiceImpl.java @@ -324,7 +324,8 @@ public class VehicleFileServiceImpl implements IVehicleFileService { @Override public VvehicleFilePicQueryResult picQuery(int gcxh, MultipartFile multipartFile) { String fileName = multipartFile.getOriginalFilename(); - String picPath = GlobalUtil.dbPath1() + File.separator + "picture" + File.separator + fileName; + String picPath = GlobalUtil.dbPath1() + File.separator + "export" + File.separator + "vehicleProject" + + File.separator + "picture" + File.separator + fileName; File newFile = new File(picPath); try { multipartFile.transferTo(newFile); diff --git a/src/main/java/com/objecteye/service/impl/VehicleServiceImpl.java b/src/main/java/com/objecteye/service/impl/VehicleServiceImpl.java index e9e908a..5722f47 100644 --- a/src/main/java/com/objecteye/service/impl/VehicleServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/VehicleServiceImpl.java @@ -79,11 +79,10 @@ public class VehicleServiceImpl implements VehicleService { } @Override - public void delete(String[] ids) { - int length = ids.length; + public void delete(List ids) { + int length = ids.size(); String vehicleId = null; - for (int i = 0; i < length; i++) { - String id = ids[i]; + for (String id : ids) { UploadVehicleDbResult uploadVehicleDbResult = mongoTemplate.findOne(Query.query(new Criteria("id").is(id)), UploadVehicleDbResult.class); vehicleId = uploadVehicleDbResult.getVehicleId(); String plateNum = uploadVehicleDbResult.getPlateNum(); diff --git a/src/main/java/com/objecteye/service/impl/VehicleViolationsServiceImpl.java b/src/main/java/com/objecteye/service/impl/VehicleViolationsServiceImpl.java index 70f010e..9a94389 100644 --- a/src/main/java/com/objecteye/service/impl/VehicleViolationsServiceImpl.java +++ b/src/main/java/com/objecteye/service/impl/VehicleViolationsServiceImpl.java @@ -95,7 +95,7 @@ public class VehicleViolationsServiceImpl implements IVehicleViolationsService { continue; } SyVehicleForbiddenTaskOutput output = new SyVehicleForbiddenTaskOutput(); - output.setId(String.valueOf(forbiddenTask.getId())); + output.setId(forbiddenTask.getId()); output.setName(forbiddenTask.getName()); output.setDescription(forbiddenTask.getDescription()); output.setStatus(null != forbiddenTask.getStatus() && 1 == forbiddenTask.getStatus() ? "工作中" : "已撤销"); @@ -164,7 +164,7 @@ public class VehicleViolationsServiceImpl implements IVehicleViolationsService { * @return 结果集 */ @Override - public int forbiddenTaskDelete(String[] ids) { + public int forbiddenTaskDelete(List ids) { int effectNum = 0; for (String id : ids) { if (null == id || "".equals(id)) { diff --git a/src/main/java/com/objecteye/utils/FtpUtil.java b/src/main/java/com/objecteye/utils/FtpUtil.java deleted file mode 100644 index d706a51..0000000 --- a/src/main/java/com/objecteye/utils/FtpUtil.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.objecteye.utils; - -import org.apache.commons.net.ftp.FTP; -import org.apache.commons.net.ftp.FTPClient; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -import java.io.IOException; -import java.net.SocketException; -import java.nio.charset.Charset; - -@Component -public class FtpUtil { - - private static final Logger log = LoggerFactory.getLogger(FtpUtil.class); - - @Value("${ftp.username}") - private String userName; - - @Value("${ftp.password}") - private String passWord; - - @Value("${ftp.host}") - private String ip; - - @Value("${ftp.port}") - private int port; - - private FTPClient ftpClient = new FTPClient(); - - - public FTPClient connect() { - try { - if (!ftpClient.isConnected()) { - - ftpClient.connect(ip, port); - ftpClient.login(userName, passWord); - ftpClient.setCharset(Charset.forName("UTF-8")); - ftpClient.setControlEncoding("UTF-8"); - ftpClient.setFileType(FTP.BINARY_FILE_TYPE); - } - return ftpClient; - } catch (SocketException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/src/main/java/com/objecteye/utils/GlobalUtil.java b/src/main/java/com/objecteye/utils/GlobalUtil.java index 70b2fa7..d8c2a86 100644 --- a/src/main/java/com/objecteye/utils/GlobalUtil.java +++ b/src/main/java/com/objecteye/utils/GlobalUtil.java @@ -438,9 +438,8 @@ public class GlobalUtil { if (imgStr == null) { return false; } - BASE64Decoder decoder = new BASE64Decoder(); try { - byte[] bytes = decoder.decodeBuffer(imgStr); + byte[] bytes = org.apache.commons.codec.binary.Base64.decodeBase64(imgStr); for (int i = 0; i < bytes.length; ++i) { if (bytes[i] < 0) { bytes[i] += 256; diff --git a/src/main/java/com/objecteye/utils/HttpClientUtils.java b/src/main/java/com/objecteye/utils/HttpClientUtils.java index 46a02bb..7cf7425 100644 --- a/src/main/java/com/objecteye/utils/HttpClientUtils.java +++ b/src/main/java/com/objecteye/utils/HttpClientUtils.java @@ -1,5 +1,6 @@ package com.objecteye.utils; +import org.apache.commons.codec.binary.Base64; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; @@ -7,7 +8,6 @@ import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Decoder; -import sun.misc.BASE64Encoder; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -85,12 +85,10 @@ public class HttpClientUtils { } public String MultipartFileToBase64(MultipartFile file) throws Exception { - BASE64Encoder base64Encoder = new BASE64Encoder(); - String base64EncoderImg = file.getOriginalFilename() + "," + base64Encoder.encode(file.getBytes()); + String base64EncoderImg = file.getOriginalFilename() + "," + Base64.encodeBase64String(file.getBytes()); String[] split = base64EncoderImg.split(","); String split1 = split[1]; - String base64Value = split1.replaceAll("\r\n|\r|\n", ""); - return base64Value; + return split1.replaceAll("\r\n|\r|\n", ""); } //将multipart文件转成车型对象 diff --git a/src/main/java/com/objecteye/utils/RabbitMQVehicleTools.java b/src/main/java/com/objecteye/utils/RabbitMQVehicleTools.java index 72840e6..7f9e08f 100644 --- a/src/main/java/com/objecteye/utils/RabbitMQVehicleTools.java +++ b/src/main/java/com/objecteye/utils/RabbitMQVehicleTools.java @@ -112,7 +112,7 @@ public class RabbitMQVehicleTools { GlobalUtil.generateImage(mattingData, path); PersonMsg personMsg = new PersonMsg(null, snapshoturl, captureTime, null, null, null, url, retrieveKey, fea); - PersonMsg save = mongoTemplate.save(personMsg); + PersonMsg save = mongoTemplate.insert(personMsg); String s = JSON.toJSONString(save); rabbitTemplate.convertAndSend(RabbitmqConfig.EXCHANGE_TOPICS_INFORM, "inform.person", s); } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 489b5c1..1cf8149 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -32,23 +32,16 @@ logging: # file: demo_log.log #配置日志生成路径 # path: /var/logs #配置日志文件名称 picture: - url: http://192.168.10.153:8880/ - storePath: /ftpTest - http: http://192.168.10.153:8880/ - snapshotPath: /home/hexy/picture/snapshot/ + url: http://192.168.10.117:32112/ + storePath: /home/liuhaoyu/export/vehicleProject/picture/ + http: http://192.168.10.117:32112/ + snapshotPath: /home/liuhaoyu/export/vehicleProject/picture/snapshot/ -snapshotPrefix: http://192.168.10.153:8880/snapshot/ +snapshotPrefix: http://192.168.10.117:32112/snapshot/ server: - port: 8080 - address: 127.0.0.1 - -ftp: - username: officer - password: 334554321123211 - host: 192.168.10.39 - port: 21 - + port: 8845 + address: 192.168.10.117 #调用引擎url requestFile: http://192.168.10.4:10002/vps/analysisFile