Browse Source

Merge branch 'feature/v2.4.31' into dev/v2.4.31_rjj

# Conflicts:
#	src/order/router.go
renjiaojiao 1 year ago
parent
commit
23b10c7279

+ 34 - 55
src/order/orderManageController.go

@@ -629,6 +629,12 @@ func OrderDetails(context *admin.Context) (interface{}, error) {
 		if auditResult != nil && len(*auditResult) > 0 {
 		if auditResult != nil && len(*auditResult) > 0 {
 			result["audit"] = auditResult
 			result["audit"] = auditResult
 		}
 		}
+		//盖章记录
+		sealRes := util.JysqlDB.SelectBySql(`SELECT stamp_time,create_time,b.admin_user as salesperson_name,c.admin_user as applicant_name FROM dataexport_order a
+LEFT JOIN cadmin.admin_user b on a.salesperson_id = b.id LEFT JOIN cadmin.admin_user c on a.applicant_id = b.id WHERE a.order_code = ?`, (*res)["order_code"])
+		if sealRes != nil && len(*sealRes) > 0 {
+			result["sealArr"] = sealRes
+		}
 	}
 	}
 	return result, nil
 	return result, nil
 }
 }
@@ -1541,6 +1547,8 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 		var status error
 		var status error
 		if param.CreateType == 1 {
 		if param.CreateType == 1 {
 			status = UpdateNewBigOrder(oldFilter, subStatus, dateType, now, startdate, enddate, userId, code, sName, &param, returnStatus)
 			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 {
 		} else {
 			util.JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": code}, map[string]interface{}{"sale_time": param.SaleTime})
 			util.JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": code}, map[string]interface{}{"sale_time": param.SaleTime})
 		}
 		}
@@ -2433,7 +2441,6 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
 		SaleDep               string                   `form:"saleDep"`
 		SaleDep               string                   `form:"saleDep"`
 		SaleMoney             string                   `form:"saleMoney"`
 		SaleMoney             string                   `form:"saleMoney"`
 		ContractNature        int                      `form:"contract_nature"`
 		ContractNature        int                      `form:"contract_nature"`
-		NewServerArr          []map[string]interface{} `form:"newServersArr"` //补充包新增服务id
 	})
 	})
 	err := context.Form(param)
 	err := context.Form(param)
 	if err != nil {
 	if err != nil {
@@ -2529,22 +2536,7 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
 			"remark":         param.Remark,
 			"remark":         param.Remark,
 			"contractStatus": contractStatus,
 			"contractStatus": contractStatus,
 			"serverArr":      param.ServerArr,
 			"serverArr":      param.ServerArr,
-			"new_serverArr":  param.NewServerArr,
-		}
-		var oldService []map[string]interface{}
-		for _, m := range param.ServerArr {
-			var isNewService bool
-			for _, m2 := range param.NewServerArr {
-				if m["id"] == m2["id"] {
-					isNewService = true
-					break
-				}
-			}
-			if !isNewService {
-				oldService = append(oldService, m)
-			}
 		}
 		}
-		filter_map["old_serverArr"] = oldService
 		filter, _ := json.Marshal(filter_map)
 		filter, _ := json.Marshal(filter_map)
 		startdate := time.Unix(bigStart, 0)
 		startdate := time.Unix(bigStart, 0)
 		enddate := time.Unix(bigEnd, 0)
 		enddate := time.Unix(bigEnd, 0)
