Browse Source

历史排班

28169 1 year ago
parent
commit
3d88a3a7e8
3 changed files with 386 additions and 11 deletions
  1. 12 0
      controllers/his_api_controller.go
  2. 90 10
      controllers/sign_api_controller.go
  3. 284 1
      service/sign_service.go

+ 12 - 0
controllers/his_api_controller.go View File

@@ -2982,6 +2982,9 @@ func (c *HisApiController) CreateHisPrescription() {
2982 2982
 								if s.Price != lastWarehouse.RetailPrice {
2983 2983
 									s.Price = lastWarehouse.RetailPrice
2984 2984
 								}
2985
+								if s.Price == 0 {
2986
+									s.Price = lastWarehouse.RetailPrice
2987
+								}
2985 2988
 							}
2986 2989
 
2987 2990
 							service.CreateHisDoctorAdvice(&s)
@@ -3678,6 +3681,15 @@ func (c *HisApiController) EditHisPrescription() {
3678 3681
 								c.ServeFailJSONWithSGJErrorCode(errcode)
3679 3682
 								return
3680 3683
 							}
3684
+
3685
+							if adminInfo.CurrentOrgId == 10215 || adminInfo.CurrentOrgId == 3877 {
3686
+								storeConfig, _ := service.GetAllStoreHouseConfig(adminInfo.CurrentOrgId)
3687
+								lastWarehouse, _ := service.FindLastDrugWarehousingInfoByID(s.DrugId, storeConfig.DrugStorehouseOut)
3688
+								if s.Price == 0 {
3689
+									s.Price = lastWarehouse.RetailPrice
3690
+								}
3691
+							}
3692
+
3681 3693
 							service.CreateHisDoctorAdvice(&s)
3682 3694
 							//记录日志
3683 3695
 							byterequest, _ := json.Marshal(s)

+ 90 - 10
controllers/sign_api_controller.go View File

@@ -73,6 +73,12 @@ func SignApiRegistRouters() {
73 73
 
74 74
 	beego.Router("/api/device/uploadprintorder", &SignApiController{}, "Post:UploadPrintOrder")
75 75
 
76
+	//sdk 版本
77
+	beego.Router("/api/device/createqianshuusername", &SignApiController{}, "Post:CreateQianshuUserName")
78
+
79
+	//发送消息
80
+	beego.Router("/api/device/createskdsendinformation", &SignApiController{}, "Post:CreateSdkSendInformation")
81
+
76 82
 }
77 83
 
78 84
 // 短信服务接口
