|
@@ -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
|