@@ -2754,7 +2746,6 @@ func UpdateSupplyOrder(context *admin.Context) (interface{}, error) {
 		SaleDep               string                   `form:"saleDep"`
 		SaleDep               string                   `form:"saleDep"`
 		SaleMoney             string                   `form:"saleMoney"`
 		SaleMoney             string                   `form:"saleMoney"`
 		ContractNature        int                      `form:"contract_nature"`
 		ContractNature        int                      `form:"contract_nature"`
-		NewServerArr          []map[string]interface{} `form:"newServersArr"` //补充包新增服务id
 	})
 	})
 	err := context.Form(param)
 	err := context.Form(param)
 	if err != nil {
 	if err != nil {
@@ -2858,22 +2849,7 @@ func UpdateSupplyOrder(context *admin.Context) (interface{}, error) {
 			"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
 			"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
 			"remark":         param.Remark,
 			"remark":         param.Remark,
 			"contractStatus": contractStatus,
 			"contractStatus": contractStatus,
-			"new_serverArr":  param.NewServerArr,
-		}
-		var oldService []map[string]interface{}
-		for _, m := range param.ServerArr {
-			var isNewService bool
-			for _, m2 := range param.NewServerArr {
-				if m["id"] == m2["id"] {
-					isNewService = true
-					break
-				}
-			}
-			if !isNewService {
-				oldService = append(oldService, m)
-			}
 		}
 		}
-		filter_map["old_serverArr"] = oldService
 		// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
 		// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
 		if strings.Contains(oldFilter, "人工审核") {
 		if strings.Contains(oldFilter, "人工审核") {
 			filter_map["audit_type"] = "人工审核"
 			filter_map["audit_type"] = "人工审核"
@@ -2990,7 +2966,6 @@ func MyUpdateSupplySubOrder(context *admin.Context) (interface{}, error) {
 		BuySubject            string                   `form:"buySubject"`        //购买主体  1 个人, 2公司
 		BuySubject            string                   `form:"buySubject"`        //购买主体  1 个人, 2公司
 		BuyCount              int                      `form:"buyCount"`          //大会员、超级订阅购买数量
 		BuyCount              int                      `form:"buyCount"`          //大会员、超级订阅购买数量
 		Contract_nature       int                      `form:"contract_nature"`
 		Contract_nature       int                      `form:"contract_nature"`
-		NewServerArr          []map[string]interface{} `form:"newServerArr"` //服务id
 	})
 	})
 	err := context.Form(param)
 	err := context.Form(param)
 	if err != nil {
 	if err != nil {
@@ -3093,22 +3068,7 @@ func MyUpdateSupplySubOrder(context *admin.Context) (interface{}, error) {
 				"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
 				"transferVTime":  qutil.NowFormat(qutil.Date_Full_Layout),
 				"remark":         param.Remark,
 				"remark":         param.Remark,
 				"contractStatus": contractStatus,
 				"contractStatus": contractStatus,
-				"new_serverArr":  param.NewServerArr,
-			}
-			var oldService []map[string]interface{}
-			for _, m := range param.ServerArr {
-				var isNewService bool
-				for _, m2 := range param.NewServerArr {
-					if m["id"] == m2["id"] {
-						isNewService = true
-						break
-					}
-				}
-				if !isNewService {
-					oldService = append(oldService, m)
-				}
 			}
 			}
-			filter_map["old_serverArr"] = oldService
 			// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
 			// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
 			if strings.Contains(oldFilter, "人工审核") {
 			if strings.Contains(oldFilter, "人工审核") {
 				filter_map["audit_type"] = "人工审核"
 				filter_map["audit_type"] = "人工审核"
@@ -3591,6 +3551,7 @@ func GetCurrentServer(context *admin.Context) (interface{}, error) {
 		return nil, err
 		return nil, err
 	}
 	}
 	idArr := []int{}
 	idArr := []int{}
+	var endTime string
 	if param.Phone != "" {
 	if param.Phone != "" {
 		userId := ""
 		userId := ""
 		userData, ok := util.MQFW.FindOne("user", map[string]interface{}{"s_phone": param.Phone})
 		userData, ok := util.MQFW.FindOne("user", map[string]interface{}{"s_phone": param.Phone})
@@ -3603,7 +3564,7 @@ func GetCurrentServer(context *admin.Context) (interface{}, error) {
 			}
 			}
 		}
 		}
 		if userId != "" {
 		if userId != "" {
-			userServer := util.JysqlDB.Find("bigmember_service_user", map[string]interface{}{"s_userid": userId, "i_status": 0}, "s_serviceid,s_smainid", "", -1, -1)
+			userServer := util.JysqlDB.Find("bigmember_service_user", map[string]interface{}{"s_userid": userId, "i_status": 0}, "s_serviceid,s_smainid,l_endtime", "", -1, -1)
 			if userServer != nil && len(*userServer) > 0 {
 			if userServer != nil && len(*userServer) > 0 {
 				var isHUa = util.JysqlDB.CountBySql(`SELECT count(1) as count FROM bigmember_service_user WHERE s_userid = ? and i_status =0 and (s_serviceid=4 or s_serviceid =19)`, userId) > 0
 				var isHUa = util.JysqlDB.CountBySql(`SELECT count(1) as count FROM bigmember_service_user WHERE s_userid = ? and i_status =0 and (s_serviceid=4 or s_serviceid =19)`, userId) > 0
 
 
@@ -3611,6 +3572,7 @@ func GetCurrentServer(context *admin.Context) (interface{}, error) {
 					if isHUa && v["s_serviceid"] == 26 {
 					if isHUa && v["s_serviceid"] == 26 {
 						continue
 						continue
 					}
 					}
+					endTime = qutil.InterfaceToStr(v["l_endtime"])
 					if qutil.IntAll(v["s_smainid"]) == 0 {
 					if qutil.IntAll(v["s_smainid"]) == 0 {
 						if qutil.IntAll(v["s_serviceid"]) == 12 {
 						if qutil.IntAll(v["s_serviceid"]) == 12 {
 							idArr = append(idArr, 23)
 							idArr = append(idArr, 23)
@@ -3633,7 +3595,8 @@ func GetCurrentServer(context *admin.Context) (interface{}, error) {
 		}
 		}
 	}
 	}
 	return map[string]interface{}{
 	return map[string]interface{}{
-		"list": idArr,
+		"list":           idArr,
+		"serviceEndTime": endTime,
 	}, nil
 	}, nil
 }
 }
 
 
@@ -3871,12 +3834,28 @@ func GetSalesChannelItem(context *admin.Context) (interface{}, error) {
 			}
 			}
 		}
 		}
 	}
 	}
