有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java检查安卓领域中的唯一值

我有一个Pedido模型,它有一个ITEN的RealmList,ITEN有一个produt_id,为了在Pedidos中添加ITEN,我使用以下方法,但这样我可以在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();

    }

共 (1) 个答案

  1. # 1 楼答案

    将您的id标记为域中的主键

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