瀏覽代碼

设备激活

李进 2 年之前
父節點
當前提交
a06391491a

+ 7 - 1
device-api-service-merc-mini/pom.xml

@@ -19,10 +19,16 @@
     <dependencies>
         <dependency>
             <groupId>com.xy</groupId>
-            <artifactId>device-api</artifactId>
+            <artifactId>device-api-service</artifactId>
             <version>1.0</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.xy</groupId>
+            <artifactId>merc-api</artifactId>
+            <version>1.0</version>
+        </dependency>
+
         <dependency>
             <groupId>com.xy</groupId>
             <artifactId>merc-sdk</artifactId>

+ 42 - 1
device-api-service-merc-mini/src/main/java/com/xy/controller/MercMiniDeviceController.java

@@ -2,10 +2,17 @@ package com.xy.controller;
 
 import com.xy.annotate.RestMappingController;
 import com.xy.dto.DeviceInfoDto;
+import com.xy.dto.MercMiniDeviceDto;
+import com.xy.dto.be.MercDto;
+import com.xy.entity.DeviceInfo;
+import com.xy.enums.MercStatus;
 import com.xy.service.DeviceInfoService;
+import com.xy.service.DeviceInfoServiceImpl;
+import com.xy.service.be.MercFeignService;
 import com.xy.utils.MercAuthUtils;
 import com.xy.utils.PageBean;
 import com.xy.utils.R;
+import com.xy.utils.enums.DictSonEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -13,10 +20,11 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.validation.Valid;
+import java.time.LocalDateTime;
 
 /**
  * <p>
- *小程序-设备
+ * 小程序-设备
  * </p>
  *
  * @author hechunping
@@ -29,6 +37,10 @@ public class MercMiniDeviceController {
 
     private final DeviceInfoService deviceInfoService;
 
+    private final MercFeignService mercFeignService;
+
+    private final DeviceInfoServiceImpl deviceInfoServiceImpl;
+
     @ApiOperation("商户设备首页统计")
     @PostMapping("mercHomeStatistical")
     public R<DeviceInfoDto.MercHomeStatisticalVO> mercHomeStatistical(@RequestBody @Valid DeviceInfoDto.MercHomeQueryDTO dto) {
@@ -56,4 +68,33 @@ public class MercMiniDeviceController {
         dto.setMercId(MercAuthUtils.getMercId());
         return deviceInfoService.dataCount(dto);
     }
+
+    @PostMapping("active")
+    @ApiOperation("激活设备")
+    public R active(@RequestBody MercMiniDeviceDto.Active active) {
+        Long mercId = MercAuthUtils.getMercId();
+        //商户是否已通过审核
+        MercDto.Vo mercInfo = mercFeignService.obj(new MercDto.ListDTO().setId(mercId)).getData();
+        if (!mercInfo.getStatus().equals(MercStatus.APPROVED)) {
+            return R.fail("商户未通过审核");
+        }
+        //机器是否已授权给该商户
+        DeviceInfoDto.Vo deviceInfo = deviceInfoService.obj(new DeviceInfoDto.Obj().setDeviceId(active.getDeviceId())).getData();
+        if (!deviceInfo.getMercId().equals(mercId)) {
+            return R.fail("机器未授权给商户");
+        }
+        //机器是否冻结
+        if (deviceInfo.getFreezeStatus().equals(Integer.valueOf(DictSonEnum.DEVICE_FREEZE_STATUS_2.getKey()))) {
+            return R.fail("机器已冻结");
+        }
+        //激活设备
+        DeviceInfo updateDeviceInfo = new DeviceInfo()
+                .setDeviceId(active.getDeviceId())
+                .setActiveState(Integer.valueOf(DictSonEnum.DEVICE_ACTIVE_STATUS_1.getKey()))
+                .setBusyState(Integer.valueOf(DictSonEnum.DEVICE_BUSY_STATUS_1.getKey()))
+                .setActiveTime(LocalDateTime.now())
+                .setShowStatus(true);
+        deviceInfoServiceImpl.updateById(updateDeviceInfo);
+        return R.ok();
+    }
 }

+ 20 - 0
device-api-service-merc-mini/src/main/java/com/xy/dto/MercMiniDeviceDto.java

@@ -0,0 +1,20 @@
+package com.xy.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotNull;
+
+public class MercMiniDeviceDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class Active {
+
+        @NotNull(message = "deviceId不能为空")
+        @ApiModelProperty("设备id")
+        private Long deviceId;
+    }
+
+}

+ 0 - 1
device-api-service/pom.xml

@@ -34,7 +34,6 @@
             <artifactId>order-api</artifactId>
             <version>1.0</version>
         </dependency>
-
         <dependency>
             <groupId>com.xy</groupId>
             <artifactId>goods-api</artifactId>

+ 12 - 0
device-api-service/src/main/java/com/xy/utils/enums/DictSonEnum.java

@@ -32,6 +32,18 @@ public enum DictSonEnum {
     DEVICE_DATA_TYPE_MONTH("month", "设备统计数据-按月统计"),
     DEVICE_DATA_TYPE_DAY("day", "设备统计数据-按日统计"),
 
+    DEVICE_FREEZE_STATUS_1("1", "设备-冻结状态-正常"),
+
+    DEVICE_FREEZE_STATUS_2("2", "设备-冻结状态-冻结"),
+
+    DEVICE_ACTIVE_STATUS_1("1", "设备-激活状态-已激活"),
+
+    DEVICE_ACTIVE_STATUS_2("2", "设备-激活状态-未激活"),
+
+    DEVICE_BUSY_STATUS_1("1", "设备-运营状态-运营中"),
+
+    DEVICE_BUSY_STATUS_2("2", "设备-运营状态-已停运"),
+
     ;
 
     private String key;

+ 5 - 0
device-start/pom.xml

@@ -44,6 +44,11 @@
             <artifactId>goods-api-cloud</artifactId>
             <version>1.0</version>
         </dependency>
+        <dependency>
+            <groupId>com.xy</groupId>
+            <artifactId>merc-api-cloud</artifactId>
+            <version>1.0</version>
+        </dependency>
 
         <dependency>
             <groupId>com.xy</groupId>