+	//  `distribution_channel` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '销售渠道',
+	//  `salesperson_id` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '销售人员在剑鱼后台的用户id',
+	//  `saleDep` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '040000' COMMENT '业绩归属部门:010000',
+	//获取最近一次业绩归属部门 下单渠道 销售人员在剑鱼后台的用户id
+	displayMap := make(map[string]interface{})
+	displayData := util.JysqlDB.SelectBySql(`SELECT distribution_channel,salesperson_id,saleDep,create_person,b.username FROM dataexport_order a
+LEFT JOIN cadmin.admin_user b on a.salesperson_id = b.id
+WHERE a.create_person = ? and a.saleDep NOT LIKE '%,%' ORDER BY a.create_time DESC LIMIT 1`, context.User.Username)
+	if displayData != nil && len(*displayData) > 0 {
+		display := (*displayData)[0]
+		displayMap["distribution_channel"] = display["distribution_channel"]
+		displayMap["salesperson_id"] = display["salesperson_id"]
+		displayMap["salesperson_name"] = display["username"]
+		displayMap["saleDep"] = display["saleDep"]
+	}
 	return map[string]interface{}{
 	return map[string]interface{}{
-		"code": 1,
-		"msg":  "查询成功",
-		"data": res,
-		"dep":  dep,
-		"user": context.User.Username,
+		"code":       1,
+		"msg":        "查询成功",
+		"data":       res,
+		"dep":        dep,
+		"user":       context.User.Username,
+		"displayMap": displayMap,
 	}, nil
 	}, nil
 }
 }
 
 

+ 129 - 33
src/order/orderManageService.go

@@ -1280,45 +1280,20 @@ func BigVipOrderDetails(res *map[string]interface{}) map[string]interface{} {
 			filterMap["level"] = "专家版2.0"
 			filterMap["level"] = "专家版2.0"
 		}
 		}
 		// 获取基础服务信息
 		// 获取基础服务信息
