From 67ff8bd1223a488542f2504db84f68d17846d149 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 25 九月 2024 15:48:19 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java |  134 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 122 insertions(+), 12 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
index 11d0117..771f5c1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -4,6 +4,13 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.haikang.model.HKConstants;
+import com.doumee.core.haikang.model.param.BaseResponse;
+import com.doumee.core.haikang.model.param.request.CarChargeAddRequest;
+import com.doumee.core.haikang.model.param.request.ParkReservationAddRequest;
+import com.doumee.core.haikang.model.param.request.ParkReservationDelRequest;
+import com.doumee.core.haikang.model.param.respose.ParkReservationAddResponse;
+import com.doumee.core.haikang.service.HKService;
 import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
@@ -82,6 +89,12 @@
 
     @Autowired
     private PlatformShowParamMapper platformShowParamMapper;
+
+    @Autowired
+    private ParksMapper parksMapper;
+
+    @Autowired
+    private VisitParkMapper visitParkMapper;
 
 
     @Override
@@ -728,7 +741,7 @@
      */
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public void platformInPark(JobOperateDTO jobOperateDTO){
+    public PlatformJob platformInPark(JobOperateDTO jobOperateDTO){
         if(Objects.isNull(jobOperateDTO)
                 || Objects.isNull(jobOperateDTO.getJobId())
                 || Objects.isNull(jobOperateDTO.getPlatformId())){
@@ -767,17 +780,110 @@
         platformJob.setEditDate(new Date());
         platformJobMapper.updateById(platformJob);
 
-        if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)
-        || Constants.equalsInteger(platformJob.getType(),Constants.THREE)
-        || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
-            //TODO 涓嬪彂鍏ュ洯鏉冮檺
-
-
-        }
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.IN_WAIT.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.IN_WAIT.getInfo());
 
