Java Spring 批量修改,实体、接口、方法的定义

参数类型:

javascript 复制代码
{"ids":["2085247882935402496"],"VehicleType":"快递"}

Controller.java 接口层

java 复制代码
     @Resource
    private Tj0OutboundJobTaskService tj0OutboundJobTaskService;

/**
     * 批量更新车辆类型
     * Author:Bingo
     * Date:2023-08-10
     * @param reqParam
     * @return
     */
    @PostMapping({"/batchUpdateVehicleType"})
    public Result batchUpdateVehicleType(@RequestBody Map reqParam) {
        return tj0OutboundJobTaskService.batchUpdateVehicleType(reqParam);
    }

service 接口层

java 复制代码
    /**
     * 批量更新车辆类型
     * @param reqParam
     * @return
     */
    Result batchUpdateVehicleType(Map reqParam);

impl 实现层

OutBoundJobTaskExec.java

java 复制代码
/**
     * 批量更新车辆类型
     *
     * @param reqParam 请求参数,包含 ids(其他出库单ID列表)和 VehicleType(车辆类型)
     * @return 操作结果
     * @author Bingo
     * @date 2026-08-19
     */
    @Transactional(rollbackOn = Exception.class)
    public Result batchUpdateVehicleType(Map reqParam) {
        try {
            List<String> ids = (List<String>) reqParam.get("ids");
            String vehicleType = (String) reqParam.get("VehicleType");

            if (ids == null || ids.isEmpty()) {
                return Result.error("出库单ID列表不能为空");
            }
            if (StrUtil.isBlank(vehicleType)) {
                return Result.error("车辆类型不能为空");
            }

            List<Long> idList = ids.stream().map(Long::parseLong).collect(Collectors.toList());
            List<OtherOutboundOrder> orderList = otherOutboundOrderRepository.findByIds(OtherOutboundOrder.class, idList);

            if (CollectionUtil.isEmpty(orderList)) {
                return Result.error("未找到对应的出库单数据");
            }

            for (OtherOutboundOrder order : orderList) {
                order.setTj0VehicleType(vehicleType);
            }

            otherOutboundOrderRepository.updateBatch(orderList);

            return Result.success("更新成功,共更新" + orderList.size() + "条记录");
        } catch (Exception e) {
            logger.error("批量更新车辆类型失败", e);
            return Result.error("批量更新车辆类型失败:" + e.getMessage());
        }
    }

表实体定义

java 复制代码
package com.nancal.wms.entity;

import com.nancal.base.bean.entity.ManufacturingActivity;
import lombok.Data;
import javax.persistence.*;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@Entity
@Table(name = "whs_mat_recod")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class WhsMatRecod extends ManufacturingActivity {

    /**
     * 智库操作人
     */
    @Column(name = "tj0IwmsOperator")
    private String tj0IwmsOperator;
    private String storeName;
    /**
     * SAP过账结果
     */
    private String tj0SapMBLNR;
    @Column(name = "tj0storeType")
    private String tj0storeType;//库房类型
    @Column(name = "revision")
    private String revision; 
    @Column(name = "bussiness_type")
    private String bussinessType;
    @Transient
    private String displayIvtTrTyName;
    @Transient
    private String displayOperator;
    @Transient
    private String displayStore;
    @Transient
    private String displayUnitName;

    public WhsMatRecod() {
    }

    public String toString() {
        String var10000 = this.getRevision();
        return "WhsMatRecod(revision=" + var10000 + ", matEffectiveDate=" + this.getMatEffectiveDate() + ", materialTyId=" + this.getMaterialTyId() + ", agentSeqMgts=" + this.getAgentSeqMgts() + ", batchNumber=" + this.getBatchNumber() + ", cntnCode=" + this.getCntnCode() + ", externalBatchNumber=" + this.getExternalBatchNumber() + ", ivtTrTyId=" + this.getIvtTrTyId() + ", materialAgentId=" + this.getMaterialAgentId() + ", materialClassName=" + this.getMaterialClassName() + ", materialCode=" + this.getMaterialCode() + ", materialDepict=" + this.getMaterialDepict() + ", materialId=" + this.getMaterialId() + ", materialLedgerId=" + this.getMaterialLedgerId() + ", operateQuantity=" + this.getOperateQuantity() + ", operateTime=" + this.getOperateTime() + ", operateType=" + this.getOperateType() + ", operator=" + this.getOperator() + ", orderNumber=" + this.getOrderNumber() + ", productDraw=" + this.getProductDraw() + ", relatedOrderNumber=" + this.getRelatedOrderNumber() + ", specificationType=" + this.getSpecificationType() + ", storeId=" + this.getStoreId() + ", supplier=" + this.getSupplier() + ", supplierId=" + this.getSupplierId() + ", unit=" + this.getUnit() + ", displayIvtTrTyName=" + this.getDisplayIvtTrTyName() + ", displayOperator=" + this.getDisplayOperator() + ", displayStore=" + this.getDisplayStore() + ", displayUnitName=" + this.getDisplayUnitName() + ")";
    }
}
相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里3 天前
java中的继承和多态的区别
java
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕3 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码3 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖3 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时3 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang3 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi3 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号3 天前
java函数式编程--入门基础
java·编程·函数式编程