jiangping
2024-02-28 ad6dfb8323ab40ca8fe4fed94722c755d89c3203
server/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncParkServiceImpl.java
@@ -1,31 +1,23 @@
package com.doumee.service.business.impl.hksync;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.AcsDeviceListRequest;
import com.doumee.core.haikang.model.param.request.CarChargeAddRequest;
import com.doumee.core.haikang.model.param.request.CarChargeDelRequest;
import com.doumee.core.haikang.model.param.request.ParkListRequest;
import com.doumee.core.haikang.model.param.respose.AcsDeviceInfoResponse;
import com.doumee.core.haikang.model.param.respose.AcsDeviceListResponse;
import com.doumee.core.haikang.model.param.respose.ParkListResponse;
import com.doumee.core.haikang.service.HKService;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.business.DeviceMapper;
import com.doumee.dao.business.ParkBookMapper;
import com.doumee.dao.business.ParksMapper;
import com.doumee.dao.business.join.ParkBookJoinMapper;
import com.doumee.dao.business.join.ParksJoinMapper;
import com.doumee.dao.business.model.*;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -63,8 +55,10 @@
                            && 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);
@@ -81,8 +75,10 @@
                        && StringUtils.isNotBlank(c.getCarCode())){
                    boolean result =  addParkBookHk(c);
                    c.setHkStatus(result?Constants.ONE:Constants.TWO);
                    c.setRemark(result?"包期成功":"包期失败");
                }else{
                    c.setHkStatus(Constants.TWO);
                    c.setRemark("包期失败~");
                }
                c.setHkDate(date);
                parkBookMapper.updateById(c);
@@ -94,13 +90,43 @@
        }
    }
    @Override
    public  void syncParkBookBySingleModel(ParkBook c) {
                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(new Date());
                    parkBookMapper.updateById(c);
                }else {
                    //处理所有需要包期的车辆数据记录
                    //数据不合法,直接提示下发失败
                    if (StringUtils.isNotBlank(c.getParkHkId())
                            && StringUtils.isNotBlank(c.getCarCode())) {
                        boolean result = addParkBookHk(c);
                        c.setHkStatus(result ? Constants.ONE : Constants.TWO);
                        c.setRemark(result ? "包期成功" : "包期失败");
                    } else {
                        c.setHkStatus(Constants.TWO);
                        c.setRemark("包期失败~");
                    }
                    c.setHkDate(new Date());
                    parkBookMapper.updateById(c);
                }
    }
    private boolean addParkBookHk(ParkBook c) {
        CarChargeAddRequest param = new CarChargeAddRequest();
        param.setPlateNo(c.getCarCode());
        param.setParkSyscode(c.getParkHkId());
        param.setStartTime(DateUtil.getISO8601Timestamp(c.getStartTime()));
        param.setEndTime(DateUtil.getISO8601Timestamp(c.getEndTime()));
        param.setStartTime(DateUtil.getShortTime(c.getStartTime()));
        param.setEndTime(DateUtil.getShortTime(c.getEndTime()));
        BaseResponse response = HKService.carChargeAddtion(param);
        if(response!=null
                && StringUtils.equals(response.getCode(),HKConstants.RESPONSE_SUCCEE)){
@@ -128,7 +154,7 @@
        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);
        List<ParkBook> list = parkBookMapper.selectJoinList(ParkBook.class,queryWrapper.eq(ParkBook::getHkStatus,Constants.ZERO));
        return list;
    }
    /**
@@ -216,6 +242,7 @@
        model.setEditDate(DateUtil.getISO8601DateByStr(device.getUpdateTime()));
        model.setHkId(device.getParkIndexCode());
        model.setHkStatus(Constants.ONE);
        model.setStatus(Constants.ONE);
        return  model;
    }