update code
This commit is contained in:
1
.env
1
.env
@@ -13,4 +13,5 @@ SECRET_KEY=1bV363512D
|
||||
BASEURL_BPJS_DEV=https://apijkn-dev.bpjs-kesehatan.go.id/
|
||||
SURAT_KONTROL_RS_DEV=vclaim-rest-dev
|
||||
INSERT_SURAT_KONTROL=/RencanaKontrol/insert
|
||||
UPDATE_SURAT_KONTROL=/RencanaKontrol/Update
|
||||
GET_NOMOR_SURAT_KONTROL=/RencanaKontrol/noSuratKontrol
|
||||
@@ -50,16 +50,78 @@ func PostData(url string, header *config.Header, headers map[string]string, requ
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var resSuratKontrolRaw suratkontrol.ResponseInsertSuratKontrolRaw
|
||||
var resSuratKontrolRaw suratkontrol.ResponseRaw
|
||||
err = json.Unmarshal([]byte(res), &resSuratKontrolRaw)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if resSuratKontrolRaw.MetaData.Code == 201 {
|
||||
log.Println("No Data Found")
|
||||
return nil, nil
|
||||
dataResp, err := docs.StringDecrypt(key, resSuratKontrolRaw.Response)
|
||||
if err != nil {
|
||||
log.Printf("Error Decrypt: %v", err)
|
||||
log.Println("res: ", dataResp)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var resSuratKontrol []suratkontrol.ResponseInsertSuratKontrol
|
||||
|
||||
log.Println("dataresp: ", dataResp)
|
||||
|
||||
err = json.Unmarshal([]byte(dataResp), &resSuratKontrol)
|
||||
if err != nil {
|
||||
log.Printf("Error Decode: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Println("res: ", resSuratKontrol)
|
||||
|
||||
return resSuratKontrol, nil
|
||||
}
|
||||
|
||||
func ResponseUpdateSuratKontrol(url string, header *config.Header, headers map[string]string, request *suratkontrol.RequestRencanaKontrol) (interface{}, error) {
|
||||
log.Println("URL", url)
|
||||
|
||||
requestBody := &suratkontrol.RequestHeaderRencanaKontrol{
|
||||
Request: *request,
|
||||
}
|
||||
|
||||
reqMarshall, err := json.Marshal(requestBody)
|
||||
if err != nil {
|
||||
log.Printf("Error json marshal: %v", err)
|
||||
}
|
||||
|
||||
req, err := http.NewRequest("POST", url, bytes.NewReader(reqMarshall))
|
||||
if err != nil {
|
||||
log.Printf("Error creating request: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
for key, value := range headers {
|
||||
req.Header.Set(key, value)
|
||||
}
|
||||
|
||||
log.Println("REQ", req.Header)
|
||||
client := http.Client{}
|
||||
response, err := client.Do(req)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
log.Println("RESPONSE: ", response)
|
||||
|
||||
key := header.ConsID + header.SecretKey + header.TimeStamp
|
||||
res, err := io.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var resSuratKontrolRaw suratkontrol.ResponseRaw
|
||||
err = json.Unmarshal([]byte(res), &resSuratKontrolRaw)
|
||||
if err != nil {
|
||||
log.Printf("Error Unmarshaling: %v", err)
|
||||
return nil, err
|
||||
}
|
||||
|
||||
dataResp, err := docs.StringDecrypt(key, resSuratKontrolRaw.Response)
|
||||
|
||||
@@ -61,6 +61,55 @@ func InsertSuratKontrol(c *gin.Context) {
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
|
||||
func UpdateSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS_DEV")
|
||||
param := os.Getenv("UPDATE_SURAT_KONTROL")
|
||||
url := baseUrl + endpoint + param
|
||||
|
||||
var req sk.RequestInsertRencanaKontrol
|
||||
|
||||
err := c.Bind(req)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
conf := config.ConfigBpjs{}
|
||||
|
||||
header := cfg.SetHeader(conf)
|
||||
|
||||
headers := map[string]string{
|
||||
"X-cons-id": header.ConsID,
|
||||
"X-timestamp": header.TimeStamp,
|
||||
"X-signature": header.XSignature,
|
||||
"user_key": header.UserKey,
|
||||
"Content-Type": "Application/x-www-form-urlencoded",
|
||||
}
|
||||
log.Println("Headers : ", headers)
|
||||
kunjuganPasien, err := suratkontrol.GetDataKunjunganPasien(req.IDXDaftar)
|
||||
if err != nil {
|
||||
log.Println(err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
reqSuratKontrol := &sk.RequestRencanaKontrol{
|
||||
NoSEP: kunjuganPasien.NomorSEP,
|
||||
KodeDokter: kunjuganPasien.KodeHfisDokter,
|
||||
PoliKontrol: req.KodePoli,
|
||||
TglRencanaKontrol: req.Tanggal,
|
||||
User: req.User,
|
||||
}
|
||||
|
||||
res, err := ResponseUpdateSuratKontrol(url, header, headers, reqSuratKontrol)
|
||||
if err != nil {
|
||||
log.Printf("Error making external API request: %v", err)
|
||||
c.JSON(http.StatusInternalServerError, err)
|
||||
}
|
||||
|
||||
c.JSON(http.StatusOK, res)
|
||||
}
|
||||
|
||||
func GetNomorSuratKontrol(c *gin.Context) {
|
||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||
endpoint := os.Getenv("SURAT_KONTROL_RS_DEV")
|
||||
|
||||
@@ -5,16 +5,12 @@ type RequestHeaderRencanaKontrol struct {
|
||||
}
|
||||
|
||||
type RequestRencanaKontrol struct {
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeDokter string `json:"kodeDokter"`
|
||||
PoliKontrol string `json:"poliKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type ResponseInsertSuratKontrolRaw struct {
|
||||
Response string `json:"response"`
|
||||
MetaData Metadata `json:"metadata"`
|
||||
NoSuratKontrol *string `json:"noSuratKontrol"`
|
||||
NoSEP string `json:"noSEP"`
|
||||
KodeDokter string `json:"kodeDokter"`
|
||||
PoliKontrol string `json:"poliKontrol"`
|
||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||
User string `json:"user"`
|
||||
}
|
||||
|
||||
type ResponseRaw struct {
|
||||
|
||||
Reference in New Issue
Block a user