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.

78 lines
3.3 KiB
Go

package model
import (
"cu-helper/cus-eng-con-sys/cryptokit"
"reflect"
)
type AcceptanceConfirm struct {
ProcessInstanceId string
Id string
}
/*
/zjgd/frm/acceptanceComfirmController/saveProAndStart
*/
/*
用途
1、验收确认最后一步请求入参
*/
// SaveProAndStart 验收确认请求
type SaveProAndStart struct {
ProcessDefinitionKey string `map:"processDefinitionKey"`
Assignee string `map:"assignee"`
TaskDefinitionKey string `map:"taskDefinitionKey"`
ParentProcInsId string `map:"parentProcInsId"`
List string `map:"list"`
Ranstr string `map:"ranstr"`
Timestamp string `map:"timestamp"`
}
func NewSaveProAndStart(parentProcInsId string) *SaveProAndStart {
accConfirm := new(SaveProAndStart)
accConfirm.ProcessDefinitionKey = "YSJFProcess"
accConfirm.Assignee = "3083195,3098707,3105305,3083564,3106207,3096322" //TODO 暂时写死
accConfirm.TaskDefinitionKey = "JFSQ"
accConfirm.ParentProcInsId = parentProcInsId
accConfirm.List = `[{"companyCode":"JS","siteAcc":"0","isRequired":"1","companyName":"建设单位","companySiteAcc":"4","LAY_TABLE_INDEX":0,"deliveryStatusName":"待交付","deliveryCommentsName":"","splitName":"周一彬","splitBy":"3083195"},{"companyCode":"JL","siteAcc":"0","isRequired":"1","companyName":"监理单位","companySiteAcc":"4","LAY_TABLE_INDEX":1,"deliveryStatusName":"待交付","deliveryCommentsName":"","splitName":"王志华","splitBy":"3098707"},{"companyCode":"SG","siteAcc":"0","isRequired":"1","companyName":"施工单位","companySiteAcc":"4","LAY_TABLE_INDEX":2,"deliveryStatusName":"待交付","deliveryCommentsName":"","splitName":"张子杰","splitBy":"3105305"},{"companyCode":"SJ","siteAcc":"0","isRequired":"1","companyName":"设计单位","companySiteAcc":"4","LAY_TABLE_INDEX":3,"deliveryStatusName":"待交付","deliveryCommentsName":"","splitName":"张超群","splitBy":"3083564"},{"companyCode":"ZY","siteAcc":"0","isRequired":"1","companyName":"资源管理部门","companySiteAcc":"4","LAY_TABLE_INDEX":4,"deliveryStatusName":"待交付","deliveryCommentsName":"","splitName":"张滋豪","splitBy":"3106207"},{"companyCode":"WH","siteAcc":"0","isRequired":"0","companyName":"接收单位(维护部门)","companySiteAcc":"4","LAY_TABLE_INDEX":5,"deliveryStatusName":"待交付","deliveryCommentsName":"","splitName":"王一鸣","splitBy":"3096322"}]`
//TODO 暂时写死
accConfirm.Ranstr = cryptokit.RandomStr(true, 10, 32)
accConfirm.Timestamp = cryptokit.GetTimeStamp()
return accConfirm
}
// GenReqParam 返回加密后的请求参数
func (th *SaveProAndStart) GenReqParam() map[string]string {
th.encrypt()
return th.structToMap()
}
func (th *SaveProAndStart) 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
}
func (th *SaveProAndStart) encrypt() {
v := reflect.ValueOf(th).Elem()
for i := 0; i < v.NumField(); i++ {
field := v.Field(i)
if field.CanSet() {
field.SetString(cryptokit.Encrypt(field.String()))
}
}
}