Bladeren bron

背部产品穴位接口、用户设备列表接口、用户添加设备接口(补充代码)

jiapu 3 maanden geleden
bovenliggende
commit
2323740476

+ 37 - 0
code/backend/src/main/java/com/aijiuyi/admin/controller/AppUserDeviceController.java

@@ -0,0 +1,37 @@
+package com.aijiuyi.admin.controller;
+
+import com.aijiuyi.admin.common.annotation.Log;
+import com.aijiuyi.admin.common.context.RequestContext;
+import com.aijiuyi.admin.common.entity.Result;
+import com.aijiuyi.admin.common.enums.OperationType;
+import com.aijiuyi.admin.controller.dto.AppUserDeviceBindDTO;
+import com.aijiuyi.admin.entity.UserDevice;
+import com.aijiuyi.admin.service.UserDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+/**
+ * App 端用户设备 Controller
+ */
+@RestController
+@RequestMapping("/app/user/device")
+public class AppUserDeviceController {
+
+    @Autowired
+    private UserDeviceService userDeviceService;
+
+    /**
+     * 按设备编号绑定设备。
+     *
+     * @param dto 绑定请求,userId 为用户档案 ID,deviceCode 为设备编号
+     * @return 新增的绑定记录
+     */
+    @PostMapping("/bind-by-code")
+    @Log(value = "App按设备编号绑定设备", module = "App设备", operationType = OperationType.INSERT)
+    public Result<UserDevice> bindByCode(@RequestBody @Valid AppUserDeviceBindDTO dto) {
+        Long appUserId = RequestContext.getUserId();
+        return Result.success(userDeviceService.bindAppDeviceByCode(dto.getUserId(), dto.getDeviceCode(), appUserId));
+    }
+}

+ 23 - 0
code/backend/src/main/java/com/aijiuyi/admin/controller/dto/AppUserDeviceBindDTO.java

@@ -0,0 +1,23 @@
+package com.aijiuyi.admin.controller.dto;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import javax.validation.constraints.Size;
+
+/**
+ * App 端按设备编号绑定用户设备请求 DTO
+ */
+@Data
+public class AppUserDeviceBindDTO {
+
+    /** 用户档案 ID,对应 user_profile.id */
+    @NotNull(message = "用户ID不能为空")
+    private Long userId;
+
+    /** 设备编号,对应 device.device_code */
+    @NotBlank(message = "设备编号不能为空")
+    @Size(max = 100, message = "设备编号不能超过100个字符")
+    private String deviceCode;
+}

+ 48 - 0
code/backend/src/main/java/com/aijiuyi/admin/controller/dto/UserAcupointCoordinateDTO.java

@@ -0,0 +1,48 @@
+package com.aijiuyi.admin.controller.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 用户穴位坐标查询返回 DTO
+ */
+@Data
+public class UserAcupointCoordinateDTO {
+
+    /** 用户穴位坐标记录ID */
+    private Long id;
+
+    /** 子用户ID,对应 user_profile.id */
+    private Long userId;
+
+    /** 穴位ID */
+    private Long acupointId;
+
+    /** 穴位编码 */
+    private String acupointCode;
+
+    /** 穴位名称 */
+    private String acupointName;
+
+    /** 侧别:center=中心,left=左侧,right=右侧 */
+    private String acupointSide;
+
+    /** 身体部位 */
+    private String bodyPart;
+
+    /** 是否产品穴位:1=是,0=否 */
+    private Integer productAcupoint;
+
+    /** X坐标,单位 mm */
+    private BigDecimal coordinateX;
+
+    /** Y坐标,单位 mm */
+    private BigDecimal coordinateY;
+
+    /** Z坐标,单位 mm */
+    private BigDecimal coordinateZ;
+
+    /** 坐标置信度 */
+    private String confidence;
+}