diff --git a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java index 0c36f12d2..dcac4c345 100644 --- a/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java +++ b/pjcloud-integrated/pjcloud-integrated-biz/src/main/java/com/bsd/pjcloud/integrated/service/impl/VisitorsServiceImpl.java @@ -318,6 +318,7 @@ public class VisitorsServiceImpl extends ServiceImpl records = pageData.getRecords(); @@ -329,11 +330,28 @@ public class VisitorsServiceImpl extends ServiceImpl list = Arrays.asList(appointRecordId); + remoterVisitorService.cancelAppointments(list); + return baseMapper.updateById(visitors); } diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/api/feign/RemoterVisitorService.java b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/api/feign/RemoterVisitorService.java index 4860cbaa2..2ad10b791 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/api/feign/RemoterVisitorService.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-api/src/main/java/com/bsd/pjcloud/thirdparty/api/feign/RemoterVisitorService.java @@ -55,15 +55,15 @@ public interface RemoterVisitorService { * @param recordIds * @return */ - @PostMapping("/cancel") - public R cancelAppointments(@RequestBody List recordIds); + @PostMapping("/visitors/cancel") + public void cancelAppointments(@RequestBody List recordIds); /** * 预约登记 * @param request * @return */ - @PostMapping("/register") + @PostMapping("/visitors/register") public R registerAppointment(@Valid @RequestBody RegisterAppointmentRequest request); /** @@ -71,6 +71,6 @@ public interface RemoterVisitorService { * @param request * @return */ - @PostMapping("/checkout") + @PostMapping("/visitors/checkout") public R checkOut(@Valid @RequestBody CheckOutRequest request); } diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/VisitorController.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/VisitorController.java index f9e88ddd7..f2a6ffc76 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/VisitorController.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/VisitorController.java @@ -68,9 +68,9 @@ public class VisitorController { * @return */ @PostMapping("/cancel") - public R cancelAppointments(@RequestBody List recordIds) { + public void cancelAppointments(@RequestBody List recordIds) { visitorService.cancelAppointments(recordIds); - return R.ok(); + } /** diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/VisitorService.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/VisitorService.java index b191e29fd..ce8363aa8 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/VisitorService.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/service/VisitorService.java @@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional; import java.time.format.DateTimeFormatter; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -57,9 +58,7 @@ public class VisitorService extends BaseHikvisionService { String code = visitorObjectResponse.getCode(); if (code.equals("0")) { // 成功情况 - log.info("海康预约成功,预约记录ID: {}", - visitorObjectResponse.getData() != null ? - visitorObjectResponse.getData().getAppointRecordId() : "null"); + log.info("海康预约成功"); } else if (code.equals("0x0531f002")) { throw new ServiceException("预约时间不能小于当前日期"); } else if (code.equals("0x0531401d")) { @@ -225,9 +224,12 @@ public class VisitorService extends BaseHikvisionService { String apiPath = properties.getArtemisPath() + properties.getApis().get("cancel-appointment"); - // 3. 构建请求体 - JSONObject requestBody = new JSONObject(); - requestBody.put("appointRecordIds", recordIds); + // 3. 构建请求体 - 直接传递字符串数组,格式如: ["321654987"] + JSONArray requestBody = new JSONArray(); + requestBody.addAll(recordIds); + + // 添加日志便于调试 + log.info("取消预约请求体: {}", requestBody.toJSONString()); // 4. 发送请求 String response = ArtemisHttpUtil.doPostStringArtemis( @@ -235,6 +237,9 @@ public class VisitorService extends BaseHikvisionService { requestBody.toJSONString(), null, null, "application/json", null ); + + // 添加日志便于调试 + log.info("取消预约响应: {}", response); // 5. 处理响应 CancelAppointmentResponse res = parseResponse(response);