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 |   71 +++++++++++++++++++++++++++++++++++
 1 files changed, 71 insertions(+), 0 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 83aa186..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;
@@ -39,6 +42,7 @@
 import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
 
 /**
  * 杞﹁締淇℃伅琛⊿ervice瀹炵幇
@@ -711,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