123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package order
- import (
- "context"
- "github.com/gogf/gf/v2/errors/gerror"
- "github.com/gogf/gf/v2/frame/g"
- "jyOrderManager/internal/model"
- )
- func SaveOrUpdateContract(ctx context.Context, orderCode, companyName string, money int, contract model.Contract) error {
- count, err := g.DB().GetCount(ctx, "SELECT * from contract where order_code = ?", orderCode)
- if err != nil {
- return gerror.Wrapf(err, "查询回款计划异常")
- }
- data := g.Map{
- "customer_name": companyName, // 客户名称
- "contract_code": contract.ContractCode, // 协议编号
- "contract_status": contract.ContractStatus, // 协议状态 1-已签协议 0-未签协议
- "contract_money": money, // 合同金额 单位:分
- "contract_file_url": contract.ContractFileUrl, // 合同文件地址
- "contract_archive_status": contract.ContractArchiveStatus, // 协议归档状态 0-未归档 1-已归档
- "contract_archive_num": contract.ContractArchiveNum, // 协议归档份数
- "order_code": orderCode,
- }
- //电子协议
- if contract.Contract_userA_type > 0 {
- data["seal_type"] = contract.Contract_type // 电子合同-1:有电子章,2:无电子章
- data["partyA_type"] = contract.Contract_userA_type // 电子合同-1:个人,2:企业
- data["partyA_name"] = contract.Contract_userA_name // 电子合同-甲方名称
- data["partyA_person"] = contract.Contract_userA_contacts_name // 电子合同-甲方联系人
- data["partyA_tel"] = contract.Contract_userA_contacts_tel // 电子合同-甲方联系方式
- data["partyA_address"] = contract.Contract_userA_contacts_address // 电子合同-甲方地址
- data["partyB_person"] = contract.Contract_userB_contacts_name // 电子合同-乙方联系人
- data["remark"] = contract.Contract_remark // 电子合同-备注
- }
- if contract.ContractTime != "" {
- data["contract_time"] = contract.ContractTime
- }
- if contract.ContractArchiveTime != "" { // 协议归档时间
- data["contract_archive_time"] = contract.ContractArchiveTime
- }
- if count > 0 { //更新
- if _, err := g.DB().Update(ctx, "contract", data, "order_code=?", orderCode); err != nil {
- return gerror.Wrapf(err, "合同更新异常")
- }
- } else { //插入
- if _, err := g.DB().Save(ctx, "contract", data); err != nil {
- return gerror.Wrapf(err, "合同保存出错")
- }
- }
- return nil
- }
|