From 365b15fe786b174d623757884ab8bc491073924a Mon Sep 17 00:00:00 2001 From: wuwenxiong <646448316@qq.com> Date: Wed, 8 Sep 2021 14:54:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=A6=E8=BE=86=E5=9E=8B=E5=8F=B7=E9=99=90?= =?UTF-8?q?=E9=87=8D=E7=AE=A1=E7=90=86=E4=BF=AE=E6=94=B9=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A2=9E=E5=88=A0=E6=94=B9=E6=A0=87=E8=AF=86?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/BaseTruckWeightLimitModifyLog.java | 22 +++++++ .../TruckWeightLimitModifyLogService.java | 1 + .../TruckWeightLimitController.java | 4 +- .../TruckWeightLimitSyncService.java | 66 +++++++------------ 4 files changed, 47 insertions(+), 46 deletions(-) diff --git a/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BaseTruckWeightLimitModifyLog.java b/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BaseTruckWeightLimitModifyLog.java index aa12570..471a6d5 100644 --- a/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BaseTruckWeightLimitModifyLog.java +++ b/ssjygl-xsx-common/src/main/java/com/cowr/model/base/BaseTruckWeightLimitModifyLog.java @@ -108,6 +108,28 @@ public abstract class BaseTruckWeightLimitModifyLog 0) { - int j = 0; - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject obj = jsonArray.getJSONObject(i); - String ossKey = obj.getString("ossKey"); - if (!StrKit.isBlank(ossKey)) { - boolean flag = OSSKit.delObject(ossKey); - if (flag) j++; - } - } - if (j != jsonArray.size()) return false; - } - } synctask.addUpdateData(oldobj); // 有自增长主键的,在保存 model 后会自动填充主键的值,然后才能加到 synctask 里面 synctask.addSaveData(modifyLog); @@ -155,44 +137,40 @@ public class TruckWeightLimitSyncService extends BaseSyncService { return ret ? Result.object(oldobj) : Result.failed(false, "修改失败"); } - public Result delete(TruckWeightLimit model, Sysuser sysuser) { - if (!model.checkExistsByPk()) { + public Result delete(String truck_license, Sysuser sysuser) { + TruckWeightLimit model = TruckWeightLimit.dao.findById(truck_license); + if (model == null) { return Result.failed(false, "按主键未找到对应记录"); } - String truck_license = model.getTruckLicense(); - List modifyLogList = TruckWeightLimitModifyLog.dao.find("select * from truck_weight_limit_modify_log where truck_license = ?", truck_license); - SyncTask synctask = new SyncTask(); boolean ret = Db.tx(new IAtom() { @Override public boolean run() { try { + List modifyLogList = TruckWeightLimitModifyLog.dao.find("select * from truck_weight_limit_modify_log where truck_license = ?", truck_license); if (modifyLogList.size() > 0) { - int s = Db.delete("delete from truck_weight_limit_modify_log where truck_license = ?", truck_license); - if (s != modifyLogList.size()) return false; - } - // 删除附件 - String attachment = model.getAttachment(); - if (!StrKit.isBlank(attachment)) { - JSONArray jsonArray = JSONObject.parseArray(attachment); - if (jsonArray.size() > 0) { - int j = 0; - for (int i = 0; i < jsonArray.size(); i++) { - JSONObject obj = jsonArray.getJSONObject(i); - String ossKey = obj.getString("ossKey"); - if (!StrKit.isBlank(ossKey)) { - boolean flag = OSSKit.delObject(ossKey); - if (flag) j ++; - } - } - if (j != jsonArray.size()) return false; + modifyLogList.stream().forEach(s -> s.setState(3)); + int[] ret = Db.batchUpdate(modifyLogList, modifyLogList.size()); + + // 没有的记录更新影响的行数应该是 0 + if (ret.length != modifyLogList.size()) { + return false; } + + for (int i : ret) { + // 必须是每条 sql 修改一条记录 + if (i != 1) { + return false; + } + } + + modifyLogList.stream().forEach(s -> synctask.addUpdateData(s)); } + boolean ret = model.delete(); if (!ret) return false; - modifyLogList.stream().forEach(s -> synctask.addDeleteData(s)); synctask.addDeleteData(model); return SyncTaskService.me.save(synctask)