-		var serName string
 		serverData := util.JysqlDB.FindOne("bigmember_service", map[string]interface{}{"id": 1}, "s_new_name", "")
 		serverData := util.JysqlDB.FindOne("bigmember_service", map[string]interface{}{"id": 1}, "s_new_name", "")
 		if serverData != nil {
 		if serverData != nil {
-			serName = qutil.InterfaceToStr((*serverData)["s_new_name"])
-		}
-
-		switch qutil.InterfaceToStr((*res)["product_type"]) {
-		case "大会员-补充包": //扩充服务补充字段
-			if (*res)["buy_subject"] == 1 {
-				supplys, _ := filterMap["supplys"].([]interface{})
-				new_serverArr, _ := filterMap["new_serverArr"].([]interface{})
-
-				var (
-					oldService []map[string]interface{}
-				)
-				new_serverArrMap := qutil.ObjArrToMapArr(new_serverArr)
+			//基础服务名称修改
+			serName := qutil.InterfaceToStr((*serverData)["s_new_name"])
+			supplys, _ := filterMap["supplys"].([]interface{})
+			if len(supplys) > 0 {
 				for _, m1 := range qutil.ObjArrToMapArr(supplys) {
 				for _, m1 := range qutil.ObjArrToMapArr(supplys) {
 					if strings.Contains(qutil.InterfaceToStr(m1["name"]), serName) {
 					if strings.Contains(qutil.InterfaceToStr(m1["name"]), serName) {
 						m1["name"] = "基础服务"
 						m1["name"] = "基础服务"
-					}
-					var isNewService bool
-					for _, m2 := range qutil.ObjArrToMapArr(new_serverArr) {
-						if m1["id"] == m2["id"] {
-							isNewService = true
-							break
-						}
-					}
-					if !isNewService {
-						oldService = append(oldService, m1)
+						break
 					}
 					}
 				}
 				}
-				filterMap["oldService"] = oldService
-				filterMap["newervice"] = new_serverArrMap
+				filterMap["supplys"] = supplys
 			}
 			}
-
-		case "大会员-子账号": //关联订单
-
-		}
-		if qutil.InterfaceToStr((*res)["product_type"]) != "大会员-补充包" {
 			serversName := qutil.InterfaceToStr(filterMap["serversName"])
 			serversName := qutil.InterfaceToStr(filterMap["serversName"])
 			serversNameArr := strings.Split(serversName, ",")
 			serversNameArr := strings.Split(serversName, ",")
 			for k, s := range serversNameArr {
 			for k, s := range serversNameArr {
@@ -1328,6 +1303,47 @@ func BigVipOrderDetails(res *map[string]interface{}) map[string]interface{} {
 					break
 					break
 				}
 				}
 			}
 			}
+
+			serverArr, _ := filterMap["serverArr"].([]interface{})
+			if len(serverArr) > 0 {
+				for _, m1 := range qutil.ObjArrToMapArr(serverArr) {
+					if strings.Contains(qutil.InterfaceToStr(m1["name"]), serName) {
+						m1["name"] = "基础服务"
+						break
+					}
+				}
+				filterMap["supplys"] = serverArr
+			}
+		}
+		//大会员--补充服务
+		if qutil.InterfaceToStr((*res)["product_type"]) == "大会员" &&
+			qutil.InterfaceToStr(filterMap["createType"]) == "2" &&
+			qutil.InterfaceToStr(filterMap["serversId"]) != "" {
+			var (
+				oldSerName, newSerName []string
+			)
+			new_serverArr := strings.Split(qutil.InterfaceToStr(filterMap["new_serverArr"]), ",")
+			serverDataArr := util.JysqlDB.SelectBySql(`SELECT id, CASE
+    WHEN id = 1 THEN "基础服务"
+    ELSE s_new_name
+  END AS s_new_name FROM bigmember_service WHERE id in (%s)`, qutil.InterfaceToStr(filterMap["serversId"]))
+			if serverDataArr != nil && len(*serverDataArr) > 0 {
+				for _, m2 := range *serverDataArr {
+					var isNew bool
+					for _, s := range new_serverArr {
+						if qutil.InterfaceToStr(m2["id"]) == s {
+							isNew = true
+							newSerName = append(newSerName, qutil.InterfaceToStr(m2["s_new_name"]))
+							break
+						}
+					}
+					if !isNew {
+						oldSerName = append(oldSerName, qutil.InterfaceToStr(m2["s_new_name"]))
+					}
+				}
+				filterMap["oldSerName"] = strings.Join(oldSerName, ",")
+				filterMap["newSerName"] = strings.Join(newSerName, ",")
+			}
 		}
 		}
 	}
 	}
 	// 订单状态
 	// 订单状态
