Browse Source

Merge branch 'feature/v2.4.31_wky' of jianyu/qmx_admin into feature/v2.4.31

wangkaiyue 1 year ago
parent
commit
fc720fa3fe
3 changed files with 81 additions and 6 deletions
  1. 2 0
      src/order/orderManageController.go
  2. 59 2
      src/order/orderManageService.go
  3. 20 4
      src/order/orderService.go

+ 2 - 0
src/order/orderManageController.go

@@ -1547,6 +1547,8 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 		var status error
 		if param.CreateType == 1 {
 			status = UpdateNewBigOrder(oldFilter, subStatus, dateType, now, startdate, enddate, userId, code, sName, &param, returnStatus)
+		} else if param.CreateType == 3 { //p504新增续费合同
+			status = UpdateExtendBigOrder(res, code, &param)
 		} else {
 			util.JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": code}, map[string]interface{}{"sale_time": param.SaleTime})
 		}

+ 59 - 2
src/order/orderManageService.go

@@ -4613,6 +4613,48 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 	return nil
 }
 
+func UpdateExtendBigOrder(orderRes map[string]interface{}, code string, param *Params) error {
+	filter := qutil.ObjToMap(orderRes["filter"])
+	if filter == nil || len(*filter) == 0 {
+		return fmt.Errorf("订单异常格式")
+	}
+
+	if !util.JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": code}, map[string]interface{}{"sale_time": param.SaleTime}) {
+		return fmt.Errorf("更新异常")
+	}
+	agreementTime := time.Unix(param.AgreementTime, 0)
+	contractMap := map[string]interface{}{
+		"contract_money":          param.PayMoney,
+		"contract_file_url":       param.ContractUrl,
+		"contract_code":           param.AgreementNumber,
+		"contract_time":           qutil.If(param.AgreementTime == 0, nil, qutil.FormatDate(&agreementTime, qutil.Date_Full_Layout)),
+		"contract_status":         param.AgreementStatus,
+		"contract_archive_status": qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveStatus),
+		"contract_archive_time":   qutil.If(param.ContractArchiveTime == "", nil, param.ContractArchiveTime),
+		"contract_archive_num":    qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveNum),
+	}
+
+	createType := qutil.IntAll((*filter)["createType"])
+	level := qutil.IntAll((*filter)["comboId"])
+	//大会员 createType:1新建 3延长  level  商机版2.0:6   专家版2.0:7
+	if (createType == 1 || createType == 3) && (level == 6 || level == 7) &&
+		qutil.ObjToString(orderRes["paybackCompany"]) == "h01" && param.AgreementStatus == 1 {
+		contractMap["seal_type"] = qutil.If(param.Contract_type == "1", 1, 2)
+		contractMap["partyA_type"] = qutil.If(param.Contract_userA_type == "1", 1, 2)
+		contractMap["partyA_name"] = param.Contract_userA_name
+		contractMap["partyA_person"] = param.Contract_userA_contacts_name
+		contractMap["partyA_tel"] = param.Contract_userA_contacts_tel
+		contractMap["partyA_address"] = param.Contract_userA_contacts_address
+		contractMap["partyB_person"] = param.Contract_userB_contacts_name
+		contractMap["remark"] = param.Contract_remark
+	}
+
+	util.JysqlDB.Update("contract", map[string]interface{}{
+		"order_code": param.OrderCode,
+	}, contractMap)
+	return nil
+}
+
 func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, startdate, enddate time.Time, userId, code string, param *Params) error {
 	var contractStatus int
 	if param.ContractUrl != "" {
@@ -4980,7 +5022,7 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 			if param.SalesChannel == util.SaleChannel052 || param.SalesChannel == util.SaleChannel053 {
 				UpdateUserType(param.SalesChannel, userId)
 			}
-			util.JysqlDB.Insert("contract", map[string]interface{}{
+			contractMap := map[string]interface{}{
 				"order_code":              code,
 				"contract_money":          param.PayMoney,
 				"contract_file_url":       param.ContractUrl,
@@ -4990,7 +5032,22 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 				"contract_archive_status": qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveStatus),
 				"contract_archive_time":   qutil.If(param.ContractArchiveTime == "", nil, param.ContractArchiveTime),
 				"contract_archive_num":    qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveNum),
-			})
+			}
+			createType := qutil.IntAll(filterMap["createType"])
+			level := qutil.IntAll(filterMap["level"])
+			//大会员 createType:1新建 3延长  level  商机版2.0:6   专家版2.0:7
+			if (createType == 1 || createType == 3) && (level == 6 || level == 7) &&
+				qutil.ObjToString(paramOrder["paybackCompany"]) == "h01" && param.AgreementStatus == 1 {
+				contractMap["seal_type"] = qutil.If(param.Contract_type == "1", 1, 2)
+				contractMap["partyA_type"] = qutil.If(param.Contract_userA_type == "1", 1, 2)
+				contractMap["partyA_name"] = param.Contract_userA_name
+				contractMap["partyA_person"] = param.Contract_userA_contacts_name
+				contractMap["partyA_tel"] = param.Contract_userA_contacts_tel
+				contractMap["partyA_address"] = param.Contract_userA_contacts_address
+				contractMap["partyB_person"] = param.Contract_userB_contacts_name
+				contractMap["remark"] = param.Contract_remark
+			}
+			util.JysqlDB.Insert("contract", contractMap)
 			// 我的订单不开通权限
 			if !param.Open {
 				return nil

+ 20 - 4
src/order/orderService.go

@@ -341,9 +341,7 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 		code := util.JyOrder("/UpdateOrder", paramOrder)
 		log.Println("大会员修改订单", userId, code)
 		if code > 0 {
-			util.JysqlDB.Update("contract", map[string]interface{}{
-				"order_code": param.OrderCode,
-			}, map[string]interface{}{
+			contractMap := map[string]interface{}{
 				"contract_money":          param.PayMoney,
 				"contract_file_url":       param.ContractUrl,
 				"contract_code":           param.AgreementNumber,
@@ -352,7 +350,25 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 				"contract_archive_status": qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveStatus),
 				"contract_archive_time":   qutil.If(param.ContractArchiveTime == "", nil, param.ContractArchiveTime),
 				"contract_archive_num":    qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveNum),
-			})
+			}
+
+			createType := qutil.IntAll(filter_map["createType"])
+			level := qutil.IntAll(filter_map["comboId"])
+			//大会员 createType:1新建 3延长  level  商机版2.0:6   专家版2.0:7
+			if (createType == 1 || createType == 3) && (level == 6 || level == 7) &&
+				qutil.ObjToString(paramOrder["paybackCompany"]) == "h01" && param.AgreementStatus == 1 {
+				contractMap["seal_type"] = qutil.If(param.Contract_type == "1", 1, 2)
+				contractMap["partyA_type"] = qutil.If(param.Contract_userA_type == "1", 1, 2)
+				contractMap["partyA_name"] = param.Contract_userA_name
+				contractMap["partyA_person"] = param.Contract_userA_contacts_name
+				contractMap["partyA_tel"] = param.Contract_userA_contacts_tel
+				contractMap["partyA_address"] = param.Contract_userA_contacts_address
+				contractMap["partyB_person"] = param.Contract_userB_contacts_name
+				contractMap["remark"] = param.Contract_remark
+			}
+			util.JysqlDB.Update("contract", map[string]interface{}{
+				"order_code": param.OrderCode,
+			}, contractMap)
 		}
 	}
 	return nil