فهرست منبع

开放API - 获取商户设备列表

tanbin 11 ماه پیش
والد
کامیت
1832a27cd5

+ 50 - 0
device-api-service/src/main/java/com/xy/open/DeviceOpenApiService.java

@@ -0,0 +1,50 @@
+package com.xy.open;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.xy.annotate.RestMappingController;
+import com.xy.annotation.Open;
+import com.xy.entity.DeviceInfo;
+import com.xy.open.dto.DeviceOpenApiDTO;
+import com.xy.open.vo.DeviceOpenApiVO;
+import com.xy.service.DeviceInfoServiceImpl;
+import com.xy.utils.PageBean;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.servlet.http.HttpServletRequest;
+
+import static com.xy.utils.PlusBeans.toIPage;
+import static com.xy.utils.PlusBeans.toPageBean;
+
+/**
+ * 开放api
+ */
+
+@Slf4j
+@Service
+@Api(tags = "设备API")
+@RequiredArgsConstructor
+@RestMappingController("/openApi")
+public class DeviceOpenApiService {
+
+    private final DeviceInfoServiceImpl deviceInfoService;
+
+    @ApiOperation(value = "获取商户设备列表", notes = "获取商户设备列表")
+    @Open(value = "device.page.get", version = "1.0", permission = true)
+    @RequestMapping("/device/page/get")
+    public PageBean<DeviceOpenApiVO.DeviceList> devicePageGet(DeviceOpenApiDTO.DeviceListGet dto, HttpServletRequest request) {
+        PageBean pageBean = dto.getPage();
+        LambdaQueryWrapper<DeviceInfo> lqw = Wrappers.<DeviceInfo>lambdaQuery()
+                .in(DeviceInfo::getMercCode, dto.getMercCodes()
+                );
+        IPage<DeviceInfo> iPage = deviceInfoService.page(toIPage(pageBean), lqw);
+        return toPageBean(DeviceOpenApiVO.DeviceList.class, iPage);
+    }
+
+}

+ 30 - 0
device-api-service/src/main/java/com/xy/open/dto/DeviceOpenApiDTO.java

@@ -0,0 +1,30 @@
+package com.xy.open.dto;
+
+import com.xy.utils.PageBean;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * 设备DTO
+ */
+public class DeviceOpenApiDTO {
+
+    @Data
+    @Accessors(chain = true)
+    public static class DeviceListGet {
+
+        @ApiModelProperty(value = "分页对象", required = true)
+        private PageBean page;
+
+        @NotEmpty(message = "deviceId不能为空")
+        @ApiModelProperty(value = "商户编码不可为空", required = true)
+        private List<String> mercCodes;
+ 
+    }
+
+
+}

+ 50 - 0
device-api-service/src/main/java/com/xy/open/vo/DeviceOpenApiVO.java

@@ -0,0 +1,50 @@
+package com.xy.open.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+/**
+ * 设备VO
+ */
+public class DeviceOpenApiVO {
+
+    @Data
+    @Accessors(chain = true)
+    public static class DeviceList {
+
+        @ApiModelProperty(value = "商户编码")
+        private Long mercCode;
+
+        @ApiModelProperty(value = "设备编号")
+        private Long deviceId;
+
+        @ApiModelProperty(value = "设备名称")
+        private Long deviceName;
+
+
+        @ApiModelProperty(value = "设备类型", notes = "1: 动态视觉柜(单门) 2: 动态视觉柜(双门) 3: 重力柜(单门) 4:重力柜(双门) 5:支付宝视动态觉柜")
+        private Integer deviceType;
+
+
+        @ApiModelProperty(value = "经度")
+        private String lon;
+
+        @ApiModelProperty(value = "纬度")
+        private String lat;
+
+        @ApiModelProperty(value = "激活状态", notes = "1: 已激活 2: 未激活")
+        private Integer activeState;
+
+        @ApiModelProperty("激活时间")
+        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+        private LocalDateTime activeTime;
+
+
+    }
+
+
+}