From eea92f23bf8ead897f346ae6ccc8603ac039e566 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 30 七月 2024 09:48:47 +0800
Subject: [PATCH] 修复bug
---
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java | 120 +++++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 74 insertions(+), 46 deletions(-)
diff --git a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
index a786ef7..8d25f41 100644
--- a/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
+++ b/server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
@@ -18,7 +18,9 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.dao.business.CarEventMapper;
+import com.doumee.dao.business.CarsMapper;
import com.doumee.dao.business.ParksMapper;
+import com.doumee.dao.business.VisitsMapper;
import com.doumee.dao.business.join.ParkBookJoinMapper;
import com.doumee.dao.business.model.*;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -48,6 +50,10 @@
private ParkBookJoinMapper parkBookMapper;
@Autowired
private CarEventMapper carEventMapper;
+ @Autowired
+ private CarsMapper carsMapper;
+ @Autowired
+ private VisitsMapper visitsMapper;
@Override
public void syncParkBookData() {
if(Constants.DEALING_HK_PARKBOOK){
@@ -61,30 +67,34 @@
return;
}
Date date = new Date();
- //鍏堝嚭鎵�鏈夐渶瑕佸彇娑堝寘鏈熺殑鏁版嵁璁板綍
- for(ParkBook c : list) {
- if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)){
- //濡傛灉鍙栨秷棰勭害锛屽垯杩涜鍙栨秷鍖呮湡
- if(StringUtils.isNotBlank(c.getParkHkId())
- && StringUtils.isNotBlank(c.getCarCode())){
- boolean result = cancelParkBookHk(c);
- c.setHkStatus(result?Constants.ONE:Constants.TWO);
- c.setRemark(result?"鍙栨秷鍖呮湡鎴愬姛":"鍙栨秷鍖呮湡澶辫触");
- }else{
- c.setHkStatus(Constants.TWO);//涓嬪彂澶辫触
- c.setRemark("鍙栨秷鍖呮湡澶辫触");
- }
- c.setHkDate(date);
- parkBookMapper.updateById(c);
- }
- }
//澶勭悊鎵�鏈夐渶瑕佸寘鏈熺殑杞﹁締鏁版嵁璁板綍
for(ParkBook c : list) {
- if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)) {
- //鍒犻櫎鐨勫凡澶勭悊锛岃烦杩囧鐞�
- continue;
+ dealParkBookBiz(c,date);
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ }finally {
+ Constants.DEALING_HK_PARKBOOK =false;
+ }
+
+ }
+
+ private void dealParkBookBiz(ParkBook c,Date date) {
+ try {
+ if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)) {
+ //濡傛灉鍙栨秷棰勭害锛屽垯杩涜鍙栨秷鍖呮湡
+ if(StringUtils.isNotBlank(c.getParkHkId())
+ && StringUtils.isNotBlank(c.getCarCode())){
+ boolean result = cancelParkBookHk(c);
+ c.setHkStatus(result?Constants.ONE:Constants.TWO);
+ c.setRemark(result?"鍙栨秷鍖呮湡鎴愬姛":"鍙栨秷鍖呮湡澶辫触");
+ }else{
+ c.setHkStatus(Constants.TWO);//涓嬪彂澶辫触
+ c.setRemark("鍙栨秷鍖呮湡澶辫触");
}
- //鏁版嵁涓嶅悎娉曪紝鐩存帴鎻愮ず涓嬪彂澶辫触
+ c.setHkDate(date);
+ }else{
+ //濡傛灉鏄柊澧炲寘鏈燂紝鏁版嵁涓嶅悎娉曪紝鐩存帴鎻愮ず涓嬪彂澶辫触
if(StringUtils.isNotBlank(c.getParkHkId())
&& StringUtils.isNotBlank(c.getCarCode())){
boolean result = addParkBookHk(c);
@@ -94,16 +104,15 @@
c.setHkStatus(Constants.TWO);
c.setRemark("鍖呮湡澶辫触~");
}
- c.setHkDate(date);
- parkBookMapper.updateById(c);
}
+ c.setHkDate(date);
+ parkBookMapper.updateById(c);
}catch (Exception e){
- e.printStackTrace();
- }finally {
- Constants.DEALING_HK_PARKBOOK =false;
+
}
}
+
@Override
public void syncParkBookBySingleModel(ParkBook c) {
if(Constants.equalsObject(c.getIsdeleted(),Constants.ONE)){
@@ -168,8 +177,27 @@
queryWrapper.selectAs(Parks::getHkId,ParkBook::getParkHkId);
queryWrapper.leftJoin(Parks.class,Parks::getId,ParkBook::getParkId);
queryWrapper.selectAs(Device::getHkId,Empower::getDeviceIndexCode);
- List<ParkBook> list = parkBookMapper.selectJoinList(ParkBook.class,queryWrapper.eq(ParkBook::getHkStatus,Constants.ZERO));
+ List<ParkBook> list = parkBookMapper.selectJoinList(ParkBook.class,queryWrapper.eq(ParkBook::getHkStatus,Constants.ZERO).orderByAsc(ParkBook::getId));
return list;
+ }
+ private void getDataChangeList(List<Parks> allList, List<ParkListResponse> allHkList, List<Parks> addList, List<Parks> editList,List<Parks> deleteList, Date date) {
+ if(allHkList!=null && allHkList.size()>0){
+ for(ParkListResponse device : allHkList){
+ Parks model = getExistedData(device,allList);
+ if(model !=null){
+ //濡傛灉宸插瓨鍦紝鍒欐洿鏂版暟鎹�
+ model = initModelByHkData(model,device,date);
+ editList.add(model);
+ }else{
+ //濡傛灉涓嶅瓨鍦紝鍒欐柊澧炴暟鎹�
+ model = new Parks();
+ model = initModelByHkData(model,device,date);
+ addList.add(model);
+ }
+ }
+ }
+ //鍒ゆ柇鑾峰彇鍒犻櫎鐨勯棬绂佽澶囷紝閫昏緫鍒犻櫎
+ getDeleteList(allList,allHkList,deleteList,date);
}
/**
* 鍚屾娴峰悍鍋滆溅搴撴暟鎹�
@@ -220,25 +248,6 @@
}finally {
Constants.DEALING_HK_SYNCPRIVILEGE =false;
}
- }
- private void getDataChangeList(List<Parks> allList, List<ParkListResponse> allHkList, List<Parks> addList, List<Parks> editList,List<Parks> deleteList, Date date) {
- if(allHkList!=null && allHkList.size()>0){
- for(ParkListResponse device : allHkList){
- Parks model = getExistedData(device,allList);
- if(model !=null){
- //濡傛灉宸插瓨鍦紝鍒欐洿鏂版暟鎹�
- model = initModelByHkData(model,device,date);
- editList.add(model);
- }else{
- //濡傛灉涓嶅瓨鍦紝鍒欐柊澧炴暟鎹�
- model = new Parks();
- model = initModelByHkData(model,device,date);
- addList.add(model);
- }
- }
- }
- //鍒ゆ柇鑾峰彇鍒犻櫎鐨勯棬绂佽澶囷紝閫昏緫鍒犻櫎
- getDeleteList(allList,allHkList,deleteList,date);
}
/**
@@ -402,6 +411,25 @@
c.setParkIndex(model.getParkSyscode());
c.setParkName(model.getParkName());
c.setEventId(model.getCrossRecordSyscode());
+ if(StringUtils.isNotBlank(model.getPlateNo())){
+ Cars car = carsMapper.selectOne(new QueryWrapper<Cars>().lambda()
+ .eq(Cars::getIsdeleted,Constants.ZERO)
+ .eq(Cars::getCode,model.getPlateNo())
+ .last("limit 1" ));
+ if(car!=null){
+ //濡傛灉鏄唴閮ㄤ汉鍛�
+ c.setMemberId(car.getMemberId());
+ }
+
+ Visits visits = visitsMapper.selectOne(new QueryWrapper<Visits>().lambda()
+ .eq(Visits::getIsdeleted,Constants.ZERO)
+ .eq(Visits::getCarNos,model.getPlateNo())
+ .last("limit 1" ));
+ if(visits!=null){
+ //濡傛灉鏄瀹�
+ c.setMemberId(visits.getMemberId());
+ }
+ }
c.setGateIndex(model.getEntranceSyscode());
c.setGateName(model.getEntranceName());
c.setIsdeleted(Constants.ZERO);
--
Gitblit v1.9.3