package service import ( "XT_New/models" "XT_New/utils" "bytes" "crypto/hmac" "crypto/sha1" "encoding/base64" "encoding/json" "fmt" "github.com/astaxie/beego" "io/ioutil" "net/http" ) func GetSignNameByPhone(phoneOne string) string { var url string url = "http://demo-open.itruscloud.com/apigate/smsService/sendingSms" var phone string phone = "13318464642" var content string content = "123456" var autograph string autograph = "【天威诚信】" maprequest := make(map[string]interface{}) maprequest["phone"] = phone maprequest["content"] = content maprequest["autograph"] = autograph byterequest, _ := json.Marshal(maprequest) appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) fmt.Println(signatureStr) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } fmt.Println("请求参数", request) fmt.Println("Content-Signature", signatureStr) fmt.Println("appID", appId) fmt.Println("serviceCode", serviceCode) request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) fmt.Println(str) return str } func generateHMACSHA1SignatureOne(data interface{}, key, serviceCode string) (string, error) { // 将数据转换为 JSON 格式的字节数组 jsonData, err := json.Marshal(data) if err != nil { return "", err } // 将密钥和 serviceCode 进行拼接 signingKey := key + serviceCode // 将签名密钥转换为字节数组 keyBytes := []byte(signingKey) // 创建一个新的 HMAC-SHA1 实例 h := hmac.New(sha1.New, keyBytes) // 将 JSON 数据添加到 HMAC 实例中 h.Write(jsonData) signature := base64.StdEncoding.EncodeToString(h.Sum(nil)) // 返回带有前缀的签名字符串 return "HMAC-SHA1 " + signature, nil } func CreateUserName(phone string, disPlayName string) (string, string) { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/createUserRealName" var phoneOne string phoneOne = "13318464642" var disPlayNameOne string disPlayNameOne = "马云的朋友" var authentication string //测试环境用true authentication = "true" maprequest := make(map[string]interface{}) twAuthReq := make(map[string]interface{}) apiAuthReq := make(map[string]interface{}) customerReq := make(map[string]interface{}) customerReq["idCardType"] = "0" customerReq["idCardNum"] = "430526199408156511" apiAuthReq["realNameType"] = 3 apiAuthReq["idCardType"] = "0" apiAuthReq["idCardNum"] = "430526199408156511" apiAuthReq["bankCard"] = "6225551675364804" //验证码流水号 apiAuthReq["codeNumber"] = "msg202307071510269187701" //验证码 apiAuthReq["verifyCode"] = "123456" twAuthReq["oneLineAuth"] = "false" twAuthReq["apiAuthReq"] = apiAuthReq maprequest["phone"] = phoneOne maprequest["displayName"] = disPlayNameOne maprequest["authentication"] = authentication maprequest["twAuthReq"] = twAuthReq maprequest["customerAuthReq"] = customerReq byterequest, _ := json.Marshal(maprequest) appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) fmt.Println(signatureStr) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } fmt.Println("请求参数", request) fmt.Println("Content-Signature", signatureStr) fmt.Println("appID", appId) fmt.Println("serviceCode", serviceCode) request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } var UserId string UserId = respJSON["data"].(map[string]interface{})["userId"].(string) fmt.Println("str", UserId) return str, UserId } func CreatePersionSeal(user_id string, person_seal_type int64, person_seal_name string, person_seal_base string, color int64, alpha int64, width int64, height int64, border int64, font_type int64) (string, string) { maprequest := make(map[string]interface{}) maprequest["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N" maprequest["personSealType"] = 1 maprequest["personSealName"] = "小朋友的印章" var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/createPersonSeal" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) fmt.Println(signatureStr) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } var personSealId string personSealId = respJSON["data"].(map[string]interface{})["personSealId"].(string) fmt.Println("str", personSealId) return str, personSealId } func CreateUploadPact(contractcode string, contractname string, signcount int64, docname string, contractbase string, creator string, enterpriseid string, signvalidays int64, sysncurl string, asyncurl string) string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/createByFile" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) maprequest["contractName"] = "电脑购买交易合同" maprequest["signCount"] = 10 maprequest["docName"] = "日本员工保密协议" file := "C:/Users/28169/Desktop/2.pdf" fileBytes, err := ioutil.ReadFile(file) // 读取file contractBase64 := base64.StdEncoding.EncodeToString(fileBytes) // 加密成base64字符串 maprequest["contractBase64"] = contractBase64 //添加企业成员 里面的USERID maprequest["creator"] = "PBRLMBFVIRR3BV8JGGOX9C7N" maprequest["enterpriseId"] = "BRWAABXW3RUD4PGCYEQWRRK8" maprequest["signValidDays"] = 90 maprequest["sysnUrl"] = "https://kuyi.shengws.com/chenxuemin1.png" maprequest["asyncUrl"] = "https://kuyi.shengws.com/chenxuemin1.png" byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) return str } func CreateEnterPriseRealName(enterprisename string) string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/enterprise/createEnterpriseRealName" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) customerReq := make(map[string]interface{}) customerReq["idCardType"] = "N" customerReq["idCardNum"] = "430526199408156511" maprequest["enterpriseName"] = "深圳德马西科技有限公司" maprequest["authentication"] = true maprequest["customerAuthReq"] = customerReq fmt.Println("maprequest", maprequest) byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) return str } func CreateUserId(userId string, displayName string) string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/joinEnterprise" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) maprequest["enterpriseId"] = "BRWAABXW3RUD4PGCYEQWRRK8" maprequest["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N" byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) return str } //type ResultTwo struct { // ErrMsg string `json:"err_msg"` // InfRefmsgid string `json:"inf_refmsgid"` // Infcode int64 `json:"infcode"` // Output struct { // Baseinfo struct { // Age float64 `json:"age"` // Brdy string `json:"brdy"` // Certno string `json:"certno"` // Gend string `json:"gend"` // Naty string `json:"naty"` // PsnCertType string `json:"psn_cert_type"` // PsnName string `json:"psn_name"` // PsnNo string `json:"psn_no"` // } `json:"baseinfo"` // Idetinfo []interface{} `json:"idetinfo"` // Iinfo []struct { // Balc float64 `json:"balc"` // CvlservFlag string `json:"cvlserv_flag"` // EmpName string `json:"emp_name"` // InsuplcAdmdvs string `json:"insuplc_admdvs"` // Insutype string `json:"insutype"` // PausInsuDansuplcAdmdvs string `json:"paus_insu_dansuplc_admdvs"` // PausInsuDate string `json:"paus_insu_date"` // PsnInsuDate string `json:"psn_insu_date"` // PsnInsuStas string `json:"psn_insu_stas"` // PsnType string `json:"psn_type"` // } `json:"insuinfo"` // } `json:"output"` // RefmsgTime string `json:"refmsg_time"` // RespondTime string `json:"respond_time"` // Signtype interface{} `json:"signtype"` // WarnInfo interface{} `json:"warn_info"` //} func AddContractSignatory(contractId string, signers string, contract models.NewContract) string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/addSignerByFile" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") signFiles := make(map[string]interface{}) //创建合同返回 signFiles["docId"] = "158807311102510183" inputDataArr := make([]map[string]interface{}, 0) for _, item := range signFiles { fmt.Println("item", item) xySignControls := make(map[string]interface{}) xySignControls["key"] = "1" xySignControls["type"] = "autograph" xySignControls["pageNum"] = 1 xySignControls["positionX"] = "120F" xySignControls["positionY"] = "120F" inputDataArr = append(inputDataArr, xySignControls) } inputDataArrTwo := make([]map[string]interface{}, 0) for _, item := range signFiles { fmt.Println(item) keywordSignControls := make(map[string]interface{}) keywordSignControls["key"] = "2" keywordSignControls["type"] = "date" keywordSignControls["pageNum"] = 1 keywordSignControls["keyword"] = "王志文" keywordSignControls["offsetX"] = "100F" keywordSignControls["offsetY"] = "100F" inputDataArrTwo = append(inputDataArrTwo, keywordSignControls) } signFiles["xySignControls"] = inputDataArr signFiles["keywordSignControls"] = inputDataArrTwo inputDataArrThree := make([]map[string]interface{}, 0) inputDataArrThree = append(inputDataArrThree, signFiles) signersFiles := make(map[string]interface{}) signersFiles["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N" signersFiles["signerType"] = "1" signersFiles["enterpriseId"] = "BRWAABXW3RUD4PGCYEQWRRK8" signersFiles["sequence"] = "8" signersFiles["sendMsg"] = false signersFiles["setting"] = true signersFiles["signFiles"] = inputDataArrThree inputDataArrFour := make([]map[string]interface{}, 0) inputDataArrFour = append(inputDataArrFour, signersFiles) maprequest := make(map[string]interface{}) maprequest["contractId"] = "158807311102510182" maprequest["signers"] = inputDataArrFour byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) return str } func CreateBackStageSign(contractId string, signers string) string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/signByFile" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") sealTimestampFiles := make(map[string]interface{}) inputDataArr := make([]map[string]interface{}, 0) signFiles := make(map[string]interface{}) keywordSignControls := make(map[string]interface{}) keywordSignControls["controlsKey"] = "2" keywordSignControls["pattern"] = 1 keywordSignControls["color"] = "#FF0000" inputDataArr = append(inputDataArr, keywordSignControls) sealTimestampFiles["allAddTimestamp"] = false sealTimestampFiles["someTimestampStyle"] = inputDataArr inputDataArrOne := make([]map[string]interface{}, 0) keySignControls := make(map[string]interface{}) keySignControls["controlsKey"] = "1" keySignControls["fontType"] = 1 keySignControls["fontSize"] = 8.5 keySignControls["fontColor"] = "#56600F" keySignControls["alignment"] = 1 inputDataArrOne = append(inputDataArrOne, keySignControls) signFiles["fonts"] = inputDataArrOne signFiles["showTimestamp"] = false signFiles["sealTimestamp"] = sealTimestampFiles signControl := make(map[string]interface{}) signControl["1"] = "{sealId:157474548357267755}" signControl["2"] = "姓名" fmt.Println("signContorlwqowowo", signControl) signFiles["signControl"] = signControl signFiles["docId"] = "158807311102510183" inputDataArrThree := make([]map[string]interface{}, 0) inputDataArrThree = append(inputDataArrThree, signFiles) signer := make(map[string]interface{}) //添加合同签署人接口返回 signer["signerId"] = "158807462500107405" signer["isUserWishes"] = true signer["userWishesWay"] = 1 signer["codeNumber"] = "msg202309081937527315153" signer["verifyCode"] = "252234" signer["signFiles"] = inputDataArrThree maprequest := make(map[string]interface{}) maprequest["contractId"] = "158807311102510182" maprequest["signer"] = signer byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) return str } func GetVerificationCode() string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/sendSmsCode" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) maprequest["contractId"] = "158807311102510182" maprequest["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N" byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) return str } func CreateEnterprise() string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/sendSmsCode" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) maprequest["contractId"] = "157413765980094742" maprequest["userId"] = "PBRLMBFVIRR3BV8JGGOX9C7N" maprequest["sealType"] = 1 maprequest["sealName"] = "测试用章" maprequest["sealBase64"] = "" maprequest["color"] = 1 maprequest["width"] = 40 maprequest["authUserId"] = "" maprequest["sealCreateType"] = false byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) return str } func GetTestThrityMent(org_id int64) (base []*models.XtBaseDrug, err error) { err = XTReadDB().Where("org_id = ? and status=1", org_id).Find(&base).Error return base, err } func UpdateDrugWarehouseInfoByDrugId(drug_id int64, min_price float64) error { err := XTWriteDB().Model(&models.XtDrugWarehouseInfo{}).Where("drug_id = ? and (stock_max_number>0 or stock_min_number>0) and status= 1 and is_check=1 and org_id =10375", drug_id).Updates(map[string]interface{}{"retail_price": min_price}).Error return err } func GetEnterPriseByUserOrgId(user_org_id int64) (models.XtDeviceEnterprise, error) { enterprise := models.XtDeviceEnterprise{} err := XTReadDB().Where("user_org_id = ? and status =1", user_org_id).Find(&enterprise).Error return enterprise, err } func CreateEnterPrise(enterprise models.XtDeviceEnterprise) error { err := XTWriteDB().Create(&enterprise).Error return err } func SaveEnerPrise(enterprise models.XtDeviceEnterprise) error { err := XTWriteDB().Save(&enterprise).Error return err } func CreateNewEnterPriseRealName(enterprise models.XtDeviceEnterprise) (string, string) { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/enterprise/createEnterpriseRealName" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) customerReq := make(map[string]interface{}) customerReq["idCardType"] = "N" customerReq["idCardNum"] = "430526199408156511" maprequest["enterpriseName"] = enterprise.EnterpriseName maprequest["authentication"] = true maprequest["customerAuthReq"] = customerReq fmt.Println("maprequest", maprequest) byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } var enterpriseId string enterpriseId = respJSON["data"].(map[string]interface{})["enterpriseId"].(string) fmt.Println("enterpriseId", enterpriseId) return str, enterpriseId } func GetNewSignNameByPhone(phone string) (string, string) { var url string url = "http://demo-open.itruscloud.com/apigate/smsService/sendingSms" var content string content = "123456" var autograph string autograph = "【天威诚信】" maprequest := make(map[string]interface{}) maprequest["phone"] = phone maprequest["content"] = content maprequest["autograph"] = autograph byterequest, _ := json.Marshal(maprequest) appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) fmt.Println(signatureStr) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } var orderNumber string orderNumber = respJSON["orderNumber"].(string) fmt.Println("orderNumberWOWOWOWOWO", orderNumber) return str, orderNumber } func SavePersonEnterPrise(enterprise models.XtDevicePersonEnterprise) error { err := XTWriteDB().Save(&enterprise).Error return err } func GetLastPersonEnterPrise(admin_user_id int64, orgId int64) (models.XtDevicePersonEnterprise, error) { enterprise := models.XtDevicePersonEnterprise{} err := XTReadDB().Where("admin_user_id = ? and user_org_id = ? and status = 1", admin_user_id, orgId).Find(&enterprise).Error return enterprise, err } func CreateNewUserName(phone string, disPlayName string, code string, orderNumber string, id_card_number string) (string, string) { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/createUserRealName" var authentication string //测试环境用true authentication = "true" maprequest := make(map[string]interface{}) twAuthReq := make(map[string]interface{}) apiAuthReq := make(map[string]interface{}) customerReq := make(map[string]interface{}) fmt.Println("身份证id_card_number", id_card_number) customerReq["idCardType"] = "0" customerReq["idCardNum"] = id_card_number apiAuthReq["realNameType"] = 3 apiAuthReq["idCardType"] = "0" apiAuthReq["idCardNum"] = id_card_number apiAuthReq["bankCard"] = "6225551675364804" //验证码流水号 apiAuthReq["codeNumber"] = orderNumber //验证码 apiAuthReq["verifyCode"] = code twAuthReq["oneLineAuth"] = "false" twAuthReq["apiAuthReq"] = apiAuthReq maprequest["phone"] = phone maprequest["displayName"] = disPlayName maprequest["authentication"] = authentication maprequest["twAuthReq"] = twAuthReq maprequest["customerAuthReq"] = customerReq byterequest, _ := json.Marshal(maprequest) appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) fmt.Println(signatureStr) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } fmt.Println("请求参数", request) fmt.Println("Content-Signature", signatureStr) fmt.Println("appID", appId) fmt.Println("serviceCode", serviceCode) request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } var UserId string UserId = respJSON["data"].(map[string]interface{})["userId"].(string) fmt.Println("str", UserId) return str, UserId } func CreateNewPersionSeal(userId string) (string, string) { maprequest := make(map[string]interface{}) maprequest["userId"] = userId maprequest["personSealType"] = 1 maprequest["personSealName"] = "小马印章" var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/user/createPersonSeal" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) fmt.Println(signatureStr) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } var personSealId string personSealId = respJSON["data"].(map[string]interface{})["personSealId"].(string) fmt.Println("str", personSealId) return str, personSealId } func UpdatePerseEnterPriseById(id int64, personSealId string) error { err := XTWriteDB().Model(models.XtDevicePersonEnterprise{}).Where("id= ? and status =1", id).Updates(map[string]interface{}{"person_seal_id": personSealId}).Error return err } func CreateNewEnterPrise(enterpriseId string, userId string) (string, string) { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/enterprise/createSeal" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") fmt.Println("enterpriseId", enterpriseId) fmt.Println("userId", userId) maprequest := make(map[string]interface{}) maprequest["enterpriseId"] = enterpriseId maprequest["userId"] = userId maprequest["sealType"] = 1 maprequest["sealName"] = "测试用章" fmt.Println("request23222222222222222", maprequest) byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) fmt.Println("request23222222222222222", request) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) fmt.Println("strwowowowowo", str) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } var sealId string sealId = respJSON["data"].(map[string]interface{})["sealId"].(string) fmt.Println("sealId", sealId) return str, sealId } func UpdatePersonEnterPrise(id int64, sealId string) error { err := XTWriteDB().Model(models.XtDevicePersonEnterprise{}).Where("id = ? and status =1", id).Updates(map[string]interface{}{"seal_id": sealId}).Error return err } func GetContractId() string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/search" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) maprequest["contractId"] = "158799561907766048" maprequest["responseContractFile"] = true fmt.Println("request23222222222222222", maprequest) byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) fmt.Println("request23222222222222222", request) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) fmt.Println("strwowowowowo", str) return str } func EndEnterPrise() string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/finished" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) maprequest["contractId"] = "157475501840007476" byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) fmt.Println("strwowowowowo", str) return str } func GetEnterPriseDetail() (string, string) { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/preview" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) maprequest["contractId"] = "158807311102510182" byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) fmt.Println("strwowowowowo", str) var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(respBytes)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } var urlOne string urlOne = respJSON["data"].(map[string]interface{})["url"].(string) fmt.Println("url", urlOne) return str, urlOne } func CreateNewUploadPact(name string) string { var url string url = "http://demo.itruscloud.com/apigate/contractpaasapi/contract/createByFile" appId := beego.AppConfig.String("sign_appid") serviceKye := beego.AppConfig.String("serviceKye") serviceCode := beego.AppConfig.String("serviceCode") maprequest := make(map[string]interface{}) //maprequest["contractCode"] = "102020620701056856" maprequest["contractName"] = "手机购买交易合同" maprequest["signCount"] = 10 maprequest["docName"] = "美国员工保密协议" //file := "C:/Users/28169/Desktop/打印单.pdf" // //fileBytes, err := ioutil.ReadFile(file) // 读取file // //contractBase64 := base64.StdEncoding.EncodeToString(fileBytes) // 加密成base64字符串 //fmt.Println(contractBase64) maprequest["contractBase64"] = name //添加企业成员 里面的USERID maprequest["creator"] = "PBRLMBFVIRR3BV8JGGOX9C7N" maprequest["enterpriseId"] = "BRWAABXW3RUD4PGCYEQWRRK8" maprequest["signValidDays"] = 90 maprequest["sysnUrl"] = "https://kuyi.shengws.com/chenxuemin1.png" maprequest["asyncUrl"] = "https://kuyi.shengws.com/chenxuemin1.png" byterequest, _ := json.Marshal(maprequest) reader := bytes.NewReader(byterequest) signatureStr, _ := generateHMACSHA1SignatureOne(maprequest, serviceKye, serviceCode) request, err := http.NewRequest("POST", url, reader) if err != nil { fmt.Println(err.Error()) } request.Header.Set("appId", appId) request.Header.Set("serviceCode", serviceCode) request.Header.Set("Content-Type", "application/json;charset=UTF-8") request.Header.Set("Content-Signature", signatureStr) client := http.Client{} resp, err := client.Do(request) if err != nil { fmt.Println(err.Error()) } respBytes, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err.Error()) } str := string(respBytes) fmt.Println("strwwoowowow", str) return str } func GetDataConfigDisinfectionFluid(org_id int64) (models.Dataconfig, error) { dataconfig := models.Dataconfig{} err := XTReadDB().Where("org_id = ? and status =1 and id =12536", org_id).Find(&dataconfig).Error return dataconfig, err }