Prechádzať zdrojové kódy

增加 购买加油包 接口

hechunping 9 mesiacov pred
rodič
commit
86fdb3abd5

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

@@ -49,4 +49,11 @@ public class SimInfoServiceImpl implements SimInfoService {
     public R<List<SimInfoDto.PackListVo>> packList(@RequestBody @Validated SimInfoDto.BaseDto dto) {
         return FactoryUtils.getServiceRoute(SimInfoFactory.class,dto.getIsp()).packList();
     }
+
+    @Override
+    @ApiOperation("购买加油包")
+    public R<String> buyPack(@RequestBody @Validated SimInfoDto.BuyPackDto dto)  {
+        return FactoryUtils.getServiceRoute(SimInfoFactory.class,dto.getIsp()).buyPack(dto);
+    }
+
 }

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

@@ -6,8 +6,12 @@ import com.xy.Enum.ctwing.BindTypeEnum;
 import com.xy.annotate.Factory;
 import com.xy.dto.CtWingDto;
 import com.xy.dto.CtWingVo;
+import com.xy.dto.DeviceSimPickRecordsDto;
 import com.xy.dto.SimInfoDto;
+import com.xy.entity.DeviceInfo;
 import com.xy.entity.SysDictRedis;
+import com.xy.service.DeviceInfoServiceImpl;
+import com.xy.service.DeviceSimPickRecordsServiceImpl;
 import com.xy.service.factory.sim.SimInfoFactory;
 import com.xy.utils.*;
 import lombok.AllArgsConstructor;
@@ -30,6 +34,10 @@ import java.util.Map;
 @Factory(type = "电信")
 @AllArgsConstructor
 public class CtWingFactoryImpl implements SimInfoFactory {
+    private final DeviceSimPickRecordsServiceImpl simPickRecordsService;
+
+    private final DeviceInfoServiceImpl deviceInfoService;
+
     /**
      * 三码查询
      *
@@ -118,10 +126,29 @@ public class CtWingFactoryImpl implements SimInfoFactory {
     @Override
     @SneakyThrows
     public R<String> buyPack(SimInfoDto.BuyPackDto dto) {
+        //查询设备
+        DeviceInfo deviceInfo = deviceInfoService.getById(dto.getDeviceId());
+        //查询字典
+        SysDictRedis sysDictRedis = SysDictUtils.get("sim-packs-ctwing", dto.getPackCode());
+        JSONObject jsonObject = JSONUtil.parseObj(sysDictRedis.getValue());
+        String name = jsonObject.getStr("name");
+        String icp = jsonObject.getStr("icp");
+        Integer money = jsonObject.getInt("money");
+
         CtWingDto.OrderRFPFlowDto orderRFPFlowDto = new CtWingDto.OrderRFPFlowDto();
         orderRFPFlowDto.setFlowValue(dto.getPackCode()).setIccid(dto.getIccid());
         CtWingVo.BaseVo baseVo = CtWingUtils.orderRFPFlow(orderRFPFlowDto);
         if ("0".equals(baseVo.getResultCode())) {
+            //保存记录
+            DeviceSimPickRecordsDto.Save recordsDto = new DeviceSimPickRecordsDto.Save()
+                    .setPackCode(dto.getPackCode())
+                    .setIcp(dto.getIsp())
+                    .setIccid(dto.getIccid())
+                    .setName(name)
+                    .setAmount(money)
+                    .setDeviceId(dto.getDeviceId())
+                    .setMercId(deviceInfo.getMercId());
+            simPickRecordsService.save(recordsDto);
             log.info("");
             return R.ok("订购成功!");
         } else {

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

@@ -73,15 +73,28 @@ public class SimInfoDto {
         @NotBlank(message = "订购包CODE 不能为空")
         @ApiModelProperty(value = "订购包CODE", required = true)
         private String packCode;
+
+        @NotBlank(message = "订购包CODE 不能为空")
+        @ApiModelProperty(value = "设备ID", required = true)
+        private Long deviceId;
     }
 
     @Data
     @Accessors(chain = true)
     public static class PackListVo {
+        @ApiModelProperty(value = "订购包CODE")
         private String packCode;
+
+        @ApiModelProperty(value = "描述")
         private String desc;
+
+        @ApiModelProperty(value = "名称")
         private String name;
+
+        @ApiModelProperty(value = "运营商")
         private String icp;
+
+        @ApiModelProperty(value = "金额")
         private Integer money;
     }
 

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

@@ -30,4 +30,7 @@ public interface SimInfoService {
 
     @PostMapping("packList")
     R<List<SimInfoDto.PackListVo>> packList(@RequestBody @Validated SimInfoDto.BaseDto dto);
+
+    @PostMapping("buyPack")
+    R<String> buyPack(@RequestBody @Validated SimInfoDto.BuyPackDto dto);
 }