rk
昨天 4ee00850f197d769481f73acb8ed79ab1c75b84d
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;
/**
 * 车辆信息表Service实现
@@ -108,9 +113,9 @@
        model.setCreateDate(new Date());
        model.setCreator(loginUserInfo.getId());
        model.setEditDate(new Date());
        model.setIsdeleted(Constants.ZERO);
        model.setEdirot(loginUserInfo.getId());
        model.setStatus(Constants.ZERO);
        model.setIsdeleted(Constants.ZERO);
        model.setHkStatus(Constants.ZERO);
        model.setAuthStatus(Constants.ZERO);
        model.setRemark("");
@@ -355,10 +360,26 @@
    @Override
    public List<Cars> findList(Cars cars) {
        if(Objects.nonNull(cars) && Objects.nonNull(cars.getType())
        && Constants.equalsInteger(Constants.ZERO,cars.getType())){
            return this.getGwCar();
        }
        cars.setType(null);
        QueryWrapper<Cars> wrapper = new QueryWrapper<>(cars);
        wrapper.lambda().eq(Cars::getIsdeleted,Constants.ZERO);
        return carsMapper.selectList(wrapper);
    }
    public List<Cars> getGwCar(){
        List<Cars> list  = carsMapper.selectJoinList(Cars.class,
                new MPJLambdaWrapper<Cars>().selectAll(Cars.class)
                        .leftJoin(Category.class,Category::getId,Cars::getCateId)
                        .eq(Category::getBizType,Constants.FOUR)
                        .eq(Cars::getIsdeleted,Constants.ZERO)
        );
        return list;
    }
    @Override
    public PageData<Cars> findPage(PageWrap<Cars> pageWrap) {
@@ -494,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;
@@ -694,4 +715,71 @@
    }
    @Override
    public void jdyPushCarInfo(String dataInfo){
        JSONObject dataInfoJSON = JSONObject.parseObject(dataInfo);
        if(dataInfoJSON.isEmpty()){
            return;
        }
        String op = dataInfoJSON.getString("op");
        //删除:data_remove 新增:data_add 修改:data_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);
    }
}