Procházet zdrojové kódy

增加sim卡工厂服务

hechunping před 9 měsíci
rodič
revize
c1f1c048bf

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

@@ -132,6 +132,12 @@
             <version>1.0</version>
             <scope>compile</scope>
         </dependency>
+        <dependency>
+            <groupId>com.xy</groupId>
+            <artifactId>xy-sim</artifactId>
+            <version>1.0</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>

+ 32 - 0
device-api-service/src/main/java/com/xy/service/SimInfoServiceImpl.java

@@ -0,0 +1,32 @@
+package com.xy.service;
+
+import com.xy.dto.SimInfoDto;
+import com.xy.service.factory.sim.SimInfoFactory;
+import com.xy.utils.FactoryUtils;
+import com.xy.utils.R;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ * 物联网卡服务
+ * </p>
+ *
+ * @author hechunping
+ * @since 2024/8/20
+ */
+@Service
+@AllArgsConstructor
+@Api(tags = "物联网卡服务")
+public class SimInfoServiceImpl implements SimInfoService {
+
+    @Override
+    @ApiOperation("物联网卡信息")
+    public R<SimInfoDto.InfoVo> info(@RequestBody @Validated SimInfoDto.InfoDto dto) {
+        return FactoryUtils.getServiceRoute(SimInfoFactory.class, "111").info(dto);
+    }
+}

+ 16 - 0
device-api-service/src/main/java/com/xy/service/factory/sim/SimInfoFactory.java

@@ -0,0 +1,16 @@
+package com.xy.service.factory.sim;
+
+import com.xy.dto.SimInfoDto;
+import com.xy.utils.R;
+
+/**
+ * <p>
+ * Sim物联网卡接口
+ * </p>
+ *
+ * @author hechunping
+ * @since 2024/8/20
+ */
+public interface SimInfoFactory {
+    R<SimInfoDto.InfoVo> info(SimInfoDto.InfoDto dto);
+}

+ 64 - 0
device-api-service/src/main/java/com/xy/service/factory/sim/impl/CtWingFactoryImpl.java

@@ -0,0 +1,64 @@
+package com.xy.service.factory.sim.impl;
+
+import com.xy.annotate.Factory;
+import com.xy.dto.CtWingDto;
+import com.xy.dto.CtWingVo;
+import com.xy.dto.SimInfoDto;
+import com.xy.service.factory.sim.SimInfoFactory;
+import com.xy.utils.CtWingUtils;
+import com.xy.utils.FunctionUtils;
+import com.xy.utils.R;
+import lombok.AllArgsConstructor;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+
+/**
+ * <p>
+ * 电信
+ * </p>
+ *
+ * @author hechunping
+ * @since 2024/8/20
+ */
+@Slf4j
+@Factory(type = "电信")
+@AllArgsConstructor
+public class CtWingFactoryImpl implements SimInfoFactory {
+    /**
+     * 三码查询
+     *
+     * @param iccid
+     * @return
+     */
+    @SneakyThrows
+    private CtWingVo.TelephonePlusVo telephonePlus(String iccid) {
+        CtWingDto.TelephonePlusDto telephonePlusDto = new CtWingDto.TelephonePlusDto();
+        telephonePlusDto.setIccid(iccid);
+        CtWingVo.TelephonePlusVo vo = CtWingUtils.getTelephonePlus(telephonePlusDto);
+        return vo;
+    }
+
+
+    @Override
+    @SneakyThrows
+    public R<SimInfoDto.InfoVo> info(SimInfoDto.InfoDto dto) {
+        //三码查询
+        CtWingVo.TelephonePlusVo telephonePlusVo = telephonePlus(dto.getIccid());
+        if (!"0".equals(telephonePlusVo.getResultCode())) {
+            return R.fail("三码查询错误!");
+        }
+        //卡主状态查询
+        FunctionUtils.NoParamsResult<CtWingVo.CardMainStatusVo> queryCardMainStatus = () -> {
+            CtWingDto.CardMainStatusDto cardMainStatusDto = new CtWingDto.CardMainStatusDto();
+            cardMainStatusDto.setAccessNumber(telephonePlusVo.getAccessNumber());
+            return CtWingUtils.queryCardMainStatus(cardMainStatusDto);
+        };
+        CtWingVo.CardMainStatusVo cardMainStatusVo = queryCardMainStatus.run();
+
+
+
+
+
+        return R.ok();
+    }
+}

+ 24 - 0
device-api-service/src/main/java/com/xy/service/factory/sim/impl/SimInfoFactoryRoute.java

@@ -0,0 +1,24 @@
+package com.xy.service.factory.sim.impl;
+
+import com.xy.annotate.FactoryRoute;
+import com.xy.service.factory.sim.SimInfoFactory;
+import com.xy.utils.FactoryUtils;
+import lombok.AllArgsConstructor;
+
+/**
+ * <p>
+ * Sim物联网卡工厂路由
+ * </p>
+ *
+ * @author hechunping
+ * @since 2024/8/20
+ */
+@AllArgsConstructor
+@FactoryRoute(interfaceClass = SimInfoFactory.class)
+public class SimInfoFactoryRoute implements FactoryUtils.RouteService {
+
+    @Override
+    public String route(Object object) {
+        return "电信";
+    }
+}

+ 25 - 0
device-api/src/main/java/com/xy/dto/SimInfoDto.java

@@ -0,0 +1,25 @@
+package com.xy.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.validation.constraints.NotNull;
+
+
+public class SimInfoDto {
+
+    @Data
+    @Accessors(chain = true)
+    public static class InfoDto {
+        @NotNull(message = "iccid 不能为空")
+        @ApiModelProperty(value = "iccid", required = true)
+        private String iccid;
+    }
+
+    @Data
+    @Accessors(chain = true)
+    public static class InfoVo {
+
+    }
+}

+ 23 - 0
device-api/src/main/java/com/xy/service/SimInfoService.java

@@ -0,0 +1,23 @@
+package com.xy.service;
+
+import com.xy.annotate.RestMappingController;
+import com.xy.dto.SimInfoDto;
+import com.xy.utils.R;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+/**
+ * <p>
+ * 物联网卡服务接口
+ * </p>
+ *
+ * @author hechunping
+ * @since 2024/8/20
+ */
+@RestMappingController("sim-info")
+public interface SimInfoService {
+    @PostMapping("info")
+    R<SimInfoDto.InfoVo> info(@RequestBody @Validated SimInfoDto.InfoDto dto);
+
+}