You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

71 lines
1.8 KiB
Go

package model
import (
"cu-helper/cus-eng-con-sys/config"
"reflect"
"github.com/mizuki1412/go-core-kit/class/exception"
)
/*
/zjgd/frm/docInfoController/goUpload.action
*/
/*
用途
完工确认、验收确认等一系列文件上传
*/
type DocUpload struct {
DocTypeId string `map:"docTypeId"`
BusiId string `map:"busiId"`
ModuleCode string `map:"moduleCode"`
LinkCode string `map:"linkCode"`
StageCode string `map:"stageCode"`
TaskID string `map:"taskID"`
PdmChangeId string `map:"pdmChangeId"`
PdmOrAbandonStageCode string `map:"pdmOrAbandonStageCode"`
}
func NewDocUpload(businessKey, linkCode, stageCode, taskId string) *DocUpload {
docUpload := new(DocUpload)
if linkCode == "WGQR" {
docUpload.DocTypeId = config.DocUploadWGQRDocTypeId
} else if linkCode == "YSQR" {
docUpload.DocTypeId = config.DocUploadYSQRDocTypeId
} else {
panic(exception.New("linkCode Err"))
}
docUpload.BusiId = businessKey
docUpload.ModuleCode = "XQMODE"
docUpload.LinkCode = linkCode //WGQR YSQR
docUpload.StageCode = stageCode //ACT ACC
docUpload.TaskID = taskId
docUpload.PdmChangeId = ""
docUpload.PdmOrAbandonStageCode = ""
return docUpload
}
// GenReqParam 返回加密后的请求参数
func (th *DocUpload) GenReqParam() map[string]string {
return th.structToMap()
}
func (th *DocUpload) structToMap() map[string]string {
result := make(map[string]string)
t := reflect.TypeOf(*th)
v := reflect.ValueOf(*th)
for i := 0; i < t.NumField(); i++ {
field := t.Field(i)
value := v.Field(i)
// Use the tag value as the key in the map, if it exists; otherwise, use the field name.
tag := field.Tag.Get("map")
if tag == "" {
tag = field.Name
}
result[tag] = value.String()
}
return result
}