实现保存的相关逻辑

一、直接对单个对象的保存

     1.判断要保存的对象是否为空,为空提示参数错误

     2.将保存的字段set 或put到数据表中 

     3.判断是否保存成功->提示相应信息

/**
 * 添加种植信息
 *
 * @param plant 种植信息实体
 * @return
 */
@POST
public HashMap addField(Plant plant) {
    if (plant == null) {//如果种植信息实体为空 返回参数错误
        return CommonUtils.getCodeMessage(false, "参数错误");
    }
    plant.put("shop_id", SessionUtil.getShopId());//将店铺id put到种植信息中
    boolean flag = plant.save();//保存种植信息
    if (flag) {//如果成功 返回提示信息
        return CommonUtils.getCodeMessage(true, "添加种植信息成功");
    } else {
        return CommonUtils.getCodeMessage(false, "添加种植失败");
    }
}

二、批量保存

    1.首先对于批量保存,判断集合List<X> X ,判断是否为空 或对应数据表中id等是否为空

    2.既然是批量保存使用循环

        2.1可以直接使用循环 ->为空 保存  ->不为空之心更新update 操作

        2.2批量保存,可以在for循环,使用集合,把每次循环添加的add到定义的List集合中,最后判断是否成功。

    3.最后返回提示信息

        3.1如果返回的信息较明细,需要判断。返回类似于:部分保存成功、部分更新成功、全部保存成功、保存失败等。

/**
 * 保存种植信息
 *
 * @param plantList 种植信息
 * @return
 */
@PUT
@Transaction
public HashMap saveField(List<Plant> plantList) {
    if (plantList == null) {//如果种植信息集合为空 返回参数错误
        return CommonUtils.getCodeMessage(false, "参数错误");
    }
    boolean flag = true;
    for (Plant plant : plantList) {//循环
        Object fieldId = plant.get("field_id");//获取田块id
        plant.set("shop_id", SessionUtil.getShopId());//set赋值
        if (fieldId == null || (Integer)fieldId <=0) {
            flag = plant.save();//保存
        } else {
            flag = plant.update();//更新
        }
        if (!flag) {//失败跳出循环
            break;
        }
    }
    if (flag) {//如果成功 返回提示信息
        return CommonUtils.getCodeMessage(true, "保存成功");
    } else {
        return CommonUtils.getCodeMessage(false, "保存失败");
    }
}

转载于:https://my.oschina.net/inchlifc/blog/843372

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值