Merge remote-tracking branch 'origin/hotfix_poster' into hotfix_poster

# Conflicts:
#	sql/demo_iotdb.sql
#	yunze-iotapi/src/main/java/com/yunze/iotapi/controller/openApi/PublicOpenAapiController.java
#	yunze-ui/src/views/tool/apifile/index.vue
This commit is contained in:
山东云则
2024-12-23 17:48:30 +08:00
19 changed files with 106631 additions and 9538 deletions
-8441
View File
File diff suppressed because it is too large Load Diff
+103262
View File
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,38 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:20:58
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_busi_card_sms
-- ----------------------------
DROP TABLE IF EXISTS `yz_busi_card_sms`;
CREATE TABLE `yz_busi_card_sms` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`msgid` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '短息id',
`msisdn` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '短信服务号',
`content` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '下发内容',
`state_id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '状态',
`type` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '操作方式',
`create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
`del_flag` smallint(5) NOT NULL COMMENT '是否删除 0 否 1 是',
`sms_src_TerminalId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '短信服务号',
`msgFmt` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '信息格式',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'COLUMNAR=1 短信收发记录' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,37 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:19:07
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_card_api_offeringinfo
-- ----------------------------
DROP TABLE IF EXISTS `yz_card_api_offeringinfo`;
CREATE TABLE `yz_card_api_offeringinfo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cd_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '通道类型',
`offeringId` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '资费 ID',
`offeringName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '资费名称',
`apnName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'APN 名称',
`create_date` datetime NOT NULL COMMENT '创建时间',
`upd_date` datetime NOT NULL COMMENT '最近一次修改时间',
`type` smallint(6) NOT NULL DEFAULT 1 COMMENT '资费类型',
PRIMARY KEY (`id`) USING BTREE,
INDEX `offeringId`(`offeringId` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 99 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '上游接口返回已订购资费信息' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,41 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:18:50
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_card_api_offeringinfolist
-- ----------------------------
DROP TABLE IF EXISTS `yz_card_api_offeringinfolist`;
CREATE TABLE `yz_card_api_offeringinfolist` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`iccid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`offeringId` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '资费 ID',
`offeringName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '资费名称',
`effectiveDate` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生效时间',
`expiriedDate` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失效时间',
`apnName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'APN 名称',
`create_date` datetime NOT NULL COMMENT '创建时间',
`upd_date` datetime NOT NULL COMMENT '最近一次修改时间',
`cd_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '通道类型',
PRIMARY KEY (`id`) USING BTREE,
INDEX `iccid`(`iccid` ASC) USING BTREE,
INDEX `offeringId`(`offeringId` ASC) USING BTREE,
INDEX `cd_code`(`cd_code` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 42847759 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '上游接口返回已订购资费信息' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,58 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:15:02
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_card_packet
-- ----------------------------
DROP TABLE IF EXISTS `yz_card_packet`;
CREATE TABLE `yz_card_packet` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
`package_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '套餐ID',
`packet_id` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '套餐包ID',
`packet_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '套餐包名',
`packet_wx_name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微信端显示名称',
`packet_price` double(10, 2) NULL DEFAULT 0.00 COMMENT '套餐包金额',
`packet_flow` double(10, 2) NULL DEFAULT 0.00 COMMENT '套餐包流量',
`base_packet_type` int(11) NULL DEFAULT 0 COMMENT '资费计划 类型 0:仅一次,1可叠加',
`packet_type` int(11) NULL DEFAULT 0 COMMENT '加油包类型:0基础加油包-1叠加油包',
`is_profit` int(11) NULL DEFAULT 0 COMMENT '是否分润:0否 1是',
`show_profit` int(11) NULL DEFAULT 0 COMMENT '是否显示分润:0否-1是',
`wechat_pay` int(11) NULL DEFAULT 1 COMMENT '是否可微信支付:0否1是',
`balance_pay` int(11) NULL DEFAULT 0 COMMENT '是否可余额支付:0否-1是',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`error_flow` double(10, 2) NULL DEFAULT 0.00 COMMENT '套餐流量',
`error_so` double(10, 2) NULL DEFAULT 0.00 COMMENT '套餐包SO倍数',
`packet_valid_time` int(11) NULL DEFAULT NULL COMMENT '资费计划规格\r\n\r\n,根据packet_valid_name定义,表示为月或年',
`packet_cost` double(10, 2) NULL DEFAULT NULL COMMENT '成本价',
`is_month` int(11) NULL DEFAULT NULL COMMENT '是否分月到账:0否 1是',
`date_limit` varchar(150) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '限制不可充值日期',
`deduction` int(11) NULL DEFAULT NULL COMMENT '是否支持 自动扣代理预存授信延续',
`in_stock` int(11) NULL DEFAULT NULL COMMENT '是否在售 0 否 1 是',
`packet_valid_type` int(11) NULL DEFAULT NULL COMMENT '资费计划生效类型 当月生效 yunze_card_takeEffect_type',
`dept_id` int(11) NULL DEFAULT NULL COMMENT '代理编号 与 agent_id 一致 但需要用于系统结构 数据验证',
`user_id` int(11) NULL DEFAULT NULL COMMENT '系统登录账户id 用于系统结构数据验证',
`packet_valid_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '资费计划规则 月 年 ',
`card_count` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '卡总数',
`is_dd` smallint(5) NULL DEFAULT NULL COMMENT '是否订购达量断网',
`underscorePrice` double(10, 2) NULL DEFAULT 0.00 COMMENT '下划线价格》原价',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `packet_id`(`packet_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 266 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = 'COLUMNAR=1 资费计划' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,40 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:21:16
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_card_polling_error
-- ----------------------------
DROP TABLE IF EXISTS `yz_card_polling_error`;
CREATE TABLE `yz_card_polling_error` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`iccid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
`codeOn` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '错误代码',
`message` varchar(800) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '错误信息',
`cd_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '通道编码',
`create_date` datetime NOT NULL COMMENT '创建时间',
`upd_date` datetime NOT NULL COMMENT '最近一次修改时间',
`is_notice` smallint(6) NOT NULL COMMENT '是否需要通知默认是',
`rt_map` longblob NOT NULL COMMENT '返回数据',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_iccid`(`iccid` ASC) USING BTREE,
INDEX `cd_code`(`cd_code` ASC, `iccid` ASC, `codeOn` ASC) USING BTREE,
INDEX `is_notice`(`is_notice` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '主要用于记录卡用量接口查询时错误记录' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,41 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:18:29
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_card_usage_reminder
-- ----------------------------
DROP TABLE IF EXISTS `yz_card_usage_reminder`;
CREATE TABLE `yz_card_usage_reminder` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`iccid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'iccid',
`offeringId` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '资费id',
`offeringName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '资费激活名称',
`apnName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'APN 名称',
`totalAmount` double(10, 2) NOT NULL COMMENT '总量,单位:MB',
`useAmount` double(10, 2) NOT NULL COMMENT '使用量,单位:MB',
`remainAmount` double(10, 2) NOT NULL COMMENT '剩余量,单位:MB',
`percentage` double(6, 2) NOT NULL COMMENT '已用百分比',
`create_date` datetime NOT NULL COMMENT '创建时间',
`upd_date` datetime NOT NULL COMMENT '最近一次修改时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `id`(`id` ASC) USING BTREE,
INDEX `iccid`(`iccid` ASC, `offeringId` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 638804 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '上游返回套餐记录信息\r\n' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,41 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:20:40
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_sms_bulk_business
-- ----------------------------
DROP TABLE IF EXISTS `yz_sms_bulk_business`;
CREATE TABLE `yz_sms_bulk_business` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '编号',
`create_time` datetime NOT NULL,
`update_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP,
`start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
`task_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务名',
`url` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '任务下载地址 1,2,3',
`auth` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '任务创建人',
`agent_id` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '代理编号',
`type` int(11) NULL DEFAULT NULL COMMENT '类型',
`state_id` smallint(6) NOT NULL COMMENT '状态',
`message` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '短信内容-主表为单模板批量执行时插入,灵活发送时不插入',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 112 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '短信发送-批量任务主表' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,47 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:19:31
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_syn_card_info
-- ----------------------------
DROP TABLE IF EXISTS `yz_syn_card_info`;
CREATE TABLE `yz_syn_card_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`msisdn` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '接入号',
`iccid` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`imsi` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`activate_date` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '激活时间',
`open_date` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '开卡时间',
`create_date` datetime NOT NULL COMMENT '创建时间',
`update_date` datetime NULL DEFAULT NULL COMMENT '更新时间',
`syn_Time` datetime NULL DEFAULT NULL COMMENT '同步时间',
`channel_id` int(11) NOT NULL COMMENT '通道编号',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`inconsistent_iccid` smallint(5) NOT NULL DEFAULT 0 COMMENT '是否 与 card_info 表 iccid不一致',
`is_new` smallint(5) NOT NULL DEFAULT 0 COMMENT '是否 需要新增到 card_info 表',
`groupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '上游成员组id',
`custId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '客户id-[DX_CMP]',
`status_id` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '卡状态描述 -【DX-CMP】',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `msisdn`(`msisdn` ASC) USING BTREE,
INDEX `inconsistent_iccid`(`inconsistent_iccid` ASC, `is_new` ASC) USING BTREE,
INDEX `channel_id`(`channel_id` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 266456 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '上游返回-群组所属成员信息' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
+37
View File
@@ -0,0 +1,37 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:20:22
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_sys_logs
-- ----------------------------
DROP TABLE IF EXISTS `yz_sys_logs`;
CREATE TABLE `yz_sys_logs` (
`id` char(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id',
`res_url` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '请求url',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`class_method` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '执行的类方法',
`ip` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'ip',
`request_args` longblob NOT NULL COMMENT '请求参数',
`response_args` longblob NOT NULL COMMENT '响应参数',
`user_name` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '操作人',
`project` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模块',
`action_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '操作名称'
) ENGINE = InnoDB AUTO_INCREMENT = 2009290 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '系统级日志' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,35 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:19:47
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_wx_by_product_category
-- ----------------------------
DROP TABLE IF EXISTS `yz_wx_by_product_category`;
CREATE TABLE `yz_wx_by_product_category` (
`category_id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '分类ID',
`category_name` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类名称',
`category_code` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分类编码',
`parent_id` smallint(5) UNSIGNED NOT NULL DEFAULT 0 COMMENT '父分类ID',
`category_level` tinyint(4) NOT NULL DEFAULT 1 COMMENT '分类层级',
`category_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '分类状态',
`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`category_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '商品分类表' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -0,0 +1,51 @@
/*
Navicat Premium Data Transfer
Source Server : 生产库
Source Server Type : MySQL
Source Server Version : 80013 (8.0.13)
Source Host : iotlink.mysql.polardb.cn-chengdu.rds.aliyuncs.com:3306
Source Schema : iotdb
Target Server Type : MySQL
Target Server Version : 80013 (8.0.13)
File Encoding : 65001
Date: 19/11/2024 17:20:05
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for yz_wx_by_product_info
-- ----------------------------
DROP TABLE IF EXISTS `yz_wx_by_product_info`;
CREATE TABLE `yz_wx_by_product_info` (
`product_id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '商品ID',
`product_core` char(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品编码',
`product_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '商品名称',
`bar_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '国条码',
`brand_id` int(10) UNSIGNED NULL DEFAULT NULL COMMENT '品牌表的ID',
`one_category_id` smallint(5) UNSIGNED NOT NULL COMMENT '一级分类ID',
`two_category_id` smallint(5) UNSIGNED NULL DEFAULT NULL COMMENT '二级分类ID',
`three_category_id` smallint(5) UNSIGNED NULL DEFAULT NULL COMMENT '三级分类ID',
`supplier_id` int(10) UNSIGNED NULL DEFAULT NULL COMMENT '商品的供应商ID',
`price` decimal(8, 2) NOT NULL COMMENT '商品销售价格',
`average_cost` decimal(18, 2) NULL DEFAULT NULL COMMENT '商品加权平均成本',
`publish_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '上下架状态:0下架1上架',
`audit_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '审核状态:0未审核,1已审核',
`weight` float NULL DEFAULT NULL COMMENT '商品重量',
`length` float NULL DEFAULT NULL COMMENT '商品长度',
`height` float NULL DEFAULT NULL COMMENT '商品高度',
`width` float NULL DEFAULT NULL COMMENT '商品宽度',
`color_type` enum('','','','') CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`production_date` datetime NULL DEFAULT NULL COMMENT '生产日期',
`shelf_life` int(11) NULL DEFAULT NULL COMMENT '商品有效期',
`descript` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '商品描述',
`indate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '商品录入时间',
`modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
PRIMARY KEY (`product_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '商品信息表' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
@@ -1,17 +1,8 @@
package com.yunze.business.dao;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yunze.business.entity.SysLogs;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.poi.ss.formula.functions.T;
import java.util.List;
/**
* 系统级日志 Mapper 接口
@@ -4,30 +4,31 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yunze.apiCommon.mapper.mysql.YzCardRouteMapper;
import com.yunze.apiCommon.upstreamAPI.PublicApiService;
import com.yunze.apiCommon.utils.AesEncryptUtil;
import com.yunze.apiCommon.utils.ApiUtil_NoStatic;
import com.yunze.apiCommon.utils.HttpUtil;
import com.yunze.apiCommon.utils.UrlUtil;
import com.yunze.common.mapper.mysql.YzCardMapper;
import com.yunze.common.mapper.mysql.YzUserMapper;
import com.yunze.iotapi.service.NewOpenApiService;
import com.yunze.iotapi.service.impl.OpenApiServiceImpl;
import com.yunze.iotapi.utils.*;
import org.springframework.stereotype.Controller;
import com.yunze.iotapi.utils.AgentCheckShiro;
import com.yunze.iotapi.utils.LogAnnotation;
import com.yunze.iotapi.utils.ResponseJson;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 物联网卡 通道管理
*/
@Controller
//@Controller
//@RequestMapping("/open")
@RestController
@RequestMapping("/open")
public class PublicOpenAapiController {
@@ -43,7 +44,7 @@ public class PublicOpenAapiController {
@Resource
private YzUserMapper yzUserMapper;
@Resource
private YzCardMapper yzCardMapper;
private NewOpenApiService newOpenApiService;
/**
@@ -236,8 +237,7 @@ public class PublicOpenAapiController {
return new ResponseJson().errorOpen("400", "缺少参数!请按文档说明传入 ");
}
} catch (Exception e) {
} catch (Exception e) {
return new ResponseJson().errorOpen("500", "操作失败请稍后重试!");
}
}
@@ -535,63 +535,6 @@ public class PublicOpenAapiController {
}
}
@RequestMapping(value = "/smsSend")
@ResponseBody
@LogAnnotation(action = "短信下发")
public JSONObject smsSend(HttpServletRequest request, HttpServletResponse response) {
String map = (String) request.getAttribute("map");
Map<String, Object> ParamMap = new HashMap<String, Object>();
try {
Map<String, Object> agentAccount = (Map<String, Object>) request.getAttribute("agentAccount");
ParamMap.putAll(JSON.parseObject((String) map));
Map<String, Object> Param = (Map<String, Object>) ParamMap.get("Param");
String agentID = agentAccount.get("agent_id").toString();
//增加 id 范围
if(!agentID.equals("100")){
Map<String, Object> findqueryChildrenAreaInfoMap = new HashMap<>();
findqueryChildrenAreaInfoMap.put("agent_id",agentID);
String agent_idArrStr = yzCardMapper.queryChildrenAreaInfo(findqueryChildrenAreaInfoMap);
if(agent_idArrStr!=null){
String agent_idArr[] = agent_idArrStr.split(",");
if(agent_idArr!=null){
List<String> find_agent_id = new ArrayList<>();
for (int i = 0; i < agent_idArr.length; i++) {
String f_agent_id = agent_idArr[i]!=null && agent_idArr[i].length()>0?agent_idArr[i]:null;
if(f_agent_id!=null){
find_agent_id.add(f_agent_id);
}
}
if(find_agent_id.size()>0){
Param.put("agentIdList",find_agent_id);
}
}
}
}
Map<String,Object> findMap = new HashMap<>();
findMap.put("dept_id",agentID);
Map<String,Object> dMap = yzUserMapper.getDept(findMap);
Map<String,Object> User = yzUserMapper.getUser(findMap);
User.put("dept",dMap);
Param.put("agent_id",agentID);
Param.put("User",User);
Map<String,Object> Rdata = openApiServiceImpl.SmsCCTextField(Param);
boolean bool = (boolean) Rdata.get("bool");
String code = Rdata.get("code").toString();
if(bool){
return new ResponseJson().successOpen(Rdata.get("Message"));
}else{
return new ResponseJson().errorOpen(code,Rdata.get("Message").toString());
}
} catch (Exception e) {
return new ResponseJson().errorOpen("500", "操作失败请稍后重试!");
}
}
@RequestMapping(value = "/iotlink/callback")
@ResponseBody
@@ -613,49 +556,121 @@ public class PublicOpenAapiController {
}
//共享Token HBLW
@RequestMapping(value = "/sharedHBWLToken")
/**
* 批量查询卡基础信息
* @param request
* @return
*/
@RequestMapping("/queryCardInfoList")
@ResponseBody
public JSONObject sharedHBWLToken(HttpServletRequest request) {
String map = (String) request.getAttribute("map");
Map<String, Object> ParamMap = new HashMap<>();
@LogAnnotation(action = "批量查询卡信息")
public JSONObject queryCardInfoList(HttpServletRequest request) {
Map<String, Object> queryCardInfo = newOpenApiService.queryCardInfoList(request);
try {
ParamMap.putAll(JSON.parseObject(map));
Map<String, Object> Param = (Map<String, Object>) ParamMap.get("Param");
Map<String, Object> data = publicApiService.sharedHBWLToken(Param);
Map<String, Object> returnMap = new HashMap<>();
if (data != null) {
String token = data.get("token").toString();
if (token != null) {
returnMap.put("token", token);
returnMap.put("transid", "C5010551AI0T20210616603342099832024102880910777");
return new ResponseJson().successOpen(returnMap);
} else {
return new ResponseJson().errorOpen("500", "内部获取token失败");
}
} else {
return new ResponseJson().errorOpen("500", "未找到对应token获取");
}
return new ResponseJson().successNewOpen(queryCardInfo);
} catch (Exception e) {
return new ResponseJson().errorOpen("500", "操作失败请稍后重试");
return new ResponseJson().errorOpen("500", "批量查询卡信息失败,请检查参数是否正确");
}
}
/**
* 批量查询卡详情*
* @param request
* @return
*/
@RequestMapping("/queryCardDetail")
@ResponseBody
@LogAnnotation(action = "批量查询卡详情")
public JSONObject queryCardDetail(HttpServletRequest request) {
Map<String, Object> queryCardDetail = newOpenApiService.queryCardDetail(request);
try {
return new ResponseJson().successNewOpen(queryCardDetail);
} catch (Exception e) {
return new ResponseJson().errorOpen("500", "批量查询卡详情失败,请检查参数是否正确!");
}
}
/**
* 批量查询卡套餐
*
* @param request
* @return
*/
@RequestMapping("/queryCardPackage")
@ResponseBody
@LogAnnotation(action = "批量查询卡套餐")
public JSONObject queryCardPackage(HttpServletRequest request) {
Map<String, Object> queryCardPackage = newOpenApiService.queryCardPackage(request);
try {
return new ResponseJson().successNewOpen(queryCardPackage);
} catch (Exception e) {
return new ResponseJson().errorOpen("500", "批量查询卡套餐失败,请检查参数是否正确!");
}
}
/**
* 批量停机功能
*
* @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);
}
/**
* 续费功能
*
* @param request
*/
@RequestMapping("/mulCardRenewal")
@ResponseBody
@LogAnnotation(action = "批量续费申请")
public JSONObject mulCardRenewal(HttpServletRequest request) {
ResponseJson responseJson = null;
responseJson = newOpenApiService.mulCardRenewal(request);
if (responseJson.get("data") != null || !"500".equals(responseJson.get("status"))) {
return new ResponseJson().successNewOpen(responseJson);
}
return new ResponseJson().error("500", responseJson.get("message").toString());
}
public static void main(String[] args) {
/*Map<String, Object> Yzmap = new HashMap<String, Object>();
// String url="http://hsapi.e114.xin:9002/Api/yunze/v1";
Map<String, Object> Yzmap = new HashMap<String, Object>();
// for(int i=0;i<300;i++){
String geturl = "http://127.0.0.1:9080/route/open/";
// String geturl = "http://api.sddaihe.com/route/open/";
String geturl = "http://192.168.100.207:9080/route/open/";
//String geturl = "http://192.168.100.207:9080/open/";
// String geturl = "http://api.5iot.cn/route/open/";
//String geturl = "http://admin.sdyunze.com:9080/route/open/";
String appId = "KeSheng";
String password = "fO#p4eM5@5";
String access_key = "5Yx@h#@Slo";
String appId = "ShanDongYunZe";
String password = "IoTlink@2022";
String access_key = "www.5iot.com/doc.5iot.com/demo.5iot.com";
@@ -675,9 +690,9 @@ public class PublicOpenAapiController {
Map<String, Object> map = new HashMap<String, Object>();
Map<String, Object> Parmap = new HashMap<String, Object>();
//Parmap.put("dateTime", "202011");
geturl+="subscribe";//资费充值
//geturl +="simDataUsage";//单卡流量查询
// geturl +="queryFlowHis";//单卡历史流量查询
//geturl +="queryFlowHis";//单卡历史流量查询
//geturl +="simStatus";//单卡生命周期
//geturl +="changeCardStatus";//单卡生命周期 变更
//geturl += "queryRealNameStatus";//查询是否实名
@@ -686,13 +701,18 @@ public class PublicOpenAapiController {
//geturl +="SpeedLimit";//限速
//geturl +="todayUse";//今日使用量
//geturl +="queryOnlineStatus";//查询卡是否在网状态
// geturl +="cardInfo";//卡信息
//geturl +="cardInfo";//卡信息
//geturl +="test";//
//geturl +="cardPacketInfo";//卡套餐详情
//geturl +="sharedToken";//获取共享token
// geturl +="simSession";
geturl +="simApnFunction";
// geturl +="simApnFunction";
// geturl +="MachineCardBinding";//机卡解绑
// Parmap.put("dateTime", "202011");
// Parmap.put("dateTime", "202011");
// Parmap.put("Is_Stop", "on"); // 停复机
// Parmap.put("Is_Break", "0"); // 【断网复机】 是否 0 开机 1 停机
// Parmap.put("speedValue", "0"); // 【限速】 标准 值
@@ -701,54 +721,43 @@ public class PublicOpenAapiController {
map.put("verify", Yzmap);
String result = null;
Parmap.put("iccid", "898604130918C1847905");
Parmap.put("type", "iccid");
Parmap.put("StatusBreak", "1");
Parmap.put("cardno", "898604130918C1847905");
Parmap.put("iccid", "89860466151980503267");
Parmap.put("companyId","100");
Parmap.put("effectiveType","1");
Parmap.put("blocPlantId","YZ202201140123296552");
Parmap.put("callbackAddress","http://192.168.100.207:9080/route/iotlink/callback");
//Parmap.put("type", "iccid");
//Parmap.put("StatusBreak", "1");
//Parmap.put("cardno", "89860799999999999999");
//Parmap.put("refreshToken", "1");
//Parmap.put("contactName", "ZhangSan");
//Parmap.put("contactPhone", "18666666666");
map.put("Param", Parmap);
try {
String data = JSON.toJSONString(map);
System.out.println(data);
for (int i=0;i<1;i++){
String qerUrl = UrlUtil.getUrl(geturl, map);
String qerUrl = UrlUtil.getUrl(geturl, map);
System.out.println(qerUrl);
System.out.println(JSON.toJSONString(data));
//result = HttpUtil.get(qerUrl);// 返回结果字符串
result = HttpUtil.post(geturl, data);// 返回结果字符串
System.out.println("result↓↓↓↓↓↓");
System.out.println(result);
System.out.println("result↑↑↑↑↑↑");
}
} catch (Exception e) {
//System.out.println(e);
}
//for(String keys:map.keySet()){
*/
Map<String, Object> Yzmap = new HashMap<>();
String geturl = "http://127.0.0.1:9080/route/open/";
String appId = "HBWL";
String password = "HBWL@2024";
Yzmap.put("password", password);
Yzmap.put("appId", appId);
Map<String, Object> map = new HashMap<>();
geturl +="sharedHBWLToken";//共享token
map.put("verify", Yzmap);
try {
String result = null;
String data = JSON.toJSONString(map);
result = HttpUtil.post(geturl, data);// 返回结果字符串
System.out.println(result);
} catch (Exception e) {
}
}
}
@@ -0,0 +1,30 @@
package com.yunze.iotapi.service;
import com.yunze.iotapi.utils.ResponseJson;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
/**
* Created with IntelliJ IDEA.
*
* @Author: Wang
* @Date: 2024/10/09/15:13
* @Description:
*/
public interface NewOpenApiService {
Map<String, Object> queryCardInfoList(HttpServletRequest request);
Map<String, Object> queryCardDetail(HttpServletRequest request);
Map<String, Object> queryCardPackage(HttpServletRequest request);
String mulCardStop(HttpServletRequest request);
String mulCardStart(HttpServletRequest request);
ResponseJson mulCardRenewal(HttpServletRequest request);
Map<String, Object> queryDueExpireDateXQ(HttpServletRequest request);
}
@@ -0,0 +1,362 @@
package com.yunze.iotapi.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.TypeReference;
import com.yunze.apiCommon.upstreamAPI.DianXinCMP.Inquire.Query_DX;
import com.yunze.apiCommon.upstreamAPI.DianXinCMP5G.Inquire.Query_DX5G;
import com.yunze.apiCommon.upstreamAPI.YiDongEC.Inquire.Query_YD;
import com.yunze.apiCommon.utils.Arith;
import com.yunze.apiCommon.utils.VeDate;
import com.yunze.common.mapper.mysql.YzAgentPackageMapper;
import com.yunze.common.mapper.mysql.YzCardMapper;
import com.yunze.common.mapper.mysql.YzCardPacketMapper;
import com.yunze.common.mapper.mysql.YzOrderMapper;
import com.yunze.common.mapper.mysql.card.YzApplicationforRenewalMapper;
import com.yunze.common.mapper.mysql.card.YzApplicationforRenewalPrimaryIccidMapper;
import com.yunze.common.mapper.mysql.card.YzApplicationforRenewalPrimaryMapper;
import com.yunze.common.mapper.mysql.card.YzApplicationforRenewalPrimaryOrdNoMapper;
import com.yunze.iotapi.service.NewOpenApiService;
import com.yunze.iotapi.utils.ResponseJson;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* Created with IntelliJ IDEA.
*
* @Author: Wang
* @Date: 2024/10/09/15:14
* @Description:
*/
@Service
public class NewOPenApiServiceImpl implements NewOpenApiService {
@Resource
private YzCardMapper yzCardMapper;
@Resource
private YzAgentPackageMapper agentPackageMapper;
@Resource
private YzCardPacketMapper yzCardPacketMapper;
@Resource
private YzApplicationforRenewalPrimaryMapper renewalPrimaryMapper;
@Resource
private YzOrderMapper yzOrderMapper;
@Resource
private YzApplicationforRenewalMapper yzApplicationforRenewalMapper;
@Resource
private YzApplicationforRenewalPrimaryOrdNoMapper yzApplicationforRenewalPrimaryOrdNoMapper;
@Resource
private YzApplicationforRenewalPrimaryIccidMapper yzApplicationforRenewalPrimaryIccidMapper;
@Override
public Map<String, Object> queryCardInfoList(HttpServletRequest request) {
String map = (String) request.getAttribute("map");
Map<String, Object> paramMap = JSON.parseObject(map, new TypeReference<Map<String, Object>>() {
});
Map<String, Object> param = (Map<String, Object>) paramMap.get("Param");
List<String> iccidList = JSONArray.parseArray(param.get("iccid").toString(), String.class);
List<Object> dataList = new ArrayList<>();
for (String iccid : iccidList) {
Map<String, Object> cardInfoMaps = yzCardMapper.selectCardInfoList(iccid);
dataList.add(cardInfoMaps);
}
System.err.println(dataList);
return new ResponseJson().initSuccessOpen(dataList);
}
@Override
public Map<String, Object> queryCardDetail(HttpServletRequest request) {
String map = (String) request.getAttribute("map");
Map<String, Object> paramMap = JSON.parseObject(map, new TypeReference<Map<String, Object>>() {
});
Map<String, Object> param = (Map<String, Object>) paramMap.get("Param");
List<String> iccidList = JSONArray.parseArray(param.get("iccid").toString(), String.class);
List<Object> dataList = new ArrayList<>();
for (String iccid : iccidList) {
Map<String, Object> cardInfoMaps = yzCardMapper.selectCardDetail(iccid);
dataList.add(cardInfoMaps);
}
System.err.println(dataList);
return new ResponseJson().initSuccessOpen(dataList);
}
@Override
public Map<String, Object> queryCardPackage(HttpServletRequest request) {
String map = (String) request.getAttribute("map");
Map<String, Object> paramMap = JSON.parseObject(map, new TypeReference<Map<String, Object>>() {
});
Map<String, Object> param = (Map<String, Object>) paramMap.get("Param");
List<String> iccidList = JSONArray.parseArray(param.get("iccid").toString(), String.class);
List<Object> dataList = new ArrayList<>();
for (String iccid : iccidList) {
Map<String, Object> cardInfoMaps = yzCardMapper.queryCardPackage(iccid);
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
public ResponseJson mulCardRenewal(HttpServletRequest request) {
Map<String,Object> rMap = new HashMap<>();
String map = (String) request.getAttribute("map");
Map<String, Object> ParamMap = JSON.parseObject(map, new TypeReference<Map<String, Object>>() {
});
Map<String, Object> param = (Map<String, Object>) ParamMap.get("Param");
Map<String, Object> verify = (Map<String, Object>) ParamMap.get("verify");
//查询当前API登录用户agent_id
Object appId = verify.get("appId");
String agentId = agentPackageMapper.findAgentId(appId);
//拿到iccid数组 资费组和资费计划
List<String> iccidList = JSONArray.parseArray(param.get("iccid").toString(), String.class);
String packageId = null;
String packetId = null;
String validateType = null;
try {
packageId = param.get("packageId").toString();
packetId = param.get("packetId").toString();
validateType = param.get("validateType").toString();
} catch (Exception e) {
return new ResponseJson().initErrorOpen("500", "批量续费申请参数不能为空,请检查后重试!");
}
if (iccidList.size() > 500) {
return new ResponseJson().initErrorOpen("500", "批量续费不得超过500张!");
}
//生成订单表信息 yz_order
ResponseJson responseJson = this.generateTableInfo(iccidList, packageId, packetId, validateType, agentId);
if (responseJson.get("status").equals("500")) {
String errorMsg = (String) responseJson.get("message");
return new ResponseJson().errorOpen("500", errorMsg);
}
Map<String, Object> cardPacket = null;
//资费组和资费计划不能为空
if (packageId != null && packageId.length() > 0 && packetId != null && packetId.length() > 0) {
//生成主表信息
//先查询续费资费计划 拿到资费计划单价
cardPacket = yzCardPacketMapper.getPacketInfo(packetId);
HashMap<Object, Object> hashMap = new HashMap<>();
//校验是否有订单信息
if (cardPacket == null) {
return new ResponseJson().initErrorOpen("500", "该资费计划并没有订购信息,请检查后重试!");
}
hashMap.put("dept_id", agentId);
hashMap.put("user_id", "1");
hashMap.put("create_time", VeDate.getStringDate());
hashMap.put("status", 0);
hashMap.put("info", null);
hashMap.put("is_send", 1);
hashMap.put("card_sumCount", iccidList.size());
hashMap.put("amount", Arith.mul(iccidList.size(), (Double) cardPacket.get("packet_price")));
//生成主表信息
renewalPrimaryMapper.insertPrimaryInfo(hashMap);
//1.生成续费申请--资费计划表
//参数准备 pid packet_info card_count
Map<String, Object> findPacketMap = new HashMap<>();
findPacketMap.put("dept_id", agentId);
findPacketMap.put("packet_id", packetId);
Map<String, Object> onePacket = yzCardPacketMapper.findOnePacket(findPacketMap);
Map<String, Object> packetObj = new HashMap<>();
packetObj.put("packet_info", JSON.toJSONString(onePacket));
packetObj.put("card_count", iccidList.size());
//插入主表id
packetObj.put("p_id", hashMap.get("id"));
packetObj.put("dept_id", agentId);
packetObj.put("packet_wx_name", onePacket.get("packet_wx_name"));
packetObj.put("packet_price", onePacket.get("packet_price"));
packetObj.put("packet_flow", onePacket.get("packet_flow"));
packetObj.put("packet_cost", onePacket.get("packet_cost"));
packetObj.put("packet_valid_time", onePacket.get("packet_valid_time"));
packetObj.put("packet_valid_name", onePacket.get("packet_valid_name"));
packetObj.put("packet_id", onePacket.get("packet_id"));
yzApplicationforRenewalMapper.insertRenewal(packetObj);
for (String iccid : iccidList) {
//2.生成续费--订单表
//参数 订单号 主表id为p_id
//查询订单号
String orderNo = yzOrderMapper.selectOrderNo(iccid);
HashMap<String, Object> orderMap = new HashMap<>();
orderMap.put("ord_no", orderNo);
orderMap.put("p_id", hashMap.get("id"));
yzApplicationforRenewalPrimaryOrdNoMapper.insertOrderNo(orderMap);
//3.生成续费--卡号表
//参数 iccid 主表id为b_id b_id为yz_applicationfor_renewal的id
yzApplicationforRenewalPrimaryIccidMapper.insertIccid(iccid, packetObj.get("id").toString());
}
} else {
return new ResponseJson().initErrorOpen("500", "资费计划不能为空!");
}
rMap.put("packetName",cardPacket.get("packetName"));
rMap.put("renewalStatus","审核中");
rMap.put("iccidList",iccidList);
return new ResponseJson().initSuccessOpen(rMap);
}
private ResponseJson generateTableInfo(List<String> iccidList, String packageId, String packetId, String validateType, String agentId) {
for (String iccid : iccidList) {
//卡必要信息
Map<String, Object> cardInfo = yzCardMapper.getOneCardInfo(iccid);
if (cardInfo == null) {
return new ResponseJson().initErrorOpen("500", "卡号"+ iccid +"不存在,请检查信息!");
}else {
//资费计划信息
Map<String, Object> packetInfo = yzCardPacketMapper.getOnePacketInfo(packageId, packetId);
//生成订单
this.insertOrderInfo(cardInfo, packetInfo, validateType);
}
}
return new ResponseJson().successNewOpen(null);
}
private void insertOrderInfo(Map<String, Object> cardInfo, Map<String, Object> packetInfo, String validateType) {
HashMap<String, Object> insertMap = new HashMap<>();
String ord_no = com.yunze.common.utils.yunze.VeDate.getNo(8);
insertMap.put("ord_no", ord_no);
insertMap.put("ord_type", "2");
insertMap.put("ord_name", "平台-批量充值");
String iccid = cardInfo.get("iccid").toString();
insertMap.put("iccid", iccid);
insertMap.put("wx_ord_no", null);
insertMap.put("status", "1");
String price = packetInfo.get("packet_price").toString();
insertMap.put("price", price);
String packet_id = packetInfo.get("packet_id").toString();
insertMap.put("packet_id", packet_id);
insertMap.put("pay_type", "s");
insertMap.put("cre_type", "sys");
insertMap.put("is_profit", "0");
insertMap.put("add_package", "0");
insertMap.put("show_status", "0");
insertMap.put("open_id", null);
insertMap.put("agent_id", cardInfo.get("agent_id"));
insertMap.put("profit_type", "0");
insertMap.put("info", "API续费");
insertMap.put("validate_type", validateType);
insertMap.put("add_parameter", null);
insertMap.put("is_audit", "0");
insertMap.put("is_audi", "0");
yzOrderMapper.insertOrder(insertMap);
}
/**
* 查询修改后的数据--欣桥
* @param request
* @return
*/
@Override
public Map<String, Object> queryDueExpireDateXQ(HttpServletRequest request) {
String map = (String) request.getAttribute("map");
Map<String, Object> paramMap = JSON.parseObject(map, new TypeReference<Map<String, Object>>() {
});
Map<String, Object> param = (Map<String, Object>) paramMap.get("Param");
List<String> iccidList = JSONArray.parseArray(param.get("iccid").toString(), String.class);
List<Object> dueExpireDateList = new ArrayList<>();
for (String iccid : iccidList) {
Map<String,Object> dueExpireDateXQ = yzCardMapper.queryDueExpireDateXQ(iccid);
dueExpireDateList.add(dueExpireDateXQ);
}
return new ResponseJson().initSuccessOpen(dueExpireDateList);
}
}
@@ -40,6 +40,28 @@ public class ResponseJson extends JSONObject {
return this;
}
public ResponseJson successNewOpen(Object data){
this.put("status","1");
this.put("message","成功");
this.put("result",data);
return this;
}
/**
* 初始化返回参数
* @param data
* @return
*/
public ResponseJson initSuccessOpen(Object data){
this.put("data",data);
return this;
}
public ResponseJson initErrorOpen(String code,String msg){
this.put("status",code);
this.put("message",msg);
return this;
}
/**
* 开放接口返回格式
File diff suppressed because it is too large Load Diff