whycxzp
2024-01-24 3dd49c19ec1221c03cbc903f9d68dd18cd2f10c1
src/main/java/com/whyc/service/Fbs9100StateService.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.whyc.constant.DeviceConstant;
@@ -369,4 +370,25 @@
        res.put("ld9state",ld9stateRes);
        return new Response().set(1, res);
    }
    public void addOrUpdate(List<Fbs9100State> deviceStateList) {
        List<Long> devIdList = deviceStateList.stream().map(Fbs9100State::getDevId).collect(Collectors.toList());
        QueryWrapper<Fbs9100State> query = Wrappers.query();
        query.in("dev_id",devIdList);
        List<Fbs9100State> fbs9100StateListInDB = mapper.selectList(query);
        List<Long> devIdListInDB = fbs9100StateListInDB.stream().map(Fbs9100State::getDevId).collect(Collectors.toList());
        for (Fbs9100State fbs9100State : deviceStateList) {
            if(devIdListInDB.contains(fbs9100State.getDevId())){ //更新
                UpdateWrapper<Fbs9100State> update = Wrappers.update();
                update.set("dev_workstate",fbs9100State.getDevWorkstate())
                        .set("dev_last_captest_stop_type",fbs9100State.getDevLastCaptestStopType())
                        .set("record_datetime",fbs9100State.getRecordDatetime())
                        .eq("dev_id",fbs9100State.getDevId());
            }else{ //新增
                mapper.insert(fbs9100State);
            }
        }
    }
}