@@ -499,8 +505,9 @@ func (this *SignApiController) CreateNewPersionSeal() {
499 505
 
500 506
 	lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
501 507
 
502
-	personSeal, personSealId := service.CreateNewPersionSeal(lastPerson.UserId)
508
+	//personSeal, personSealId := service.CreateNewPersionSeal(lastPerson.UserId)
503 509
 
510
+	personSeal, personSealId := service.CreateSKDPersionSeal(lastPerson.UserId)
504 511
 	service.UpdatePerseEnterPriseById(lastPerson.ID, personSealId)
505 512
 	this.ServeSuccessJSON(map[string]interface{}{
506 513
 		"personSeal": personSeal,
@@ -511,17 +518,70 @@ func (this *SignApiController) CreateNewPersionSeal() {
511 518
 
512 519
 func (this *SignApiController) CreateNewEnterPrise() {
513 520
 
514
-	orgId := this.GetAdminUserInfo().CurrentOrgId
515
-
516
-	admin_user_id, _ := this.GetInt64("admin_user_id")
517
-
518
-	enterPrise, _ := service.GetEnterPriseByUserOrgId(orgId)
519
-	fmt.Println("地址日活", enterPrise.Enterpriseid)
520
-	lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
521
+	//orgId := this.GetAdminUserInfo().CurrentOrgId
522
+	//
523
+	//admin_user_id, _ := this.GetInt64("admin_user_id")
524
+	//
525
+	//enterPrise, _ := service.GetEnterPriseByUserOrgId(orgId)
526
+	//fmt.Println("地址日活", enterPrise.Enterpriseid)
527
+	//lastPerson, _ := service.GetLastPersonEnterPrise(admin_user_id, orgId)
528
+	//
529
+	//newEnterPrise, sealId := service.CreateNewEnterPrise(enterPrise.Enterpriseid, lastPerson.UserId)
530
+	//
531
+	//fmt.Println("newEnterPrise",newEnterPrise)
532
+	//service.UpdatePersonEnterPrise(lastPerson.ID, sealId)
521 533
 
522
-	newEnterPrise, sealId := service.CreateNewEnterPrise(enterPrise.Enterpriseid, lastPerson.UserId)
534
+	newEnterPrise, _ := service.CreateSDKEnterPrise()
523 535
 
524
-	service.UpdatePersonEnterPrise(lastPerson.ID, sealId)
536
+	//var url string
537
+	//url = "http://localhost:8890/sdk/seal/createEnterpriseSeal"
538
+	//appId := beego.AppConfig.String("sign_appid")
539
+	//
540
+	//serviceKye := beego.AppConfig.String("serviceKye")
541
+	//
542
+	//serviceCode := beego.AppConfig.String("serviceCode")
543
+	//
544
+	//maprequest := make(map[string]interface{})
545
+	//
546
+	//maprequest["sealType"] = 1
547
+	//maprequest["enterpriseName"] = "深圳伊森时光科技有限公司"
548
+	//maprequest["horizontalText"] = "财务专用章"
549
+	//
550
+	//byterequest, _ := json.Marshal(maprequest)
551
+	//reader := bytes.NewReader(byterequest)
552
+	//
553
+	//signatureStr, _ := service.GenerateHMACSHA1SignatureTwo(maprequest, serviceKye, serviceCode)
554
+	//fmt.Println("signatureStr", signatureStr)
555
+	//request, err := http.NewRequest("POST", url, reader)
556
+	//
557
+	//fmt.Println("request23222222222222222", request)
558
+	//if err != nil {
559
+	//	fmt.Println(err.Error())
560
+	//}
561
+	//
562
+	//request.Header.Set("appId", appId)
563
+	//request.Header.Set("serviceCode", serviceCode)
564
+	//request.Header.Set("Content-Type", "application/json;charset=UTF-8")
565
+	//request.Header.Set("Content-Signature", signatureStr)
566
+	//client := http.Client{}
567
+	//
568
+	//resp, err := client.Do(request)
569
+	//if err != nil {
570
+	//	fmt.Println(err.Error())
571
+	//
572
+	//}
573
+	//respBytes, err := ioutil.ReadAll(resp.Body)
574
+	//if err != nil {
575
+	//	fmt.Println(err.Error())
576
+	//
577
+	//}
578
+	//str := string(respBytes)
579
+	//fmt.Println("strwowowowowo", str)
580
+	//
581
+	//var respJSON map[string]interface{}
582
+	//if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
583
+	//	utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
584
+	//}
525 585
 
526 586
 	this.ServeSuccessJSON(map[string]interface{}{
527 587
 		"newEnterPrise": newEnterPrise,
@@ -572,3 +632,23 @@ func (this *SignApiController) UploadPrintOrder() {
572 632
 	})
573 633
 
574 634
 }
635
+
636
+func (this *SignApiController) CreateQianshuUserName() {
637
+
638
+	sign, userId := service.CreateQianshuUserName()
639
+
640
+	this.ServeSuccessJSON(map[string]interface{}{
641
+		"sign":   sign,
642
+		"userId": userId,
643
+	})
644
+}
645
+
646
+func (this *SignApiController) CreateSdkSendInformation() {
647
+
648
+	information, orderId := service.CreateSdkSendInformation()
649
+
650
+	this.ServeSuccessJSON(map[string]interface{}{
651
+		"information": information,
652
+		"orderId":     orderId,
653
+	})
654
+}

+ 284 - 1
service/sign_service.go View File

@@ -103,6 +103,31 @@ func generateHMACSHA1SignatureOne(data interface{}, key, serviceCode string) (st
103 103
 	return "HMAC-SHA1 " + signature, nil
104 104
 }
105 105
 
106
+func GenerateHMACSHA1SignatureTwo(data interface{}, key, serviceCode string) (string, error) {
107
+	// 将数据转换为 JSON 格式的字节数组
108
+	jsonData, err := json.Marshal(data)
109
+	if err != nil {
110
+		return "", err
111
+	}
112
+
113
+	// 将密钥和 serviceCode 进行拼接
114
+	signingKey := key + serviceCode
115
+
116
+	// 将签名密钥转换为字节数组
117
+	keyBytes := []byte(signingKey)
118
+
119
+	// 创建一个新的 HMAC-SHA1 实例
120
+	h := hmac.New(sha1.New, keyBytes)
121
+
122
+	// 将 JSON 数据添加到 HMAC 实例中
123
+	h.Write(jsonData)
124
+
125
+	signature := base64.StdEncoding.EncodeToString(h.Sum(nil))
126
+
127
+	// 返回带有前缀的签名字符串
128
+	return "HMAC-SHA1 " + signature, nil
129
+}
130
+
106 131
 func CreateUserName(phone string, disPlayName string) (string, string) {
107 132
 
108 133
 	var url string
@@ -1077,6 +1102,67 @@ func CreateNewPersionSeal(userId string) (string, string) {
1077 1102
 	return str, personSealId
1078 1103
 }
1079 1104
 
1105
+func CreateSKDPersionSeal(userId string) (string, string) {
1106
+
1107
+	maprequest := make(map[string]interface{})
1108
+
1109
+	//maprequest["userId"] = userId
1110
+
1111
+	//印章字体 1宋体(默认)2 黑体
1112
+	maprequest["fontType"] = 1
1113
+	//个人姓名(1-42位字符)
1114
+	maprequest["personName"] = "王志文"
1115
+	var url string
1116
+	url = "http://localhost:8890/sdk/seal/createPersonSeal"
1117
+	appId := beego.AppConfig.String("sign_appid")
1118
+
1119
+	fmt.Println("appId", appId)
1120
+	serviceKye := beego.AppConfig.String("serviceKye")
1121
+	fmt.Println("serviceKye", serviceKye)
1122
+	serviceCode := beego.AppConfig.String("serviceCode")
1123
+
1124
+	fmt.Println("serviceCode", serviceCode)
1125
+	byterequest, _ := json.Marshal(maprequest)
1126
+	reader := bytes.NewReader(byterequest)
1127
+
1128
+	signatureStr, ERR := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
1129
+
1130
+	fmt.Println(ERR)
1131
+
1132
+	request, err := http.NewRequest("POST", url, reader)
1133
+	fmt.Println("errwowowoowowowow", err)
1134
+	if err != nil {
1135
+		fmt.Println(err.Error())
1136
+	}
1137
+
1138
+	request.Header.Set("appId", appId)
1139
+	request.Header.Set("serviceCode", serviceCode)
1140
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1141
+	request.Header.Set("Content-Signature", signatureStr)
1142
+	client := http.Client{}
1143
+
1144
+	resp, err := client.Do(request)
1145
+	if err != nil {
1146
+		fmt.Println(err.Error())
1147
+
1148
+	}
1149
+	respBytes, err := ioutil.ReadAll(resp.Body)
1150
+	if err != nil {
1151
+		fmt.Println(err.Error())
1152
+
1153
+	}
1154
+	str := string(respBytes)
1155
+	fmt.Println("strwoooooooooooooooooooo", str)
1156
+	var respJSON map[string]interface{}
1157
+	if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
1158
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
1159
+	}
1160
+	var personSealId string
1161
+	//personSealId = respJSON["data"].(map[string]interface{})["personSealId"].(string)
1162
+	//fmt.Println("str", personSealId)
1163
+	return str, personSealId
1164
+}
1165
+
1080 1166
 func UpdatePerseEnterPriseById(id int64, personSealId string) error {
1081 1167
 
1082 1168
 	err := XTWriteDB().Model(models.XtDevicePersonEnterprise{}).Where("id= ? and status =1", id).Updates(map[string]interface{}{"person_seal_id": personSealId}).Error
@@ -1111,7 +1197,7 @@ func CreateNewEnterPrise(enterpriseId string, userId string) (string, string) {
1111 1197
 
1112 1198
 	request, err := http.NewRequest("POST", url, reader)
1113 1199
 
1114
-	fmt.Println("request23222222222222222", request)
1200
+	fmt.Println("中国人民欢迎您", request)
1115 1201
 	if err != nil {
1116 1202
 		fmt.Println(err.Error())
1117 1203
 	}
@@ -1145,6 +1231,61 @@ func CreateNewEnterPrise(enterpriseId string, userId string) (string, string) {
1145 1231
 	return str, sealId
1146 1232
 }
1147 1233
 
1234
+func CreateSDKEnterPrise() (string, string) {
1235
+
1236
+	var url string
1237
+	url = "http://localhost:8890/sdk/seal/createEnterpriseSeal"
1238
+	appId := beego.AppConfig.String("sign_appid")
1239
+
1240
+	serviceKye := beego.AppConfig.String("serviceKye")
1241
+
1242
+	serviceCode := beego.AppConfig.String("serviceCode")
1243
+
1244
+	maprequest := make(map[string]interface{})
1245
+
1246
+	maprequest["sealType"] = 1
1247
+	maprequest["enterpriseName"] = "深圳伊森时光科技有限公司"
1248
+	maprequest["horizontalText"] = "财务专用章"
1249
+
1250
+	byterequest, _ := json.Marshal(maprequest)
1251
+	reader := bytes.NewReader(byterequest)
1252
+
1253
+	signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
1254
+
1255
+	request, err := http.NewRequest("POST", url, reader)
1256
+
1257
+	if err != nil {
1258
+		fmt.Println(err.Error())
1259
+	}
1260
+
1261
+	request.Header.Set("appId", appId)
1262
+	request.Header.Set("serviceCode", serviceCode)
1263
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1264
+	request.Header.Set("Content-Signature", signatureStr)
1265
+	client := http.Client{}
1266
+
1267
+	resp, err := client.Do(request)
1268
+	if err != nil {
1269
+		fmt.Println(err.Error())
1270
+
1271
+	}
1272
+	respBytes, err := ioutil.ReadAll(resp.Body)
1273
+	if err != nil {
1274
+		fmt.Println(err.Error())
1275
+
1276
+	}
1277
+	str := string(respBytes)
1278
+
1279
+	var respJSON map[string]interface{}
1280
+	if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
1281
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
1282
+	}
1283
+	var sealId string
1284
+	//sealId = respJSON["data"].(map[string]interface{})["sealId"].(string)
1285
+	//fmt.Println("sealId", sealId)
1286
+	return str, sealId
1287
+}
1288
+
1148 1289
 func UpdatePersonEnterPrise(id int64, sealId string) error {
1149 1290
 
1150 1291
 	err := XTWriteDB().Model(models.XtDevicePersonEnterprise{}).Where("id = ? and status =1", id).Updates(map[string]interface{}{"seal_id": sealId}).Error
@@ -1381,3 +1522,145 @@ func GetDataConfigDisinfectionFluid(org_id int64) (models.Dataconfig, error) {
1381 1522
 
1382 1523
 	return dataconfig, err
1383 1524
 }
1525
+
1526
+func CreateQianshuUserName() (string, string) {
1527
+
1528
+	var url string
1529
+
1530
+	url = "http://localhost:8090/sdk/user/create"
1531
+	var account string
1532
+
1533
+	account = "13318464642"
1534
+
1535
+	var realName string
1536
+
1537
+	realName = "马文强"
1538
+
1539
+	maprequest := make(map[string]interface{})
1540
+
1541
+	maprequest["account"] = account
1542
+
1543
+	//账号类型:1手机号,2邮箱
1544
+	maprequest["accountType"] = 1
1545
+
1546
+	maprequest["realName"] = realName
1547
+
1548
+	//签署人类型 1个人 2.企业
1549
+	maprequest["signerType"] = 1
1550
+
1551
+	// 0表示 身份证
1552
+	maprequest["cardType"] = 0
1553
+
1554
+	maprequest["cardNumber"] = "430526199408156511"
1555
+
1556
+	byterequest, _ := json.Marshal(maprequest)
1557
+
1558
+	appId := beego.AppConfig.String("sign_appid")
1559
+
1560
+	serviceKye := beego.AppConfig.String("serviceKye")
1561
+
1562
+	serviceCode := beego.AppConfig.String("serviceCode")
1563
+
1564
+	reader := bytes.NewReader(byterequest)
1565
+
1566
+	signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
1567
+
1568
+	fmt.Println(signatureStr)
1569
+
1570
+	request, err := http.NewRequest("POST", url, reader)
1571
+	if err != nil {
1572
+		fmt.Println(err.Error())
1573
+	}
1574
+	fmt.Println("请求参数", request)
1575
+	fmt.Println("Content-Signature", signatureStr)
1576
+	fmt.Println("appID", appId)
1577
+	fmt.Println("serviceCode", serviceCode)
1578
+	request.Header.Set("appId", appId)
1579
+	request.Header.Set("serviceCode", serviceCode)
1580
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1581
+	request.Header.Set("Content-Signature", signatureStr)
1582
+	client := http.Client{}
1583
+
1584
+	resp, err := client.Do(request)
1585
+	if err != nil {
1586
+		fmt.Println(err.Error())
1587
+
1588
+	}
1589
+	respBytes, err := ioutil.ReadAll(resp.Body)
1590
+	if err != nil {
1591
+		fmt.Println(err.Error())
1592
+
1593
+	}
1594
+	str := string(respBytes)
1595
+
1596
+	var respJSON map[string]interface{}
1597
+	if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
1598
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
1599
+	}
1600
+	var UserId string
1601
+	UserId = respJSON["data"].(map[string]interface{})["userId"].(string)
1602
+	fmt.Println("str", UserId)
1603
+	return str, UserId
1604
+}
1605
+
1606
+func CreateSdkSendInformation() (string, string) {
1607
+
1608
+	var url string
1609
+
1610
+	url = "http://localhost:8090/sdk/msg/sendMsg"
1611
+
1612
+	maprequest := make(map[string]interface{})
1613
+
1614
+	maprequest["phone"] = "13318464642"
1615
+
1616
+	maprequest["signType"] = "pdf"
1617
+
1618
+	byterequest, _ := json.Marshal(maprequest)
1619
+
1620
+	appId := beego.AppConfig.String("sign_appid")
1621
+
1622
+	serviceKye := beego.AppConfig.String("serviceKye")
1623
+
1624
+	serviceCode := beego.AppConfig.String("serviceCode")
1625
+
1626
+	reader := bytes.NewReader(byterequest)
1627
+
1628
+	signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode)
1629
+
1630
+	fmt.Println(signatureStr)
1631
+
1632
+	request, err := http.NewRequest("POST", url, reader)
1633
+	if err != nil {
1634
+		fmt.Println(err.Error())
1635
+	}
1636
+	fmt.Println("请求参数", request)
1637
+	fmt.Println("Content-Signature", signatureStr)
1638
+	fmt.Println("appID", appId)
1639
+	fmt.Println("serviceCode", serviceCode)
1640
+	request.Header.Set("appId", appId)
1641
+	request.Header.Set("serviceCode", serviceCode)
1642
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1643
+	request.Header.Set("Content-Signature", signatureStr)
1644
+	client := http.Client{}
1645
+
1646
+	resp, err := client.Do(request)
1647
+	if err != nil {
1648
+		fmt.Println(err.Error())
1649
+
1650
+	}
1651
+	respBytes, err := ioutil.ReadAll(resp.Body)
1652
+	if err != nil {
1653
+		fmt.Println(err.Error())
1654
+
1655
+	}
1656
+	str := string(respBytes)
1657
+
1658
+	var respJSON map[string]interface{}
1659
+	if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil {
1660
+		utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
1661
+	}
1662
+	var orderId string
1663
+	orderId = respJSON["data"].(map[string]interface{})["orderId"].(string)
1664
+	fmt.Println("str", orderId)
1665
+	return str, orderId
1666
+}