供应商rpc结构及公共方法
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

50 lines
764 B

  1. package supplierrpc
  2. import (
  3. "encoding/json"
  4. "errors"
  5. )
  6. func IsOpen(site_id, dbname, id string, url ...string) (*BoolRet, error) {
  7. if dbname == "" || id == "" {
  8. return nil, errors.New("参数错误")
  9. }
  10. conn, err := rpc_server_conn(url...)
  11. if err != nil {
  12. return nil, err
  13. }
  14. defer conn.Close()
  15. arg := GetParam{site_id, dbname, id}
  16. req, err := SetReqData(arg)
  17. if err != nil {
  18. return nil, err
  19. }
  20. res := &Response{}
  21. err = conn.IsOpen(req, res)
  22. if err != nil {
  23. return nil, err
  24. }
  25. res_data_de, err := GetResData(res)
  26. if err != nil {
  27. return nil, err
  28. }
  29. if res_data_de == "" {
  30. return nil, nil
  31. }
  32. var res_arr BoolRet
  33. err = json.Unmarshal([]byte(res_data_de), &res_arr)
  34. if err != nil {
  35. return nil, err
  36. }
  37. return &res_arr, nil
  38. }