|
@@ -2176,41 +2176,83 @@ func (c *JSybController) Readcardchargeother() {
|
2176
|
2176
|
c.TestGetBasBaseInit(fixmedins_code, secret_key, ak)
|
2177
|
2177
|
switch id_card_type {
|
2178
|
2178
|
case "1":
|
2179
|
|
- pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
|
2180
|
|
- pBusiCardInfo = Remove0000(pBusiCardInfo)
|
2181
|
|
- pCardInfo = Remove0000(pCardInfo)
|
2182
|
|
- fmt.Println(":", ConvertToString(pCardInfo, "gbk", "utf-8"))
|
2183
|
|
-
|
2184
|
|
- fmt.Println(pBusiCardInfo)
|
2185
|
|
- fmt.Println(pCardInfo)
|
2186
|
|
- bas := strings.Split(pCardInfo, "|")
|
2187
|
|
- basNumber := bas[2]
|
2188
|
|
- id_card_no := bas[1]
|
2189
|
|
- card_sn := bas[3]
|
|
2179
|
+ if mdtrtarea_admvs == "320830"{
|
|
2180
|
+ pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
|
|
2181
|
+ pBusiCardInfo = Remove0000(pBusiCardInfo)
|
|
2182
|
+
|
|
2183
|
+ pCardInfo = Remove0000(pCardInfo)
|
|
2184
|
+ fmt.Println(":", ConvertToString(pCardInfo, "gbk", "utf-8"))
|
|
2185
|
+
|
|
2186
|
+ fmt.Println(pCardInfo)
|
|
2187
|
+ bas := strings.Split(pCardInfo, "|")
|
|
2188
|
+ basNumber := bas[2]
|
|
2189
|
+ id_card_no := bas[1]
|
|
2190
|
+ card_sn := bas[3]
|
|
2191
|
+
|
|
2192
|
+ id_card_type_int, _ := strconv.ParseInt(id_card_type, 10, 64)
|
|
2193
|
+
|
|
2194
|
+ if len(pCardInfo) > 0 && len(pBusiCardInfo) > 0 {
|
|
2195
|
+ result, _ := service.Jsyb1101A(basNumber, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type_int, card_sn, "1", url, ak, pBusiCardInfo, id_card_no, cainfo)
|
|
2196
|
+ var dat map[string]interface{}
|
|
2197
|
+ if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
|
2198
|
+ fmt.Println(dat)
|
|
2199
|
+ } else {
|
|
2200
|
+ fmt.Println(err)
|
|
2201
|
+ }
|
|
2202
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2203
|
+ "status": "0",
|
|
2204
|
+ "card_info": pCardInfo,
|
|
2205
|
+ "busi_card_info": pBusiCardInfo,
|
|
2206
|
+ "result": dat,
|
|
2207
|
+ "type": "1",
|
|
2208
|
+ })
|
|
2209
|
+ } else {
|
|
2210
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2211
|
+ "status": "-1",
|
|
2212
|
+ })
|
2190
|
2213
|
|
2191
|
|
- id_card_type_int, _ := strconv.ParseInt(id_card_type, 10, 64)
|
|
2214
|
+ }
|
2192
|
2215
|
|
2193
|
|
- if len(pCardInfo) > 0 && len(pBusiCardInfo) > 0 {
|
2194
|
|
- result, _ := service.Jsyb1101A(basNumber, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type_int, card_sn, "1", url, ak, pBusiCardInfo, id_card_no, cainfo)
|
2195
|
|
- var dat map[string]interface{}
|
2196
|
|
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
2197
|
|
- fmt.Println(dat)
|
|
2216
|
+ }else{
|
|
2217
|
+ pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
|
|
2218
|
+ pBusiCardInfo = Remove0000(pBusiCardInfo)
|
|
2219
|
+ pCardInfo = Remove0000(pCardInfo)
|
|
2220
|
+ fmt.Println(":", ConvertToString(pCardInfo, "gbk", "utf-8"))
|
|
2221
|
+
|
|
2222
|
+ fmt.Println(pBusiCardInfo)
|
|
2223
|
+ fmt.Println(pCardInfo)
|
|
2224
|
+ bas := strings.Split(pCardInfo, "|")
|
|
2225
|
+ basNumber := bas[2]
|
|
2226
|
+ id_card_no := bas[1]
|
|
2227
|
+ card_sn := bas[3]
|
|
2228
|
+
|
|
2229
|
+ id_card_type_int, _ := strconv.ParseInt(id_card_type, 10, 64)
|
|
2230
|
+
|
|
2231
|
+ if len(pCardInfo) > 0 && len(pBusiCardInfo) > 0 {
|
|
2232
|
+ result, _ := service.Jsyb1101A(basNumber, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type_int, card_sn, "1", url, ak, pBusiCardInfo, id_card_no, cainfo)
|
|
2233
|
+ var dat map[string]interface{}
|
|
2234
|
+ if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
|
2235
|
+ fmt.Println(dat)
|
|
2236
|
+ } else {
|
|
2237
|
+ fmt.Println(err)
|
|
2238
|
+ }
|
|
2239
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2240
|
+ "status": "0",
|
|
2241
|
+ "card_info": pCardInfo,
|
|
2242
|
+ "busi_card_info": pBusiCardInfo,
|
|
2243
|
+ "result": dat,
|
|
2244
|
+ "type": "1",
|
|
2245
|
+ })
|
2198
|
2246
|
} else {
|
2199
|
|
- fmt.Println(err)
|
|
2247
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2248
|
+ "status": "-1",
|
|
2249
|
+ })
|
|
2250
|
+
|
2200
|
2251
|
}
|
2201
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
2202
|
|
- "status": "0",
|
2203
|
|
- "card_info": pCardInfo,
|
2204
|
|
- "busi_card_info": pBusiCardInfo,
|
2205
|
|
- "result": dat,
|
2206
|
|
- "type": "1",
|
2207
|
|
- })
|
2208
|
|
- } else {
|
2209
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
2210
|
|
- "status": "-1",
|
2211
|
|
- })
|
|
2252
|
+
|
2212
|
2253
|
|
2213
|
2254
|
}
|
|
2255
|
+
|
2214
|
2256
|
break
|
2215
|
2257
|
case "3": //电子社保卡
|
2216
|
2258
|
_, pBusiCardInfo := c.GetELeInfo(fixmedins_code, operator_id, operator)
|
|
@@ -2314,41 +2356,84 @@ func (c *JSybController) ReadCard() {
|
2314
|
2356
|
c.TestGetBasBaseInit(fixmedins_code, secret_key, ak)
|
2315
|
2357
|
switch id_card_type {
|
2316
|
2358
|
case "1":
|
2317
|
|
- pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
|
2318
|
|
- pBusiCardInfo = Remove0000(pBusiCardInfo)
|
2319
|
|
- pCardInfo = Remove0000(pCardInfo)
|
2320
|
|
- fmt.Println(":", ConvertToString(pCardInfo, "gbk", "utf-8"))
|
|
2359
|
+ if mdtrtarea_admvs == "320830"{
|
|
2360
|
+ pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
|
|
2361
|
+ pBusiCardInfo = Remove0000(pBusiCardInfo)
|
|
2362
|
+
|
|
2363
|
+ pCardInfo = Remove0000(pCardInfo)
|
|
2364
|
+ fmt.Println(":", ConvertToString(pCardInfo, "gbk", "utf-8"))
|
|
2365
|
+ fmt.Println(pBusiCardInfo)
|
|
2366
|
+ fmt.Println(pCardInfo)
|
|
2367
|
+
|
|
2368
|
+ bas := strings.Split(pCardInfo, "|")
|
|
2369
|
+ basNumber := bas[2]
|
|
2370
|
+ id_card_no := bas[1]
|
|
2371
|
+ card_sn := bas[3]
|
|
2372
|
+
|
|
2373
|
+ id_card_type_int, _ := strconv.ParseInt(id_card_type, 10, 64)
|
|
2374
|
+ if len(pCardInfo) > 0 && len(pBusiCardInfo) > 0 {
|
|
2375
|
+ result, _ := service.Jsyb1101A(basNumber, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type_int, card_sn, "1", url, ak, pBusiCardInfo, id_card_no, cainfo)
|
|
2376
|
+ var dat map[string]interface{}
|
|
2377
|
+ if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
|
2378
|
+ fmt.Println(dat)
|
|
2379
|
+ } else {
|
|
2380
|
+ fmt.Println(err)
|
|
2381
|
+ }
|
|
2382
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2383
|
+ "status": "0",
|
|
2384
|
+ "card_info": pCardInfo,
|
|
2385
|
+ "busi_card_info": pBusiCardInfo,
|
|
2386
|
+ "result": dat,
|
|
2387
|
+ "type": "1",
|
|
2388
|
+ })
|
|
2389
|
+ } else {
|
|
2390
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2391
|
+ "status": "-1",
|
|
2392
|
+ })
|
2321
|
2393
|
|
2322
|
|
- fmt.Println(pBusiCardInfo)
|
2323
|
|
- fmt.Println(pCardInfo)
|
2324
|
|
- bas := strings.Split(pCardInfo, "|")
|
2325
|
|
- basNumber := bas[2]
|
2326
|
|
- id_card_no := bas[1]
|
2327
|
|
- card_sn := bas[3]
|
|
2394
|
+ }
|
2328
|
2395
|
|
2329
|
|
- id_card_type_int, _ := strconv.ParseInt(id_card_type, 10, 64)
|
2330
|
2396
|
|
2331
|
|
- if len(pCardInfo) > 0 && len(pBusiCardInfo) > 0 {
|
2332
|
|
- result, _ := service.Jsyb1101A(basNumber, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type_int, card_sn, "1", url, ak, pBusiCardInfo, id_card_no, cainfo)
|
2333
|
|
- var dat map[string]interface{}
|
2334
|
|
- if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
2335
|
|
- fmt.Println(dat)
|
|
2397
|
+ }else{
|
|
2398
|
+ pCardInfo, pBusiCardInfo := c.GetBasBaseInfo()
|
|
2399
|
+ pBusiCardInfo = Remove0000(pBusiCardInfo)
|
|
2400
|
+ pCardInfo = Remove0000(pCardInfo)
|
|
2401
|
+ fmt.Println(":", ConvertToString(pCardInfo, "gbk", "utf-8"))
|
|
2402
|
+
|
|
2403
|
+ fmt.Println(pBusiCardInfo)
|
|
2404
|
+ fmt.Println(pCardInfo)
|
|
2405
|
+ bas := strings.Split(pCardInfo, "|")
|
|
2406
|
+ basNumber := bas[2]
|
|
2407
|
+ id_card_no := bas[1]
|
|
2408
|
+ card_sn := bas[3]
|
|
2409
|
+
|
|
2410
|
+ id_card_type_int, _ := strconv.ParseInt(id_card_type, 10, 64)
|
|
2411
|
+
|
|
2412
|
+ if len(pCardInfo) > 0 && len(pBusiCardInfo) > 0 {
|
|
2413
|
+ result, _ := service.Jsyb1101A(basNumber, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs, secret_key, id_card_type_int, card_sn, "1", url, ak, pBusiCardInfo, id_card_no, cainfo)
|
|
2414
|
+ var dat map[string]interface{}
|
|
2415
|
+ if err := json.Unmarshal([]byte(result), &dat); err == nil {
|
|
2416
|
+ fmt.Println(dat)
|
|
2417
|
+ } else {
|
|
2418
|
+ fmt.Println(err)
|
|
2419
|
+ }
|
|
2420
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2421
|
+ "status": "0",
|
|
2422
|
+ "card_info": pCardInfo,
|
|
2423
|
+ "busi_card_info": pBusiCardInfo,
|
|
2424
|
+ "result": dat,
|
|
2425
|
+ "type": "1",
|
|
2426
|
+ })
|
2336
|
2427
|
} else {
|
2337
|
|
- fmt.Println(err)
|
|
2428
|
+ c.ServeSuccessJSON(map[string]interface{}{
|
|
2429
|
+ "status": "-1",
|
|
2430
|
+ })
|
|
2431
|
+
|
2338
|
2432
|
}
|
2339
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
2340
|
|
- "status": "0",
|
2341
|
|
- "card_info": pCardInfo,
|
2342
|
|
- "busi_card_info": pBusiCardInfo,
|
2343
|
|
- "result": dat,
|
2344
|
|
- "type": "1",
|
2345
|
|
- })
|
2346
|
|
- } else {
|
2347
|
|
- c.ServeSuccessJSON(map[string]interface{}{
|
2348
|
|
- "status": "-1",
|
2349
|
|
- })
|
|
2433
|
+
|
2350
|
2434
|
|
2351
|
2435
|
}
|
|
2436
|
+
|
2352
|
2437
|
break
|
2353
|
2438
|
case "3": //电子社保卡
|
2354
|
2439
|
_, pBusiCardInfo := c.GetELeInfo(fixmedins_code, operator_id, operator)
|
|
@@ -2486,14 +2571,21 @@ func (c *JSybController) TestGetBasBaseInit(code string, secret_key string, ak s
|
2486
|
2571
|
//miConfig, _ := service.FindMedicalInsuranceInfo(c.GetAdminUserInfo().CurrentOrgId)
|
2487
|
2572
|
str := make([]byte, 2048)
|
2488
|
2573
|
inputData := make(map[string]interface{})
|
2489
|
|
- inputData["IP"] = "10.58.65.240"
|
|
2574
|
+
|
|
2575
|
+ if code == "H32083002114"{
|
|
2576
|
+ inputData["IP"] = "10.58.73.212"
|
|
2577
|
+ inputData["EC_URL"] = "http://10.58.33.207:10086/localcfc/api/hsecfc/localQrCodeQuery"
|
|
2578
|
+
|
|
2579
|
+ }else{
|
|
2580
|
+ inputData["IP"] = "10.58.65.240"
|
|
2581
|
+ inputData["EC_URL"] = "http://10.58.33.207:10086/localcfc/api/hsecfc/localQrCodeQuery"
|
|
2582
|
+ }
|
2490
|
2583
|
inputData["PORT"] = "8086"
|
2491
|
2584
|
inputData["TIMEOUT"] = "180"
|
2492
|
2585
|
inputData["LOG_PATH"] = "C:\\log\\"
|
2493
|
2586
|
|
2494
|
2587
|
//inputData["EC_URL"] = "http://10.58.33.207:10086/localcfc/api/hsecfc/localQrCodeQuery"
|
2495
|
2588
|
|
2496
|
|
- inputData["EC_URL"] = "http://10.58.33.207:10086/localcfc/api/hsecfc/localQrCodeQuery"
|
2497
|
2589
|
inputData["CARD_PASSTYPE"] = "1"
|
2498
|
2590
|
inputData["API_NAME"] = "hssServives"
|
2499
|
2591
|
inputData["API_VERSION"] = "1.0.0"
|
|
@@ -2521,6 +2613,73 @@ func (c *JSybController) TestGetBasBaseInit(code string, secret_key string, ak s
|
2521
|
2613
|
//initFlag = 1
|
2522
|
2614
|
return
|
2523
|
2615
|
}
|
|
2616
|
+func (c *JSybController) GetjsBasBaseInfo() string {
|
|
2617
|
+ DllDef := syscall.MustLoadDLL("SSCardDriver.dll")
|
|
2618
|
+ readCard := DllDef.MustFindProc("iReadCardBas")
|
|
2619
|
+ if readCard == nil {
|
|
2620
|
+ fmt.Println("readcard is nil")
|
|
2621
|
+ readCard = DllDef.MustFindProc("iReadCardBas")
|
|
2622
|
+ }
|
|
2623
|
+
|
|
2624
|
+ //str := make([]byte, 1024)
|
|
2625
|
+ str1 := make([]byte, 1024)
|
|
2626
|
+ ret2, _, _ := readCard.Call(uintptr(3), (uintptr)(unsafe.Pointer(&str1[0])))
|
|
2627
|
+
|
|
2628
|
+ //file, err := os.Open("C:\\Users\\Administrator\\Desktop\\11\\Power-Card\\SSCardDriver\\api.log")
|
|
2629
|
+ //if err != nil {
|
|
2630
|
+ // fmt.Println("Error opening file:", err)
|
|
2631
|
+ //}
|
|
2632
|
+ //defer file.Close()
|
|
2633
|
+ //
|
|
2634
|
+ //var lastProgram Program
|
|
2635
|
+ //scanner := bufio.NewScanner(file)
|
|
2636
|
+ //inProgram := false
|
|
2637
|
+ //
|
|
2638
|
+ //for scanner.Scan() {
|
|
2639
|
+ // line := scanner.Text()
|
|
2640
|
+ // if strings.Contains(line, "<program>") {
|
|
2641
|
+ // inProgram = true
|
|
2642
|
+ // programXML := "<program>"
|
|
2643
|
+ // for scanner.Scan() {
|
|
2644
|
+ // line = scanner.Text()
|
|
2645
|
+ // programXML += line
|
|
2646
|
+ // if strings.Contains(line, "</program>") {
|
|
2647
|
+ // programXML += "</program>"
|
|
2648
|
+ // break
|
|
2649
|
+ // }
|
|
2650
|
+ // }
|
|
2651
|
+ // if err := xml.Unmarshal([]byte(programXML), &lastProgram); err == nil {
|
|
2652
|
+ // // 解析成功,更新最后的 Program
|
|
2653
|
+ // }
|
|
2654
|
+ // inProgram = false
|
|
2655
|
+ // }
|
|
2656
|
+ //}
|
|
2657
|
+ //
|
|
2658
|
+ // fmt.Println("Error reading file:", inProgram)
|
|
2659
|
+ //
|
|
2660
|
+ //if err := scanner.Err(); err != nil {
|
|
2661
|
+ // fmt.Println("Error reading file:", err)
|
|
2662
|
+
|
|
2663
|
+ //}
|
|
2664
|
+
|
|
2665
|
+ // 输出最后一次的 Program
|
|
2666
|
+ //fmt.Printf("最后一次的 <program>:\n")
|
|
2667
|
+ //fmt.Printf("<program>\n")
|
|
2668
|
+ //fmt.Printf(" <function_id>%s</function_id>\n", lastProgram.FunctionID)
|
|
2669
|
+ //fmt.Printf(" <cardinfo>%s</cardinfo>\n", lastProgram.CardInfo)
|
|
2670
|
+ //fmt.Printf(" <user>%s</user>\n", lastProgram.User)
|
|
2671
|
+ //fmt.Printf("</program>\n")
|
|
2672
|
+
|
|
2673
|
+ fmt.Println(string(str1))
|
|
2674
|
+ fmt.Println(":", ConvertToString(string(str1), "gbk", "utf-8"))
|
|
2675
|
+
|
|
2676
|
+ if ret2 != 0 {
|
|
2677
|
+ return ""
|
|
2678
|
+ }
|
|
2679
|
+
|
|
2680
|
+ return string(str1)
|
|
2681
|
+}
|
|
2682
|
+
|
2524
|
2683
|
func (c *JSybController) GetBasBaseInfo() (string, string) {
|
2525
|
2684
|
DllDef := syscall.MustLoadDLL("HeaSecReadInfo.dll")
|
2526
|
2685
|
readCard := DllDef.MustFindProc("ReadCardBas")
|