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/
|
BASEURL_BPJS_DEV=https://apijkn-dev.bpjs-kesehatan.go.id/
|
||||||
SURAT_KONTROL_RS_DEV=vclaim-rest-dev
|
SURAT_KONTROL_RS_DEV=vclaim-rest-dev
|
||||||
INSERT_SURAT_KONTROL=/RencanaKontrol/insert
|
INSERT_SURAT_KONTROL=/RencanaKontrol/insert
|
||||||
|
UPDATE_SURAT_KONTROL=/RencanaKontrol/Update
|
||||||
GET_NOMOR_SURAT_KONTROL=/RencanaKontrol/noSuratKontrol
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var resSuratKontrolRaw suratkontrol.ResponseInsertSuratKontrolRaw
|
var resSuratKontrolRaw suratkontrol.ResponseRaw
|
||||||
err = json.Unmarshal([]byte(res), &resSuratKontrolRaw)
|
err = json.Unmarshal([]byte(res), &resSuratKontrolRaw)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error Unmarshaling: %v", err)
|
log.Printf("Error Unmarshaling: %v", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if resSuratKontrolRaw.MetaData.Code == 201 {
|
dataResp, err := docs.StringDecrypt(key, resSuratKontrolRaw.Response)
|
||||||
log.Println("No Data Found")
|
if err != nil {
|
||||||
return nil, 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)
|
dataResp, err := docs.StringDecrypt(key, resSuratKontrolRaw.Response)
|
||||||
|
|||||||
@@ -61,6 +61,55 @@ func InsertSuratKontrol(c *gin.Context) {
|
|||||||
c.JSON(http.StatusOK, res)
|
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) {
|
func GetNomorSuratKontrol(c *gin.Context) {
|
||||||
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
baseUrl := os.Getenv("BASEURL_BPJS_DEV")
|
||||||
endpoint := os.Getenv("SURAT_KONTROL_RS_DEV")
|
endpoint := os.Getenv("SURAT_KONTROL_RS_DEV")
|
||||||
|
|||||||
@@ -5,16 +5,12 @@ type RequestHeaderRencanaKontrol struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type RequestRencanaKontrol struct {
|
type RequestRencanaKontrol struct {
|
||||||
NoSEP string `json:"noSEP"`
|
NoSuratKontrol *string `json:"noSuratKontrol"`
|
||||||
KodeDokter string `json:"kodeDokter"`
|
NoSEP string `json:"noSEP"`
|
||||||
PoliKontrol string `json:"poliKontrol"`
|
KodeDokter string `json:"kodeDokter"`
|
||||||
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
PoliKontrol string `json:"poliKontrol"`
|
||||||
User string `json:"user"`
|
TglRencanaKontrol string `json:"tglRencanaKontrol"`
|
||||||
}
|
User string `json:"user"`
|
||||||
|
|
||||||
type ResponseInsertSuratKontrolRaw struct {
|
|
||||||
Response string `json:"response"`
|
|
||||||
MetaData Metadata `json:"metadata"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type ResponseRaw struct {
|
type ResponseRaw struct {
|
||||||
|
|||||||
Reference in New Issue
Block a user