Ver Fonte

创建订单修改

renjiaojiao há 1 ano atrás
pai
commit
a4928e088c

+ 98 - 109
src/order/orderManageController.go

@@ -30,67 +30,69 @@ import (
 const ComboCustom = "自定义" // 大会员自定义套餐
 
 type Params struct {
-	Phone                           string                   `form:"phone"`
-	Level                           int                      `form:"level"`                   //会员等级
-	PayCycle                        int                      `form:"payCycle"`                //购买周期
-	CycleType                       int                      `form:"cycleType"`               //周期类型:0-月 1-天
-	StartTime                       int64                    `form:"startTime"`               //开始时间
-	PaySub                          int                      `form:"paySub"`                  //付费子账号数量
-	FreeSub                         int                      `form:"freeSub"`                 //免费子账号数量
-	ServerArr                       []map[string]interface{} `form:"serversArr"`              //补充包
-	BigMoney                        int                      `form:"bigMoney"`                //大会员金额
-	SubMoney                        int                      `form:"subMoney"`                //子账号金额
-	SupplyMoney                     int                      `form:"supplyMoney"`             //补充包金额
-	BigPayMoney                     int                      `form:"bigPayMoney"`             //大会员实付金额
-	SubPayMoney                     int                      `form:"subPayMoney"`             //子账号实付金额
-	SupplyPayMoney                  int                      `form:"supplyPayMoney"`          //补充包实付金额
-	PayV                            string                   `form:"payV"`                    //支付凭证地址
-	CreateType                      int                      `form:"createType"`              //创建方式 1-新建 2-补充 、?
-	ComboId                         int                      `form:"comboId"`                 //套餐id
-	ServersId                       string                   `form:"serversId"`               //服务id逗号拼接
-	ServersName                     string                   `form:"serversName"`             //服务名逗号拼接
-	ContractUrl                     string                   `form:"contractUrl"`             //合同文件地址
-	Remark                          string                   `form:"remark"`                  //订单备注
-	Salesperson                     string                   `form:"salesPerson"`             //销售人员
-	SalespersonId                   string                   `form:"salesPersonId"`           //销售人员
-	CompanyName                     string                   `form:"companyName"`             //公司名称
-	BillingMode                     int                      `form:"billingMode"`             //计费模式:0-免费  1-收费
-	AgreementStatus                 int                      `form:"agreementStatus"`         //协议状态:0-不签协议  1-已签协议
-	AgreementTime                   int64                    `form:"agreementTime"`           //协议签订时间
-	AgreementNumber                 string                   `form:"agreementNumber"`         //协议编号
-	CreateTime                      string                   `form:"createTime"`              //创建时间
-	Commission                      int                      `form:"commission"`              //佣金
-	ProceduresMoney                 int                      `form:"proceduresMoney"`         //手续费
-	SalesChannel                    string                   `form:"salesChannel"`            // 销售渠道
-	OrderChannel                    string                   `form:"orderChannel"`            // 下单渠道
-	PaybackCompany                  string                   `form:"paybackCompany"`          //签约主体  回款公司
-	OrderStatus                     int                      `form:"order_status"`            // 订单状态  0 未完成 1 已完成
-	SaleTime                        string                   `form:"sale_time"`               // 业务统计时间
-	ContractArchiveStatus           int                      `form:"contract_archive_status"` // 协议归档状态 1 已归档 0 未归档
-	ContractArchiveTime             string                   `form:"contract_archive_time"`   // 协议归档时间
-	ContractArchiveNum              int                      `form:"contract_archive_num"`    // 协议归档份数
-	CreatePerson                    string                   // 创建人
-	Order_status                    int                      `form:"order_status"` // 订单状态 0:未支付 1:已支付 -1:逻辑删除 -2:已取消 -3:已退款
-	OrderCode                       string                   `form:"orderCode"`    //订单编号
-	UpdateType                      int                      `form:"updateType"`   // 修改状态 0暂不开通修改 1开通修改
-	AuditStatus                     int                      // 审核状态 0:待提交  1:待审核  2:一审通过  3:审核通过 -2 一审退回  -3 二审退回
-	Open                            bool                     // 是否开通权限
-	Save                            int                      `form:"save"`                              // 1-暂存 2-提交
-	BuySubject                      string                   `form:"buySubject"`                        //购买主体  1 个人, 2公司
-	BuyCount                        int                      `form:"buyCount"`                          //大会员、超级订阅购买数量
-	AreaCount                       int                      `form:"areaCount"`                         // 省份数量
-	PayType                         string                   `form:"payType"`                           //约定支付方式
-	SaleDep                         string                   `form:"saleDep"`                           //业绩归属部门
-	SaleMoney                       string                   `form:"saleMoney"`                         //销售业绩
-	Contract_type                   string                   `form:"e_contract_type"`                   // 电子协议类型:  '1'有电子章  '2'无电子章
-	Contract_userA_type             string                   `form:"e_contract_userA_type"`             // 协议甲方类型: '1'个人  '2'企业
-	Contract_userA_name             string                   `form:"e_contract_userA_name"`             // 协议甲方
-	Contract_userA_contacts_name    string                   `form:"e_contract_userA_contacts_name"`    // 协议甲方联系人
-	Contract_userA_contacts_tel     string                   `form:"e_contract_userA_contacts_tel"`     // 协议甲方联系方式
-	Contract_userA_contacts_address string                   `form:"e_contract_userA_contacts_address"` // 协议甲方联系地址
-	Contract_userB_contacts_name    string                   `form:"e_contract_userB_contacts_name"`    // 协议乙方联系人
-	Contract_remark                 string                   `form:"e_contract_remark"`                 // 协议备注
-	Contract_nature                 int                      `form:"contract_nature"`                   //合同性质   1新增合同  2 续签合同
+	Phone     string `form:"phone"`
+	Level     int    `form:"level"`     //会员等级
+	PayCycle  int    `form:"payCycle"`  //购买周期
+	CycleType int    `form:"cycleType"` //周期类型:0-月 1-天
+	StartTime int64  `form:"startTime"` //开始时间
+	//PaySub     int                      `form:"paySub"`     //付费子账号数量
+	//FreeSub    int                      `form:"freeSub"`    //免费子账号数量
+	ServerArr  []map[string]interface{} `form:"serversArr"` //补充包
+	OrderMoney int                      `form:"orderMoney"` //标准售价
+	PayMoney   int                      `form:"payMoney"`   //合同金额
+	//BigMoney                        int                      `form:"bigMoney"`                //大会员金额
+	//SubMoney                        int                      `form:"subMoney"`                //子账号金额
+	//SupplyMoney                     int                      `form:"supplyMoney"`             //补充包金额
+	//BigPayMoney                     int                      `form:"bigPayMoney"`             //大会员实付金额
+	//SubPayMoney                     int                      `form:"subPayMoney"`             //子账号实付金额
+	//SupplyPayMoney                  int                      `form:"supplyPayMoney"`          //补充包实付金额
+	PayV          string `form:"payV"`          //支付凭证地址
+	CreateType    int    `form:"createType"`    //创建方式 1-新建 2-补充 、?
+	ComboId       int    `form:"comboId"`       //套餐id
+	ServersId     string `form:"serversId"`     //服务id逗号拼接
+	ServersName   string `form:"serversName"`   //服务名逗号拼接
+	ContractUrl   string `form:"contractUrl"`   //合同文件地址
+	Remark        string `form:"remark"`        //订单备注
+	Salesperson   string `form:"salesPerson"`   //销售人员
+	SalespersonId string `form:"salesPersonId"` //销售人员
+	CompanyName   string `form:"companyName"`   //公司名称
+	//BillingMode                     int    `form:"billingMode"`             //计费模式:0-免费  1-收费
+	AgreementStatus                 int    `form:"agreementStatus"`         //协议状态:0-不签协议  1-已签协议
+	AgreementTime                   int64  `form:"agreementTime"`           //协议签订时间
+	AgreementNumber                 string `form:"agreementNumber"`         //协议编号
+	CreateTime                      string `form:"createTime"`              //创建时间
+	Commission                      int    `form:"commission"`              //佣金
+	ProceduresMoney                 int    `form:"proceduresMoney"`         //手续费
+	SalesChannel                    string `form:"salesChannel"`            // 销售渠道
+	OrderChannel                    string `form:"orderChannel"`            // 下单渠道
+	PaybackCompany                  string `form:"paybackCompany"`          //签约主体  回款公司
+	OrderStatus                     int    `form:"order_status"`            // 订单状态  0 未完成 1 已完成
+	SaleTime                        string `form:"sale_time"`               // 业务统计时间
+	ContractArchiveStatus           int    `form:"contract_archive_status"` // 协议归档状态 1 已归档 0 未归档
+	ContractArchiveTime             string `form:"contract_archive_time"`   // 协议归档时间
+	ContractArchiveNum              int    `form:"contract_archive_num"`    // 协议归档份数
+	CreatePerson                    string // 创建人
+	Order_status                    int    `form:"order_status"` // 订单状态 0:未支付 1:已支付 -1:逻辑删除 -2:已取消 -3:已退款
+	OrderCode                       string `form:"orderCode"`    //订单编号
+	UpdateType                      int    `form:"updateType"`   // 修改状态 0暂不开通修改 1开通修改
+	AuditStatus                     int    // 审核状态 0:待提交  1:待审核  2:一审通过  3:审核通过 -2 一审退回  -3 二审退回
+	Open                            bool   // 是否开通权限
+	Save                            int    `form:"save"`                              // 1-暂存 2-提交
+	BuySubject                      string `form:"buySubject"`                        //购买主体  1 个人, 2公司
+	BuyCount                        int    `form:"buyCount"`                          //大会员、超级订阅购买数量
+	AreaCount                       int    `form:"areaCount"`                         // 省份数量
+	PayType                         string `form:"payType"`                           //约定支付方式
+	SaleDep                         string `form:"saleDep"`                           //业绩归属部门
+	SaleMoney                       string `form:"saleMoney"`                         //销售业绩
+	Contract_type                   string `form:"e_contract_type"`                   // 电子协议类型:  '1'有电子章  '2'无电子章
+	Contract_userA_type             string `form:"e_contract_userA_type"`             // 协议甲方类型: '1'个人  '2'企业
+	Contract_userA_name             string `form:"e_contract_userA_name"`             // 协议甲方
+	Contract_userA_contacts_name    string `form:"e_contract_userA_contacts_name"`    // 协议甲方联系人
+	Contract_userA_contacts_tel     string `form:"e_contract_userA_contacts_tel"`     // 协议甲方联系方式
+	Contract_userA_contacts_address string `form:"e_contract_userA_contacts_address"` // 协议甲方联系地址
+	Contract_userB_contacts_name    string `form:"e_contract_userB_contacts_name"`    // 协议乙方联系人
+	Contract_remark                 string `form:"e_contract_remark"`                 // 协议备注
+	Contract_nature                 int    `form:"contract_nature"`                   //合同性质   1新增合同  2 续签合同
 }
 
 // 订单列表
@@ -1298,26 +1300,17 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 	if param.Level == 0 || param.CreateType == 0 {
 		return nil, errors.New("缺少关键参数")
 	}
-	if param.BillingMode == 999 {
-		return nil, errors.New("缺少计费模式")
-	}
 	if param.PayCycle == 0 {
 		return nil, errors.New("缺少周期")
 	}
-	if param.BillingMode == 1 {
-		if param.BigMoney+param.SubMoney+param.SupplyMoney == 0 {
+	if param.PayMoney > 0 {
+		if param.OrderMoney == 0 {
 			return nil, errors.New("缺少订单金额")
 		}
 		//扩充服务无实付金额
-		if param.BigPayMoney == 0 && param.CreateType != 2 {
+		if param.PayMoney == 0 && param.CreateType != 2 {
 			return nil, errors.New("缺少大会员金额")
 		}
-		if param.PaySub > 0 && (param.SubMoney == 0 || param.SubPayMoney == 0) {
-			return nil, errors.New("缺少子账号金额")
-		}
-		if param.ServerArr != nil && len(param.ServerArr) > 0 && (param.SupplyMoney == 0 || param.SupplyPayMoney == 0) {
-			return nil, errors.New("缺少补充包金额")
-		}
 	}
 	if param.BuySubject == "" {
 		return nil, errors.New("缺少购买主体")
@@ -1330,9 +1323,9 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 			return nil, errors.New("缺少公司名称")
 		}
 	}
-	if param.BillingMode == 0 && (param.BigPayMoney != 0 || param.SubPayMoney != 0 || param.SupplyPayMoney != 0) {
+	/*if param.BillingMode == 0 && (param.PayMoney != 0) {
 		return nil, errors.New("计费模式有误,请刷新后尝试")
-	}
+	}*/
 	if param.AgreementStatus == 999 {
 		return nil, errors.New("缺少协议状态")
 	}
@@ -1479,7 +1472,7 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 		proceduresMoney := qutil.IntAll(qutil.If(res["procedures_money"] == "", 0, res["procedures_money"]))
 		originalPayMoney := payMoney - commission - proceduresMoney
 		//修改后的金额
-		nowPayMoney := param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney - param.Commission - param.ProceduresMoney
+		nowPayMoney := param.PayMoney - param.Commission - param.ProceduresMoney
 		//查看是否需要修改
 		returnStatus := qutil.IntAll(res["return_status"])
 		if originalPayMoney != nowPayMoney {
@@ -1577,26 +1570,14 @@ func MyUpdateBigOrder(context *admin.Context) (interface{}, error) {
 	if param.Level == 0 || param.CreateType == 0 {
 		return nil, errors.New("缺少关键参数")
 	}
-	if param.BillingMode == 999 {
-		return nil, errors.New("缺少计费模式")
-	}
 	if param.PayCycle == 0 && param.CreateType != 2 {
 		return nil, errors.New("缺少周期")
 	}
-	if param.BillingMode == 1 {
+	if param.PayMoney > 0 {
 		//扩充服务无实付金额
-		if param.BigPayMoney == 0 && param.CreateType != 2 {
+		if param.PayMoney == 0 && param.CreateType != 2 {
 			return nil, errors.New("缺少大会员金额")
 		}
-		if param.PaySub > 0 && (param.SubMoney == 0 || param.SubPayMoney == 0) {
-			return nil, errors.New("缺少子账号金额")
-		}
-		if param.ServerArr != nil && len(param.ServerArr) > 0 && (param.SupplyMoney == 0 || param.SupplyPayMoney == 0) {
-			return nil, errors.New("缺少补充包金额")
-		}
-	}
-	if param.BillingMode == 0 && (param.BigPayMoney != 0 || param.SubPayMoney != 0 || param.SupplyPayMoney != 0) {
-		return nil, errors.New("计费模式有误,请刷新后尝试")
 	}
 	if param.BuySubject == "" {
 		return nil, errors.New("缺少购买主体")
@@ -1750,7 +1731,7 @@ func MyUpdateBigOrder(context *admin.Context) (interface{}, error) {
 		proceduresMoney := qutil.IntAll(qutil.If(res["procedures_money"] == "", 0, res["procedures_money"]))
 		originalPayMoney := payMoney - commission - proceduresMoney
 		//修改后的金额
-		nowPayMoney := param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney - param.Commission - param.ProceduresMoney
+		nowPayMoney := param.PayMoney - param.Commission - param.ProceduresMoney
 		//查看是否需要修改
 		returnStatus := qutil.IntAll(res["return_status"])
 		if originalPayMoney != nowPayMoney {
@@ -1882,9 +1863,9 @@ func UserMsg(context *admin.Context) (interface{}, error) {
 // CreateSubOrder 创建子账号订单
 func CreateSubOrder(context *admin.Context) (interface{}, error) {
 	param := new(struct {
-		Phone                 string `form:"phone"`
-		PaySub                int    `form:"paySub"`                  //付费子账号数量
-		FreeSub               int    `form:"freeSub"`                 //免费子账号数量
+		Phone string `form:"phone"`
+		//PaySub                int    `form:"paySub"`                  //付费子账号数量
+		//FreeSub               int    `form:"freeSub"`                 //免费子账号数量
 		OrderMoney            int    `form:"orderMoney"`              //订单金额
 		PayMoney              int    `form:"payMoney"`                //实付金额
 		PayV                  string `form:"payV"`                    //支付凭证地址
@@ -1917,6 +1898,7 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
 		PayType               string `form:"payType"`
 		SaleDep               string `form:"saleDep"`
 		SaleMoney             string `form:"saleMoney"`
+		ContractNature        int    `form:"contract_nature"`
 	})
 	err := context.Form(param)
 	if err != nil {
@@ -1955,14 +1937,14 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
 	if param.Phone == "" {
 		return nil, errors.New("缺少关键参数")
 	}
-	if param.PaySub == 0 && param.FreeSub == 0 {
+	if param.BuyCount == 0 {
 		return nil, errors.New("缺少子账号数量")
 	}
 	if param.BillingMode == 999 {
 		return nil, errors.New("缺少计费模式")
 	}
 	if param.BillingMode == 1 {
-		if param.PaySub > 0 && param.PayMoney == 0 {
+		if param.BuyCount > 0 && param.PayMoney == 0 {
 			return nil, errors.New("缺少子账号金额")
 		}
 	}
@@ -2022,8 +2004,7 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
 			"source":         "qmx",
 			"level":          qutil.If(memberStatus > 0, memberStatus, -memberStatus),
 			"effective_date": time.Unix(bigEnd, 0).Format("2006/01/02"),
-			"pay_sub_num":    param.PaySub,
-			"free_sub_num":   param.FreeSub,
+			"pay_sub_num":    param.BuyCount,
 			"isAll":          isAll,
 			"transferV":      param.PayV,
 			"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
@@ -2070,6 +2051,7 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
 			"audit_status":       param.AuditStatus,
 			"saleDep":            param.SaleDep,
 			"saleMoney":          param.SaleMoney,
+			"contract_nature":    param.ContractNature,
 		}
 
 		order_id := util.JyOrder("/CreateOrder", paramOrder)
@@ -2110,8 +2092,8 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
 			}
 			set := map[string]interface{}{
 				"$set": map[string]interface{}{
-					"i_pay_sub_num":  param.PaySub + pay_sub_num,
-					"i_free_sub_num": param.FreeSub + free_sub_num,
+					"i_pay_sub_num":  param.BuyCount,
+					"i_free_sub_num": 0,
 					"i_mainaccount":  1,
 				},
 			}
@@ -2151,9 +2133,9 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
 // UpdateSubOrder 修改子账号订单
 func UpdateSubOrder(context *admin.Context) (interface{}, error) {
 	param := new(struct {
-		Phone                 string `form:"phone"`
-		PaySub                int    `form:"paySub"`                  //付费子账号数量
-		FreeSub               int    `form:"freeSub"`                 //免费子账号数量
+		Phone string `form:"phone"`
+		//PaySub                int    `form:"paySub"`                  //付费子账号数量
+		//FreeSub               int    `form:"freeSub"`                 //免费子账号数量
 		OrderMoney            int    `form:"orderMoney"`              //订单金额
 		PayMoney              int    `form:"payMoney"`                //实付金额
 		PayV                  string `form:"payV"`                    //支付凭证地址
@@ -2184,6 +2166,7 @@ func UpdateSubOrder(context *admin.Context) (interface{}, error) {
 		PayType               string `form:"payType"`
 		SaleDep               string `form:"saleDep"`
 		SaleMoney             string `form:"saleMoney"`
+		ContractNature        int    `form:"contract_nature"`
 	})
 	err := context.Form(param)
 	if err != nil {
@@ -2192,14 +2175,14 @@ func UpdateSubOrder(context *admin.Context) (interface{}, error) {
 	if param.Phone == "" {
 		return nil, errors.New("缺少关键参数")
 	}
-	if param.PaySub == 0 && param.FreeSub == 0 {
+	if param.BuyCount == 0 {
 		return nil, errors.New("缺少子账号数量")
 	}
 	if param.BillingMode == 999 {
 		return nil, errors.New("缺少计费模式")
 	}
 	if param.BillingMode == 1 {
-		if param.PaySub > 0 && param.PayMoney == 0 {
+		if param.BuyCount > 0 && param.PayMoney == 0 {
 			return nil, errors.New("缺少子账号金额")
 		}
 	}
@@ -2291,8 +2274,8 @@ func UpdateSubOrder(context *admin.Context) (interface{}, error) {
 			"source":         "qmx",
 			"level":          qutil.If(memberStatus > 0, memberStatus, -memberStatus),
 			"effective_date": time.Unix(bigEnd, 0).Format("2006/01/02"),
-			"pay_sub_num":    param.PaySub,
-			"free_sub_num":   param.FreeSub,
+			"pay_sub_num":    param.BuyCount,
+			//"free_sub_num":   param.FreeSub,
 			"isAll":          isAll,
 			"transferV":      param.PayV,
 			"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
@@ -2337,6 +2320,7 @@ func UpdateSubOrder(context *admin.Context) (interface{}, error) {
 			"pay_way":              param.PayType,
 			"saleDep":              param.SaleDep,
 			"saleMoney":            param.SaleMoney,
+			"contract_nature":      param.ContractNature,
 		}
 
 		ok_1 := util.JysqlDB.Update("dataexport_order", map[string]interface{}{
@@ -2418,6 +2402,7 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
 		PayType               string                   `form:"payType"`
 		SaleDep               string                   `form:"saleDep"`
 		SaleMoney             string                   `form:"saleMoney"`
+		ContractNature        int                      `form:"contract_nature"`
 	})
 	err := context.Form(param)
 	if err != nil {
@@ -2722,6 +2707,7 @@ func UpdateSupplyOrder(context *admin.Context) (interface{}, error) {
 		PayType               string                   `form:"payType"`
 		SaleDep               string                   `form:"saleDep"`
 		SaleMoney             string                   `form:"saleMoney"`
+		ContractNature        int                      `form:"contract_nature"`
 	})
 	err := context.Form(param)
 	if err != nil {
@@ -2865,6 +2851,7 @@ func UpdateSupplyOrder(context *admin.Context) (interface{}, error) {
 			"pay_way":              param.PayType,
 			"saleDep":              param.SaleDep,
 			"saleMoney":            param.SaleMoney,
+			"contract_nature":      param.ContractNature,
 		}
 
 		ok_1 := util.JysqlDB.Update("dataexport_order", map[string]interface{}{
@@ -2942,6 +2929,7 @@ func MyUpdateSupplySubOrder(context *admin.Context) (interface{}, error) {
 		ProductType           int                      `form:"updateProductType"` // 更新时的类型 1=子账号 2补充包
 		BuySubject            string                   `form:"buySubject"`        //购买主体  1 个人, 2公司
 		BuyCount              int                      `form:"buyCount"`          //大会员、超级订阅购买数量
+		Contract_nature       int                      `form:"contract_nature"`
 	})
 	err := context.Form(param)
 	if err != nil {
@@ -3079,14 +3067,15 @@ func MyUpdateSupplySubOrder(context *admin.Context) (interface{}, error) {
 				"signing_subject":      param.PaybackCompany,
 				"last_update_person":   param.CreatePerson,
 				"last_update_time":     qutil.NowFormat(qutil.Date_Full_Layout),
+				"contract_nature":      param.Contract_nature,
 			}
 		} else {
 			filter_map := map[string]interface{}{
 				"source":         "qmx",
 				"level":          qutil.If(memberStatus > 0, memberStatus, -memberStatus),
 				"effective_date": time.Unix(bigEnd, 0).Format("2006/01/02"),
-				"pay_sub_num":    param.PaySub,
-				"free_sub_num":   param.FreeSub,
+				"pay_sub_num":    param.BuyCount,
+				//"free_sub_num":   param.FreeSub,
 				"isAll":          isAll,
 				"transferV":      param.PayV,
 				"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),

+ 49 - 64
src/order/orderManageService.go

@@ -45,30 +45,23 @@ func createBigOrderCheck(param Params) error {
 	if param.Level == 0 || param.CreateType == 0 {
 		return errors.New("缺少关键参数")
 	}
-
-	if param.BillingMode == 999 {
-		return errors.New("缺少计费模式")
-	}
 	if param.PayCycle == 0 && param.CreateType != 2 {
 		return errors.New("缺少周期")
 	}
-	if param.BillingMode == 1 {
+	if param.PayMoney > 0 {
 		//扩充服务无实付金额
-		if param.BigPayMoney == 0 && param.CreateType != 2 {
+		if param.PayMoney == 0 && param.CreateType != 2 {
 			return errors.New("缺少大会员金额")
 		}
-		if param.BigMoney+param.SubMoney+param.SupplyMoney == 0 {
+		if param.OrderMoney == 0 {
 			return errors.New("缺少订单金额")
 		}
-		if param.PaySub > 0 && (param.SubMoney == 0 || param.SubPayMoney == 0) {
+		/*if param.PaySub > 0 && (param.SubMoney == 0 || param.SubPayMoney == 0) {
 			return errors.New("缺少子账号金额")
 		}
 		if param.ServerArr != nil && len(param.ServerArr) > 0 && (param.SupplyMoney == 0 || param.SupplyPayMoney == 0) {
 			return errors.New("缺少补充包金额")
-		}
-	}
-	if param.BillingMode == 0 && (param.BigPayMoney != 0 || param.SubPayMoney != 0 || param.SupplyPayMoney != 0) {
-		return errors.New("计费模式有误,请刷新后尝试")
+		}*/
 	}
 	if param.AgreementStatus == 999 {
 		return errors.New("缺少协议状态")
@@ -3676,7 +3669,7 @@ func NewBigOrder(subStatus, dateType int, startdate, enddate time.Time, userId,
 	//处理计费模式下的数据-已回款
 	returnStatus := 0
 	isAll := 2
-	if param.BillingMode == 0 {
+	if param.PayMoney == 0 {
 		returnStatus = 1
 		isAll = 1
 	}
@@ -3689,7 +3682,7 @@ func NewBigOrder(subStatus, dateType int, startdate, enddate time.Time, userId,
 	agreementTime := time.Unix(param.AgreementTime, 0)
 	serverMap := GetServerPid()
 	paramOrder := map[string]interface{}{
-		"order_money":    param.BigMoney + param.SubMoney + param.SupplyMoney,
+		"order_money":    param.OrderMoney,
 		"order_status":   param.OrderStatus,
 		"filter":         string(filter),
 		"order_code":     code,
@@ -3699,8 +3692,8 @@ func NewBigOrder(subStatus, dateType int, startdate, enddate time.Time, userId,
 		"prepay_time":    qutil.NowFormat(qutil.Date_Full_Layout),
 		"user_id":        userId,
 		"pay_way":        param.PayType,
-		"original_price": param.BigMoney + param.SubMoney + param.SupplyMoney,
-		"pay_money":      param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+		"original_price": param.OrderMoney,
+		"pay_money":      param.PayMoney,
 		//"pay_time":           qutil.NowFormat(qutil.Date_Full_Layout),
 		"vip_starttime":      qutil.FormatDate(&startdate, qutil.Date_Full_Layout),
 		"vip_endtime":        qutil.FormatDate(&enddate, qutil.Date_Full_Layout),
@@ -3711,7 +3704,7 @@ func NewBigOrder(subStatus, dateType int, startdate, enddate time.Time, userId,
 		"refund_status":      0,
 		"user_phone":         param.Phone,
 		"company_name":       param.CompanyName,
-		"billingMode":        param.BillingMode,
+		"billingMode":        qutil.If(param.PayMoney > 0, 1, 0),
 		"sale_time":          param.SaleTime,        // 业绩统计时间
 		"commission":         param.Commission,      // 佣金 2021-12-29 订单优化需求新增字段
 		"procedures_money":   param.ProceduresMoney, // 手续费 2021-12-29 订单优化需求新增字段
@@ -3721,6 +3714,7 @@ func NewBigOrder(subStatus, dateType int, startdate, enddate time.Time, userId,
 		"audit_status":       param.AuditStatus,
 		"saleDep":            param.SaleDep,
 		"saleMoney":          param.SaleMoney,
+		"contract_nature":    param.Contract_nature,
 	}
 	if param.BuySubject == "2" {
 		paramOrder["buySubject"] = 2
@@ -3749,7 +3743,7 @@ func NewBigOrder(subStatus, dateType int, startdate, enddate time.Time, userId,
 		}
 		contractMap := map[string]interface{}{
 			"order_code":              code,
-			"contract_money":          param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+			"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)),
@@ -3757,7 +3751,6 @@ func NewBigOrder(subStatus, dateType int, startdate, enddate time.Time, userId,
 			"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),
-			"contract_nature":         qutil.IntAll(param.Contract_nature),
 		}
 		//是否符合生成电子合同
 		createType := qutil.IntAll(filterMap["createType"])
@@ -3956,11 +3949,10 @@ func NewBigOrder(subStatus, dateType int, startdate, enddate time.Time, userId,
 		}
 		ClearBigVipUserPower(fmt.Sprint(paramOrder["user_id"]))
 	}
-	if param.PaySub > 0 || param.FreeSub > 0 {
+	if param.BuyCount-1 > 0 {
 		sets := map[string]interface{}{
-			"i_pay_sub_num":  param.PaySub,
-			"i_free_sub_num": param.FreeSub,
-			"i_mainaccount":  1,
+			"i_pay_sub_num": param.BuyCount - 1,
+			"i_mainaccount": 1,
 		}
 		set := map[string]interface{}{
 			"$set": sets,
@@ -4117,7 +4109,7 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 	}
 	//处理计费模式下的数据-已回款
 	isAll := 2
-	if param.BillingMode == 0 {
+	if param.PayMoney == 0 {
 		return_status = 1
 		isAll = 1
 	}
@@ -4136,14 +4128,14 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 	log.Println("serverMap", serverMap)
 	i_status := qutil.If(dateType == 1, 0, 1)
 	paramOrder := map[string]interface{}{
-		"order_money":        param.BigMoney + param.SubMoney + param.SupplyMoney,
+		"order_money":        param.OrderMoney,
 		"order_status":       param.OrderStatus,
 		"filter":             string(filter),
 		"order_code":         code,
 		"product_type":       "大会员",
 		"user_id":            userId,
-		"original_price":     param.BigMoney + param.SubMoney + param.SupplyMoney,
-		"pay_money":          param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+		"original_price":     param.OrderMoney,
+		"pay_money":          param.PayMoney,
 		"vip_starttime":      qutil.FormatDate(&startdate, qutil.Date_Full_Layout),
 		"vip_endtime":        qutil.FormatDate(&enddate, qutil.Date_Full_Layout),
 		"salesperson":        param.Salesperson,
@@ -4151,7 +4143,7 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 		"return_status":      return_status,
 		"user_phone":         param.Phone,
 		"company_name":       param.CompanyName,
-		"billingMode":        param.BillingMode,
+		"billingMode":        qutil.If(param.PayMoney > 0, 1, 0),
 		"sale_time":          param.SaleTime,        // 业绩统计时间
 		"commission":         param.Commission,      // 佣金 2021-12-29 订单优化需求新增字段
 		"procedures_money":   param.ProceduresMoney, // 手续费 2021-12-29 订单优化需求新增字段
@@ -4163,6 +4155,7 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 		"pay_way":            param.PayType,
 		"saleDep":            param.SaleDep,
 		"saleMoney":          param.SaleMoney,
+		"contract_nature":    param.Contract_nature,
 	}
 	if param.BuySubject == "2" {
 		paramOrder["buySubject"] = 2
@@ -4213,7 +4206,7 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 	}
 	if code1 > 0 {
 		contractMap := map[string]interface{}{
-			"contract_money":          param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+			"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)),
@@ -4436,11 +4429,11 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 		}
 	}
 	if param.UpdateType == 0 {
-		if param.PaySub > 0 || param.FreeSub > 0 {
+		if param.BuyCount-1 > 0 {
 			sets := map[string]interface{}{
-				"i_pay_sub_num":  param.PaySub,
-				"i_free_sub_num": param.FreeSub,
-				"i_mainaccount":  1,
+				"i_pay_sub_num": param.BuyCount - 1,
+				//"i_free_sub_num": param.FreeSub,
+				"i_mainaccount": 1,
 			}
 			set := map[string]interface{}{
 				"$set": sets,
@@ -4581,7 +4574,7 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 	//处理计费模式下的数据-已回款
 	return_status := 0
 	isAll := 2
-	if param.BillingMode == 0 {
+	if param.PayMoney == 0 {
 		return_status = 1
 		isAll = 1
 	}
@@ -4589,9 +4582,9 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 	filter, _ := json.Marshal(filterMap)
 	serverMap := GetServerPid()
 	agreementTime := time.Unix(param.AgreementTime, 0)
-	if param.BigPayMoney > -1 {
+	if param.PayMoney > -1 {
 		paramOrder := map[string]interface{}{
-			"order_money":        param.BigMoney + param.SubMoney + param.SupplyMoney,
+			"order_money":        param.OrderMoney,
 			"order_status":       param.OrderStatus,
 			"filter":             string(filter),
 			"order_code":         code,
@@ -4600,8 +4593,8 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 			"prepay_time":        qutil.NowFormat(qutil.Date_Full_Layout),
 			"user_id":            userId,
 			"pay_way":            param.PayType,
-			"original_price":     param.BigMoney + param.SubMoney + param.SupplyMoney,
-			"pay_money":          param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+			"original_price":     param.OrderMoney,
+			"pay_money":          param.PayMoney,
 			"vip_starttime":      qutil.FormatDate(&startdate, qutil.Date_Full_Layout),
 			"vip_endtime":        qutil.FormatDate(&enddate, qutil.Date_Full_Layout),
 			"is_backstage_order": 1,
@@ -4612,7 +4605,7 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 			"refund_status":      0,
 			"user_phone":         param.Phone,
 			"company_name":       param.CompanyName,
-			"billingMode":        param.BillingMode,
+			"billingMode":        qutil.If(param.PayMoney > 0, 1, 0),
 			"sale_time":          param.SaleTime,        // 业绩统计时间
 			"commission":         param.Commission,      // 佣金 2021-12-29 订单优化需求新增字段
 			"procedures_money":   param.ProceduresMoney, // 手续费 2021-12-29 订单优化需求新增字段
@@ -4622,6 +4615,7 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 			"audit_status":       param.AuditStatus,
 			"saleDep":            param.SaleDep,
 			"saleMoney":          param.SaleMoney,
+			"contract_nature":    param.Contract_nature,
 		}
 		if param.BuySubject == "2" {
 			paramOrder["buySubject"] = 2
@@ -4649,7 +4643,7 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 			}
 			util.JysqlDB.Insert("contract", map[string]interface{}{
 				"order_code":              code,
-				"contract_money":          param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+				"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)),
@@ -4657,7 +4651,6 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 				"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),
-				"contract_nature":         qutil.IntAll(param.Contract_nature),
 			})
 			// 我的订单-创建订单不开通权限 不更新mysql表  全部订单-创建订单保持原有开通权限逻辑
 			if !param.Open {
@@ -4729,11 +4722,10 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 	if !param.Open {
 		return nil
 	}
-	if param.PaySub > 0 || param.FreeSub > 0 {
-
+	if param.BuyCount-1 > 0 {
 		sets := map[string]interface{}{
-			"i_pay_sub_num":  param.PaySub + pay_sub_num,
-			"i_free_sub_num": param.FreeSub + free_sub_num,
+			"i_pay_sub_num":  param.BuyCount - 1,
+			"i_free_sub_num": 0,
 			"i_mainaccount":  1,
 		}
 		set := map[string]interface{}{
@@ -4870,7 +4862,7 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 	//处理计费模式下的数据-已回款
 	returnStatus := 0
 	isAll := 2
-	if param.BillingMode == 0 {
+	if param.PayMoney == 0 {
 		returnStatus = 1
 		isAll = 1
 	}
@@ -4878,9 +4870,9 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 	filter, _ := json.Marshal(filterMap)
 	serverMap := GetServerPid()
 	agreementTime := time.Unix(param.AgreementTime, 0)
-	if param.BigPayMoney > -1 {
+	if param.PayMoney > -1 {
 		paramOrder := map[string]interface{}{
-			"order_money":    param.BigMoney + param.SubMoney + param.SupplyMoney,
+			"order_money":    param.OrderMoney,
 			"order_status":   param.OrderStatus,
 			"filter":         string(filter),
 			"order_code":     code,
@@ -4889,8 +4881,8 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 			"prepay_time":    qutil.NowFormat(qutil.Date_Full_Layout),
 			"user_id":        userId,
 			"pay_way":        param.PayType,
-			"original_price": param.BigMoney + param.SubMoney + param.SupplyMoney,
-			"pay_money":      param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+			"original_price": param.OrderMoney,
+			"pay_money":      param.PayMoney,
 			//"pay_time":           qutil.NowFormat(qutil.Date_Full_Layout),
 			"vip_starttime":      qutil.FormatDate(&startdate, qutil.Date_Full_Layout),
 			"vip_endtime":        qutil.FormatDate(&enddate, qutil.Date_Full_Layout),
@@ -4901,7 +4893,7 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 			"refund_status":      0,
 			"user_phone":         param.Phone,
 			"company_name":       param.CompanyName,
-			"billingMode":        param.BillingMode,
+			"billingMode":        qutil.If(param.PayMoney > 0, 1, 0),
 			"sale_time":          param.SaleTime,        // 业绩统计时间
 			"commission":         param.Commission,      // 佣金 2021-12-29 订单优化需求新增字段
 			"procedures_money":   param.ProceduresMoney, // 手续费 2021-12-29 订单优化需求新增字段
@@ -4912,6 +4904,7 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 			"audit_status":       param.AuditStatus,
 			"saleDep":            param.SaleDep,
 			"saleMoney":          param.SaleMoney,
+			"contract_nature":    param.Contract_nature,
 		}
 		if param.BuySubject == "2" {
 			paramOrder["buySubject"] = 2
@@ -4939,7 +4932,7 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 			}
 			util.JysqlDB.Insert("contract", map[string]interface{}{
 				"order_code":              code,
-				"contract_money":          param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+				"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)),
@@ -4947,7 +4940,6 @@ 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),
-				"contract_nature":         qutil.IntAll(param.Contract_nature),
 			})
 			// 我的订单不开通权限
 			if !param.Open {
@@ -5023,10 +5015,10 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 	if !param.Open {
 		return nil
 	}
-	if param.PaySub > 0 || param.FreeSub > 0 {
+	if param.BuyCount-1 > 0 {
 		sets := map[string]interface{}{
-			"i_pay_sub_num":  param.PaySub + pay_sub_num,
-			"i_free_sub_num": param.FreeSub + free_sub_num,
+			"i_pay_sub_num":  param.BuyCount - 1,
+			"i_free_sub_num": 0,
 			"i_mainaccount":  1,
 		}
 		set := map[string]interface{}{
@@ -5157,17 +5149,10 @@ func ParamToFilter(param *Params, enddate time.Time, isAll, contractStatus int)
 		"cycle":          param.PayCycle,
 		"cycleType":      param.CycleType,
 		"level":          param.Level,
-		"pay_sub_num":    param.PaySub,
-		"free_sub_num":   param.FreeSub,
+		"pay_sub_num":    param.BuyCount - 1,
 		"transferV":      param.PayV,
 		"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
 		"effective_date": enddate.Format("2006/01/02"),
-		"bigMoney":       param.BigMoney,
-		"subMoney":       param.SubMoney,
-		"supplyMoney":    param.SupplyMoney,
-		"bigPayMoney":    param.BigPayMoney,
-		"subPayMoney":    param.SubPayMoney,
-		"supplyPayMoney": param.SupplyPayMoney,
 		"createType":     param.CreateType,
 		"comboId":        param.ComboId,
 		"serversId":      param.ServersId,

+ 10 - 8
src/order/orderService.go

@@ -210,7 +210,7 @@ func myUpdateSupSub(param *CreateOtherOrderParams, code string, returnStatus int
 			"out_trade_no":         code,
 			"return_status":        returnStatus,
 			"company_name":         param.CompanyName,
-			"billingMode":          param.ChargeMode,                                    //计费模式 0 免费  1 收费
+			"billingMode":          qutil.If(param.ContractMoney > 0, 1, 0),             //计费模式 0 免费  1 收费
 			"sale_time":            qutil.If(param.SaleTime == "", nil, param.SaleTime), // 业务统计时间
 			"commission":           param.Commission,                                    // 佣金 2021-12-29 订单优化需求新增字段
 			"procedures_money":     param.ProceduresMoney,                               // 手续费 2021-12-29 订单优化需求新增字段
@@ -219,6 +219,7 @@ func myUpdateSupSub(param *CreateOtherOrderParams, code string, returnStatus int
 			"signing_subject":      param.PaybackCompany,
 			"last_update_person":   param.CreatePerson,
 			"last_update_time":     qutil.NowFormat(qutil.Date_Full_Layout),
+			"contract_nature":      param.Contract_nature,
 		}
 		if param.Pay_time != "" {
 			insertData["pay_time"] = param.Pay_time
@@ -294,7 +295,7 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 	}
 	//处理计费模式下的数据-已回款
 	isAll := 2
-	if param.BillingMode == 0 {
+	if param.PayMoney == 0 {
 		return_status = 1
 		isAll = 1
 	}
@@ -306,16 +307,16 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 	filter, _ := json.Marshal(filter_map)
 	agreementTime := time.Unix(param.AgreementTime, 0)
 	// serverMap := GetServerPid()
-	if param.BigPayMoney > -1 {
+	if param.PayMoney > -1 {
 		paramOrder := map[string]interface{}{
-			"order_money":        param.BigMoney + param.SubMoney + param.SupplyMoney,
+			"order_money":        param.OrderMoney,
 			"order_status":       param.OrderStatus,
 			"filter":             string(filter),
 			"order_code":         code,
 			"product_type":       "大会员",
 			"user_id":            userId,
-			"original_price":     param.BigMoney + param.SubMoney + param.SupplyMoney,
-			"pay_money":          param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+			"original_price":     param.OrderMoney,
+			"pay_money":          param.PayMoney,
 			"vip_starttime":      qutil.FormatDate(&startdate, qutil.Date_Full_Layout),
 			"vip_endtime":        qutil.FormatDate(&enddate, qutil.Date_Full_Layout),
 			"salesperson":        param.Salesperson,
@@ -323,7 +324,7 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 			"return_status":      return_status,
 			"user_phone":         param.Phone,
 			"company_name":       param.CompanyName,
-			"billingMode":        param.BillingMode,
+			"billingMode":        qutil.If(param.PayMoney > 0, 1, 0),
 			"sale_time":          param.SaleTime,        // 业绩统计时间
 			"commission":         param.Commission,      // 佣金 2021-12-29 订单优化需求新增字段
 			"procedures_money":   param.ProceduresMoney, // 手续费 2021-12-29 订单优化需求新增字段
@@ -334,6 +335,7 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 			"last_update_time":   qutil.NowFormat(qutil.Date_Full_Layout),
 			"pay_way":            param.PayType,
 			"saleDep":            param.SaleDep,
+			"contract_nature":    param.Contract_nature,
 		}
 		code := util.JyOrder("/UpdateOrder", paramOrder)
 		log.Println("大会员修改订单", userId, code)
@@ -341,7 +343,7 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 			util.JysqlDB.Update("contract", map[string]interface{}{
 				"order_code": param.OrderCode,
 			}, map[string]interface{}{
-				"contract_money":          param.BigPayMoney + param.SubPayMoney + param.SupplyPayMoney,
+				"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)),

+ 43 - 43
src/order/otherOrderController.go

@@ -34,35 +34,35 @@ var AdSourceMap = map[int]string{
 
 // 创建其他订单
 type CreateOtherOrderParams struct {
-	Phone                           string `form:"phone"`             //  手机号 必填
-	ProductType                     string `form:"productType"`       //  产品类型 必填
-	SalesPerson                     string `form:"salesPerson"`       //  销售人员 必填
-	SalesPersonId                   string `form:"salesPersonId"`     //  销售人剑鱼后台id
-	ContractTime                    string `form:"contractTime"`      //  协议签订时间
-	CustomerName                    string `form:"customerName"`      //  客户名称
-	ContractStatus                  int    `form:"contractStatus"`    //  协议状态 1-已签协议 0-不签协议
-	ContractMoney                   int    `form:"contractMoney"`     //  合同金额 单位:分
-	ContractCode                    string `form:"contractCode"`      //  协议编号
-	Product                         string `form:"product"`           //  购买产品 增量数据、历史数据、增量+历史数据
-	StartTime                       string `form:"startTime"`         //  开始时间
-	EndTime                         string `form:"endTime"`           //  结束时间
-	DataNum                         int64  `form:"dataNum"`           //  数据条数
-	DataType                        string `form:"dataType"`          //  数据类型 高级、标准、自定义
-	ContractFileUrl                 string `form:"contract_file_url"` //  上传合同地址
-	Remark                          string `form:"remark"`            //  备注
-	PersonNum                       string `form:"personNum"`         //  人数
-	CompanyName                     string `form:"companyName"`       //公司名称
-	Area                            string `form:"area"`              //超级订阅购买省份
-	ChargeMode                      int    `form:"chargeMode"`        //计费模式 0 免费 1 收费
-	CycleCount                      int    `form:"cycleCount"`        //周期
-	CycleUnit                       int    `form:"cycleUnit"`         //单位 (1:年 2:月 3:天 4:季)
-	VipStartTime                    string `form:"vipStartTime"`      //超级订阅开始时间
-	IsOpen                          int    `form:"isOpen"`            //0 暂不开通 1 开通
-	OrderSource                     int    `form:"orderSource"`       //订单来源
-	AdSource                        int    `form:"adSource"`          //广告来源 1:"广告联盟", 2:"微信流量主", 3:"剑鱼广告位",
-	CreateTime                      string `form:"createTime"`        // 创建时间
-	VipType                         int    `form:"vipType"`           //VIP类型 0 购买  1:续费 2:升级
-	UserId                          string `form:"userId"`            //用户标识
+	Phone           string `form:"phone"`             //  手机号 必填
+	ProductType     string `form:"productType"`       //  产品类型 必填
+	SalesPerson     string `form:"salesPerson"`       //  销售人员 必填
+	SalesPersonId   string `form:"salesPersonId"`     //  销售人剑鱼后台id
+	ContractTime    string `form:"contractTime"`      //  协议签订时间
+	CustomerName    string `form:"customerName"`      //  客户名称
+	ContractStatus  int    `form:"contractStatus"`    //  协议状态 1-已签协议 0-不签协议
+	ContractMoney   int    `form:"contractMoney"`     //  合同金额 单位:分
+	ContractCode    string `form:"contractCode"`      //  协议编号
+	Product         string `form:"product"`           //  购买产品 增量数据、历史数据、增量+历史数据
+	StartTime       string `form:"startTime"`         //  开始时间
+	EndTime         string `form:"endTime"`           //  结束时间
+	DataNum         int64  `form:"dataNum"`           //  数据条数
+	DataType        string `form:"dataType"`          //  数据类型 高级、标准、自定义
+	ContractFileUrl string `form:"contract_file_url"` //  上传合同地址
+	Remark          string `form:"remark"`            //  备注
+	PersonNum       string `form:"personNum"`         //  人数
+	CompanyName     string `form:"companyName"`       //公司名称
+	Area            string `form:"area"`              //超级订阅购买省份
+	//ChargeMode                      int    `form:"chargeMode"`        //计费模式 0 免费 1 收费
+	CycleCount                      int    `form:"cycleCount"`   //周期
+	CycleUnit                       int    `form:"cycleUnit"`    //单位 (1:年 2:月 3:天 4:季)
+	VipStartTime                    string `form:"vipStartTime"` //超级订阅开始时间
+	IsOpen                          int    `form:"isOpen"`       //0 暂不开通 1 开通
+	OrderSource                     int    `form:"orderSource"`  //订单来源
+	AdSource                        int    `form:"adSource"`     //广告来源 1:"广告联盟", 2:"微信流量主", 3:"剑鱼广告位",
+	CreateTime                      string `form:"createTime"`   // 创建时间
+	VipType                         int    `form:"vipType"`      //VIP类型 0 购买  1:续费 2:升级
+	UserId                          string `form:"userId"`       //用户标识
 	OrderMoney                      int    `form:"orderMoney"`
 	DisCountPrice                   int    `form:"disCountPrice"`
 	Badge                           string `form:"badge"`
@@ -188,9 +188,9 @@ func CreateOtherOrder(context *admin.Context) (interface{}, error) {
 			return nil, errors.New("缺少公司名称")
 		}
 	}
-	if param.ContractMoney != 0 { // 如果合同金额不为0 则计费模式为收费
-		param.ChargeMode = 1
-	}
+	//if param.ContractMoney != 0 { // 如果合同金额不为0 则计费模式为收费
+	//	param = 1
+	//}
 	// 根据前端传过来的序号拿产品类型
 	param.ProductType, err = GetProductTypeByIndex(param.ProductType, param.AdSource)
 	if err != nil {
@@ -290,9 +290,9 @@ func UpdateOtherOrder(context *admin.Context) (interface{}, error) {
 	if err != nil {
 		return nil, err
 	}
-	if param.ContractMoney != 0 { // 如果合同金额不为0 则计费模式为收费
+	/*if param.ContractMoney != 0 { // 如果合同金额不为0 则计费模式为收费
 		param.ChargeMode = 1
-	}
+	}*/
 	param.CreatePerson = context.User.Username
 	code := param.OrderCode
 	//订单信息获取
@@ -471,9 +471,9 @@ func MyUpdateOtherOrder(context *admin.Context) (interface{}, error) {
 	if err != nil {
 		return nil, err
 	}
-	if param.ContractMoney != 0 { // 如果合同金额不为0 则计费模式为收费
+	/*if param.ContractMoney != 0 { // 如果合同金额不为0 则计费模式为收费
 		param.ChargeMode = 1
-	}
+	}*/
 	param.CreatePerson = context.User.Username
 	code := param.OrderCode
 	//订单信息获取
@@ -996,8 +996,8 @@ func UpdateSalesperson(context *admin.Context) (interface{}, error) {
 				"i_member_status":    memberState,
 				"i_member_starttime": bigStart,
 				"i_member_endtime":   bigEnd,
-				"i_pay_sub_num":      paySub,
-				"i_free_sub_num":     freeSub,
+				"i_pay_sub_num":      paySub + freeSub,
+				//"i_free_sub_num":     0,
 			}
 			_id := util.MQFW.Save("user", data)
 			if _id != "" {
@@ -1031,9 +1031,9 @@ func UpdateSalesperson(context *admin.Context) (interface{}, error) {
 				"i_member_endtime":   bigEnd,
 				"i_mainaccount":      1,
 			}
-			if paySub > 0 || freeSub > 0 {
-				sets["i_pay_sub_num"] = paySub
-				sets["i_free_sub_num"] = freeSub
+			if paySub > 0 {
+				sets["i_pay_sub_num"] = paySub + freeSub
+				sets["i_free_sub_num"] = 0
 			}
 			set := map[string]interface{}{
 				"$set": sets,
@@ -1298,7 +1298,7 @@ func CreateVipOrder(context *admin.Context) (interface{}, error) {
 	param.VipStartTime = time.Now().Format(qutil.Date_Short_Layout)
 	param.CreateTime = time.Now().Format(qutil.Date_Full_Layout)
 	param.ProductType = "VIP订阅"
-	param.ChargeMode = 1
+	//param.ChargeMode = 1
 	param.VipType = 0
 	param.ContractStatus = 0
 	param.VipType = 0
@@ -1419,7 +1419,7 @@ func CreateVipOrder(context *admin.Context) (interface{}, error) {
 	//param.OrderMoney = param.ContractMoney
 	param.DisCountPrice = param.ContractMoney
 	param.Badge = "give"
-	param.ChargeMode = 0
+	//param.ChargeMode = 0
 	param.ProceduresMoney = "0"
 	param.OrderChannel = "xdqd02"
 	param.Commission = "0"

+ 11 - 8
src/order/otherOrderService.go

@@ -111,7 +111,7 @@ func createOtherOrder(param *CreateOtherOrderParams, code string) bool {
 			"data_spec":            param.DataType,
 			"vip_starttime":        param.StartTime,
 			"is_backstage_order":   1,
-			"billingMode":          param.ChargeMode,
+			"billingMode":          qutil.If(param.ContractMoney > 0, 1, 0),
 			"vip_endtime":          param.EndTime,
 			"order_status":         param.OrderStatus,
 			"user_id":              "",
@@ -129,6 +129,7 @@ func createOtherOrder(param *CreateOtherOrderParams, code string) bool {
 			"pay_way":              param.PayType,
 			"saleDep":              param.SaleDep,
 			"saleMoney":            param.SaleMoney,
+			"contract_nature":      param.Contract_nature,
 		}
 		if param.BuySubject == "2" {
 			insertData["buy_subject"] = 2
@@ -176,7 +177,6 @@ func createOtherOrder(param *CreateOtherOrderParams, code string) bool {
 			"contract_file_url":       param.ContractFileUrl,
 			"contract_archive_status": qutil.If(param.ContractStatus == 0, nil, param.ContractArchiveStatus),
 			"contract_archive_num":    qutil.If(param.ContractStatus == 0, nil, param.ContractArchiveNum),
-			"contract_nature":         param.Contract_nature,
 		}
 		if param.ContractArchiveTime != "" {
 			contractData["contract_archive_time"] = param.ContractArchiveTime
@@ -288,6 +288,7 @@ func createEntnicheOrder(param *CreateOtherOrderParams, code string) bool {
 			"billingMode":        1,
 			"saleDep":            param.SaleDep,
 			"saleMoney":          param.SaleMoney,
+			"contract_nature":    param.Contract_nature,
 		}
 		contractData := map[string]interface{}{
 			"order_code":              code,
@@ -299,7 +300,6 @@ func createEntnicheOrder(param *CreateOtherOrderParams, code string) bool {
 			"contract_file_url":       param.ContractFileUrl,
 			"contract_archive_status": qutil.If(param.ContractStatus == 0, nil, param.ContractArchiveStatus),
 			"contract_archive_num":    qutil.If(param.ContractStatus == 0, nil, param.ContractArchiveNum),
-			"contract_nature":         param.Contract_nature,
 		}
 		if param.ContractArchiveTime != "" {
 			contractData["contract_archive_time"] = param.ContractArchiveTime
@@ -427,6 +427,7 @@ func updateOtherOrder(oldFilter string, param *CreateOtherOrderParams, code stri
 			"pay_way":            param.PayType,
 			"saleDep":            param.SaleDep,
 			"billingMode":        1,
+			"contract_nature":    param.Contract_nature,
 		}
 		if param.BuySubject == "2" {
 			insertData["buySubject"] = 2
@@ -576,6 +577,7 @@ func updateEntnicheOrder(oldFilter string, param *CreateOtherOrderParams, code s
 			"pay_way":            param.PayType,
 			"saleDep":            param.SaleDep,
 			"billingMode":        1,
+			"contract_nature":    param.Contract_nature,
 		}
 		contractData := map[string]interface{}{
 			"customer_name":           param.CustomerName,
@@ -839,7 +841,7 @@ func createVipOrder(param *CreateOtherOrderParams, code string) (bool, string) {
 			"return_status":        qutil.If(param.ContractMoney == 0, 1, 0),
 			"refund_status":        0,
 			"company_name":         param.CompanyName,
-			"billingMode":          param.ChargeMode,                                    //计费模式 0 免费  1 收费
+			"billingMode":          qutil.If(param.ContractMoney > 0, 1, 0),             //计费模式 0 免费  1 收费
 			"sale_time":            qutil.If(param.SaleTime == "", nil, param.SaleTime), // 业务统计时间
 			"commission":           param.Commission,                                    // 佣金 2021-12-29 订单优化需求新增字段
 			"procedures_money":     param.ProceduresMoney,                               // 手续费 2021-12-29 订单优化需求新增字段
@@ -851,6 +853,7 @@ func createVipOrder(param *CreateOtherOrderParams, code string) (bool, string) {
 			"pay_way":              param.PayType,
 			"saleDep":              param.SaleDep,
 			"saleMoney":            param.SaleMoney,
+			"contract_nature":      param.Contract_nature,
 		}
 		if param.Pay_time != "" {
 			insertData["pay_time"] = param.Pay_time
@@ -887,7 +890,6 @@ func createVipOrder(param *CreateOtherOrderParams, code string) (bool, string) {
 			"contract_file_url":       param.ContractFileUrl,
 			"contract_archive_status": qutil.If(param.ContractStatus == 0, nil, param.ContractArchiveStatus),
 			"contract_archive_num":    qutil.If(param.ContractStatus == 0, nil, param.ContractArchiveNum),
-			"contract_nature":         param.Contract_nature,
 		}
 		if param.ContractArchiveTime != "" {
 			contractData["contract_archive_time"] = param.ContractArchiveTime
@@ -1216,7 +1218,7 @@ func updateVipOrder(oldFilter string, param *CreateOtherOrderParams, code string
 			"out_trade_no":         code,
 			"return_status":        returnStatus,
 			"company_name":         param.CompanyName,
-			"billingMode":          param.ChargeMode,                                    //计费模式 0 免费  1 收费
+			"billingMode":          qutil.If(param.ContractMoney > 0, 1, 0),             //计费模式 0 免费  1 收费
 			"sale_time":            qutil.If(param.SaleTime == "", nil, param.SaleTime), // 业务统计时间
 			"commission":           param.Commission,                                    // 佣金 2021-12-29 订单优化需求新增字段
 			"procedures_money":     param.ProceduresMoney,                               // 手续费 2021-12-29 订单优化需求新增字段
@@ -1227,6 +1229,7 @@ func updateVipOrder(oldFilter string, param *CreateOtherOrderParams, code string
 			"last_update_time":     qutil.NowFormat(qutil.Date_Full_Layout),
 			"pay_way":              param.PayType,
 			"saleDep":              param.SaleDep,
+			"contract_nature":      param.Contract_nature,
 		}
 		if param.Pay_time != "" {
 			insertData["pay_time"] = param.Pay_time
@@ -1887,7 +1890,7 @@ func createCourseOrder(param *CreateOtherOrderParams, code string) (bool, string
 	}
 	filterStr, _ := json.Marshal(detail)
 	payWay := "wx_app"
-	if param.ChargeMode == 1 {
+	if param.ContractMoney > 0 {
 		if param.Pay_way == "" {
 			payWay = "transferAccounts"
 		}
@@ -1909,7 +1912,7 @@ func createCourseOrder(param *CreateOtherOrderParams, code string) (bool, string
 		"user_id":              param.UserId,
 		"refund_status":        0,
 		"company_name":         param.CompanyName,
-		"billingMode":          param.ChargeMode,                                    //计费模式 0 免费  1 收费
+		"billingMode":          qutil.If(param.ContractMoney > 0, 1, 0),             //计费模式 0 免费  1 收费
 		"sale_time":            qutil.If(param.SaleTime == "", nil, param.SaleTime), // 订单补录需求20210926 补充需求 该字段取订单时间
 		"pay_way":              payWay,
 		"commission":           param.Commission,      // 佣金 2021-12-29 订单优化需求新增字段

+ 2 - 2
src/order/smallShopTask.go

@@ -171,14 +171,14 @@ func OrderHandle() {
 			param.CourseId = value.Order_detail.Couponcode_info.Phone_number
 			param.ContractMoney = value.Order_detail.Price_info.Order_price
 			param.OrderMoney = value.Order_detail.Price_info.Product_price
-			param.ChargeMode = 1
+			//param.ChargeMode = 1
 			param.OrderStatus = 1
 			param.ProceduresMoney = "0"
 			param.OrderChannel = "d03"
 			param.Commission = "0"
 			param.ReturnStatus = 1
 			param.OutTradeNo = code
-			param.ChargeMode = 1
+			//param.ChargeMode = 1
 			param.SalesChannel = "x012"
 			param.PaybackCompany = "h01"
 			param.CreateTime = value.Create_time

+ 7 - 7
src/order/suppleSalePerson.go

@@ -718,10 +718,10 @@ func BigMemberSupple(freeSubNum, paySubNum int, startTime, endTime time.Time, us
 	}
 	ClearBigVipUserPower(userId)
 	//子账号
-	if newPaySubNum > 0 || newFreeSubNum > 0 {
+	if newPaySubNum > 0 {
 		sets := map[string]interface{}{
-			"i_pay_sub_num":  newPaySubNum + paySubNum,
-			"i_free_sub_num": newFreeSubNum + freeSubNum,
+			"i_pay_sub_num":  newPaySubNum + paySubNum + newFreeSubNum + freeSubNum,
+			"i_free_sub_num": 0,
 			"i_mainaccount":  1,
 		}
 		set := map[string]interface{}{
@@ -733,7 +733,7 @@ func BigMemberSupple(freeSubNum, paySubNum int, startTime, endTime time.Time, us
 			return false, errors.New("大会员子账号创建订单user表大会员状态更新失败")
 		}
 
-		if paySubNum == 0 && freeSubNum == 0 {
+		if paySubNum == 0 {
 			insert := map[string]interface{}{
 				"s_userid":     userId,
 				"s_serviceid":  2,
@@ -1042,8 +1042,8 @@ func SubAccount(userId string, filterMap map[string]interface{}, paySubNum, free
 	freeSub := cm.IntAll(filterMap["free_sub_num"])
 	set := map[string]interface{}{
 		"$set": map[string]interface{}{
-			"i_pay_sub_num":  paySub + paySubNum,
-			"i_free_sub_num": freeSub + freeSubNum,
+			"i_pay_sub_num":  paySub + paySubNum + freeSub + freeSubNum,
+			"i_free_sub_num": 0,
 			"i_mainaccount":  1,
 		},
 	}
@@ -1051,7 +1051,7 @@ func SubAccount(userId string, filterMap map[string]interface{}, paySubNum, free
 	if !ok {
 		return false, errors.New("user表大会员状态更新失败")
 	} else {
-		if paySubNum == 0 && freeSubNum == 0 {
+		if paySubNum == 0 {
 			insert := map[string]interface{}{
 				"s_userid":     userId,
 				"s_serviceid":  2,