diff --git a/consts/addrCode.go b/consts/addrCode.go new file mode 100644 index 0000000..24cb0d0 --- /dev/null +++ b/consts/addrCode.go @@ -0,0 +1,745 @@ +// Package consts 提供常量定义 +package consts + +// AddrCode 地区码枚举 +type AddrCode string + +const ( + // 地区码常量定义,根据地区码表NEW.xlsx生成 + // 常量命名规则:大写字母加下划线格式,使用表格B列值的拼音 + // 常量值:表格A列的值 + + // ADDR_CODE_QUAN_GUO 全国 + ADDR_CODE_QUAN_GUO AddrCode = "1" + // ADDR_CODE_BEI_JING_SHI 北京市 + ADDR_CODE_BEI_JING_SHI AddrCode = "1000" + // ADDR_CODE_MI_YUN_QU 密云区 + ADDR_CODE_MI_YUN_QU AddrCode = "1027" + // ADDR_CODE_YAN_QING_QU 延庆区 + ADDR_CODE_YAN_QING_QU AddrCode = "1028" + // ADDR_CODE_TIAN_JIN_SHI 天津市 + ADDR_CODE_TIAN_JIN_SHI AddrCode = "1100" + // ADDR_CODE_NING_HE_QU 宁河区 + ADDR_CODE_NING_HE_QU AddrCode = "1121" + // ADDR_CODE_JING_HAI_QU 静海区 + ADDR_CODE_JING_HAI_QU AddrCode = "1123" + // ADDR_CODE_TIAN_JIN_SHI_JI_ZHOU_QU 蓟州区 + ADDR_CODE_TIAN_JIN_SHI_JI_ZHOU_QU AddrCode = "1125" + // ADDR_CODE_BIN_HAI_XIN_QU 滨海新区 + ADDR_CODE_BIN_HAI_XIN_QU AddrCode = "1127" + // ADDR_CODE_HE_BEI_SHENG 河北省 + ADDR_CODE_HE_BEI_SHENG AddrCode = "1200" + // ADDR_CODE_SHI_JIA_ZHUANG_SHI 石家庄市 + ADDR_CODE_SHI_JIA_ZHUANG_SHI AddrCode = "1210" + // ADDR_CODE_JING_XING_XIAN 井陉县 + ADDR_CODE_JING_XING_XIAN AddrCode = "1211" + // ADDR_CODE_LU_QUAN_QU 鹿泉区 + ADDR_CODE_LU_QUAN_QU AddrCode = "1212" + // ADDR_CODE_ZHENG_DING_XIAN 正定县 + ADDR_CODE_ZHENG_DING_XIAN AddrCode = "1213" + // ADDR_CODE_LUAN_CHENG_QU 栾城区 + ADDR_CODE_LUAN_CHENG_QU AddrCode = "1214" + // ADDR_CODE_CHANG_AN_QU 长安区 + ADDR_CODE_CHANG_AN_QU AddrCode = "1215" + // ADDR_CODE_JIA_ZHUANG_SHI_QIAO_XI_QU 桥西区 + ADDR_CODE_JIA_ZHUANG_SHI_QIAO_XI_QU AddrCode = "1216" + // ADDR_CODE_SHI_JIA_ZHUANG_SHI_XIN_HUA_QU 新华区 + ADDR_CODE_SHI_JIA_ZHUANG_SHI_XIN_HUA_QU AddrCode = "1217" + // ADDR_CODE_JING_XING_KUANG_QU 井陉矿区 + ADDR_CODE_JING_XING_KUANG_QU AddrCode = "1218" + // ADDR_CODE_YU_HUA_QU 裕华区 + ADDR_CODE_YU_HUA_QU AddrCode = "1219" + // ADDR_CODE_XIN_JI_SHI 辛集市 + ADDR_CODE_XIN_JI_SHI AddrCode = "1221" + // ADDR_CODE_JIN_ZHOU_SHI 晋州市 + ADDR_CODE_JIN_ZHOU_SHI AddrCode = "1222" + // ADDR_CODE_SHEN_ZE_XIAN 深泽县 + ADDR_CODE_SHEN_ZE_XIAN AddrCode = "1223" + // ADDR_CODE_WU_JI_XIAN 无极县 + ADDR_CODE_WU_JI_XIAN AddrCode = "1224" + // ADDR_CODE_GAO_CHENG_QU 藁城区 + ADDR_CODE_GAO_CHENG_QU AddrCode = "1225" + // ADDR_CODE_ZHAO_XIAN 赵县 + ADDR_CODE_ZHAO_XIAN AddrCode = "1226" + // ADDR_CODE_XIN_LE_SHI 新乐市 + ADDR_CODE_XIN_LE_SHI AddrCode = "1227" + // ADDR_CODE_GAO_YI_XIAN 高邑县 + ADDR_CODE_GAO_YI_XIAN AddrCode = "1228" + // ADDR_CODE_YUAN_SHI_XIAN 元氏县 + ADDR_CODE_YUAN_SHI_XIAN AddrCode = "1229" + // ADDR_CODE_ZAN_HUANG_XIAN 赞皇县 + ADDR_CODE_ZAN_HUANG_XIAN AddrCode = "1231" + // ADDR_CODE_PING_SHAN_XIAN 平山县 + ADDR_CODE_PING_SHAN_XIAN AddrCode = "1232" + // ADDR_CODE_LING_SHOU_XIAN 灵寿县 + ADDR_CODE_LING_SHOU_XIAN AddrCode = "1233" + // ADDR_CODE_XING_TANG_XIAN 行唐县 + ADDR_CODE_XING_TANG_XIAN AddrCode = "1234" + // ADDR_CODE_TANG_SHAN_SHI 唐山市 + ADDR_CODE_TANG_SHAN_SHI AddrCode = "1240" + // ADDR_CODE_LU_NAN_QU 路南区 + ADDR_CODE_LU_NAN_QU AddrCode = "1241" + // ADDR_CODE_LU_BEI_QU 路北区 + ADDR_CODE_LU_BEI_QU AddrCode = "1242" + // ADDR_CODE_LUAN_ZHOU_SHI 滦州市 + ADDR_CODE_LUAN_ZHOU_SHI AddrCode = "1243" + // ADDR_CODE_LUAN_NAN_XIAN 滦南县 + ADDR_CODE_LUAN_NAN_XIAN AddrCode = "1244" + // ADDR_CODE_LE_TING_XIAN 乐亭县 + ADDR_CODE_LE_TING_XIAN AddrCode = "1245" + // ADDR_CODE_QIAN_AN_SHI 迁安市 + ADDR_CODE_QIAN_AN_SHI AddrCode = "1246" + // ADDR_CODE_QIAN_XI_XIAN 迁西县 + ADDR_CODE_QIAN_XI_XIAN AddrCode = "1247" + // ADDR_CODE_ZUN_HUA_SHI 遵化市 + ADDR_CODE_ZUN_HUA_SHI AddrCode = "1248" + // ADDR_CODE_YU_TIAN_XIAN 玉田县 + ADDR_CODE_YU_TIAN_XIAN AddrCode = "1249" + // ADDR_CODE_FENG_NAN_QU 丰南区 + ADDR_CODE_FENG_NAN_QU AddrCode = "1251" + // ADDR_CODE_GU_YE_QU 古冶区 + ADDR_CODE_GU_YE_QU AddrCode = "1252" + // ADDR_CODE_KAI_PING_QU 开平区 + ADDR_CODE_KAI_PING_QU AddrCode = "1253" + // ADDR_CODE_FENG_RUN_QU 丰润区 + ADDR_CODE_FENG_RUN_QU AddrCode = "1254" + // ADDR_CODE_CAO_FEI_DIAN_QU 曹妃甸区 + ADDR_CODE_CAO_FEI_DIAN_QU AddrCode = "1255" + // ADDR_CODE_QIN_HUANG_DAO_SHI 秦皇岛市 + ADDR_CODE_QIN_HUANG_DAO_SHI AddrCode = "1260" + // ADDR_CODE_QING_LONG_MAN_ZU_ZI_ZHI_XIAN 青龙满族自治县 + ADDR_CODE_QING_LONG_MAN_ZU_ZI_ZHI_XIAN AddrCode = "1261" + // ADDR_CODE_CHANG_LI_XIAN 昌黎县 + ADDR_CODE_CHANG_LI_XIAN AddrCode = "1262" + // ADDR_CODE_FU_NING_QU 抚宁区 + ADDR_CODE_FU_NING_QU AddrCode = "1263" + // ADDR_CODE_LU_LONG_XIAN 卢龙县 + ADDR_CODE_LU_LONG_XIAN AddrCode = "1264" + // ADDR_CODE_HAI_GANG_QU 海港区 + ADDR_CODE_HAI_GANG_QU AddrCode = "1265" + // ADDR_CODE_SHAN_HAI_GU_QU 山海关区 + ADDR_CODE_SHAN_HAI_GU_QU AddrCode = "1266" + // ADDR_CODE_BEI_DAI_HE_QU 北戴河区 + ADDR_CODE_BEI_DAI_HE_QU AddrCode = "1267" + // ADDR_CODE_HAN_DAN_SHI 邯郸市 + ADDR_CODE_HAN_DAN_SHI AddrCode = "1270" + // ADDR_CODE_HAN_DAN_XIAN 邯郸县 + ADDR_CODE_HAN_DAN_XIAN AddrCode = "1271" + // ADDR_CODE_HAN_SHAN_QU 邯山区 + ADDR_CODE_HAN_SHAN_QU AddrCode = "1272" + // ADDR_CODE_CONG_TAI_QU 丛台区 + ADDR_CODE_CONG_TAI_QU AddrCode = "1273" + // ADDR_CODE_FU_XING_QU 复兴区 + ADDR_CODE_FU_XING_QU AddrCode = "1274" + // ADDR_CODE_FENG_FENG_KUANG_QU 峰峰矿区 + ADDR_CODE_FENG_FENG_KUANG_QU AddrCode = "1275" + // ADDR_CODE_DA_MING_XIAN 大名县 + ADDR_CODE_DA_MING_XIAN AddrCode = "1281" + // ADDR_CODE_HAN_DAN_SHI_WEI_XIAN 魏县 + ADDR_CODE_HAN_DAN_SHI_WEI_XIAN AddrCode = "1282" + // ADDR_CODE_QU_ZHOU_XIAN 曲周县 + ADDR_CODE_QU_ZHOU_XIAN AddrCode = "1283" + // ADDR_CODE_QIU_XIAN 邱县 + ADDR_CODE_QIU_XIAN AddrCode = "1284" + // ADDR_CODE_JI_ZE_XIAN 鸡泽县 + ADDR_CODE_JI_ZE_XIAN AddrCode = "1285" + // ADDR_CODE_FEI_XIANG_QU 肥乡区 + ADDR_CODE_FEI_XIANG_QU AddrCode = "1286" + // ADDR_CODE_GUANG_PING_XIAN 广平县 + ADDR_CODE_GUANG_PING_XIAN AddrCode = "1287" + // ADDR_CODE_CHENG_AN_XIAN 成安县 + ADDR_CODE_CHENG_AN_XIAN AddrCode = "1288" + // ADDR_CODE_LIN_ZHANG_XIAN 临漳县 + ADDR_CODE_LIN_ZHANG_XIAN AddrCode = "1289" + // ADDR_CODE_CI_XIAN 磁县 + ADDR_CODE_CI_XIAN AddrCode = "1291" + // ADDR_CODE_SHE_XIAN 涉县 + ADDR_CODE_SHE_XIAN AddrCode = "1292" + // ADDR_CODE_YONG_NIAN_QU 永年区 + ADDR_CODE_YONG_NIAN_QU AddrCode = "1293" + // ADDR_CODE_GUAN_TAO_XIAN 馆陶县 + ADDR_CODE_GUAN_TAO_XIAN AddrCode = "1294" + // ADDR_CODE_WU_AN_SHI 武安市 + ADDR_CODE_WU_AN_SHI AddrCode = "1295" + // ADDR_CODE_XING_TAI_SHI 邢台市 + ADDR_CODE_XING_TAI_SHI AddrCode = "1310" + // ADDR_CODE_XING_TAI_XIAN 邢台县 + ADDR_CODE_XING_TAI_XIAN AddrCode = "1311" + // ADDR_CODE_XIANG_DOU_QU 襄都区 + ADDR_CODE_XIANG_DOU_QU AddrCode = "1312" + // ADDR_CODE_XIN_DU_QU 信都区 + ADDR_CODE_XIN_DU_QU AddrCode = "1313" + // ADDR_CODE_NAN_GONG_SHI 南宫市 + ADDR_CODE_NAN_GONG_SHI AddrCode = "1321" + // ADDR_CODE_SHA_HE_SHI 沙河市 + ADDR_CODE_SHA_HE_SHI AddrCode = "1322" + // ADDR_CODE_LIN_CHENG_XIAN 临城县 + ADDR_CODE_LIN_CHENG_XIAN AddrCode = "1323" + // ADDR_CODE_NEI_QIU_XIAN 内丘县 + ADDR_CODE_NEI_QIU_XIAN AddrCode = "1324" + // ADDR_CODE_BAI_XIANG_XIAN 柏乡县 + ADDR_CODE_BAI_XIANG_XIAN AddrCode = "1325" + // ADDR_CODE_LONG_YAO_XIAN 隆尧县 + ADDR_CODE_LONG_YAO_XIAN AddrCode = "1326" + // ADDR_CODE_REN_ZE_QU 任泽区 + ADDR_CODE_REN_ZE_QU AddrCode = "1327" + // ADDR_CODE_NAN_HE_QU 南和区 + ADDR_CODE_NAN_HE_QU AddrCode = "1328" + // ADDR_CODE_NING_JIN_XIAN 宁晋县 + ADDR_CODE_NING_JIN_XIAN AddrCode = "1329" + // ADDR_CODE_JU_LU_XIAN 巨鹿县 + ADDR_CODE_JU_LU_XIAN AddrCode = "1331" + // ADDR_CODE_XIN_HE_XIAN 新河县 + ADDR_CODE_XIN_HE_XIAN AddrCode = "1332" + // ADDR_CODE_GUANG_ZONG_XIAN 广宗县 + ADDR_CODE_GUANG_ZONG_XIAN AddrCode = "1333" + // ADDR_CODE_PING_XIANG_XIAN 平乡县 + ADDR_CODE_PING_XIANG_XIAN AddrCode = "1334" + // ADDR_CODE_WEI_XIAN 威县 + ADDR_CODE_XING_TAI_SHI_WEI_XIAN AddrCode = "1335" + // ADDR_CODE_QING_HE_XIAN 清河县 + ADDR_CODE_QING_HE_XIAN AddrCode = "1336" + // ADDR_CODE_SHA_HE_SHI_LIN_XI_XIAN 临西县 + ADDR_CODE_SHA_HE_SHI_LIN_XI_XIAN AddrCode = "1337" + // ADDR_CODE_BAO_DING_SHI 保定市 + ADDR_CODE_BAO_DING_SHI AddrCode = "1340" + // ADDR_CODE_MAN_CHENG_QU 满城区 + ADDR_CODE_MAN_CHENG_QU AddrCode = "1341" + // ADDR_CODE_QING_YUAN_QU 清苑区 + ADDR_CODE_QING_YUAN_QU AddrCode = "1342" + // ADDR_CODE_JING_XIU_QU 竞秀区 + ADDR_CODE_JING_XIU_QU AddrCode = "1343" + // ADDR_CODE_LIAN_CHI_QU 莲池区 + ADDR_CODE_LIAN_CHI_QU AddrCode = "1344" + // ADDR_CODE_DING_ZHOU_SHI 定州市 + ADDR_CODE_DING_ZHOU_SHI AddrCode = "1351" + // ADDR_CODE_ZHUO_ZHOU_SHI 涿州市 + ADDR_CODE_ZHUO_ZHOU_SHI AddrCode = "1352" + // ADDR_CODE_YI_XIAN 易县 + ADDR_CODE_YI_XIAN AddrCode = "1353" + // ADDR_CODE_XU_SHUI_QU 徐水区 + ADDR_CODE_XU_SHUI_QU AddrCode = "1354" + // ADDR_CODE_LAI_YUAN_XIAN 涞源县 + ADDR_CODE_LAI_YUAN_XIAN AddrCode = "1355" + // ADDR_CODE_DING_XING_XIAN 定兴县 + ADDR_CODE_DING_XING_XIAN AddrCode = "1356" + // ADDR_CODE_SHUN_PING_XIAN 顺平县 + ADDR_CODE_SHUN_PING_XIAN AddrCode = "1357" + // ADDR_CODE_TANG_XIAN 唐县 + ADDR_CODE_TANG_XIAN AddrCode = "1358" + // ADDR_CODE_WANG_DU_XIAN 望都县 + ADDR_CODE_WANG_DU_XIAN AddrCode = "1359" + // ADDR_CODE_LAI_SHUI_XIAN 涞水县 + ADDR_CODE_LAI_SHUI_XIAN AddrCode = "1361" + // ADDR_CODE_GAO_YANG_XIAN 高阳县 + ADDR_CODE_GAO_YANG_XIAN AddrCode = "1362" + // ADDR_CODE_AN_XIN_XIAN 安新县 + ADDR_CODE_AN_XIN_XIAN AddrCode = "1363" + // ADDR_CODE_XIONG_XIAN 雄县 + ADDR_CODE_XIONG_XIAN AddrCode = "1364" + // ADDR_CODE_RONG_CHENG_XIAN 容城县 + ADDR_CODE_RONG_CHENG_XIAN AddrCode = "1365" + // ADDR_CODE_GAO_BEI_DIAN_SHI 高碑店市 + ADDR_CODE_GAO_BEI_DIAN_SHI AddrCode = "1366" + // ADDR_CODE_QU_YANG_XIAN 曲阳县 + ADDR_CODE_QU_YANG_XIAN AddrCode = "1367" + // ADDR_CODE_FU_PING_XIAN 阜平县 + ADDR_CODE_FU_PING_XIAN AddrCode = "1368" + // ADDR_CODE_AN_GUO_SHI 安国市 + ADDR_CODE_AN_GUO_SHI AddrCode = "1369" + // ADDR_CODE_BO_YE_XIAN 博野县 + ADDR_CODE_BO_YE_XIAN AddrCode = "1371" + // ADDR_CODE_LI_XIAN 蠡县 + ADDR_CODE_LI_XIAN AddrCode = "1372" + // ADDR_CODE_ZHANG_JIA_KOU_SHI 张家口市 + ADDR_CODE_ZHANG_JIA_KOU_SHI AddrCode = "1380" + // ADDR_CODE_XUAN_HUA_XIAN 宣化县 + ADDR_CODE_XUAN_HUA_XIAN AddrCode = "1381" + // ADDR_CODE_QIAO_DONG_QU 桥东区 + ADDR_CODE_QIAO_DONG_QU AddrCode = "1382" + // ADDR_CODE_JIA_KOU_SHI_QIAO_XI_QU 桥西区 + ADDR_CODE_JIA_KOU_SHI_QIAO_XI_QU AddrCode = "1383" + // ADDR_CODE_XUAN_HUA_QU 宣化区 + ADDR_CODE_XUAN_HUA_QU AddrCode = "1384" + // ADDR_CODE_XIA_HUA_YUAN_QU 下花园区 + ADDR_CODE_XIA_HUA_YUAN_QU AddrCode = "1385" + // ADDR_CODE_ZHANG_BEI_XIAN 张北县 + ADDR_CODE_ZHANG_BEI_XIAN AddrCode = "1391" + // ADDR_CODE_KANG_BAO_XIAN 康保县 + ADDR_CODE_KANG_BAO_XIAN AddrCode = "1392" + // ADDR_CODE_GU_YUAN_XIAN 沽源县 + ADDR_CODE_GU_YUAN_XIAN AddrCode = "1393" + // ADDR_CODE_SHANG_YI_XIAN 尚义县 + ADDR_CODE_SHANG_YI_XIAN AddrCode = "1394" + // ADDR_CODE_ZHANG_JIA_KOU_SHI_YU_XIAN 蔚县 + ADDR_CODE_ZHANG_JIA_KOU_SHI_YU_XIAN AddrCode = "1395" + // ADDR_CODE_YANG_YUAN_XIAN 阳原县 + ADDR_CODE_YANG_YUAN_XIAN AddrCode = "1396" + // ADDR_CODE_HUAI_AN_XIAN 怀安县 + ADDR_CODE_HUAI_AN_XIAN AddrCode = "1397" + // ADDR_CODE_WAN_QUAN_QU 万全区 + ADDR_CODE_WAN_QUAN_QU AddrCode = "1398" + // ADDR_CODE_HUAI_LAI_XIAN 怀来县 + ADDR_CODE_HUAI_LAI_XIAN AddrCode = "1399" + // ADDR_CODE_ZHUO_LU_XIAN 涿鹿县 + ADDR_CODE_ZHUO_LU_XIAN AddrCode = "1401" + // ADDR_CODE_CHI_CHENG_XIAN 赤城县 + ADDR_CODE_CHI_CHENG_XIAN AddrCode = "1402" + // ADDR_CODE_CHONG_LI_QU 崇礼区 + ADDR_CODE_CHONG_LI_QU AddrCode = "1403" + // ADDR_CODE_CHENG_DE_SHI 承德市 + ADDR_CODE_CHENG_DE_SHI AddrCode = "1410" + // ADDR_CODE_CHENG_DE_XIAN 承德县 + ADDR_CODE_CHENG_DE_XIAN AddrCode = "1411" + // ADDR_CODE_SHUANG_LUAN_QU 双滦区 + ADDR_CODE_SHUANG_LUAN_QU AddrCode = "1413" + // ADDR_CODE_YING_SHOU_YING_ZI_KUANG_QU 鹰手营子矿区 + ADDR_CODE_YING_SHOU_YING_ZI_KUANG_QU AddrCode = "1414" + // ADDR_CODE_KUAN_CHENG_MAN_ZU_ZI_ZHI_XIAN 宽城满族自治县 + ADDR_CODE_KUAN_CHENG_MAN_ZU_ZI_ZHI_XIAN AddrCode = "1421" + // ADDR_CODE_XING_LONG_XIAN 兴隆县 + ADDR_CODE_XING_LONG_XIAN AddrCode = "1422" + // ADDR_CODE_PING_QUAN_SHI 平泉市 + ADDR_CODE_PING_QUAN_SHI AddrCode = "1423" + // ADDR_CODE_LUAN_PING_XIAN 滦平县 + ADDR_CODE_LUAN_PING_XIAN AddrCode = "1424" + // ADDR_CODE_FENG_NING_MAN_ZU_ZI_ZHI_XIAN 丰宁满族自治县 + ADDR_CODE_FENG_NING_MAN_ZU_ZI_ZHI_XIAN AddrCode = "1425" + // ADDR_CODE_LONG_HUA_XIAN 隆化县 + ADDR_CODE_LONG_HUA_XIAN AddrCode = "1426" + // ADDR_CODE_WEI_CHANG_MAN_ZU_MENG_GU_ZU_ZI_ZHI_XIAN 围场满族蒙古族自治县 + ADDR_CODE_WEI_CHANG_MAN_ZU_MENG_GU_ZU_ZI_ZHI_XIAN AddrCode = "1427" + // ADDR_CODE_CANG_ZHOU_SHI 沧州市 + ADDR_CODE_CANG_ZHOU_SHI AddrCode = "1430" + // ADDR_CODE_CANG_XIAN 沧县 + ADDR_CODE_CANG_XIAN AddrCode = "1431" + // ADDR_CODE_QING_XIAN 青县 + ADDR_CODE_QING_XIAN AddrCode = "1432" + // ADDR_CODE_XIN_HUA_QU_TWO 新华区 + ADDR_CODE_XIN_HUA_QU_TWO AddrCode = "1433" + // ADDR_CODE_PO_TOU_SHI 泊头市 + ADDR_CODE_PO_TOU_SHI AddrCode = "1441" + // ADDR_CODE_REN_QIU_SHI 任丘市 + ADDR_CODE_REN_QIU_SHI AddrCode = "1442" + // ADDR_CODE_HE_JIAN_SHI 河间市 + ADDR_CODE_HE_JIAN_SHI AddrCode = "1443" + // ADDR_CODE_SU_NING_XIAN 肃宁县 + ADDR_CODE_SU_NING_XIAN AddrCode = "1444" + // ADDR_CODE_XIAN_XIAN 献县 + ADDR_CODE_XIAN_XIAN AddrCode = "1445" + // ADDR_CODE_WU_QIAO_XIAN 吴桥县 + ADDR_CODE_WU_QIAO_XIAN AddrCode = "1446" + // ADDR_CODE_DONG_GUANG_XIAN 东光县 + ADDR_CODE_DONG_GUANG_XIAN AddrCode = "1447" + // ADDR_CODE_NAN_PI_XIAN 南皮县 + ADDR_CODE_NAN_PI_XIAN AddrCode = "1448" + // ADDR_CODE_YAN_SHAN_XIAN 盐山县 + ADDR_CODE_YAN_SHAN_XIAN AddrCode = "1449" + // ADDR_CODE_HUANG_HUA_SHI 黄骅市 + ADDR_CODE_HUANG_HUA_SHI AddrCode = "1451" + // ADDR_CODE_MENG_CUN_HUI_ZU_ZI_ZHI_XIAN 孟村回族自治县 + ADDR_CODE_MENG_CUN_HUI_ZU_ZI_ZHI_XIAN AddrCode = "1452" + // ADDR_CODE_HAI_XING_XIAN 海兴县 + ADDR_CODE_HAI_XING_XIAN AddrCode = "1453" + // ADDR_CODE_YUN_HE_QU 运河区 + ADDR_CODE_YUN_HE_QU AddrCode = "1454" + // ADDR_CODE_LANG_FANG_SHI 廊坊市 + ADDR_CODE_LANG_FANG_SHI AddrCode = "1460" + // ADDR_CODE_SAN_HE_SHI 三河市 + ADDR_CODE_SAN_HE_SHI AddrCode = "1461" + // ADDR_CODE_GU_AN_XIAN 固安县 + ADDR_CODE_GU_AN_XIAN AddrCode = "1462" + // ADDR_CODE_YONG_QING_XIAN 永清县 + ADDR_CODE_YONG_QING_XIAN AddrCode = "1463" + // ADDR_CODE_XIANG_HE_XIAN 香河县 + ADDR_CODE_XIANG_HE_XIAN AddrCode = "1464" + // ADDR_CODE_DA_CHENG_XIAN 大城县 + ADDR_CODE_DA_CHENG_XIAN AddrCode = "1465" + // ADDR_CODE_WEN_AN_XIAN 文安县 + ADDR_CODE_WEN_AN_XIAN AddrCode = "1466" + // ADDR_CODE_BA_ZHOU_SHI 霸州市 + ADDR_CODE_BA_ZHOU_SHI AddrCode = "1467" + // ADDR_CODE_DA_CHANG_HUI_ZU_ZI_ZHI_XIAN 大厂回族自治县 + ADDR_CODE_DA_CHANG_HUI_ZU_ZI_ZHI_XIAN AddrCode = "1468" + // ADDR_CODE_AN_CI_QU 安次区 + ADDR_CODE_AN_CI_QU AddrCode = "1469" + // ADDR_CODE_GUANG_YANG_QU 广阳区 + ADDR_CODE_GUANG_YANG_QU AddrCode = "1471" + // ADDR_CODE_HENG_SHUI_SHI 衡水市 + ADDR_CODE_HENG_SHUI_SHI AddrCode = "1480" + // ADDR_CODE_JI_ZHOU_QU_TWO 冀州区 + ADDR_CODE_JI_ZHOU_QU_TOW AddrCode = "1482" + // ADDR_CODE_ZAO_QIANG_XIAN 枣强县 + ADDR_CODE_ZAO_QIANG_XIAN AddrCode = "1483" + // ADDR_CODE_WU_YI_XIAN 武邑县 + ADDR_CODE_WU_YI_XIAN AddrCode = "1484" + // ADDR_CODE_SHEN_ZHOU_SHI 深州市 + ADDR_CODE_SHEN_ZHOU_SHI AddrCode = "1485" + // ADDR_CODE_WU_QIANG_XIAN 武强县 + ADDR_CODE_WU_QIANG_XIAN AddrCode = "1486" + // ADDR_CODE_RAO_YANG_XIAN 饶阳县 + ADDR_CODE_RAO_YANG_XIAN AddrCode = "1487" + // ADDR_CODE_AN_PING_XIAN 安平县 + ADDR_CODE_AN_PING_XIAN AddrCode = "1488" + // ADDR_CODE_GU_CHENG_XIAN 故城县 + ADDR_CODE_GU_CHENG_XIAN AddrCode = "1489" + // ADDR_CODE_JING_XIAN 景县 + ADDR_CODE_JING_XIAN AddrCode = "1491" + // ADDR_CODE_FU_CHENG_XIAN 阜城县 + ADDR_CODE_FU_CHENG_XIAN AddrCode = "1492" + // ADDR_CODE_SHAN_XI_SHENG 山西省 + ADDR_CODE_SHAN_XI_SHENG AddrCode = "1600" + // ADDR_CODE_TAI_YUAN_SHI 太原市 + ADDR_CODE_TAI_YUAN_SHI AddrCode = "1610" + // ADDR_CODE_QING_XU_XIAN 清徐县 + ADDR_CODE_QING_XU_XIAN AddrCode = "1611" + // ADDR_CODE_YANG_QU_XIAN 阳曲县 + ADDR_CODE_YANG_QU_XIAN AddrCode = "1612" + // ADDR_CODE_LOU_FAN_XIAN 娄烦县 + ADDR_CODE_LOU_FAN_XIAN AddrCode = "1613" + // ADDR_CODE_GU_JIAO_SHI 古交市 + ADDR_CODE_GU_JIAO_SHI AddrCode = "1614" + // ADDR_CODE_JIAN_CAO_PING_QU 尖草坪区 + ADDR_CODE_JIAN_CAO_PING_QU AddrCode = "1615" + // ADDR_CODE_XIAO_DIAN_QU 小店区 + ADDR_CODE_XIAO_DIAN_QU AddrCode = "1616" + // ADDR_CODE_YING_ZE_QU 迎泽区 + ADDR_CODE_YING_ZE_QU AddrCode = "1617" + // ADDR_CODE_XING_HUA_LING_QU 杏花岭区 + ADDR_CODE_XING_HUA_LING_QU AddrCode = "1618" + // ADDR_CODE_WAN_BAI_LIN_QU 万柏林区 + ADDR_CODE_WAN_BAI_LIN_QU AddrCode = "1619" + // ADDR_CODE_DA_TONG_SHI 大同市 + ADDR_CODE_DA_TONG_SHI AddrCode = "1620" + // ADDR_CODE_JIN_YUAN_QU 晋源区 + ADDR_CODE_JIN_YUAN_QU AddrCode = "1621" + // ADDR_CODE_YANG_GAO_XIAN 阳高县 + ADDR_CODE_YANG_GAO_XIAN AddrCode = "1631" + // ADDR_CODE_TIAN_ZHEN_XIAN 天镇县 + ADDR_CODE_TIAN_ZHEN_XIAN AddrCode = "1632" + // ADDR_CODE_GUANG_LING_XIAN 广灵县 + ADDR_CODE_GUANG_LING_XIAN AddrCode = "1633" + // ADDR_CODE_LING_QIU_XIAN 灵丘县 + ADDR_CODE_LING_QIU_XIAN AddrCode = "1634" + // ADDR_CODE_HUN_YUAN_XIAN 浑源县 + ADDR_CODE_HUN_YUAN_XIAN AddrCode = "1635" + // ADDR_CODE_ZUO_YUN_XIAN 左云县 + ADDR_CODE_ZUO_YUN_XIAN AddrCode = "1637" + // ADDR_CODE_NAN_JIAO_QU 南郊区 + ADDR_CODE_NAN_JIAO_QU AddrCode = "1638" + // ADDR_CODE_YUN_ZHOU_QU 云州区 + ADDR_CODE_YUN_ZHOU_QU AddrCode = "1639" + // ADDR_CODE_PING_CHENG_QU 平城区 + ADDR_CODE_PING_CHENG_QU AddrCode = "1641" + // ADDR_CODE_YUN_GANG_QU 云冈区 + ADDR_CODE_YUN_GANG_QU AddrCode = "1642" + // ADDR_CODE_XIN_RONG_QU 新荣区 + ADDR_CODE_XIN_RONG_QU AddrCode = "1643" + // ADDR_CODE_YANG_QUAN_SHI 阳泉市 + ADDR_CODE_YANG_QUAN_SHI AddrCode = "1650" + // ADDR_CODE_PING_DING_XIAN 平定县 + ADDR_CODE_PING_DING_XIAN AddrCode = "1651" + // ADDR_CODE_YU_XIAN_TWO 盂县 + ADDR_CODE_YU_XIAN_TWO AddrCode = "1652" + // ADDR_CODE_CHENG_QU 城区 + ADDR_CODE_YU_XIAN_TWO_CHENG_QU AddrCode = "1653" + // ADDR_CODE_YU_XIAN_TWO_KUANG_QU 矿区 + ADDR_CODE_YU_XIAN_TWO_KUANG_QU AddrCode = "1654" + // ADDR_CODE_JIAO_QU 郊区 + ADDR_CODE_YU_XIAN_TWO_JIAO_QU AddrCode = "1655" + // ADDR_CODE_CHANG_ZHI_SHI 长治市 + ADDR_CODE_CHANG_ZHI_SHI AddrCode = "1660" + // ADDR_CODE_SHANG_DANG_QU 上党区 + ADDR_CODE_SHANG_DANG_QU AddrCode = "1661" + // ADDR_CODE_LU_CHENG_QU 潞城区 + ADDR_CODE_LU_CHENG_QU AddrCode = "1662" + // ADDR_CODE_XIANG_YUAN_XIAN 襄垣县 + ADDR_CODE_XIANG_YUAN_XIAN AddrCode = "1663" + // ADDR_CODE_TUN_LIU_QU 屯留区 + ADDR_CODE_TUN_LIU_QU AddrCode = "1664" + // ADDR_CODE_PIN_SHUN_XIAN 平顺县 + ADDR_CODE_PIN_SHUN_XIAN AddrCode = "1665" + // ADDR_CODE_LI_CHENG_XIAN 黎城县 + ADDR_CODE_LI_CHENG_XIAN AddrCode = "1666" + // ADDR_CODE_HU_GUAN_XIAN 壶关县 + ADDR_CODE_HU_GUAN_XIAN AddrCode = "1667" + // ADDR_CODE_ZHANG_ZI_XIAN 长子县 + ADDR_CODE_ZHANG_ZI_XIAN AddrCode = "1668" + // ADDR_CODE_WU_XIANG_XIAN 武乡县 + ADDR_CODE_WU_XIANG_XIAN AddrCode = "1669" + // ADDR_CODE_QIN_XIAN 沁县 + ADDR_CODE_QIN_XIAN AddrCode = "1671" + // ADDR_CODE_QIN_YUAN_XIAN 沁源县 + ADDR_CODE_QIN_YUAN_XIAN AddrCode = "1672" + // ADDR_CODE_LU_ZHOU_QU 潞州区 + ADDR_CODE_LU_ZHOU_QU AddrCode = "1673" + // ADDR_CODE_JIAO_QU 郊区 + ADDR_CODE_JIAO_QU AddrCode = "1674" + // ADDR_CODE_JIN_CHENG_SHI 晋城市 + ADDR_CODE_JIN_CHENG_SHI AddrCode = "1680" + // ADDR_CODE_QIN_SHUI_XIAN 沁水县 + ADDR_CODE_QIN_SHUI_XIAN AddrCode = "1681" + // ADDR_CODE_YANG_CHENG_XIAN 阳城县 + ADDR_CODE_YANG_CHENG_XIAN AddrCode = "1682" + // ADDR_CODE_GAO_PING_SHI 高平市 + ADDR_CODE_GAO_PING_SHI AddrCode = "1683" + // ADDR_CODE_LING_CHUAN_XIAN 陵川县 + ADDR_CODE_LING_CHUAN_XIAN AddrCode = "1684" + // ADDR_CODE_ZE_ZHOU_XIAN 泽州县 + ADDR_CODE_ZE_ZHOU_XIAN AddrCode = "1685" + // ADDR_CODE_CHENG_QU 城区 + ADDR_CODE_CHENG_QU AddrCode = "1686" + // ADDR_CODE_SHUO_ZHOU_SHI 朔州市 + ADDR_CODE_SHUO_ZHOU_SHI AddrCode = "1690" + // ADDR_CODE_SHAN_YIN_XIAN 山阴县 + ADDR_CODE_SHAN_YIN_XIAN AddrCode = "1691" + // ADDR_CODE_YING_XIAN 应县 + ADDR_CODE_YING_XIAN AddrCode = "1692" + // ADDR_CODE_YOU_YU_XIAN 右玉县 + ADDR_CODE_YOU_YU_XIAN AddrCode = "1693" + // ADDR_CODE_HUAI_REN_SHI 怀仁市 + ADDR_CODE_HUAI_REN_SHI AddrCode = "1694" + // ADDR_CODE_SHUO_CHENG_QU 朔城区 + ADDR_CODE_SHUO_CHENG_QU AddrCode = "1695" + // ADDR_CODE_PING_LU_QU 平鲁区 + ADDR_CODE_PING_LU_QU AddrCode = "1696" + // ADDR_CODE_XIN_ZHOU_SHI 忻州市 + ADDR_CODE_XIN_ZHOU_SHI AddrCode = "1710" + // ADDR_CODE_DING_XIANG_XIAN 定襄县 + ADDR_CODE_DING_XIANG_XIAN AddrCode = "1712" + // ADDR_CODE_WU_TAI_XIAN 五台县 + ADDR_CODE_WU_TAI_XIAN AddrCode = "1713" + // ADDR_CODE_YUAN_PING_SHI 原平市 + ADDR_CODE_YUAN_PING_SHI AddrCode = "1714" + // ADDR_CODE_DAI_XIAN 代县 + ADDR_CODE_DAI_XIAN AddrCode = "1715" + // ADDR_CODE_FAN_SHI_XIAN 繁峙县 + ADDR_CODE_FAN_SHI_XIAN AddrCode = "1716" + // ADDR_CODE_NING_WU_XIAN 宁武县 + ADDR_CODE_NING_WU_XIAN AddrCode = "1717" + // ADDR_CODE_JING_LE_XIAN 静乐县 + ADDR_CODE_JING_LE_XIAN AddrCode = "1718" + // ADDR_CODE_SHEN_CHI_XIAN 神池县 + ADDR_CODE_SHEN_CHI_XIAN AddrCode = "1719" + // ADDR_CODE_WU_ZHAI_XIAN 五寨县 + ADDR_CODE_WU_ZHAI_XIAN AddrCode = "1721" + // ADDR_CODE_KE_LAN_XIAN 岢岚县 + ADDR_CODE_KE_LAN_XIAN AddrCode = "1722" + // ADDR_CODE_HE_QU_XIAN 河曲县 + ADDR_CODE_HE_QU_XIAN AddrCode = "1723" + // ADDR_CODE_BAO_DE_XIAN 保德县 + ADDR_CODE_BAO_DE_XIAN AddrCode = "1724" + // ADDR_CODE_PIAN_GUAN_XIAN 偏关县 + ADDR_CODE_PIAN_GUAN_XIAN AddrCode = "1725" + // ADDR_CODE_XIN_FU_QU 忻府区 + ADDR_CODE_XIN_FU_QU AddrCode = "1726" + // ADDR_CODE_LV_LIANG_SHI 吕梁市 + ADDR_CODE_LV_LIANG_SHI AddrCode = "1730" + // ADDR_CODE_FEN_YANG_SHI 汾阳市 + ADDR_CODE_FEN_YANG_SHI AddrCode = "1731" + // ADDR_CODE_WEN_SHUI_XIAN 文水县 + ADDR_CODE_WEN_SHUI_XIAN AddrCode = "1732" + // ADDR_CODE_JIAO_CHENG_XIAN 交城县 + ADDR_CODE_JIAO_CHENG_XIAN AddrCode = "1733" + // ADDR_CODE_XIAO_YI_SHI 孝义市 + ADDR_CODE_XIAO_YI_SHI AddrCode = "1734" + // ADDR_CODE_XING_XIAN 兴县 + ADDR_CODE_XING_XIAN AddrCode = "1735" + // ADDR_CODE_LIN_XIAN 临县 + ADDR_CODE_LIN_XIAN AddrCode = "1736" + // ADDR_CODE_LIU_LIN_XIAN 柳林县 + ADDR_CODE_LIU_LIN_XIAN AddrCode = "1737" + // ADDR_CODE_SHI_LOU_XIAN 石楼县 + ADDR_CODE_SHI_LOU_XIAN AddrCode = "1738" + // ADDR_CODE_LAN_XIAN 岚县 + ADDR_CODE_LAN_XIAN AddrCode = "1739" + // ADDR_CODE_FANG_SHAN_XIAN 方山县 + ADDR_CODE_FANG_SHAN_XIAN AddrCode = "1741" + // ADDR_CODE_ZHONG_YANG_XIAN 中阳县 + ADDR_CODE_ZHONG_YANG_XIAN AddrCode = "1743" + // ADDR_CODE_JIAO_KOU_XIAN 交口县 + ADDR_CODE_JIAO_KOU_XIAN AddrCode = "1744" + // ADDR_CODE_LI_SHI_QU 离石区 + ADDR_CODE_LI_SHI_QU AddrCode = "1745" + // ADDR_CODE_JIN_ZHONG_SHI 晋中市 + ADDR_CODE_JIN_ZHONG_SHI AddrCode = "1750" + // ADDR_CODE_YU_CI_QU 榆次区 + ADDR_CODE_YU_CI_QU AddrCode = "1751" + // ADDR_CODE_YU_SHE_XIAN 榆社县 + ADDR_CODE_YU_SHE_XIAN AddrCode = "1752" + // ADDR_CODE_ZUO_QUAN_XIAN 左权县 + ADDR_CODE_ZUO_QUAN_XIAN AddrCode = "1753" + // ADDR_CODE_HE_SHUN_XIAN 和顺县 + ADDR_CODE_HE_SHUN_XIAN AddrCode = "1754" + // ADDR_CODE_XI_YANG_XIAN 昔阳县 + ADDR_CODE_XI_YANG_XIAN AddrCode = "1755" + // ADDR_CODE_SHOU_YANG_XIAN 寿阳县 + ADDR_CODE_SHOU_YANG_XIAN AddrCode = "1756" + // ADDR_CODE_TAI_GU_QU 太谷区 + ADDR_CODE_TAI_GU_QU AddrCode = "1757" + // ADDR_CODE_QI_XIAN 祁县 + ADDR_CODE_QI_XIAN AddrCode = "1758" + // ADDR_CODE_PING_YAO_XIAN 平遥县 + ADDR_CODE_PING_YAO_XIAN AddrCode = "1759" + // ADDR_CODE_JIE_XIU_SHI 介休市 + ADDR_CODE_JIE_XIU_SHI AddrCode = "1761" + // ADDR_CODE_LING_SHI_XIAN 灵石县 + ADDR_CODE_LING_SHI_XIAN AddrCode = "1762" + // ADDR_CODE_LIN_FEN_SHI 临汾市 + ADDR_CODE_LIN_FEN_SHI AddrCode = "1770" + // ADDR_CODE_YAO_DU_QU 尧都区 + ADDR_CODE_YAO_DU_QU AddrCode = "1771" + // ADDR_CODE_HOU_MA_SHI 侯马市 + ADDR_CODE_HOU_MA_SHI AddrCode = "1772" + // ADDR_CODE_QU_WO_XIAN 曲沃县 + ADDR_CODE_QU_WO_XIAN AddrCode = "1773" + // ADDR_CODE_YI_CHENG_XIAN 翼城县 + ADDR_CODE_YI_CHENG_XIAN AddrCode = "1774" + // ADDR_CODE_XIANG_FEN_XIAN 襄汾县 + ADDR_CODE_XIANG_FEN_XIAN AddrCode = "1775" + // ADDR_CODE_HONG_TONG_XIAN 洪洞县 + ADDR_CODE_HONG_TONG_XIAN AddrCode = "1776" + // ADDR_CODE_HUO_ZHOU_SHI 霍州市 + ADDR_CODE_HUO_ZHOU_SHI AddrCode = "1777" + // ADDR_CODE_GU_XIAN 古县 + ADDR_CODE_GU_XIAN AddrCode = "1778" + // ADDR_CODE_AN_ZE_XIAN 安泽县 + ADDR_CODE_AN_ZE_XIAN AddrCode = "1779" + // ADDR_CODE_FU_SHAN_XIAN 浮山县 + ADDR_CODE_FU_SHAN_XIAN AddrCode = "1781" + // ADDR_CODE_JI_XIAN 吉县 + ADDR_CODE_JI_XIAN AddrCode = "1782" + // ADDR_CODE_XIANG_NING_XIAN 乡宁县 + ADDR_CODE_XIANG_NING_XIAN AddrCode = "1783" + // ADDR_CODE_PU_XIAN 蒲县 + ADDR_CODE_PU_XIAN AddrCode = "1784" + // ADDR_CODE_DA_NING_XIAN 大宁县 + ADDR_CODE_DA_NING_XIAN AddrCode = "1785" + // ADDR_CODE_YONG_HE_XIAN 永和县 + ADDR_CODE_YONG_HE_XIAN AddrCode = "1786" + // ADDR_CODE_XI_XIAN 隰县 + ADDR_CODE_XI_XIAN AddrCode = "1787" + // ADDR_CODE_FEN_XI_XIAN 汾西县 + ADDR_CODE_FEN_XI_XIAN AddrCode = "1788" + // ADDR_CODE_YUN_CHENG_SHI 运城市 + ADDR_CODE_YUN_CHENG_SHI AddrCode = "1810" + // ADDR_CODE_YAN_HU_QU 盐湖区 + ADDR_CODE_YAN_HU_QU AddrCode = "1811" + // ADDR_CODE_YONG_JI_SHI 永济市 + ADDR_CODE_YONG_JI_SHI AddrCode = "1812" + // ADDR_CODE_RUI_CHENG_XIAN 芮城县 + ADDR_CODE_RUI_CHENG_XIAN AddrCode = "1813" + // ADDR_CODE_LIN_YI_XIAN 临猗县 + ADDR_CODE_LIN_YI_XIAN AddrCode = "1814" + // ADDR_CODE_WAN_RONG_XIAN 万荣县 + ADDR_CODE_WAN_RONG_XIAN AddrCode = "1815" + // ADDR_CODE_XIN_JIANG_XIAN 新绛县 + ADDR_CODE_XIN_JIANG_XIAN AddrCode = "1816" + // ADDR_CODE_JI_SHAN_XIAN 稷山县 + ADDR_CODE_JI_SHAN_XIAN AddrCode = "1817" + // ADDR_CODE_HE_JIN_SHI 河津市 + ADDR_CODE_HE_JIN_SHI AddrCode = "1818" + // ADDR_CODE_WEN_XI_XIAN 闻喜县 + ADDR_CODE_WEN_XI_XIAN AddrCode = "1819" + // ADDR_CODE_XIA_XIAN 夏县 + ADDR_CODE_XIA_XIAN AddrCode = "1821" + // ADDR_CODE_JIANG_XIAN 绛县 + ADDR_CODE_JIANG_XIAN AddrCode = "1822" + // ADDR_CODE_PING_LU_XIAN 平陆县 + ADDR_CODE_PING_LU_XIAN AddrCode = "1823" + // ADDR_CODE_YUAN_QU_XIAN 垣曲县 + ADDR_CODE_YUAN_QU_XIAN AddrCode = "1824" + // ADDR_CODE_NEI_MENG_GU_ZI_ZHI_QU 内蒙古自治区 + ADDR_CODE_NEI_MENG_GU_ZI_ZHI_QU AddrCode = "1900" + // ADDR_CODE_HU_HE_HAO_TE_SHI 呼和浩特市 + ADDR_CODE_HU_HE_HAO_TE_SHI AddrCode = "1910" + // ADDR_CODE_TU_MO_TE_ZUO_QI 土默特左旗 + ADDR_CODE_TU_MO_TE_ZUO_QI AddrCode = "1911" + // ADDR_CODE_TUO_KE_TUO_XIAN 托克托县 + ADDR_CODE_TUO_KE_TUO_XIAN AddrCode = "1912" + // ADDR_CODE_WU_CHUAN_XIAN 武川县 + ADDR_CODE_WU_CHUAN_XIAN AddrCode = "1913" + // ADDR_CODE_HE_LIN_GE_ER_XIAN 和林格尔县 + ADDR_CODE_HE_LIN_GE_ER_XIAN AddrCode = "1914" + // ADDR_CODE_QING_SHUI_HE_XIAN 清水河县 + ADDR_CODE_QING_SHUI_HE_XIAN AddrCode = "1915" + // ADDR_CODE_HUI_MIN_QU 回民区 + ADDR_CODE_HUI_MIN_QU AddrCode = "1916" + // ADDR_CODE_RU_YI_KAI_FA_QU 如意开发区 + ADDR_CODE_RU_YI_KAI_FA_QU AddrCode = "1917" + // ADDR_CODE_SAI_HAN_QU 赛罕区 + ADDR_CODE_SAI_HAN_QU AddrCode = "1918" + // ADDR_CODE_XIN_CHENG_QU 新城区 + ADDR_CODE_XIN_CHENG_QU AddrCode = "1919" + // ADDR_CODE_BAO_TOU_SHI 包头市 + ADDR_CODE_BAO_TOU_SHI AddrCode = "1920" + // ADDR_CODE_TU_MO_TE_YOU_QI 土默特右旗 + ADDR_CODE_TU_MO_TE_YOU_QI AddrCode = "1921" + // ADDR_CODE_GU_YANG_XIAN 固阳县 + ADDR_CODE_GU_YANG_XIAN AddrCode = "1922" + // ADDR_CODE_DA_ER_HAN_MAO_MING_AN_LIAN_HE_QI 达尔罕茂明安联合旗 + ADDR_CODE_DA_ER_HAN_MAO_MING_AN_LIAN_HE_QI AddrCode = "1923" + // ADDR_CODE_DONG_HE_QU 东河区 + ADDR_CODE_DONG_HE_QU AddrCode = "1924" + // ADDR_CODE_KUN_DOU_LUN_QU 昆都仑区 + ADDR_CODE_KUN_DOU_LUN_QU AddrCode = "1925" + // ADDR_CODE_QING_SHAN_QU 青山区 + ADDR_CODE_QING_SHAN_QU AddrCode = "1926" + // ADDR_CODE_SHI_GUAI_QU 石拐区 + ADDR_CODE_SHI_GUAI_QU AddrCode = "1927" + // ADDR_CODE_BAI_YUN_E_BO_KUANG_QU 白云鄂博矿区 + ADDR_CODE_BAI_YUN_E_BO_KUANG_QU AddrCode = "1928" + // ADDR_CODE_JIU_YUAN_QU 九原区 + ADDR_CODE_JIU_YUAN_QU AddrCode = "1929" + // ADDR_CODE_WU_HAI_SHI 乌海市 + ADDR_CODE_WU_HAI_SHI AddrCode = "1930" + // ADDR_CODE_HAI_BO_WAN_QU 海勃湾区 + ADDR_CODE_HAI_BO_WAN_QU AddrCode = "1931" + // ADDR_CODE_HAI_NAN_QU 海南区 + ADDR_CODE_HAI_NAN_QU AddrCode = "1932" + // ADDR_CODE_WU_DA_QU 乌达区 + ADDR_CODE_WU_DA_QU AddrCode = "1933" + // ADDR_CODE_CHI_FENG_SHI 赤峰市 + ADDR_CODE_CHI_FENG_SHI AddrCode = "1940" + // ADDR_CODE_A_LU_KE_ER_QIN_QI 阿鲁科尔沁旗 + ADDR_CODE_A_LU_KE_ER_QIN_QI AddrCode = "1941" + // ADDR_CODE_BA_LIN_ZUO_QI 巴林左旗 + ADDR_CODE_BA_LIN_ZUO_QI AddrCode = "1942" + // ADDR_CODE_BA_LIN_YOU_QI 巴林右旗 + ADDR_CODE_BA_LIN_YOU_QI AddrCode = "1943" + // ADDR_CODE_LIN_XI_XIAN_TWO 林西县 + ADDR_CODE_LIN_XI_XIAN_TWO AddrCode = "1944" + // ADDR_CODE_KE_SHI_KE_TENG_QI 克什克腾旗 + ADDR_CODE_KE_SHI_KE_TENG_QI AddrCode = "1945" + // ADDR_CODE_WENG_NIU_TE_QI 翁牛特旗 + ADDR_CODE_WENG_NIU_TE_QI AddrCode = "1946" + // ADDR_CODE_KA_LA_QIN_QI 喀喇沁旗 + ADDR_CODE_KA_LA_QIN_QI AddrCode = "1947" + // ADDR_CODE_NING_CHENG_XIAN 宁城县 + ADDR_CODE_NING_CHENG_XIAN AddrCode = "1948" + // ADDR_CODE_AO_HAN_QI 敖汉旗 + ADDR_CODE_AO_HAN_QI AddrCode = "1949" + // ADDR_CODE_HONG_SHAN_QU 红山区 + ADDR_CODE_HONG_SHAN_QU AddrCode = "1951" + // ADDR_CODE_YUAN_BAO_SHAN_QU 元宝山区 + ADDR_CODE_YUAN_BAO_SHAN_QU AddrCode = "1952" + // ADDR_CODE_SONG_SHAN_QU 松山区 + ADDR_CODE_SONG_SHAN_QU AddrCode = "1953" + // ADDR_CODE_HU_LUN_BEIER_SHI 呼伦贝尔市 + ADDR_CODE_HU_LUN_BEIER_SHI AddrCode = "1960" + // ADDR_CODE_HAI_LA_ER_QU 海拉尔区 + ADDR_CODE_HAI_LA_ER_QU AddrCode = "1961" + // ADDR_CODE_MAN_ZHOU_LI_SHI 满洲里市 + ADDR_CODE_MAN_ZHOU_LI_SHI AddrCode = "1962" + // ADDR_CODE_ZHA_LAN_TUN_SHI 扎兰屯市 + ADDR_CODE_ZHA_LAN_TUN_SHI AddrCode = "1963" + // ADDR_CODE_YA_KE_SHI_SHI 牙克石市 + ADDR_CODE_YA_KE_SHI_SHI AddrCode = "1964" + // ADDR_CODE_ER_LUN_CHUN_ZU_ZI_ZHI_QI 额尔古纳市 + ADDR_CODE_ER_LUN_CHUN_ZU_ZI_ZHI_QI AddrCode = "1965" +) + +// Pre 将AddrCode枚举转换为字符串 +func (ac AddrCode) Pre() string { + return string(ac) +} diff --git a/consts/mcc.go b/consts/mcc.go new file mode 100644 index 0000000..d94d985 --- /dev/null +++ b/consts/mcc.go @@ -0,0 +1,249 @@ +// Package consts 提供常量定义 +package consts + +// Mcc 商户类别代码枚举 +type Mcc string + +const ( + // MCC_0742 兽医服务 + MCC_0742 Mcc = "0742" + // MCC_0763 农业合作 + MCC_0763 Mcc = "0763" + // MCC_0780 景观美化及园艺服务 + MCC_0780 Mcc = "0780" + // MCC_1520 一般承包商-住宅与商业楼 + MCC_1520 Mcc = "1520" + // MCC_4011 铁路运输 + MCC_4011 Mcc = "4011" + // MCC_4111 本市和市郊通勤旅客运输(包括轮渡) + MCC_4111 Mcc = "4111" + // MCC_4112 铁路客运 + MCC_4112 Mcc = "4112" + // MCC_4119 救护车服务 + MCC_4119 Mcc = "4119" + // MCC_4121 出租车服务 + MCC_4121 Mcc = "4121" + // MCC_4131 公路客运 + MCC_4131 Mcc = "4131" + // MCC_4214 货物搬运和托运—当地和长途,移动和存储公司,以及当地递送服务 + MCC_4214 Mcc = "4214" + // MCC_4215 快递服务(空运、地面运输或海运) + MCC_4215 Mcc = "4215" + // MCC_4225 公共仓储服务-农产品、冷冻品和家用产品 + MCC_4225 Mcc = "4225" + // MCC_4411 轮船及巡游航线服务 + MCC_4411 Mcc = "4411" + // MCC_4457 出租船只 + MCC_4457 Mcc = "4457" + // MCC_4468 船舶、海运服务提供商 + MCC_4468 Mcc = "4468" + // MCC_4511 航空公司 + MCC_4511 Mcc = "4511" + // MCC_4582 机场服务 + MCC_4582 Mcc = "4582" + // MCC_4722 旅行社 + MCC_4722 Mcc = "4722" + // MCC_4733 大型景区售票 + MCC_4733 Mcc = "4733" + // MCC_4784 路桥通行费 + MCC_4784 Mcc = "4784" + // MCC_4789 未列入其他代码的运输服务 + MCC_4789 Mcc = "4789" + // MCC_4812 通讯设备和电话销售 + MCC_4812 Mcc = "4812" + // MCC_4814 电信服务,包括本地和长途电话、信用卡电话、磁卡电话和传真 + MCC_4814 Mcc = "4814" + // MCC_4816 计算机网络/信息服务 + MCC_4816 Mcc = "4816" + // MCC_4821 电报服务 + MCC_4821 Mcc = "4821" + // MCC_4899 有线和其他付费电视服务 + MCC_4899 Mcc = "4899" + // MCC_4900 公共事业(电力、煤气、自来水、清洁服务) + MCC_4900 Mcc = "4900" + // MCC_5094 贵重珠宝、首饰,钟表零售 + MCC_5094 Mcc = "5094" + // MCC_5211 木材和各类建材卖场 + MCC_5211 Mcc = "5211" + // MCC_5231 玻璃、油漆涂料、墙纸零售 + MCC_5231 Mcc = "5231" + // MCC_5251 五金商店 + MCC_5251 Mcc = "5251" + // MCC_5261 草坪、花园用品商店 + MCC_5261 Mcc = "5261" + // MCC_5309 免税商店 + MCC_5309 Mcc = "5309" + // MCC_5310 折扣商店 + MCC_5310 Mcc = "5310" + // MCC_5311 百货商店 + MCC_5311 Mcc = "5311" + // MCC_5331 各类杂货店、便利店 + MCC_5331 Mcc = "5331" + // MCC_5399 其他综合零售 + MCC_5399 Mcc = "5399" + // MCC_5411 大型仓储式超级市场 + MCC_5411 Mcc = "5411" + // MCC_5422 各类肉类零售商 + MCC_5422 Mcc = "5422" + // MCC_5441 糖果及坚果商店 + MCC_5441 Mcc = "5441" + // MCC_5451 乳制品店、冷饮店 + MCC_5451 Mcc = "5451" + // MCC_5462 面包房、糕点商店 + MCC_5462 Mcc = "5462" + // MCC_5499 各类食品店及专门食品零售店 + MCC_5499 Mcc = "5499" + // MCC_5511 汽车货车经销商-新旧车的销售、服务、维修、零件及出租 + MCC_5511 Mcc = "5511" + // MCC_5521 汽车货车经销商-专门从事旧车的销售、服务、维修、零件及出租 + MCC_5521 Mcc = "5521" + // MCC_5532 汽车轮胎经销商 + MCC_5532 Mcc = "5532" + // MCC_5533 汽车零配件商店 + MCC_5533 Mcc = "5533" + // MCC_5541 加油站、服务站 + MCC_5541 Mcc = "5541" + // MCC_5542 自助加油站 + MCC_5542 Mcc = "5542" + // MCC_5551 船只销售商 + MCC_5551 Mcc = "5551" + // MCC_5561 旅行拖车、娱乐用车销售商 + MCC_5561 Mcc = "5561" + // MCC_5571 摩托车商店和经销商 + MCC_5571 Mcc = "5571" + // MCC_5592 露营、房车销售商 + MCC_5592 Mcc = "5592" + // MCC_5598 雪车商 + MCC_5598 Mcc = "5598" + // MCC_5599 汽车、飞行器、农用机车综合经营商 + MCC_5599 Mcc = "5599" + // MCC_5611 男子和男童服装及用品商店 + MCC_5611 Mcc = "5611" + // MCC_5621 妇女成衣商店 + MCC_5621 Mcc = "5621" + // MCC_5631 女性用品商店 + MCC_5631 Mcc = "5631" + // MCC_5641 婴儿、儿童服装店 + MCC_5641 Mcc = "5641" + // MCC_5651 家庭服装商店 + MCC_5651 Mcc = "5651" + // MCC_5655 运动服饰商店 + MCC_5655 Mcc = "5655" + // MCC_5661 鞋店 + MCC_5661 Mcc = "5661" + // MCC_5681 皮货店 + MCC_5681 Mcc = "5681" + // MCC_5722 家用电器商店 + MCC_5722 Mcc = "5722" + // MCC_5811 包办伙食,宴会承包商 + MCC_5811 Mcc = "5811" + // MCC_5812 就餐场所和餐馆 + MCC_5812 Mcc = "5812" + // MCC_5813 饮酒场所(酒吧、酒馆、夜总会、鸡尾酒大厅、迪斯科舞厅) + MCC_5813 Mcc = "5813" + // MCC_5932 古玩店——出售、维修及还原 + MCC_5932 Mcc = "5932" + // MCC_5933 典当、拍卖、信托 + MCC_5933 Mcc = "5933" + // MCC_5937 古玩复制店 + MCC_5937 Mcc = "5937" + // MCC_5944 银器店 + MCC_5944 Mcc = "5944" + // MCC_5950 玻璃器皿和水晶饰品店 + MCC_5950 Mcc = "5950" + // MCC_5960 直销-保险直销 + MCC_5960 Mcc = "5960" + // MCC_5970 工艺美术商店 + MCC_5970 Mcc = "5970" + // MCC_5971 艺术商和画廊 + MCC_5971 Mcc = "5971" + // MCC_5994 报亭、报摊 + MCC_5994 Mcc = "5994" + // MCC_5998 其他批发商 + MCC_5998 Mcc = "5998" + // MCC_6012 金融机构-商品和服务 + MCC_6012 Mcc = "6012" + // MCC_6300 保险销售、保险业和保险金 + MCC_6300 Mcc = "6300" + // MCC_7011 住宿服务(旅馆、酒店、汽车旅馆、度假村等) + MCC_7011 Mcc = "7011" + // MCC_7012 分时使用的别墅或度假用房 + MCC_7012 Mcc = "7012" + // MCC_7013 不动产代理——房地产经纪 + MCC_7013 Mcc = "7013" + // MCC_7032 运动和娱乐露营地 + MCC_7032 Mcc = "7032" + // MCC_7033 活动房车场及露营场所 + MCC_7033 Mcc = "7033" + // MCC_7297 按摩店 + MCC_7297 Mcc = "7297" + // MCC_7298 保健及美容SPA + MCC_7298 Mcc = "7298" + // MCC_7523 停车场 + MCC_7523 Mcc = "7523" + // MCC_7631 手表、钟表和首饰维修店 + MCC_7631 Mcc = "7631" + // MCC_7829 电影和录像创作、发行 + MCC_7829 Mcc = "7829" + // MCC_7911 歌舞厅 + MCC_7911 Mcc = "7911" + // MCC_7922 戏剧制片(不含电影)、演出和票务 + MCC_7922 Mcc = "7922" + // MCC_7929 未列入其他代码的乐队、文艺表演 + MCC_7929 Mcc = "7929" + // MCC_7932 台球、撞球场所 + MCC_7932 Mcc = "7932" + // MCC_7933 保龄球馆 + MCC_7933 Mcc = "7933" + // MCC_7941 商业体育场馆、职业体育俱乐部、运动场和体育推广公司 + MCC_7941 Mcc = "7941" + // MCC_7992 公共高尔夫球场 + MCC_7992 Mcc = "7992" + // MCC_7994 大型游戏机和游戏场所 + MCC_7994 Mcc = "7994" + // MCC_7996 游乐园、马戏团、嘉年华、占卜 + MCC_7996 Mcc = "7996" + // MCC_7997 会员俱乐部(体育、娱乐、运动等)、乡村俱乐部以及私人高尔夫课程班 + MCC_7997 Mcc = "7997" + // MCC_7998 水族馆、海洋馆和海豚馆 + MCC_7998 Mcc = "7998" + // MCC_7999 未列入其他代码的娱乐服务 + MCC_7999 Mcc = "7999" + // MCC_8062 公立医院 + MCC_8062 Mcc = "8062" + // MCC_8211 中小学校(公立) + MCC_8211 Mcc = "8211" + // MCC_8220 普通高校(公立) + MCC_8220 Mcc = "8220" + // MCC_8398 慈善和社会公益服务组织 + MCC_8398 Mcc = "8398" + // MCC_8651 政治组织(政府机构) + MCC_8651 Mcc = "8651" + // MCC_9211 法庭费用,包括赡养费和子女抚养费 + MCC_9211 Mcc = "9211" + // MCC_9222 罚款 + MCC_9222 Mcc = "9222" + // MCC_9223 保释金 + MCC_9223 Mcc = "9223" + // MCC_9311 纳税 + MCC_9311 Mcc = "9311" + // MCC_9399 未列入其他代码的政府服务(社会保障服务,国家强制) + MCC_9399 Mcc = "9399" + // MCC_9400 使领馆收费 + MCC_9400 Mcc = "9400" + // MCC_9402 国家邮政服务 + MCC_9402 Mcc = "9402" + // MCC_3998 中国人民共和国铁道部 + MCC_3998 Mcc = "3998" + // MCC_BIG_7299 其他个人服务 包括干洗店,育发,植发,保洁、保安、婚庆、殡葬、家政、清洁、保养、门卫服务,出租衣物服务 + MCC_BIG_7299 Mcc = "7299" + // MCC_BIG_7399 商业服务 无明细分类的其它服务 + MCC_BIG_7399 Mcc = "7399" + // MCC_BIG_8999 其他专业服务 包括拍卖行、法律服务、会计审计财务服务、公关服务的企业,建筑设计、工程和测量服务等从事专业服务的企业 + MCC_BIG_8999 Mcc = "8999" +) + +// Pre 将Mcc枚举转换为字符串 +func (m Mcc) Pre() string { + return string(m) +} diff --git a/consts/merchant.go b/consts/merchant.go new file mode 100644 index 0000000..731a7ec --- /dev/null +++ b/consts/merchant.go @@ -0,0 +1,347 @@ +package consts + +// AccIdType 证件类型枚举 +type AccIdType string + +const ( + // ACC_ID_TYPE_ID_CARD 身份证 + ACC_ID_TYPE_ID_CARD AccIdType = "01" + // ACC_ID_TYPE_PASSPORT 护照 + ACC_ID_TYPE_PASSPORT AccIdType = "02" + // ACC_ID_TYPE_HK_MO_PASS 港澳通行证 + ACC_ID_TYPE_HK_MO_PASS AccIdType = "03" + // ACC_ID_TYPE_TAIWAN_PASS 台胞证 + ACC_ID_TYPE_TAIWAN_PASS AccIdType = "04" + // ACC_ID_TYPE_FOREIGN_PERMANENT_RESIDENCE 外国人永久居留身份证 + ACC_ID_TYPE_FOREIGN_PERMANENT_RESIDENCE AccIdType = "10" + // ACC_ID_TYPE_HK_MO_RESIDENCE 港澳居民居住证 + ACC_ID_TYPE_HK_MO_RESIDENCE AccIdType = "11" + // ACC_ID_TYPE_TAIWAN_RESIDENCE 台湾居民居住证 + ACC_ID_TYPE_TAIWAN_RESIDENCE AccIdType = "12" + // ACC_ID_TYPE_EXECUTIVE_PARTNER 执行事务合伙人 + ACC_ID_TYPE_EXECUTIVE_PARTNER AccIdType = "13" + // ACC_ID_TYPE_OTHER 其它证件 + ACC_ID_TYPE_OTHER AccIdType = "99" +) + +// Pre 将AccIdType枚举转换为字符串 +func (ait AccIdType) Pre() string { + return string(ait) +} + +// SettlePeriod 结算周期枚举 +type SettlePeriod string + +const ( + // SETTLE_PERIOD_T_PLUS_1 T+1结算 + SETTLE_PERIOD_T_PLUS_1 SettlePeriod = "T+1" + // SETTLE_PERIOD_T_PLUS_1_PLUS_N T+1普通结算批次 + SETTLE_PERIOD_T_PLUS_1_PLUS_N SettlePeriod = "T+1+N" + // SETTLE_PERIOD_T_PLUS_3 收单T+3结算 + SETTLE_PERIOD_T_PLUS_3 SettlePeriod = "T+3" + // SETTLE_PERIOD_D_PLUS_1_PLUS_N D+1普通结算批次 + SETTLE_PERIOD_D_PLUS_1_PLUS_N SettlePeriod = "D+1+N" + // SETTLE_PERIOD_W_T_PLUS_9999 喔噻T+9999 + SETTLE_PERIOD_W_T_PLUS_9999 SettlePeriod = "W_T+9999" + // SETTLE_PERIOD_D_PLUS_1 收单D+1结算批次 + SETTLE_PERIOD_D_PLUS_1 SettlePeriod = "D+1" + // SETTLE_PERIOD_D1_PLUS_24 D1+24结算批次 + SETTLE_PERIOD_D1_PLUS_24 SettlePeriod = "D1+24" + // SETTLE_PERIOD_D_PLUS_30 收单D+30结算 + SETTLE_PERIOD_D_PLUS_30 SettlePeriod = "D+30" + // SETTLE_PERIOD_BT_D_PLUS_1 D+1四方补贴结算批次 + SETTLE_PERIOD_BT_D_PLUS_1 SettlePeriod = "BT_D+1" + // SETTLE_PERIOD_QZT_FULL_D_PLUS_1 钱账通D+1全额结算批次 + SETTLE_PERIOD_QZT_FULL_D_PLUS_1 SettlePeriod = "QZT_FULL_D+1" + // SETTLE_PERIOD_QZT_NET_D_PLUS_1 钱账通D+1净额结算批次 + SETTLE_PERIOD_QZT_NET_D_PLUS_1 SettlePeriod = "QZT_NET_D+1" + // SETTLE_PERIOD_FS 灵活结算 + SETTLE_PERIOD_FS SettlePeriod = "FS" +) + +// Pre 将SettlePeriod枚举转换为字符串 +func (sp SettlePeriod) Pre() string { + return string(sp) +} + +// ClearDt 日切时间枚举 +type ClearDt string + +const ( + // CLEAR_DT_ZERO 0点 + CLEAR_DT_ZERO ClearDt = "ZERO" + // CLEAR_DT_ONE 1点 + CLEAR_DT_ONE ClearDt = "ONE" + // CLEAR_DT_TWO 2点 + CLEAR_DT_TWO ClearDt = "TWO" + // CLEAR_DT_THREE 3点 + CLEAR_DT_THREE ClearDt = "THREE" + // CLEAR_DT_FOUR 4点 + CLEAR_DT_FOUR ClearDt = "FOUR" + // CLEAR_DT_FIVE 5点 + CLEAR_DT_FIVE ClearDt = "FIVE" + // CLEAR_DT_SIX 6点 + CLEAR_DT_SIX ClearDt = "SIX" + // CLEAR_DT_SEVEN 7点 + CLEAR_DT_SEVEN ClearDt = "SEVEN" + // CLEAR_DT_EIGHT 8点 + CLEAR_DT_EIGHT ClearDt = "EIGHT" + // CLEAR_DT_NINE 9点 + CLEAR_DT_NINE ClearDt = "NINE" + // CLEAR_DT_TEN 10点 + CLEAR_DT_TEN ClearDt = "TEN" + // CLEAR_DT_ELEVEN 11点 + CLEAR_DT_ELEVEN ClearDt = "ELEVEN" + // CLEAR_DT_TWELVE 12点 + CLEAR_DT_TWELVE ClearDt = "TWELVE" + // CLEAR_DT_THIRTEEN 13点 + CLEAR_DT_THIRTEEN ClearDt = "THIRTEEN" + // CLEAR_DT_FOURTEEN 14点 + CLEAR_DT_FOURTEEN ClearDt = "FOURTEEN" + // CLEAR_DT_FIFTEEN 15点 + CLEAR_DT_FIFTEEN ClearDt = "FIFTEEN" + // CLEAR_DT_SIXTEEN 16点 + CLEAR_DT_SIXTEEN ClearDt = "SIXTEEN" + // CLEAR_DT_SEVENTEEN 17点 + CLEAR_DT_SEVENTEEN ClearDt = "SEVENTEEN" + // CLEAR_DT_EIGHTEEN 18点 + CLEAR_DT_EIGHTEEN ClearDt = "EIGHTEEN" + // CLEAR_DT_NINETEEN 19点 + CLEAR_DT_NINETEEN ClearDt = "NINETEEN" + // CLEAR_DT_TWENTY 20点 + CLEAR_DT_TWENTY ClearDt = "TWENTY" + // CLEAR_DT_TWENTY_ONE 21点 + CLEAR_DT_TWENTY_ONE ClearDt = "TWENTY_ONE" + // CLEAR_DT_TWENTY_TWO 22点 + CLEAR_DT_TWENTY_TWO ClearDt = "TWENTY_TWO" + // CLEAR_DT_TWENTY_THREE 23点 + CLEAR_DT_TWENTY_THREE ClearDt = "TWENTY_THREE" + // CLEAR_DT_TWENTY_FOUR 24点 + CLEAR_DT_TWENTY_FOUR ClearDt = "TWENTY_FOUR" +) + +// Pre 将ClearDt枚举转换为字符串 +func (cd ClearDt) Pre() string { + return string(cd) +} + +// MerBusiContent 经营内容枚举 +type MerBusiContent string + +const ( + // MER_BUSI_CONTENT_RESTAURANT_HOTEL 餐饮、宾馆、娱乐、珠宝金饰、工艺美术品 + MER_BUSI_CONTENT_RESTAURANT_HOTEL MerBusiContent = "640" + // MER_BUSI_CONTENT_REAL_ESTATE_AUTO 房地产汽车类 + MER_BUSI_CONTENT_REAL_ESTATE_AUTO MerBusiContent = "641" + // MER_BUSI_CONTENT_DEPARTMENT_AGENCY 百货、中介、培训、景区门票等 + MER_BUSI_CONTENT_DEPARTMENT_AGENCY MerBusiContent = "642" + // MER_BUSI_CONTENT_WHOLESALE 批发类商户 + MER_BUSI_CONTENT_WHOLESALE MerBusiContent = "643" + // MER_BUSI_CONTENT_GAS_STATION_SUPERMARKET 加油、超市类 + MER_BUSI_CONTENT_GAS_STATION_SUPERMARKET MerBusiContent = "644" + // MER_BUSI_CONTENT_TRANSPORT_TICKET 交通运输售票 + MER_BUSI_CONTENT_TRANSPORT_TICKET MerBusiContent = "645" + // MER_BUSI_CONTENT_UTILITY_PAYMENT 水电气缴费 + MER_BUSI_CONTENT_UTILITY_PAYMENT MerBusiContent = "646" + // MER_BUSI_CONTENT_GOVERNMENT 政府类 + MER_BUSI_CONTENT_GOVERNMENT MerBusiContent = "647" + // MER_BUSI_CONTENT_CONVENIENCE 便民类 + MER_BUSI_CONTENT_CONVENIENCE MerBusiContent = "648" + // MER_BUSI_CONTENT_PUBLIC_INSTITUTION 公立医院、公立学校、慈善 + MER_BUSI_CONTENT_PUBLIC_INSTITUTION MerBusiContent = "649" + // MER_BUSI_CONTENT_HOTEL_FOOD_ENTERTAINMENT 宾馆餐饮娱乐类 + MER_BUSI_CONTENT_HOTEL_FOOD_ENTERTAINMENT MerBusiContent = "650" + // MER_BUSI_CONTENT_PROPERTY_AUTO 房产汽车类 + MER_BUSI_CONTENT_PROPERTY_AUTO MerBusiContent = "651" + // MER_BUSI_CONTENT_WHOLESALE_TYPE 批发类 + MER_BUSI_CONTENT_WHOLESALE_TYPE MerBusiContent = "652" + // MER_BUSI_CONTENT_SUPERMARKET_GAS 超市加油类 + MER_BUSI_CONTENT_SUPERMARKET_GAS MerBusiContent = "653" + // MER_BUSI_CONTENT_GENERAL_MERCHANT 一般类商户 + MER_BUSI_CONTENT_GENERAL_MERCHANT MerBusiContent = "654" + // MER_BUSI_CONTENT_AGRICULTURE 三农商户 + MER_BUSI_CONTENT_AGRICULTURE MerBusiContent = "655" +) + +// Pre 将MerBusiContent枚举转换为字符串 +func (mbc MerBusiContent) Pre() string { + return string(mbc) +} + +// PosType POS类型枚举 +type PosType string + +const ( + // POS_TYPE_GENERAL_POS 传统POS + POS_TYPE_GENERAL_POS PosType = "GENERAL_POS" + // POS_TYPE_SUPER_POS 智能POS + POS_TYPE_SUPER_POS PosType = "SUPER_POS" + // POS_TYPE_BLUE_WIZARD 蓝精灵 + POS_TYPE_BLUE_WIZARD PosType = "BLUE_WIZARD" + // POS_TYPE_WECHAT_PAY 专业化扫码 + POS_TYPE_WECHAT_PAY PosType = "WECHAT_PAY" + // POS_TYPE_SQB_SCAN_CODE 收钱吧扫码 + POS_TYPE_SQB_SCAN_CODE PosType = "SQB_SCAN_CODE" + // POS_TYPE_SQB_PAPER_CODE 收钱吧码牌 + POS_TYPE_SQB_PAPER_CODE PosType = "SQB_PAPER_CODE" + // POS_TYPE_SQB_DESK_CODE 收钱吧桌码 + POS_TYPE_SQB_DESK_CODE PosType = "SQB_DESK_CODE" + // POS_TYPE_SQB_POS 收钱吧POS + POS_TYPE_SQB_POS PosType = "SQB_POS" + // POS_TYPE_SQB_INSTALLMENT 收钱吧聚分期 + POS_TYPE_SQB_INSTALLMENT PosType = "SQB_INSTALLMENT" + // POS_TYPE_CLOUD_STORE_NEW 新云小店 + POS_TYPE_CLOUD_STORE_NEW PosType = "CLOUD_STORE_NEW" + // POS_TYPE_CLOUD_DISTRIBUTION 增商专用云分销 + POS_TYPE_CLOUD_DISTRIBUTION PosType = "CLOUD_DISTRIBUTION" + // POS_TYPE_CLOUD_DISTRIBUTION_CB 云分销线上 + POS_TYPE_CLOUD_DISTRIBUTION_CB PosType = "CLOUD_DISTRIBUTION_CB" + // POS_TYPE_CLOUD_STORE_CB 云小店线上 + POS_TYPE_CLOUD_STORE_CB PosType = "CLOUD_STORE_CB" + // POS_TYPE_CLOUD_STORE_BC 云小店线下 + POS_TYPE_CLOUD_STORE_BC PosType = "CLOUD_STORE_BC" + // POS_TYPE_CLOUD_STORE_BC_NOTLKL 云小店非收银机 + POS_TYPE_CLOUD_STORE_BC_NOTLKL PosType = "CLOUD_STORE_BC_NOTLKL" + // POS_TYPE_HM 惠码 + POS_TYPE_HM PosType = "HM" + // POS_TYPE_HM_CB 惠码线上 + POS_TYPE_HM_CB PosType = "HM_CB" + // POS_TYPE_HM_BC 惠码线下 + POS_TYPE_HM_BC PosType = "HM_BC" + // POS_TYPE_SCAN_CODE_ORDER 扫码点餐 + POS_TYPE_SCAN_CODE_ORDER PosType = "SCAN_CODE_ORDER" + // POS_TYPE_B2B_CASHIER_DESK B2B收银台 + POS_TYPE_B2B_CASHIER_DESK PosType = "B2B_CASHIER_DESK" + // POS_TYPE_B2B_QR_CODE B2B收款码 + POS_TYPE_B2B_QR_CODE PosType = "B2B_QR_CODE" + // POS_TYPE_MOBILE_POS 手机POS + POS_TYPE_MOBILE_POS PosType = "MOBILE_POS" + // POS_TYPE_YF_YM 御风云码 + POS_TYPE_YF_YM PosType = "YF_YM" + // POS_TYPE_YF_YM_CB 御风云码线上 + POS_TYPE_YF_YM_CB PosType = "YF_YM_CB" + // POS_TYPE_TRANSFER_ACCOUNT 大额理财 + POS_TYPE_TRANSFER_ACCOUNT PosType = "TRANSFER_ACCOUNT" + // POS_TYPE_SUPER_MPOS 超级收款宝 + POS_TYPE_SUPER_MPOS PosType = "SUPER_MPOS" + // POS_TYPE_W_BOX 收钱宝盒 + POS_TYPE_W_BOX PosType = "W_BOX" + // POS_TYPE_MOON_BOS 月光宝盒 + POS_TYPE_MOON_BOS PosType = "MOON_BOS" + // POS_TYPE_SCANNING_GUN_PAY XQ码精灵 + POS_TYPE_SCANNING_GUN_PAY PosType = "SCANNING_GUN_PAY" + // POS_TYPE_WIDE_SUPER_POS 智能POS PRO + POS_TYPE_WIDE_SUPER_POS PosType = "WIDE_SUPER_POS" + // POS_TYPE_YUNCHAO_TECH_CB 云超科技线上 + POS_TYPE_YUNCHAO_TECH_CB PosType = "YUNCHAO_TECH_CB" + // POS_TYPE_YUNCHAO_TECH_BC 云超科技线下 + POS_TYPE_YUNCHAO_TECH_BC PosType = "YUNCHAO_TECH_BC" + // POS_TYPE_HUMMING_BIRD 蜂鸟佳 + POS_TYPE_HUMMING_BIRD PosType = "HUMMING_BIRD" + // POS_TYPE_SIMPLE_SPEED_SCRM 简速SCRM + POS_TYPE_SIMPLE_SPEED_SCRM PosType = "SIMPLE_SPEED_SCRM" + // POS_TYPE_SMART_NETWORK 智网 + POS_TYPE_SMART_NETWORK PosType = "SMART_NETWORK" + // POS_TYPE_EASY_PAYMENT 缴费易 + POS_TYPE_EASY_PAYMENT PosType = "EASY_PAYMENT" + // POS_TYPE_LIANTUO_ELF 联拓小精灵 + POS_TYPE_LIANTUO_ELF PosType = "LIANTUO_ELF" + // POS_TYPE_KAOLA_CLOUD_PAY 考拉云付 + POS_TYPE_KAOLA_CLOUD_PAY PosType = "KAOLA_CLOUD_PAY" + // POS_TYPE_BUSINESS_CLOUD_PRINT 拉生意云打印 + POS_TYPE_BUSINESS_CLOUD_PRINT PosType = "BUSINESS_CLOUD_PRINT" + // POS_TYPE_B2B_CASHIER_DESK_CB B2B收银台线上外卡 + POS_TYPE_B2B_CASHIER_DESK_CB PosType = "B2B_CASHIER_DESK_CB" + // POS_TYPE_MOBILE_POS_CB 手机POS线上外卡 + POS_TYPE_MOBILE_POS_CB PosType = "MOBILE_POS_CB" + // POS_TYPE_LKL_SCRM 拉卡拉SCRM + POS_TYPE_LKL_SCRM PosType = "LKL_SCRM" + // POS_TYPE_MI_XUN 米讯 + POS_TYPE_MI_XUN PosType = "MI_XUN" + // POS_TYPE_YOU_KE_LI_LI 油客里里 + POS_TYPE_YOU_KE_LI_LI PosType = "YOU_KE_LI_LI" + // POS_TYPE_LE_YOU_KE 乐友客 + POS_TYPE_LE_YOU_KE PosType = "LE_YOU_KE" + // POS_TYPE_EASY_TO_PAY 即易付 + POS_TYPE_EASY_TO_PAY PosType = "EASY_TO_PAY" + // POS_TYPE_SMART_YOUKE 智慧油客 + POS_TYPE_SMART_YOUKE PosType = "SMART_YOUKE" + // POS_TYPE_MICRO_SUPER_POS 微智能 + POS_TYPE_MICRO_SUPER_POS PosType = "MICRO_SUPER_POS" + // POS_TYPE_JI_YI_SHOU 集易收 + POS_TYPE_JI_YI_SHOU PosType = "JI_YI_SHOU" + // POS_TYPE_UNIONPAY_APPLET 云微小程序 + POS_TYPE_UNIONPAY_APPLET PosType = "UNIONPAY_APPLET" + // POS_TYPE_UNION_INSTALMENT 银联聚分期 + POS_TYPE_UNION_INSTALMENT PosType = "UNION_INSTALMENT" + // POS_TYPE_PULL_BUSINESS 拉生意 + POS_TYPE_PULL_BUSINESS PosType = "PULL_BUSINESS" + // POS_TYPE_MOSS Moss收银台 + POS_TYPE_MOSS PosType = "MOSS" +) + +// Pre 将PosType枚举转换为字符串 +func (pt PosType) Pre() string { + return string(pt) +} + +// FeeRateTypeCode 费率类型枚举 +type FeeRateTypeCode string + +const ( + // FEE_RATE_TYPE_CODE_UNIONPAY_DEBIT 银联借记卡 + FEE_RATE_TYPE_CODE_UNIONPAY_DEBIT FeeRateTypeCode = "300" + // FEE_RATE_TYPE_CODE_UNIONPAY_CREDIT 银联贷记卡 + FEE_RATE_TYPE_CODE_UNIONPAY_CREDIT FeeRateTypeCode = "301" + // FEE_RATE_TYPE_CODE_WECHAT 微信 + FEE_RATE_TYPE_CODE_WECHAT FeeRateTypeCode = "302" + // FEE_RATE_TYPE_CODE_WECHAT_DEBIT 微信借记 + FEE_RATE_TYPE_CODE_WECHAT_DEBIT FeeRateTypeCode = "338" + // FEE_RATE_TYPE_CODE_WECHAT_CREDIT 微信贷记 + FEE_RATE_TYPE_CODE_WECHAT_CREDIT FeeRateTypeCode = "339" + // FEE_RATE_TYPE_CODE_ALIPAY 支付宝 + FEE_RATE_TYPE_CODE_ALIPAY FeeRateTypeCode = "303" + // FEE_RATE_TYPE_CODE_YEEPAY 翼支付 + FEE_RATE_TYPE_CODE_YEEPAY FeeRateTypeCode = "306" + // FEE_RATE_TYPE_CODE_UNIONPAY_QR_DEBIT 银联二维码借记卡 + FEE_RATE_TYPE_CODE_UNIONPAY_QR_DEBIT FeeRateTypeCode = "314" + // FEE_RATE_TYPE_CODE_UNIONPAY_QR_CREDIT 银联二维码贷记卡 + FEE_RATE_TYPE_CODE_UNIONPAY_QR_CREDIT FeeRateTypeCode = "315" + // FEE_RATE_TYPE_CODE_CARDLESS_CREDIT 无卡贷记 + FEE_RATE_TYPE_CODE_CARDLESS_CREDIT FeeRateTypeCode = "321" + // FEE_RATE_TYPE_CODE_PAY_ACCOUNT 支付账户 + FEE_RATE_TYPE_CODE_PAY_ACCOUNT FeeRateTypeCode = "319" + // FEE_RATE_TYPE_CODE_B2B_TRANSFER B2B转账 + FEE_RATE_TYPE_CODE_B2B_TRANSFER FeeRateTypeCode = "322" + // FEE_RATE_TYPE_CODE_WECHAT_ONLINE 微信线上(千米专用) + FEE_RATE_TYPE_CODE_WECHAT_ONLINE FeeRateTypeCode = "400" + // FEE_RATE_TYPE_CODE_ALIPAY_ONLINE 支付宝线上(千米专用) + FEE_RATE_TYPE_CODE_ALIPAY_ONLINE FeeRateTypeCode = "401" + // FEE_RATE_TYPE_CODE_WECHAT_FACE 微信刷脸 + FEE_RATE_TYPE_CODE_WECHAT_FACE FeeRateTypeCode = "307" + // FEE_RATE_TYPE_CODE_WECHAT_FACE_DEBIT 微信刷脸借记 + FEE_RATE_TYPE_CODE_WECHAT_FACE_DEBIT FeeRateTypeCode = "342" + // FEE_RATE_TYPE_CODE_WECHAT_FACE_CREDIT 微信刷脸贷记 + FEE_RATE_TYPE_CODE_WECHAT_FACE_CREDIT FeeRateTypeCode = "343" + // FEE_RATE_TYPE_CODE_ALIPAY_FACE 支付宝刷脸 + FEE_RATE_TYPE_CODE_ALIPAY_FACE FeeRateTypeCode = "308" + // FEE_RATE_TYPE_CODE_UNIONPAY_DISCOUNT_DEBIT 云闪付借记-优惠 + FEE_RATE_TYPE_CODE_UNIONPAY_DISCOUNT_DEBIT FeeRateTypeCode = "411" + // FEE_RATE_TYPE_CODE_UNIONPAY_DISCOUNT_CREDIT 云闪付贷记-优惠 + FEE_RATE_TYPE_CODE_UNIONPAY_DISCOUNT_CREDIT FeeRateTypeCode = "412" + // FEE_RATE_TYPE_CODE_UNIONPAY_QR_DISCOUNT_DEBIT 银联二维码借记-优惠 + FEE_RATE_TYPE_CODE_UNIONPAY_QR_DISCOUNT_DEBIT FeeRateTypeCode = "413" + // FEE_RATE_TYPE_CODE_UNIONPAY_QR_DISCOUNT_CREDIT 银联二维码贷记-优惠 + FEE_RATE_TYPE_CODE_UNIONPAY_QR_DISCOUNT_CREDIT FeeRateTypeCode = "414" + // FEE_RATE_TYPE_CODE_ALIPAY_DISCOUNT 支付宝费率-优惠 + FEE_RATE_TYPE_CODE_ALIPAY_DISCOUNT FeeRateTypeCode = "415" + // FEE_RATE_TYPE_CODE_DIGITAL_CURRENCY 数字货币 + FEE_RATE_TYPE_CODE_DIGITAL_CURRENCY FeeRateTypeCode = "318" + // FEE_RATE_TYPE_CODE_JINGDONG 京东 + FEE_RATE_TYPE_CODE_JINGDONG FeeRateTypeCode = "346" +) + +// Pre 将FeeRateTypeCode枚举转换为字符串 +func (frtc FeeRateTypeCode) Pre() string { + return string(frtc) +} diff --git a/consts/url.go b/consts/url.go index 947a0a1..968224a 100644 --- a/consts/url.go +++ b/consts/url.go @@ -23,6 +23,9 @@ const ( LKL_ACCOUNT_BALANCE_QUERY_URL = "/v2/laep/industry/ewalletBalanceQuery" // LKL_ACCOUNT_WITHDRAW_URL 拉卡拉账户提现 LKL_ACCOUNT_WITHDRAW_URL = "/v2/laep/industry/ewalletWithdrawD1" +) + +const ( // LKL_TRADE_QUERY_URL 拉卡拉交易查询 LKL_TRADE_QUERY_URL = "/v3/labs/query/tradequery" // LKL_PRE_ORDER_URL 拉卡拉聚合预下单 @@ -32,3 +35,14 @@ const ( // LKL_REFOUND_URL 拉卡拉退款 LKL_REFOUND_URL = "/v3/rfd/refund_front/refund" ) + +const ( + // LKL_ADD_MER 拉卡拉商户进件 + LKL_ADD_MER = "/v2/mms/openApi/addMer" + // LKL_QUERY_MER 拉卡拉商户查询 + LKL_QUERY_MER = "/v2/mms/openApi/queryContract" + // LKL_MER_VALIDATE 拉卡拉商户进件效验 + LKL_MER_VALIDATE = "/v2/mms/openApi/verifyContractInfo" + // LKL_RECONF_SUBMIT 拉卡拉商户进件复议提交 + LKL_RECONF_SUBMIT = "/v2/mms/openApi/reconsiderSubmit" +) diff --git a/lklsdk/merchant.go b/lklsdk/merchant.go new file mode 100644 index 0000000..5e0247c --- /dev/null +++ b/lklsdk/merchant.go @@ -0,0 +1,115 @@ +package lklsdk + +import ( + "fmt" + "time" + + "github.com/black1552/lkl_sdk/consts" + "github.com/black1552/lkl_sdk/model" + "github.com/gogf/gf/v2/crypto/gmd5" + "github.com/gogf/gf/v2/util/gconv" +) + +// MerService 商户服务 +type MerService[T any] struct { + client *Client[T] +} + +// NewMerService 创建交易服务实例 +func NewMerService[T any](client *Client[T]) *MerService[T] { + return &MerService[T]{ + client: client, + } +} + +// AddMer 商户进件 +func (t *MerService[T]) AddMer(req *model.MerchantApplyReqData) (*T, error) { + // 构建请求参数 + url := consts.BASE_URL + consts.LKL_ADD_MER + md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix())) + if err != nil { + return nil, fmt.Errorf("创建ReqId失败") + } + // 构建BaseModel请求 + baseReq := model.MerchantApplyRequest{ + ReqData: req, + ReqId: md5, + Timestamp: time.Now().Unix(), + Ver: "1.0.0", + } + + // 发送请求 + respBody, err := t.client.doRequest(url, baseReq) + if err != nil { + return nil, err + } + return respBody, nil +} + +func (t *MerService[T]) QueryMer(req *model.QueryMerRequestData) (*T, error) { + // 构建请求参数 + url := consts.BASE_URL + consts.LKL_QUERY_MER + md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix())) + if err != nil { + return nil, fmt.Errorf("创建ReqId失败") + } + // 构建BaseModel请求 + baseReq := model.QueryMerRequest{ + ReqData: req, + ReqId: md5, + Timestamp: time.Now().Unix(), + Ver: "1.0.0", + } + + // 发送请求 + respBody, err := t.client.doRequest(url, baseReq) + if err != nil { + return nil, err + } + return respBody, nil +} +func (t *MerService[T]) MerValidate(req *model.MerValidateRequestData) (*T, error) { + // 构建请求参数 + url := consts.BASE_URL + consts.LKL_MER_VALIDATE + md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix())) + if err != nil { + return nil, fmt.Errorf("创建ReqId失败") + } + // 构建BaseModel请求 + baseReq := model.MerValidateRequest{ + ReqData: req, + ReqId: md5, + Timestamp: time.Now().Unix(), + Ver: "1.0.0", + } + + // 发送请求 + respBody, err := t.client.doRequest(url, baseReq) + if err != nil { + return nil, err + } + return respBody, nil +} + +func (t *MerService[T]) ReconsiderSubmit(req *model.ReConfSubmitRequestData) (*T, error) { + // 构建请求参数 + url := consts.BASE_URL + consts.LKL_RECONF_SUBMIT + md5, err := gmd5.Encrypt(gconv.String(time.Now().Unix())) + if err != nil { + return nil, fmt.Errorf("创建ReqId失败") + } + // 构建BaseModel请求 + baseReq := model.ReConfSubmitRequest{ + ReqData: req, + ReqId: md5, + Timestamp: time.Now().Unix(), + Ver: "1.0", + } + + // 发送请求 + respBody, err := t.client.doRequest(url, baseReq) + if err != nil { + return nil, err + } + return respBody, nil +} diff --git a/lklsdk/sdk.go b/lklsdk/sdk.go index b54c1b0..3ff4c9b 100644 --- a/lklsdk/sdk.go +++ b/lklsdk/sdk.go @@ -14,6 +14,7 @@ type SDK[T any] struct { Account *AccountService[T] UploadFile *UploadFileService[T] MergePre *MergePreService[T] + Merchant *MerService[T] } // NewSDK 创建拉卡拉SDK实例 @@ -26,11 +27,32 @@ func NewSDK[T any](ctx context.Context, cfgJson string) *SDK[T] { Account: NewAccountService(client), UploadFile: NewUploadFileService(client), MergePre: NewMergePreService(client), + Merchant: NewMerService(client), } } // 以下为便捷方法,直接通过SDK调用各服务的主要功能 +// ReconsiderSubmit 商户进件复议提交 +func (s *SDK[T]) ReconsiderSubmit(req *model.ReConfSubmitRequestData) (*T, error) { + return s.Merchant.ReconsiderSubmit(req) +} + +// QueryMerchant 商户进件信息查询 +func (s *SDK[T]) QueryMerchant(req *model.QueryMerRequestData) (*T, error) { + return s.Merchant.QueryMer(req) +} + +// MerValidate 商户进件信息校验 +func (s *SDK[T]) MerValidate(req *model.MerValidateRequestData) (*T, error) { + return s.Merchant.MerValidate(req) +} + +// AddMer 商户进件 +func (s *SDK[T]) AddMer(req *model.MerchantApplyReqData) (*T, error) { + return s.Merchant.AddMer(req) +} + // MergePreOrder 主扫合单交易 func (s *SDK[T]) MergePreOrder(req *model.MergePreorderReqData) (*T, error) { return s.MergePre.PreOrder(req) diff --git a/model/applyLedgerReceiver.go b/model/applyLedgerReceiver.go index a1c848e..b8dc645 100644 --- a/model/applyLedgerReceiver.go +++ b/model/applyLedgerReceiver.go @@ -37,7 +37,7 @@ type ApplyLedgerReceiverReqData struct { // 法人姓名,可选,长度32,取值说明:收款账户类型为对公,必须上送 LegalPersonName string `json:"legalPersonName"` // 法人证件类型,可选,长度32,取值说明:17身份证,18护照,19港澳居民来往内地通行证,20台湾居民来往内地通行证,收款账户类型为对公,必须上送,身份证外类型先咨询后再使用 - LegalPersonCertificateType string `json:"legalPersonCertificateType"` + LegalPersonCertificateType consts.AcctCertificateType `json:"legalPersonCertificateType"` // 法人证件号,可选,长度32,取值说明:收款账户类型为对公,必须上送 LegalPersonCertificateNo string `json:"legalPersonCertificateNo"` // 收款账户卡号,必传,长度32 @@ -47,7 +47,7 @@ type ApplyLedgerReceiverReqData struct { // 收款账户类型代码,必传,长度32,取值说明:57:对公,58:对私 AcctTypeCode consts.AcctTypeCode `json:"acctTypeCode"` // 收款账户证件类型,必传,长度32,取值说明:17身份证,18护照,19港澳居民来往内地通行证,20台湾居民来往内地通行证,身份证外类型先咨询后再使用 - AcctCertificateType string `json:"acctCertificateType"` + AcctCertificateType consts.AcctCertificateType `json:"acctCertificateType"` // 收款账户证件号,必传,长度32 AcctCertificateNo string `json:"acctCertificateNo"` // 收款账户开户行号,必传,长度32,取值说明:参照FBI.N信息查询,仅支持对私结算账户 diff --git a/model/merValidate.go b/model/merValidate.go new file mode 100644 index 0000000..564b39d --- /dev/null +++ b/model/merValidate.go @@ -0,0 +1,64 @@ +// Package model 提供数据模型定义 +package model + +// MerValidateRequest 商户进件校验请求 +// 接入方在入网前,对商户名称、法人信息、结算人信息做敏感词和黑名单、反洗钱的校验 +// 参考文档: https://o.lakala.com/#/home/document/detail?id=93 + +type MerValidateRequest struct { + // ReqData 请求业务参数 + ReqData *MerValidateRequestData `json:"reqData"` + // Ver 版本号 + Ver string `json:"ver"` + // Timestamp 时间戳 + Timestamp int64 `json:"timestamp"` + // ReqId 请求ID + ReqId string `json:"reqId"` +} + +// MerValidateRequestData 商户进件校验请求业务参数 + +type MerValidateRequestData struct { + // Version 接口版本号 + Version string `json:"version"` + // OrderNo 订单编号(便于后续跟踪排查问题及核对报文) + // 14位年月日时(24小时制)分秒+8位的随机数(不重复)如:2021020112000012345678 + OrderNo string `json:"orderNo"` + // OrgCode 机构代码 + OrgCode string `json:"orgCode"` + // MerRegName 商户注册名称(可传) + MerRegName string `json:"merRegName"` + // MerBizName 商户经营名称(可传) + MerBizName string `json:"merBizName"` + // MerBlis 营业执照(可传) + MerBlis string `json:"merBlis"` + // LarIdcard 法人身份证号(可传) + LarIdcard string `json:"larIdcard"` + // AcctNo 结算账号(可传) + AcctNo string `json:"acctNo"` + // AcctIdcard 结算人证件号(可传) + AcctIdcard string `json:"acctIdcard"` +} + +// MerValidateResponse 商户进件校验响应 + +type MerValidateResponse struct { + // Appid 应用ID + Appid string `json:"appid"` + // CmdRetCode 全局返回码 + CmdRetCode string `json:"cmdRetCode"` + // ReqId 请求ID + ReqId string `json:"reqId"` + // RetCode 返回码 + RetCode string `json:"retCode"` + // RetMsg 返回消息 + RetMsg string `json:"retMsg"` + // Timestamp 时间戳 + Timestamp int64 `json:"timestamp"` + // Ver 版本号 + Ver string `json:"ver"` +} + +func (t *MerValidateResponse) SuccessOrFail() bool { + return t.RetCode == "000000" +} diff --git a/model/merchant.go b/model/merchant.go new file mode 100644 index 0000000..9044a31 --- /dev/null +++ b/model/merchant.go @@ -0,0 +1,110 @@ +package model + +import ( + "github.com/black1552/lkl_sdk/consts" +) + +// MerchantApplyRequest 商户进件请求结构体 + +type MerchantApplyRequest struct { + ReqId string `json:"reqId"` // 请求时间,格式为yyyyMMddHHmmss,必填 + Timestamp int64 `json:"timestamp"` // 接口版本,固定值"1.0",必填 + Ver string `json:"ver"` // 接口版本,固定值"1.0",必填 + ReqData *MerchantApplyReqData `json:"req_data"` // 请求业务参数,必填 +} + +// MerchantApplyReqData 商户进件请求业务数据结构体 + +type MerchantApplyReqData struct { + Version string `json:"version"` // 接口版本号,固定值"1.0",必填 + OrderNo string `json:"orderNo"` // 订单编号,用于后续联调时查询及核对报文,必填,建议14位年月日时分秒+8位随机数 + PosType consts.PosType `json:"posType"` // POS类型,必填,按接入系统做控制,参见POS类型字典表 + OrgCode string `json:"orgCode"` // 机构代码,合作方在拉卡拉的标识,请联系业务员,必填 + MerRegName string `json:"merRegName"` // 商户注册名称,必填,长度不小于4个汉字,8~40字符,不可为纯数字 + MerBizName string `json:"merBizName"` // 商户经营名称,选填,为空时同商户注册名称,4~64字符,不可为纯数字 + MerRegDistCode consts.AddrCode `json:"merRegDistCode"` // 商户地区代码,必填,参见地区文档 + MerRegAddr string `json:"merRegAddr"` // 商户详细地址,必填,去除省、市、区后的详细地址,6-200字符 + MccCode consts.Mcc `json:"mccCode"` // 商户MCC编号,必填,银联商户类别代码 + MerBlisName string `json:"merBlisName"` // 营业执照名称,选填,小微商户可不传,其它必传 + MerBlis string `json:"merBlis"` // 营业执照号,选填,小微商户可不传,对公进件必传,且不可与法人证件相同 + MerBlisStDt string `json:"merBlisStDt"` // 营业执照开始日期,选填,格式yyyy-MM-dd,有营业执照时必传 + MerBlisExpDt string `json:"merBlisExpDt"` // 营业执照有效期,选填,格式yyyy-MM-dd,有营业执照时必传 + MerBusiContent consts.MerBusiContent `json:"merBusiContent"` // 商户经营内容,必填,参见经营内容字典表 + LarName string `json:"larName"` // 商户法人姓名,必填 + LarIdType consts.AccIdType `json:"larIdType"` // 法人证件类型,必填,支持其他证件类型,见证件类型字典表 + LarIdcard string `json:"larIdcard"` // 法人身份证号码,必填 + LarIdcardStDt string `json:"larIdcardStDt"` // 法人身份证开始日期,必填,格式yyyy-MM-dd + LarIdcardExpDt string `json:"larIdcardExpDt"` // 法人身份证有效期,必填,格式yyyy-MM-dd + MerContactMobile string `json:"merContactMobile"` // 商户联系人手机号码,必填 + MerContactName string `json:"merContactName"` // 商户联系人姓名,必填 + ShopName string `json:"shopName"` // 网点名称,选填,不填取商户注册名称 + ShopDistCode string `json:"shopDistCode"` // 网点地址区划代码,选填,不填取商户地区代码 + ShopAddr string `json:"shopAddr"` // 网点详细地址,选填,不填取商户详细地址 + ShopContactName string `json:"shopContactName"` // 网点联系人名称,选填,不填取商户联系人姓名 + ShopContactMobile string `json:"shopContactMobile"` // 网点联系人手机号,选填,不填取商户联系人手机号码 + OpenningBankCode string `json:"openningBankCode"` // 结算账户开户行号,必填,可根据结算卡信息进行查询 + OpenningBankName string `json:"openningBankName"` // 结算账户开户行名称,必填,可根据结算卡信息进行查询 + ClearingBankCode string `json:"clearingBankCode"` // 结算账户清算行号,必填,可根据结算卡信息进行查询 + AcctNo string `json:"acctNo"` // 结算账户账号,必填 + AcctName string `json:"acctName"` // 结算账户名称,必填 + AcctTypeCode consts.AcctTypeCode `json:"acctTypeCode"` // 结算账户性质,必填,57为对公,58为对私 + SettlePeriod consts.SettlePeriod `json:"settlePeriod"` // 结算周期,必填,参见结算周期表 + ClearDt consts.ClearDt `json:"clearDt"` // 日切时间,选填,参见日切时间字典表,默认TWENTY_THREE + AcctIdType consts.AccIdType `json:"acctIdType"` // 结算人证件类型,选填,为空时判断为同法人 + AcctIdcard string `json:"acctIdcard"` // 结算人证件号码,选填,为空时判断为同法人 + AcctIdDt string `json:"acctIdDt"` // 结算人证件有效期,选填,为空时判断为同法人 + DevSerialNo string `json:"devSerialNo"` // 终端设备序列号,选填 + DevTypeName string `json:"devTypeName"` // 设备型号,选填 + TermVer string `json:"termVer"` // 终端版本号,选填 + SalesStaff string `json:"salesStaff"` // 销售人员,选填 + TermNum string `json:"termNum"` // 终端数量,选填,1-5,最大5个终端 + RetUrl string `json:"retUrl"` // 回调地址,必填 + FeeData []*FeeData `json:"feeData"` // 费率信息集合,必填 + FileData []*FileData `json:"fileData"` // 附件集合,选填 + ContractNo string `json:"contractNo"` // 电子合同编号,选填,部分进件类型要求录入 + FeeAssumeType string `json:"feeAssumeType"` // 大额理财-手续费承担方,选填,大额理财进件时必传 + AmountOfMonth string `json:"amountOfMonth"` // 大额理财-最小月交易额,选填 + ServiceFee string `json:"serviceFee"` // 大额理财-收取服务费,选填 +} + +// FeeData 费率信息集合结构体 + +type FeeData struct { + FeeRateTypeCode consts.FeeRateTypeCode `json:"feeRateTypeCode"` // 费率类型,必填,参见费率类型字典表 + FeeRateTypeName string `json:"feeRateTypeName"` // 费率类型名称,必填,如银行卡借记卡 + FeeRatePct string `json:"feeRatePct"` // 手续费费率(%),必填,如0.6 + FeeUpperAmtPcnt string `json:"feeUpperAmtPcnt"` // 单笔交易手续费封顶,选填,默认不封顶,单位(元) + FeeLowerAmtPcnt string `json:"feeLowerAmtPcnt"` // 单笔交易手续费保底,选填,默认无保底,单位(元) + FeeRateSdt string `json:"feeRateSdt"` // 手续费生效日期,选填,默认为进件日期 +} + +// FileData 附件集合结构体 + +type FileData struct { + AttField string `json:"attField"` // 文件编号/附件上传后返回的编号,必填 + AttType string `json:"attType"` // 附件类型,必填 +} + +// MerchantApplyResponse 商户进件响应结构体 + +type MerchantApplyResponse struct { + RetCode string `json:"retCode"` // 响应码,成功为"0000",其他为错误码 + RetMsg string `json:"retMsg"` // 响应描述 + Timestamp int64 `json:"timestamp"` // 响应描述 + Ver string `json:"ver"` // 响应描述 + ReqId string `json:"reqId"` // 响应描述 + CmdRetCode string `json:"cmdRetCode"` // 响应描述 + RespData *MerchantApplyRespData `json:"respData"` // 响应业务数据,成功时返回 +} + +// MerchantApplyRespData 商户进件响应业务数据结构体 + +type MerchantApplyRespData struct { + OrgCode string `json:"orgCode"` // 机构代码 + OrderNo string `json:"orderNo"` // 订单号 + ContractId string `json:"contractId"` // 进件ID,用于后续查询进件结果 +} + +func (t *MerchantApplyResponse) SuccessOrFail() bool { + return t.RetCode == "000000" +} diff --git a/model/queryMer.go b/model/queryMer.go new file mode 100644 index 0000000..cd54fce --- /dev/null +++ b/model/queryMer.go @@ -0,0 +1,105 @@ +// Package model 提供数据模型定义 +package model + +// QueryMerRequest 商户进件信息查询请求 +// 接入方通过开放平台查询进件信息,返回报文同进件审核完成主动通知报文 +// 参考文档: https://o.lakala.com/#/home/document/detail?id=102 + +type QueryMerRequest struct { + // ReqData 请求业务参数 + ReqData *QueryMerRequestData `json:"reqData"` + // Ver 版本号 + Ver string `json:"ver"` + // Timestamp 时间戳 + Timestamp int64 `json:"timestamp"` + // ReqId 请求ID + ReqId string `json:"reqId"` +} + +// QueryMerRequestData 商户进件信息查询请求业务参数 + +type QueryMerRequestData struct { + // Version 接口版本号 + Version string `json:"version"` + // OrderNo 订单编号(便于后续跟踪排查问题及核对报文) + // 14位年月日时(24小时制)分秒+8位的随机数(不重复)如:2021020112000012345678 + OrderNo string `json:"orderNo"` + // OrgCode 机构代码 + OrgCode string `json:"orgCode"` + // ContractId 进件ID + ContractId string `json:"contractId"` +} + +// QueryMerResponse 商户进件信息查询响应 + +type QueryMerResponse struct { + // CmdRetCode 全局返回码 + CmdRetCode string `json:"cmdRetCode"` + // ReqId 请求ID + ReqId string `json:"reqId"` + // RespData 响应业务参数 + RespData *QueryMerResponseData `json:"respData"` + // RetCode 返回码 + RetCode string `json:"retCode"` + // RetMsg 返回消息 + RetMsg string `json:"retMsg"` + // Timestamp 时间戳 + Timestamp int64 `json:"timestamp"` + // Ver 版本号 + Ver string `json:"ver"` +} + +// QueryMerResponseData 商户进件信息查询响应业务参数 + +type QueryMerResponseData struct { + // OrderNo 订单号 + OrderNo string `json:"orderNo"` + // ContractStatus 进件状态 + // 未提交:NO_COMMIT + // 已提交:COMMIT + // 提交失败:COMMIT_FAIL + // 转人工审核:MANUAL_AUDIT + // 审核中:REVIEW_ING + // 审核通过:WAIT_FOR_CONTACT + // 审核驳回:INNER_CHECK_REJECTED + ContractStatus string `json:"contractStatus"` + // OrgCode 机构代码 + OrgCode string `json:"orgCode"` + // ContractId 进件ID + ContractId string `json:"contractId"` + // MerInnerNo 拉卡拉内部商户号(该属性审核通过才有) + MerInnerNo string `json:"merInnerNo"` + // ContractMemo 进件描述 + // 进件审核通过,返回"审核通过" + // 进件审核驳回,返回具体的驳回理由 + ContractMemo string `json:"contractMemo"` + // MerCupNo 银联商户号(该属性审核通过才有) + MerCupNo string `json:"merCupNo"` + // TermDatas 终端列表信息(该属性审核通过并且是增商、增终进件才有) + TermDatas []*TermData `json:"termDatas"` +} + +// TermData 终端数据信息 + +type TermData struct { + // ShopId 网点编号 + ShopId string `json:"shopId"` + // TermId 终端编号 + TermId string `json:"termId"` + // TermNo 终端号 + TermNo string `json:"termNo"` + // BusiTypeCode 业务代码(参考【业务类型字典表】文档) + BusiTypeCode string `json:"busiTypeCode"` + // BusiTypeName 业务名称 + BusiTypeName string `json:"busiTypeName"` + // ProductName 产品名称 + ProductName string `json:"productName"` + // ProductCode 产品代码 + ProductCode string `json:"productCode"` + // DevSerialNo 终端设备序列号 + DevSerialNo string `json:"devSerialNo"` +} + +func (t *QueryMerResponse) SuccessOrFail() bool { + return t.RetCode == "000000" +} diff --git a/model/reConfSubmit.go b/model/reConfSubmit.go new file mode 100644 index 0000000..91e4ada --- /dev/null +++ b/model/reConfSubmit.go @@ -0,0 +1,51 @@ +package model + +// ReConfSubmitRequest 进件复议提交请求 +// 接入方在进件被驳回后(由于系统自动校验无法通过),调用此接口提交进件,转人工审核 +// 参考文档: https://o.lakala.com/#/home/document/detail?id=94 + +type ReConfSubmitRequest struct { + // ReqData 请求业务参数 + ReqData *ReConfSubmitRequestData `json:"reqData"` + // Ver 版本号 + Ver string `json:"ver"` + // Timestamp 时间戳 + Timestamp int64 `json:"timestamp"` + // ReqId 请求ID + ReqId string `json:"reqId"` +} + +// ReConfSubmitRequestData 进件复议提交请求业务参数 + +type ReConfSubmitRequestData struct { + // Version 接口版本号 + Version string `json:"version"` + // OrderNo 订单编号(便于后续跟踪排查问题及核对报文) + // 14位年月日时(24小时制)分秒+8位的随机数(不重复)如:2021020112000012345678 + OrderNo string `json:"orderNo"` + // OrgCode 机构代码 + OrgCode string `json:"orgCode"` + // ContractId 进件ID + ContractId string `json:"contractId"` +} + +// ReConfSubmitResponse 进件复议提交响应 + +type ReConfSubmitResponse struct { + // CmdRetCode 全局返回码 + CmdRetCode string `json:"cmdRetCode"` + // ReqId 请求ID + ReqId string `json:"reqId"` + // RetCode 返回码 + RetCode string `json:"retCode"` + // RetMsg 返回消息 + RetMsg string `json:"retMsg"` + // Timestamp 时间戳 + Timestamp int64 `json:"timestamp"` + // Ver 版本号 + Ver string `json:"ver"` +} + +func (t *ReConfSubmitResponse) SuccessOrFail() bool { + return t.RetCode == "000000" +}