对外API接口优化更新

This commit is contained in:
wqz
2024-11-29 16:55:38 +08:00
parent 96f8c723cc
commit 3ef2d9bd0f
3 changed files with 139 additions and 190 deletions
@@ -608,31 +608,7 @@ public class PublicOpenAapiController {
}
}
/**
* 批量停机功能
*
* @param request
* @return
*/
@RequestMapping("/mulCardStop")
@ResponseBody
@LogAnnotation(action = "批量停机")
public String mulCardStop(HttpServletRequest request) {
return newOpenApiService.mulCardStop(request);
}
/**
* 批量复机功能
*
* @param request
* @return
*/
@RequestMapping("/mulCardStart")
@ResponseBody
@LogAnnotation(action = "批量复机")
public String mulCardStart(HttpServletRequest request) {
return newOpenApiService.mulCardStart(request);
}
/**
* 续费功能
@@ -64,6 +64,30 @@ public class NewOPenApiServiceImpl implements NewOpenApiService {
List<Object> dataList = new ArrayList<>();
for (String iccid : iccidList) {
Map<String, Object> cardInfoMaps = yzCardMapper.selectCardInfoList(iccid);
if (!cardInfoMaps.containsKey("iccid") ||"".equals(cardInfoMaps.get("iccid"))) {
cardInfoMaps.put("iccid",null);
}
if (!cardInfoMaps.containsKey("msisdn") ||"".equals(cardInfoMaps.get("msisdn"))) {
cardInfoMaps.put("msisdn",null);
}
if (!cardInfoMaps.containsKey("imsi")||"".equals(cardInfoMaps.get("imsi"))) {
cardInfoMaps.put("imsi",null);
}
if (!cardInfoMaps.containsKey("imei") || "".equals(cardInfoMaps.get("imei"))) {
cardInfoMaps.put("imei",null);
}
if (!cardInfoMaps.containsKey("activateDate") || "".equals(cardInfoMaps.get("activateDate"))) {
cardInfoMaps.put("activateDate",null);
}
if (!cardInfoMaps.containsKey("dueExpireTime") || "".equals(cardInfoMaps.get("dueExpireTime"))) {
cardInfoMaps.put("dueExpireTime",null);
}
if (!cardInfoMaps.containsKey("status") || "".equals(cardInfoMaps.get("status"))) {
cardInfoMaps.put("status",null);
}
if (!cardInfoMaps.containsKey("remarks") || "".equals(cardInfoMaps.get("remarks"))) {
cardInfoMaps.put("remarks",null);
}
dataList.add(cardInfoMaps);
}
System.err.println(dataList);
@@ -80,9 +104,38 @@ public class NewOPenApiServiceImpl implements NewOpenApiService {
List<Object> dataList = new ArrayList<>();
for (String iccid : iccidList) {
Map<String, Object> cardInfoMaps = yzCardMapper.selectCardDetail(iccid);
if (!cardInfoMaps.containsKey("iccid") ||"".equals(cardInfoMaps.get("iccid"))) {
cardInfoMaps.put("iccid",null);
}
if (!cardInfoMaps.containsKey("msisdn") ||"".equals(cardInfoMaps.get("msisdn"))) {
cardInfoMaps.put("msisdn",null);
}
if (!cardInfoMaps.containsKey("imsi") ||"".equals(cardInfoMaps.get("imsi"))) {
cardInfoMaps.put("imsi",null);
}
if (!cardInfoMaps.containsKey("useFlow") ||"".equals(cardInfoMaps.get("useFlow"))) {
cardInfoMaps.put("useFlow",null);
}
if (!cardInfoMaps.containsKey("remaining") ||"".equals(cardInfoMaps.get("remaining"))) {
cardInfoMaps.put("remaining",null);
}
if (!cardInfoMaps.containsKey("startTime") ||"".equals(cardInfoMaps.get("startTime"))) {
cardInfoMaps.put("startTime",null);
}
if (!cardInfoMaps.containsKey("endTime") ||"".equals(cardInfoMaps.get("endTime"))) {
cardInfoMaps.put("endTime",null);
}
if (!cardInfoMaps.containsKey("activateDate") ||"".equals(cardInfoMaps.get("activateDate"))) {
cardInfoMaps.put("activateDate",null);
}
if (!cardInfoMaps.containsKey("status") ||"".equals(cardInfoMaps.get("status"))) {
cardInfoMaps.put("status",null);
}
if (!cardInfoMaps.containsKey("packageName") ||"".equals(cardInfoMaps.get("packageName"))) {
cardInfoMaps.put("packageName",null);
}
dataList.add(cardInfoMaps);
}
System.err.println(dataList);
return new ResponseJson().initSuccessOpen(dataList);
}
@@ -96,104 +149,33 @@ public class NewOPenApiServiceImpl implements NewOpenApiService {
List<Object> dataList = new ArrayList<>();
for (String iccid : iccidList) {
Map<String, Object> cardInfoMaps = yzCardMapper.queryCardPackage(iccid);
if (!cardInfoMaps.containsKey("iccid") ||"".equals(cardInfoMaps.get("iccid"))) {
cardInfoMaps.put("iccid",null);
}
if (!cardInfoMaps.containsKey("msisdn") ||"".equals(cardInfoMaps.get("msisdn"))) {
cardInfoMaps.put("msisdn",null);
}
if (!cardInfoMaps.containsKey("imsi") ||"".equals(cardInfoMaps.get("imsi"))) {
cardInfoMaps.put("imsi",null);
}
if (!cardInfoMaps.containsKey("validateType") ||"".equals(cardInfoMaps.get("validateType"))) {
cardInfoMaps.put("validateType",null);
}
if (!cardInfoMaps.containsKey("packageId") ||"".equals(cardInfoMaps.get("packageId"))) {
cardInfoMaps.put("packageId",null);
}
if (!cardInfoMaps.containsKey("packetId") ||"".equals(cardInfoMaps.get("packetId"))) {
cardInfoMaps.put("packetId",null);
}
if (!cardInfoMaps.containsKey("packetName") ||"".equals(cardInfoMaps.get("packetName"))) {
cardInfoMaps.put("packetName",null);
}
dataList.add(cardInfoMaps);
}
System.err.println(dataList);
return new ResponseJson().initSuccessOpen(dataList);
}
@Override
public String mulCardStop(HttpServletRequest request) {
//返回变量
String apnCardStatusResult = "";
//获取请求参数
String map = (String) request.getAttribute("map");
//fastJson工具转换
Map<String, Object> paramMap = JSON.parseObject(map, new TypeReference<Map<String, Object>>() {
});
Map<String, Object> params = (Map<String, Object>) paramMap.get("Param");
//拿到业务请求参数后转换为string数组
List<String> msisdnList = JSONArray.parseArray(params.get("msisdn").toString(), String.class);
for (String msisdn : msisdnList) {
//根据msisdn从数据库中拿到调用api所需参数
Map<String, Object> apiParams = yzCardMapper.selectApiParams(msisdn);
//防止不存在的msisdn异常
if (apiParams != null) {
//判断区分运营商类别(目前考虑移动和电信5G、电信4G) 调用三方API
String cdCode = (String) apiParams.get("cd_code");
if ("YiDong_EC".equals(cdCode)) {
//移动
//停机参数
String operType = "0";
Query_YD queryYd = new Query_YD(apiParams, cdCode);
apnCardStatusResult = queryYd.FunctionApnCardStop(msisdn, operType);
} else if ("DianXin_CMP_5G".equals(cdCode)) {
//电信5G
//停机参数
String orderTypeId = "19";
Query_DX5G queryDx5G = new Query_DX5G(apiParams);
apnCardStatusResult = queryDx5G.FunctionApnCardStop(msisdn, orderTypeId);
} else if ("DianXin_CMP".equals(cdCode)) {
//电信4G
//停机参数
String orderTypeId = "19";
//固定值 保持为空
String acctCd = "";
Query_DX queryDx = new Query_DX(apiParams);
apnCardStatusResult = queryDx.FunctionApnCardStop(msisdn, orderTypeId, acctCd);
}
}
}
return apnCardStatusResult;
}
@Override
public String mulCardStart(HttpServletRequest request) {
//返回变量
String apnCardStatusResult = "";
//获取请求参数
String map = (String) request.getAttribute("map");
//fastJson工具转换
Map<String, Object> paramMap = JSON.parseObject(map, new TypeReference<Map<String, Object>>() {
});
Map<String, Object> params = (Map<String, Object>) paramMap.get("Param");
//拿到业务请求参数后转换为string数组
List<String> msisdnList = JSONArray.parseArray(params.get("msisdn").toString(), String.class);
for (String msisdn : msisdnList) {
//根据msisdn从数据库中拿到调用api所需参数
Map<String, Object> apiParams = yzCardMapper.selectApiParams(msisdn);
//防止不存在的msisdn异常
if (apiParams != null) {
//判断区分运营商类别(目前考虑移动和电信5G、电信4G) 调用三方API
String cdCode = (String) apiParams.get("cd_code");
if ("YiDong_EC".equals(cdCode)) {
//移动
//复机参数
String operType = "1";
Query_YD queryYd = new Query_YD(apiParams, cdCode);
apnCardStatusResult = queryYd.FunctionApnCardStop(msisdn, operType);
} else if ("DianXin_CMP_5G".equals(cdCode)) {
//电信5G
//复机参数
String orderTypeId = "20";
Query_DX5G queryDx5G = new Query_DX5G(apiParams);
apnCardStatusResult = queryDx5G.FunctionApnCardStop(msisdn, orderTypeId);
} else if ("DianXin_CMP".equals(cdCode)) {
//电信4G
//复机参数
String orderTypeId = "20";
//固定值 保持为空
String acctCd = "";
Query_DX queryDx = new Query_DX(apiParams);
apnCardStatusResult = queryDx.FunctionApnCardStop(msisdn, orderTypeId, acctCd);
}
}
}
return apnCardStatusResult;
}
@Override
//添加事务 回滚异常操作
@Transactional
+64 -73
View File
@@ -2455,7 +2455,7 @@ export default {
InterfaceName: 'API接口名称',
mailbox: 'feizhenlong@139.com',
editionList: [//版本说明
{ a: 'V2.0.0', b: '2024-10-11', c: 'Wang', d: '更新对外接口,包括批量查询卡信息、批量停复机(目前支持移动、电信5G和4G)' },
{ a: 'V2.0.0', b: '2024-10-11', c: '山东云则信息技术有限公司', d: '更新对外接口,包括批量查询卡信息、批量查询卡详情等' },
],
cardList: [//接口命名规则
{ a: 'appId', b: 'String', c: '是', d: 'Verify Map 内', e: 'appId用于唯一标识请求' },
@@ -2716,7 +2716,7 @@ export default {
{
name: 'iccid',
requiredType: '是',
type: 'Object',
type: 'String',
explanation: '集成电路卡识别码,IC卡的唯一识别号码,共有20位字符组成,举例:89860423123123132135。'
},
{
@@ -2725,18 +2725,6 @@ export default {
type: 'String',
explanation: '国际移动用户识别码,其总长度不超过15位,使用0~9的数字,举例:460079650004176。'
},
{
name: 'packetType',
requiredType: '是',
type: 'int',
explanation: '加油包类型:0.基础加油包 1.叠加油包'
},
{
name: 'validateType',
requiredType: '否',
type: 'int',
explanation: '生效类型详细请参3.4生效类别说明'
},
{
name: 'activateDate',
requiredType: '否',
@@ -2773,24 +2761,6 @@ export default {
type: 'int',
explanation: '卡状态 详细请参考 3.1 卡状态说明'
},
{
name: 'netWorkStatus',
requiredType: '否',
type: 'int',
explanation: '断开网状态:1.正常 2.断网'
},
{
name: 'operatorId',
requiredType: '是',
type: 'String',
explanation: '运营商类型:1移动 2联通 3电信 4其他'
},
{
name: 'type',
requiredType: '是',
type: 'String',
explanation: '卡类型: 0.中国移动 1.中国联通 2.中国电信 3.其他'
},
{
name: 'remaining',
requiredType: '是',
@@ -2803,28 +2773,25 @@ export default {
' "result": {\n' +
' "data": [\n' +
' {\n' +
' "packetType": 0,\n' +
' "validateType": 1,\n' +
' "activateDate": "2022-01-01",\n' +
' "imsi": "460113163750000",\n' +
' "type": "3",\n' +
' "remaining": 50,\n' +
' "iccid": "8986112124301965000",\n' +
' "useFlow": 30,\n' +
' "netWorkStatus": 1,\n' +
' "startTime": "2024-06-10",\n' +
' "startTime": "2024-11-08",\n' +
' "packageName": "移动NB卡",\n' +
' "endTime": "2024-10-09",\n' +
' "endTime": "2024-11-08",\n' +
' "msisdn": "1410158305000",\n' +
' "operatorId": "3",\n' +
' "status": 4\n' +
' },\n' +
' {\n' +
' "iccid": "898604B21522C001001",\n' +
' "useFlow": "25.2",\n' +
' "startTime": "null",\n' +
' "activateDate": "2024-05-20",\n' +
' "netWorkStatus": 1,\n' +
' "imsi": "460083272213000",\n' +
' "packageName": "联通地王卡",\n' +
' "endTime": "null",\n' +
' "msisdn": "1441127223000",\n' +
' "remaining": 200,\n' +
' "status": 6\n' +
@@ -2889,7 +2856,7 @@ export default {
{
name: 'iccid',
requiredType: '是',
type: 'Object',
type: 'String',
explanation: '集成电路卡识别码,IC卡的唯一识别号码,共有20位字符组成,举例:89860423123123132135。'
},
{
@@ -2904,32 +2871,54 @@ export default {
type: 'String',
explanation: '资费计划名称'
},
{
name: 'packetId',
requiredType: '是',
type: 'String',
explanation: '套餐包ID'
},
{
name: 'packageId',
requiredType: '是',
type: 'String',
explanation: '套餐ID'
},
{
name: 'validateType',
requiredType: '是',
type: 'String',
explanation: '资费计划类型 参考3.4生效类型辅助文档'
},
],
backExample_success: tools.formatJson('{\n' +
' "result": {\n' +
' "data": [\n' +
' {\n' +
' "iccid": "8986112124301965000",\n' +
' "imsi": "460113163750000",\n' +
' "msisdn": "1410158305000",\n' +
' "packetName": "大王卡30MB一月"\n' +
' },\n' +
' {\n' +
' "iccid": "898604B21522C001001",\n' +
' "imsi": "460083272213000",\n' +
' "msisdn": "1441127223000",\n' +
'\n' +
' \t "packetName": "大王卡30MB一月" \n' +
'\n' +
' }\n' +
' ]\n' +
' },\n' +
' "message": "成功",\n' +
' "status": "1"\n' +
'}'),
backExample_success: tools.formatJson({
"result": {
"data": [
{
"packetId": "YZ2021070204353637421010",
"iccid": "898602B5132290026822",
"validateType": null,
"packageId": "YZ202107020435363742",
"imsi": "460040574816822",
"msisdn": "1064857486822",
"packetName": "60M月/12月"
},
{
"packetId": "YZ2021070204353637421010",
"iccid": "8986112124301965946",
"validateType": null,
"packageId": "YZ202107020435363742",
"imsi": "460113163750388",
"msisdn": "1410158305863",
"packetName": "60M月/12月"
}
]
},
"message": "成功",
"status": "1"
}),
backExample_fail: tools.formatJson('{"message":"无访问权限","result":null,"status":"1003"}')
},
{
/*{
T1_title: '2.2业务类',
T2_title: '2.2.1 SIM卡批量停机',
describe: '批量停机(注:同一卡号或群组3分钟内不能调用该接口超过1次)',
@@ -3025,11 +3014,11 @@ export default {
'\n' +
'}'),
backExample_fail: tools.formatJson('{"message":"无访问权限","result":null,"status":"1003"}')
},
},*/
{
T1_title: '',
T2_title: '2.2.3 SIM卡批量续费',
describe: '批量复机注:批量续费卡数量单次不能超过500张)',
T1_title: ' 2.2业务类',
T2_title: '2.2.1 SIM卡批量续费',
describe: '批量续费卡数量单次不能超过500张,先通过2.3接口 拿到返回的iccid集合和资费计划后 再进行批量续费',
url: 'http://api.5iot.cn/route/open/mulCardRenewal',
type: 'POST',
requestParameterArr: [//请求参数
@@ -3059,13 +3048,15 @@ export default {
},
],
requestInstance: tools.formatJson({
'Param': { "iccid":[
'Param': {
"iccid": [
"8986112124301960000",
"898604B21522C000000"
],
"packageId":"20241023",
"packetId":"123456",
"validateType":"1" },
"packageId": "20241023",
"packetId": "123456",
"validateType": "1"
},
'verify': {
'timeStamp': '1625120582169',
'password': 'uhbhkh223123',
@@ -3093,7 +3084,7 @@ export default {
explanation: '返回结果集(status为“1”时,result包含正确的结果数据;status为“非1”时, result可能为空,也可能包含其他提示数据)'
}
],
returnParameterDescription_answer:[//返回应答参数
returnParameterDescription_answer: [//返回应答参数
{
name: 'iccidList',
requiredType: '是',