gpt4 book ai didi

java - 检查 android Realm 中的唯一值

转载 作者:行者123 更新时间:2023-12-02 03:16:23 25 4
gpt4 key购买 nike

我有一个Pedido模型,它有一个Itens的RealmList,并且Itens有一个produt_id,为了在Pedidos中添加Itens,我使用以下方法,但这样我可以在Pedidos中添加相同的项目,我找不到验证该项目是否已存在的方法。

Pedido 类:

public class Pedidos extends RealmObject implements Serializable {

@SerializedName("id")
String id;

@SerializedName("produtos")
RealmList<Itens> itens;



public Pedidos() {
}


public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}


public RealmList<Itens> getItens() {
return itens;
}

public void setItens(RealmList<Itens> itens) {
this.itens = itens;
}


}

Itens 类:

public class Itens extends RealmObject implements Serializable {

String id_local;
String id_pedido_local;
@SerializedName("id")
String id;
@SerializedName("pedido_id")
String id_pedido;
@SerializedName("produto_id")
String produto_id;
@SerializedName("operacao_id")
String operacao_id;
@SerializedName("quantidade_pedida")
String quantidade;
@SerializedName("valor_unitario")
String valor_unitario;
@SerializedName("cfop")
String cfop;
@SerializedName("valor_total")
String valor_total;
@SerializedName("valor_tributo_st")
String valor_tributo_st;
@SerializedName("valor_tributo_icms_exibir")
String valor_tributo_icms_exibir;
@SerializedName("valor_tributo_cofins_exibir")
String valor_tributo_cofins_exibir;
@SerializedName("ncm")
String ncm;
Float valorTotal;

public Itens() {
}


public String getId_pedido_local() {
return id_pedido_local;
}

public void setId_pedido_local(String id_pedido_local) {
this.id_pedido_local = id_pedido_local;
}

public String getId_local() {
return id_local;
}

public void setId_local(String id_local) {
this.id_local = id_local;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getId_pedido() {
return id_pedido;
}

public void setId_pedido(String id_pedido) {
this.id_pedido = id_pedido;
}

public String getProduto_id() {
return produto_id;
}

public void setProduto_id(String produto_id) {
this.produto_id = produto_id;
}

public String getOperacao_id() {
return operacao_id;
}

public void setOperacao_id(String operacao_id) {
this.operacao_id = operacao_id;
}

public String getQuantidade() {
return quantidade;
}

public void setQuantidade(String quantidade) {
this.quantidade = quantidade;
}

public String getValor_unitario() {
return valor_unitario;
}

public void setValor_unitario(String valor_unitario) {
this.valor_unitario = valor_unitario;
}

public String getCfop() {
return cfop;
}

public void setCfop(String cfop) {
this.cfop = cfop;
}

public String getValor_total() {
return valor_total;
}

public void setValor_total(String valor_total) {
this.valor_total = valor_total;
}

public String getValor_tributo_st() {
return valor_tributo_st;
}

public void setValor_tributo_st(String valor_tributo_st) {
this.valor_tributo_st = valor_tributo_st;
}

public String getValor_tributo_icms_exibir() {
return valor_tributo_icms_exibir;
}

public void setValor_tributo_icms_exibir(String valor_tributo_icms_exibir) {
this.valor_tributo_icms_exibir = valor_tributo_icms_exibir;
}

public String getValor_tributo_cofins_exibir() {
return valor_tributo_cofins_exibir;
}

public void setValor_tributo_cofins_exibir(String valor_tributo_cofins_exibir) {
this.valor_tributo_cofins_exibir = valor_tributo_cofins_exibir;
}

public Float getValorTotal() {
return valorTotal;
}

public void setValorTotal(Float valorTotal) {
this.valorTotal = valorTotal;
}

public String getNcm() {
return ncm;
}

public void setNcm(String ncm) {
this.ncm = ncm;
}
}

方法:

  public void updatePedidoItem(String id, String empresa_id, RealmList<Produtos> produtos) {

realm.beginTransaction();

Pedidos pedido = realm.where(Pedidos.class).equalTo("id_pedido_local", id).equalTo("empresa_id", empresa_id).findFirst();

for (int j = 0; j < produtos.size(); j++) {

Itens mItens = realm.createObject(Itens.class);
mItens.setId_local(UUID.randomUUID().toString());
mItens.setId_pedido_local(id);
mItens.setProduto_id(produtos.get(j).getProduto_id());
mItens.setQuantidade(produtos.get(j).getQuantidade());
mItens.setValor_unitario(produtos.get(j).getValor());
mItens.setOperacao_id(produtos.get(j).getOperacao_id());

if (pedido.getItens().size() == 0) {
pedido.getItens().add(mItens);
} else {

for (int i = 0; i < pedido.getItens().size(); i++) {

if (!pedido.getItens().contains(mItens)) {

pedido.getItens().add(mItens);
}
}
}

}
realm.commitTransaction();

}

最佳答案

将您的 ID 标记为 Realm 中的主键

@SerializedName("id")
@PrimaryKey
String id;

关于java - 检查 android Realm 中的唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40224220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com