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)