@@ -4629,6 +4645,48 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 	return nil
 	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 {
 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
 	var contractStatus int
 	if param.ContractUrl != "" {
 	if param.ContractUrl != "" {
@@ -4642,6 +4700,29 @@ func SupplyBigOrder(subStatus, pay_sub_num, free_sub_num, dateType int, now, sta
 		isAll = 1
 		isAll = 1
 	}
 	}
 	filterMap := ParamToFilter(param, enddate, isAll, contractStatus)
 	filterMap := ParamToFilter(param, enddate, isAll, contractStatus)
+	if param.BuySubject == "1" {
+		//补充服务记录新增服务
+		var oldServiceArr []map[string]interface{}
+		sqls := "select a.s_serviceid,b.s_name from bigmember_service_user a LEFT JOIN bigmember_service b on a.s_serviceid = b.id where  a.s_userid = ? and a.i_status = 0"
+		serverUser := util.JysqlDB.SelectBySql(sqls, userId)
+		if serverUser != nil && len(*serverUser) > 0 {
+			oldServiceArr = *serverUser
+		}
+		var newSer []string
+		for _, m2 := range strings.Split(param.ServersId, ",") {
+			var isNewSer bool
+			for _, i2 := range oldServiceArr {
+				if m2 == qutil.InterfaceToStr(i2["s_serviceid"]) {
+					isNewSer = true
+					break
+				}
+			}
+			if !isNewSer {
+				newSer = append(newSer, m2)
+			}
+		}
+		filterMap["new_serverArr"] = strings.Join(newSer, ",")
+	}
 	filter, _ := json.Marshal(filterMap)
 	filter, _ := json.Marshal(filterMap)
 	serverMap := GetServerPid()
 	serverMap := GetServerPid()
 	agreementTime := time.Unix(param.AgreementTime, 0)
 	agreementTime := time.Unix(param.AgreementTime, 0)
@@ -4996,7 +5077,7 @@ func ExtendBigOrder(subStatus, pay_sub_num, free_sub_num int, now, startdate, en
 			if param.SalesChannel == util.SaleChannel052 || param.SalesChannel == util.SaleChannel053 {
 			if param.SalesChannel == util.SaleChannel052 || param.SalesChannel == util.SaleChannel053 {
 				UpdateUserType(param.SalesChannel, userId)
 				UpdateUserType(param.SalesChannel, userId)
 			}
 			}
-			util.JysqlDB.Insert("contract", map[string]interface{}{
+			contractMap := map[string]interface{}{
 				"order_code":              code,
 				"order_code":              code,
 				"contract_money":          param.PayMoney,
 				"contract_money":          param.PayMoney,
 				"contract_file_url":       param.ContractUrl,
 				"contract_file_url":       param.ContractUrl,
@@ -5006,7 +5087,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_status": qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveStatus),
 				"contract_archive_time":   qutil.If(param.ContractArchiveTime == "", nil, param.ContractArchiveTime),
 				"contract_archive_time":   qutil.If(param.ContractArchiveTime == "", nil, param.ContractArchiveTime),
 				"contract_archive_num":    qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveNum),
 				"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 {
 			if !param.Open {
 				return nil
 				return nil

+ 55 - 0
src/order/orderSeal.go

@@ -0,0 +1,55 @@
+package order
+
+import (
+	"errors"
+	"github.com/baiy/Cadmin-server-go/admin"
+	qutil "qfw/util"
+	"time"
+	"util"
+)
+
+func OperateOrderSeal(context *admin.Context) (interface{}, error) {
+	param := new(struct {
+		Id          string `form:"id"`
+		OrderCode   string `form:"orderCode"`
+		salesmanId  string `form:"salesman_id"`  //销售人员
+		StampTime   string `form:"stamp_time"`   //盖章时间
+		RegType     string `form:"regType"`      //请求类型
+		applicantId string `form:"applicant_id"` //申请人
+	})
+	err := context.Form(param)
+	if err != nil {
+		return nil, err
+	}
+	switch param.RegType {
+	case "post": //增加记录`
+		_d := util.JysqlDB.FindOne("dataexport_order", map[string]interface{}{"order_code": param.OrderCode}, "audit_status,order_status", "")
+		if _d == nil || len(*_d) == 0 {
+			return nil, errors.New("订单获取失败")
+		}
+		audit_status := qutil.IntAll((*_d)["audit_status"])
+		order_status := qutil.IntAll((*_d)["order_status"])
+		if order_status == -1 || order_status == -2 || audit_status != 3 {
+			return nil, errors.New("订单状态异常")
+		}
+		util.JysqlDB.Insert("order_seal", map[string]interface{}{
+			"order_code":   param.OrderCode,
+			"stamp_time":   param.StampTime,
+			"create_time":  time.Now().Format("2006-01-02 15:04:05"),
+			"salesman_id":  param.salesmanId,
+			"applicant_id": param.applicantId,
+			"status":       0,
+		})
+	case "delete": //删除记录
+		util.JysqlDB.Update("order_seal", map[string]interface{}{
+			"id": param.Id,
+		}, map[string]interface{}{
+			"status": -1,
+		})
+	default:
+		return nil, errors.New("请求方式错误")
+	}
+	return map[string]interface{}{
+		"code": 0,
+	}, nil
+}

+ 43 - 4
src/order/orderService.go

@@ -300,6 +300,29 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 		isAll = 1
 		isAll = 1
 	}
 	}
 	filter_map := ParamToFilter(param, enddate, isAll, contractStatus)
 	filter_map := ParamToFilter(param, enddate, isAll, contractStatus)
+	if param.BuySubject == "1" && param.CreateType == 2 {
+		//补充服务记录新增服务
+		var oldServiceArr []map[string]interface{}
+		sqls := "select a.s_serviceid,b.s_name from bigmember_service_user a LEFT JOIN bigmember_service b on a.s_serviceid = b.id where  a.s_userid = ? and a.i_status = 0"
+		serverUser := util.JysqlDB.SelectBySql(sqls, userId)
+		if serverUser != nil && len(*serverUser) > 0 {
+			oldServiceArr = *serverUser
+		}
+		var newSer []string
+		for _, m2 := range strings.Split(param.ServersId, ",") {
+			var isNewSer bool
+			for _, i2 := range oldServiceArr {
+				if m2 == qutil.InterfaceToStr(i2["s_serviceid"]) {
+					isNewSer = true
+					break
+				}
+			}
+			if !isNewSer {
+				newSer = append(newSer, m2)
+			}
+		}
+		filter_map["new_serverArr"] = strings.Join(newSer, ",")
+	}
 	// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
 	// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
 	if strings.Contains(oldFilter, "人工审核") {
 	if strings.Contains(oldFilter, "人工审核") {
 		filter_map["audit_type"] = "人工审核"
 		filter_map["audit_type"] = "人工审核"
@@ -341,9 +364,7 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 		code := util.JyOrder("/UpdateOrder", paramOrder)
 		code := util.JyOrder("/UpdateOrder", paramOrder)
 		log.Println("大会员修改订单", userId, code)
 		log.Println("大会员修改订单", userId, code)
 		if code > 0 {
 		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_money":          param.PayMoney,
 				"contract_file_url":       param.ContractUrl,
 				"contract_file_url":       param.ContractUrl,
 				"contract_code":           param.AgreementNumber,
 				"contract_code":           param.AgreementNumber,
@@ -352,7 +373,25 @@ func MyUpdateOrder(oldFilter string, subStatus, dateType int, now, startdate, en
 				"contract_archive_status": qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveStatus),
 				"contract_archive_status": qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveStatus),
 				"contract_archive_time":   qutil.If(param.ContractArchiveTime == "", nil, param.ContractArchiveTime),
 				"contract_archive_time":   qutil.If(param.ContractArchiveTime == "", nil, param.ContractArchiveTime),
 				"contract_archive_num":    qutil.If(param.AgreementStatus == 0, nil, param.ContractArchiveNum),
 				"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
 	return nil

+ 0 - 8
src/order/otherOrderService.go

@@ -644,14 +644,6 @@ func updateEntnicheOrder(oldFilter string, param *CreateOtherOrderParams, code s
 
 
 // 创建VIP订单
 // 创建VIP订单
 func createVipOrder(param *CreateOtherOrderParams, code string) (bool, string) {
 func createVipOrder(param *CreateOtherOrderParams, code string) (bool, string) {
-	if param.VipType == 2 {
-		var areas []string
-		if param.NewArea != "" {
-			areas = append(areas, param.NewArea)
-		}
-		param.Area = strings.Join(areas, ",")
-	}
-
 	var contractStatus int
 	var contractStatus int
 	if param.ContractFileUrl != "" && len(param.ContractFileUrl) > 0 {
 	if param.ContractFileUrl != "" && len(param.ContractFileUrl) > 0 {
 		contractStatus = 1
 		contractStatus = 1

+ 2 - 0
src/order/router.go

@@ -142,6 +142,8 @@ func init() {
 		"Baiy.Cadmin.Order.addUpdateRecord":                   AddUpdateRecord,
 		"Baiy.Cadmin.Order.addUpdateRecord":                   AddUpdateRecord,
 		"Baiy.Cadmin.Order.helpVipinfo":                       HelpVipInfo,
 		"Baiy.Cadmin.Order.helpVipinfo":                       HelpVipInfo,
 		"Baiy.Cadmin.Order.serviceOpen":                       ServiceOpen, //详情开通权益
 		"Baiy.Cadmin.Order.serviceOpen":                       ServiceOpen, //详情开通权益
+		"Baiy.Cadmin.Order.orderPriceCount":                   orderPriceCount,
+		"Baiy.Cadmin.Order.orderSeal":                         OperateOrderSeal, //
 	})
 	})
 	RegisterDispatch(OrderDispatcher)
 	RegisterDispatch(OrderDispatcher)
 }
 }