Selaa lähdekoodia

:ambulance: 优化处理顺序,增加注释

Twelve615 1 vuosi sitten
vanhempi
commit
177b28c483

+ 2 - 2
airport/jeecg-boot-module-system/src/main/java/org/jeecg/modules/admin_order/service/IAdminOrderService.java

@@ -41,8 +41,8 @@ public interface IAdminOrderService extends IService<AdminOrder> {
 	/**
 	 * 恢复订单
 	 *
-	 * @param adminOrder
-	 * @param name
+	 * @param adminOrder 要恢复的订单
+	 * @param name 当前用户名
 	 * @return
 	 */
     Result<Boolean> recoveryOrder(AdminOrder adminOrder, String name);

+ 18 - 16
airport/jeecg-boot-module-system/src/main/java/org/jeecg/modules/admin_order/service/impl/AdminOrderServiceImpl.java

@@ -94,7 +94,7 @@ public class AdminOrderServiceImpl extends ServiceImpl<AdminOrderMapper, AdminOr
     @Override
     @Transactional
     public synchronized Result<Boolean> recoveryOrder(AdminOrder adminOrder, String name) {
-        Result<Boolean> result = new Result<Boolean>();
+        Result<Boolean> result = Result.OK();
         // 在同步锁中再次确认订单存在,防止更改订单时飞机刚好起飞
         QueryWrapper<AdminAircraftPosition> adminAircaftQueryWarpper = new QueryWrapper<AdminAircraftPosition>();
         adminAircaftQueryWarpper.eq("aircraft_position_num", adminOrder.getAircraftPositionNum())
@@ -108,18 +108,6 @@ public class AdminOrderServiceImpl extends ServiceImpl<AdminOrderMapper, AdminOr
             return result;
         }
 
-        //添加安检
-        AdminSecurityCheck adminSecurityCheck = new AdminSecurityCheck();
-        adminSecurityCheck.setOrderNum(adminOrder.getOrderNum());
-        adminSecurityCheck.setAircraftNum(adminOrder.getAircraftNum());
-        adminSecurityCheck.setAircraftPositionNum(adminOrder.getAircraftPositionNum());
-        adminSecurityCheck.setDropTime(adminOrder.getDropTime());
-        adminSecurityCheck.setFlightNum(adminOrder.getFlightNum());
-        adminSecurityCheck.setFlightSole(adminOrder.getFlightSole());
-        adminSecurityCheck.setFlightAfid(adminOrder.getFlightAfid());
-        adminSecurityCheck.setCreateBy(name);
-        adminSecurityCheck.setUpdateTime(new Date());
-
         // 根据订单动态修改订单状态  根据订单子表中 jiaochu_or_jieshou时交出还是接收修改 交出 -> 待接收  接收-> 待交出
         // 查找最后一个订单动态
         QueryWrapper<AdminOrderExamine> adminOrderExamineQueryWapper = new QueryWrapper<>();
@@ -134,13 +122,27 @@ public class AdminOrderServiceImpl extends ServiceImpl<AdminOrderMapper, AdminOr
             result.setMessage("无法恢复订单,无订单校验记录");
             return result;
         }
-        int i = adminOrderMapper.updateById(adminOrder);
 
+        //安检
+        AdminSecurityCheck adminSecurityCheck = new AdminSecurityCheck();
+        adminSecurityCheck.setOrderNum(adminOrder.getOrderNum());
+        adminSecurityCheck.setAircraftNum(adminOrder.getAircraftNum());
+        adminSecurityCheck.setAircraftPositionNum(adminOrder.getAircraftPositionNum());
+        adminSecurityCheck.setDropTime(adminOrder.getDropTime());
+        adminSecurityCheck.setFlightNum(adminOrder.getFlightNum());
+        adminSecurityCheck.setFlightSole(adminOrder.getFlightSole());
+        adminSecurityCheck.setFlightAfid(adminOrder.getFlightAfid());
+        adminSecurityCheck.setCreateBy(name);
+        adminSecurityCheck.setUpdateTime(new Date());
         adminSecurityCheck.setType(adminOrder.getType());
+
+        int i = adminOrderMapper.updateById(adminOrder);
         boolean save = adminSecurityCheckService.save(adminSecurityCheck);
-        if (i < 0 || !save) {
+
+        if (i <= 0 || !save) {
+            // 订单或安检处理失败则回滚
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
-            result.setMessage("恢复失败");
+            result.setMessage("数据恢复失败");
             return result;
         }
         result.setMessage("恢复成功");