+        return platformJob;
+    }
+
+
+    @Override
+    public void sendInPark(PlatformJob platformJob){
+        if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)
+                || Constants.equalsInteger(platformJob.getType(),Constants.THREE)
+                || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
+            //鏌ヨ褰撳墠鍚敤鐨勫仠杞﹀満
+            List<Parks> parksList = parksMapper.selectList(new QueryWrapper<Parks>()
+                    .lambda()
+                    .isNotNull(Parks::getHkId)
+                    .eq(Parks::getIsdeleted,Constants.ZERO));
+            List<VisitPark> visitParkList = new ArrayList<>();
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(parksList)){
+                Boolean sendStatus = true;
+                if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(parksList)){
+                    for (Parks parks:parksList) {
+                        VisitPark visitPark = new VisitPark();
+                        visitPark.setIsdeleted(Constants.ZERO);
+                        visitPark.setCreateDate(new Date());
+                        visitPark.setVisitApplyId(platformJob.getId().toString());
+                        visitPark.setCarCode(platformJob.getCarCodeFront());
+                        visitPark.setParkId(parks.getId().toString());
+                        visitPark.setStartTime(new Date());
+                        visitPark.setEndTime(DateUtil.getXMinuteAfterDate(visitPark.getStartTime(),Integer.valueOf(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.POWER_MINUTE).getCode())));
+                        visitPark.setParkHkId(parks.getHkId());
+                        visitPark.setObjType(Constants.ONE);
+
+                        ParkReservationAddRequest request = new ParkReservationAddRequest();
+                        request.setPlateNo(visitPark.getCarCode());
+                        request.setParkSyscode(visitPark.getParkHkId());
+                        request.setPhoneNo(platformJob.getDrivierPhone());
+                        request.setOwner(platformJob.getDriverName());
+                        request.setAllowTimes(Constants.ONE+"");
+                        request.setIsCharge(Constants.ONE+"");
+                        request.setStartTime(Objects.isNull(visitPark.getStartTime())?DateUtil.getISO8601Timestamp2(new Date()):DateUtil.getISO8601Timestamp2(visitPark.getStartTime()));
+                        request.setEndTime(Objects.isNull(visitPark.getEndTime())?"2999-12-31T00:00:00+08:00":DateUtil.getISO8601Timestamp2(visitPark.getEndTime()));
+                        BaseResponse response =  HKService.parkReservationAddition(request);
+
+                        visitPark.setHkDate(new Date());
+                        if(response!=null
+                                && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+                            ParkReservationAddResponse parkReservationAddResponse = (ParkReservationAddResponse) response.getData();
+                            visitPark.setHkId(parkReservationAddResponse.getReserveOrderNo());
+                            visitPark.setHkStatus(Constants.ONE);
+                            visitPark.setRemark("鍖呮湡鎴愬姛");
+                        }else{
+                            visitPark.setHkStatus(Constants.TWO);
+                            visitPark.setRemark("鍖呮湡澶辫触~");
+                            //涓嬪彂澶辫触  鏍囪涓讳笟鍔$姸鎬佷负涓嬪彂澶辫触
+                            sendStatus = false;
+                        }
+                        visitParkList.add(visitPark);
+
+                    }
+                    visitParkMapper.insert(visitParkList);
+                    platformJob.setInHkdate(new Date());
+                    if(sendStatus){
+                        platformJob.setInHkstatus(Constants.TWO);
+                    }else{
+                        platformJob.setInHkstatus(Constants.THREE);
+                    }
+                    platformJobMapper.updateById(platformJob);
+                }
+
+            }
+        }
+    }
+
+
+    @Override
+    public void cancelInPark(PlatformJob platformJob){
+        if(Constants.equalsInteger(platformJob.getType(),Constants.TWO)
+                || Constants.equalsInteger(platformJob.getType(),Constants.THREE)
+                || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
+
+            List<VisitPark> visitParkList = visitParkMapper.selectList(new QueryWrapper<VisitPark>().lambda()
+                    .eq(VisitPark::getVisitApplyId,platformJob.getId())
+                    .eq(VisitPark::getObjType,Constants.ONE)
+                    .eq(VisitPark::getHkStatus,Constants.ONE)
+                    .isNotNull(VisitPark::getHkId)
+                    .apply(" END_TIME > now() ")
+            );
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(visitParkList)){
+                for (VisitPark visitPark:visitParkList) {
+                    ParkReservationDelRequest param = new ParkReservationDelRequest();
+                    param.setReserveOrderNo(visitPark.getHkId());
+                    BaseResponse response =  HKService.parkReservationDeletion(param);
+                    if(response!=null
+                            && StringUtils.equals(response.getCode(), HKConstants.RESPONSE_SUCCEE)){
+                        visitPark.setHkStatus(Constants.THREE);
+                        visitPark.setIsdeleted(Constants.ONE);
+                        visitPark.setEditDate(new Date());
+                        visitParkMapper.updateById(visitPark);
+                    }
+                }
+            }
+        }
     }
 
     /**
@@ -785,7 +891,7 @@
      */
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public void platformCallNumber(JobOperateDTO jobOperateDTO){
+    public PlatformJob platformCallNumber(JobOperateDTO jobOperateDTO){
         if(Objects.isNull(jobOperateDTO)
                 || Objects.isNull(jobOperateDTO.getJobId())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -836,6 +942,7 @@
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.CALLED.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.CALLED.getInfo().replace("{data}",platform.getName()));
+        return platformJob;
     }
 
 
@@ -958,7 +1065,7 @@
      */
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public void beginWork(JobOperateDTO jobOperateDTO){
+    public PlatformJob beginWork(JobOperateDTO jobOperateDTO){
         if(Objects.isNull(jobOperateDTO)
                 || Objects.isNull(jobOperateDTO.getJobId())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -989,6 +1096,8 @@
         //瀛樺偍鎿嶄綔鏃ュ織
         savePlatformLog(Constants.PlatformJobLogType.WORKING.getKey(),oldPlatformJob,platformJob,
                 Constants.PlatformJobLogType.WORKING.getInfo().replace("{data}",platform.getName()));
+
+        return platformJob;
     }
 
 
@@ -997,7 +1106,7 @@
      */
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
-    public void finishWork(JobOperateDTO jobOperateDTO){
+    public PlatformJob finishWork(JobOperateDTO jobOperateDTO){
         if(Objects.isNull(jobOperateDTO)
                 || Objects.isNull(jobOperateDTO.getJobId())){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -1024,9 +1133,10 @@
             //TODO 澶栧崗杞﹁璐� 鏌ヨTMS 鐢靛瓙閿佹儏鍐�
 
         }else if(Constants.equalsInteger(platformJob.getType(),Constants.ONE) || Constants.equalsInteger(platformJob.getType(),Constants.FOUR)){
-            //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐佃繘琛屼笅鍙戠鍥潈闄�
+            //TODO 澶栧崗杞﹀嵏璐� 鎴栬�� 甯傚叕鍙歌溅鍗歌揣 鍒欐牴鎹换鍔℃儏鍐�
 
         }
+        return platformJob;
     }
 
 

--
Gitblit v1.9.3