|
@@ -1,17 +1,27 @@
|
|
|
package com.xy.service.factory.sim.impl;
|
|
|
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
+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.CtWingUtils;
|
|
|
-import com.xy.utils.FunctionUtils;
|
|
|
-import com.xy.utils.R;
|
|
|
+import com.xy.utils.*;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 电信
|
|
@@ -24,6 +34,10 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
@Factory(type = "电信")
|
|
|
@AllArgsConstructor
|
|
|
public class CtWingFactoryImpl implements SimInfoFactory {
|
|
|
+ private final DeviceSimPickRecordsServiceImpl simPickRecordsService;
|
|
|
+
|
|
|
+ private final DeviceInfoServiceImpl deviceInfoService;
|
|
|
+
|
|
|
/**
|
|
|
* 三码查询
|
|
|
*
|
|
@@ -79,15 +93,93 @@ public class CtWingFactoryImpl implements SimInfoFactory {
|
|
|
if (!"0".equals(telephonePlusVo.getResultCode())) {
|
|
|
return R.fail("三码查询错误!");
|
|
|
}
|
|
|
- String action = dto.getAction() ? "ADD":"DEL";
|
|
|
+ String action = dto.getAction() ? "ADD" : "DEL";
|
|
|
CtWingDto.SingleCutNetDto singleCutNetDto = new CtWingDto.SingleCutNetDto()
|
|
|
.setAccessNumber(telephonePlusVo.getAccessNumber())
|
|
|
.setAction(action);
|
|
|
CtWingVo.BaseVo baseVo = CtWingUtils.singleCutNet(singleCutNetDto);
|
|
|
- if("0".equals(baseVo.getResultCode())){
|
|
|
+
|
|
|
+ if ("0".equals(baseVo.getResultCode())) {
|
|
|
+ log.info("");
|
|
|
return R.ok("处理成功!");
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
+ log.error("");
|
|
|
+ return R.fail(baseVo.getResultMsg());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ @SneakyThrows
|
|
|
+ public R<String> bindAgain(SimInfoDto.BindAgainDto dto) {
|
|
|
+ CtWingDto.ImeiReRecordDto imeiReRecordDto = new CtWingDto.ImeiReRecordDto();
|
|
|
+ imeiReRecordDto.setBindType(BindTypeEnum.T_1.getCode()).setImei(dto.getImei()).setIccid(dto.getIccid());
|
|
|
+ CtWingVo.BaseVo baseVo = CtWingUtils.imeiReRecord(imeiReRecordDto);
|
|
|
+ if ("0".equals(baseVo.getResultCode())) {
|
|
|
+ log.info("");
|
|
|
+ return R.ok("处理成功!");
|
|
|
+ } else {
|
|
|
+ log.error("");
|
|
|
+ return R.fail(baseVo.getResultMsg());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @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 {
|
|
|
+ log.error("");
|
|
|
return R.fail(baseVo.getResultMsg());
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R<List<SimInfoDto.PackListVo>> packList() {
|
|
|
+ Map<String, SysDictRedis> dict = SysDictUtils.get("sim-packs-ctwing");
|
|
|
+ List<SimInfoDto.PackListVo> voList = new ArrayList<>();
|
|
|
+ if (Emptys.check(dict)) {
|
|
|
+ dict.forEach((k, v) -> {
|
|
|
+ JSONObject jsonObject = JSONUtil.parseObj(v.getValue());
|
|
|
+ String name = jsonObject.get("name").toString();
|
|
|
+ String icp = jsonObject.get("icp").toString();
|
|
|
+ Integer money = Integer.valueOf(jsonObject.get("money").toString());
|
|
|
+
|
|
|
+ SimInfoDto.PackListVo vo = new SimInfoDto.PackListVo()
|
|
|
+ .setPackCode(v.getCode())
|
|
|
+ .setDesc(v.getMsg())
|
|
|
+ .setName(name)
|
|
|
+ .setIcp(icp)
|
|
|
+ .setMoney(money);
|
|
|
+ voList.add(vo);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ return R.ok(voList);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|