|
|
@@ -68,18 +68,23 @@ class SowHandler extends BaseHandler
|
|
|
// 开启数据库事务
|
|
|
DB::beginTransaction();
|
|
|
|
|
|
- // 消耗种子物品
|
|
|
- ItemService::consumeItem($userId, $itemId, $itemInstanceId, 1, [
|
|
|
- 'source_type' => 'land_sow',
|
|
|
- 'source_id' => $landId,
|
|
|
- 'details' => ['land_id' => $landId]
|
|
|
- ]);
|
|
|
+
|
|
|
|
|
|
// 调用Farm模块的CropService种植作物
|
|
|
$plantResult = CropService::plantCrop($userId, $landId, $itemId);
|
|
|
if (!$plantResult) {
|
|
|
throw new LogicException("种植失败,请检查土地状态");
|
|
|
}
|
|
|
+
|
|
|
+ // 消耗种子物品
|
|
|
+ ItemService::consumeItem($userId, $itemId, $itemInstanceId, 1, [
|
|
|
+ 'source_type' => 'land_sow',
|
|
|
+ 'source_id' => $landId,
|
|
|
+ 'details' => [
|
|
|
+ 'land_id' => $landId,
|
|
|
+ 'sow_id'=>$sow_log_id
|
|
|
+ ]
|
|
|
+ ]);
|
|
|
|
|
|
// 设置响应状态
|
|
|
$this->response->setCode(0);
|
|
|
@@ -98,9 +103,9 @@ class SowHandler extends BaseHandler
|
|
|
|
|
|
} catch (LogicException $e) {
|
|
|
// 回滚事务
|
|
|
- if (DB::transactionLevel() > 0) {
|
|
|
- DB::rollBack();
|
|
|
- }
|
|
|
+
|
|
|
+ DB::rollBack();
|
|
|
+
|
|
|
|
|
|
// 设置错误响应
|
|
|
$this->response->setCode(400);
|
|
|
@@ -111,21 +116,7 @@ class SowHandler extends BaseHandler
|
|
|
'error' => $e->getMessage(),
|
|
|
'trace' => $e->getTraceAsString()
|
|
|
]);
|
|
|
- } catch (\Exception $e) {
|
|
|
- // 回滚事务
|
|
|
- if (DB::transactionLevel() > 0) {
|
|
|
- DB::rollBack();
|
|
|
- }
|
|
|
-
|
|
|
- // 设置错误响应
|
|
|
- $this->response->setCode(500);
|
|
|
- $this->response->setMsg('系统错误,请稍后再试');
|
|
|
-
|
|
|
- Log::error('种植操作异常', [
|
|
|
- 'user_id' => $this->user_id,
|
|
|
- 'error' => $e->getMessage(),
|
|
|
- 'trace' => $e->getTraceAsString()
|
|
|
- ]);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
return $response;
|