From 4ee00850f197d769481f73acb8ed79ab1c75b84d Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期五, 14 十一月 2025 11:41:24 +0800
Subject: [PATCH] 问题修复

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java |   76 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 74 insertions(+), 2 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
index 5e3ac7c..bc14916 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -1,5 +1,7 @@
 package com.doumee.service.business.impl;
 
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -7,6 +9,7 @@
 import com.doumee.core.annotation.excel.ExcelImporter;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.service.business.third.model.LoginUserInfo;
 import com.doumee.service.business.third.model.PageData;
 import com.doumee.service.business.third.model.PageWrap;
@@ -38,6 +41,8 @@
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * 杞﹁締淇℃伅琛⊿ervice瀹炵幇
@@ -355,7 +360,7 @@
 
     @Override
     public List<Cars> findList(Cars cars) {
-        if(Objects.nonNull(cars)
+        if(Objects.nonNull(cars) && Objects.nonNull(cars.getType())
         && Constants.equalsInteger(Constants.ZERO,cars.getType())){
             return this.getGwCar();
         }
@@ -510,7 +515,7 @@
         if(importing!=null && importing){
             throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝宸插瓨鍦ㄨ溅杈嗗鍏ヤ换鍔℃鍦ㄦ墽琛屼腑锛岃绋嶅悗鍐嶈瘯锛�");
         }
-        redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_CARS,true);
+        redisTemplate.opsForValue().set(Constants.RedisKeys.IMPORTING_CARS,true,30, TimeUnit.MINUTES);
         try {
             ExcelImporter ie = null;
             List<CarsImport> dataList =null;
@@ -710,4 +715,71 @@
     }
 
 
+
+    @Override
+    public void jdyPushCarInfo(String dataInfo){
+        JSONObject dataInfoJSON = JSONObject.parseObject(dataInfo);
+        if(dataInfoJSON.isEmpty()){
+            return;
+        }
+        String op = dataInfoJSON.getString("op");
+        //鍒犻櫎锛歞ata_remove 鏂板锛歞ata_add 淇敼锛歞ata_update
+        if(StringUtils.isEmpty(op)){
+            return;
+        }
+        JSONObject dataJSON = dataInfoJSON.getJSONObject("data");
+        String no = dataJSON.getString("_id");
+        if(StringUtils.isEmpty(no)){
+            return;
+        }
+        if(op.equals("data_remove")){
+            carsMapper.update(new UpdateWrapper<Cars>().lambda()
+                    .set(Cars::getEditDate, DateUtil.getCurrDate())
+                    .set(Cars::getIsdeleted,Constants.ONE).eq(Cars::getJdyId,no));
+            return;
+        }
+
+        String status = dataJSON.getString("status");
+        String carCode = dataJSON.getString("car_code");
+        Cars cars = carsMapper.selectOne(new QueryWrapper<Cars>()
+                .lambda().eq(Cars::getJdyId,no).last("limit 1"));
+        if(Objects.isNull(cars)){
+            cars = new Cars();
+            cars.setCreateDate(new Date());
+            cars.setEditDate(new Date());
+            cars.setJdyId(no);
+        }else{
+            cars.setEditDate(new Date());
+        }
+        cars.setIsdeleted(Constants.ZERO);
+        cars.setCode(StringUtils.isBlank(carCode)?null:carCode);
+        cars.setStatus(StringUtils.isNotBlank(status)&&StringUtils.equals(status,"鍙敤")?0:1);
+        JSONObject driverJSON = dataJSON.getJSONObject("driver");
+        if(!driverJSON.isEmpty()){
+            String driverName = driverJSON.getString("name");
+            String driverUserName = driverJSON.getString("username");
+            if(StringUtils.isNotBlank(driverUserName)){
+                Member driverMember = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getDdId,driverUserName).last("limit 1 "));
+                if(Objects.nonNull(driverMember)){
+                    cars.setMemberId(driverMember.getId());
+                }
+            }
+        }
+        JSONObject createJSON = dataJSON.getJSONObject("creator");
+        if(!createJSON.isEmpty()){
+            String createName = createJSON.getString("name");
+            String createUserName = createJSON.getString("username");
+            if(StringUtils.isNotBlank(createUserName)){
+                Member createMember = memberMapper.selectOne(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO).eq(Member::getDdId,createUserName).last("limit 1 "));
+                if(Objects.nonNull(createMember)){
+                    cars.setMemberId(createMember.getId());
+                }
+            }
+        }
+        carsMapper.insertOrUpdate(cars);
+    }
+
+
+
+
 }

--
Gitblit v1.9.3