浏览代码

Merge branch 'master' into feature/v2.4.43

lianbingjie 11 月之前
父节点
当前提交
8c714ae2f2
共有 4 个文件被更改,包括 115 次插入50 次删除
  1. 68 11
      src/order/orderManageController.go
  2. 13 7
      src/order/orderManageService.go
  3. 2 2
      src/order/orderService.go
  4. 32 30
      src/order/suppleSalePerson.go

+ 68 - 11
src/order/orderManageController.go

@@ -343,9 +343,11 @@ func orderList(context *admin.Context) (interface{}, error) {
 			} else {
 				userIdStr = `"` + userIdArr[0] + `","` + userIdArr[1] + `"`
 			}
-			str += " (( e.user_id in (" + userIdStr + " ))  OR ( e.user_phone like '%" + param.Phone + "%' AND e.is_backstage_order = 1 )  ) and"
+			//str += " (( e.user_id in (" + userIdStr + " ))  OR ( e.user_phone like '%" + param.Phone + "%' AND e.is_backstage_order = 1 )  ) and"
+			str += " ( e.user_id in (" + userIdStr + " )  OR  e.user_phone like '%" + param.Phone + "%'  ) and"
 		} else {
-			str += " ( e.user_phone like '%" + param.Phone + "%' AND e.is_backstage_order = 1 )   and"
+			//str += " ( e.user_phone like '%" + param.Phone + "%' AND e.is_backstage_order = 1 )   and"
+			str += "  e.user_phone like '%" + param.Phone + "%'   and"
 		}
 	}
 	if param.ContractNature != 0 {
@@ -1363,13 +1365,16 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 	if param.BuySubject == "" {
 		return nil, errors.New("缺少购买主体")
 	}
+	if param.BuyCount == 0 {
+		return nil, errors.New("缺少购买数量")
+	}
 	if param.BuySubject == "2" {
-		if param.BuyCount == 0 {
-			return nil, errors.New("缺少购买数量")
-		}
 		if param.CompanyName == "" {
 			return nil, errors.New("缺少公司名称")
 		}
+		if param.Contract_userA_type == "1" {
+			return nil, errors.New("协议甲方类型错误")
+		}
 	}
 	if param.AgreementStatus == 999 {
 		return nil, errors.New("缺少协议状态")
@@ -1567,10 +1572,62 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 		var status error
 		if param.CreateType == 1 {
 			status = UpdateNewBigOrder(oldFilter, subStatus, dateType, now, startdate, enddate, userId, code, sName, &param, returnStatus)
-		} else if param.CreateType == 3 { //p504新增续费合同
-			status = UpdateExtendBigOrder(res, code, &param)
 		} else {
-			config.JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": code}, map[string]interface{}{"sale_time": param.SaleTime})
+			//先处理之前的订单
+			var contractStatus int
+			if param.ContractUrl != "" {
+				contractStatus = 1
+			}
+			//处理计费模式下的数据-已回款
+			isAll := 2
+			if param.PayMoney == 0 {
+				isAll = 1
+			}
+			filter_map := ParamToFilter(&param, enddate, isAll, contractStatus)
+			// 如果本来就包含人工审核字段就在filter里面赋值人工审核字段
+			if strings.Contains(oldFilter, "人工审核") {
+				filter_map["audit_type"] = "人工审核"
+			}
+			filter, _ := json.Marshal(filter_map)
+			// serverMap := GetServerPid()
+			if param.PayMoney > -1 {
+				paramOrder := map[string]interface{}{
+					"order_money":    param.OrderMoney,
+					"order_status":   param.OrderStatus,
+					"filter":         string(filter),
+					"order_code":     code,
+					"product_type":   "大会员",
+					"user_id":        userId,
+					"original_price": param.OrderMoney,
+					"pay_money":      param.PayMoney,
+					//"vip_starttime":      date.FormatDate(&startdate, date.Date_Full_Layout),
+					//"vip_endtime":        date.FormatDate(&enddate, date.Date_Full_Layout),
+					"salesperson":    param.Salesperson,
+					"salesperson_id": param.SalespersonId,
+					"return_status":  returnStatus,
+					//"user_phone":         param.Phone,
+					"company_name": param.CompanyName,
+					"billingMode":  common.If(param.PayMoney > 0, 1, 0),
+					"sale_time":    param.SaleTime, // 业绩统计时间
+					//"commission":         param.Commission,      // 佣金 2021-12-29 订单优化需求新增字段
+					//"procedures_money":   param.ProceduresMoney, // 手续费 2021-12-29 订单优化需求新增字段
+					"salesChannel":   param.SalesChannel,
+					"orderChannel":   param.OrderChannel,
+					"paybackCompany": param.PaybackCompany,
+					//"last_update_person": param.CreatePerson,
+					"last_update_time": date.NowFormat(date.Date_Full_Layout),
+					"pay_way":          param.PayType,
+					"saleDep":          param.SaleDep,
+					//"contract_nature":  param.Contract_nature,
+					"saleMoney": param.SaleMoney,
+				}
+				_ = util.JyOrder("/UpdateOrder", paramOrder)
+			}
+
+			if param.CreateType == 3 { //p504新增续费合同
+				status = UpdateExtendBigOrder(res, code, &param)
+			}
+			//config.JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": code}, map[string]interface{}{"sale_time": param.SaleTime})
 		}
 		if status == nil {
 			// 判断是否需要修改用户类型
@@ -1761,9 +1818,9 @@ func MyUpdateBigOrder(context *admin.Context) (interface{}, error) {
 						"i_pay_sub_num":      0,
 						"i_free_sub_num":     0,
 					}
-					if subStatus == 1 {
+					/*if subStatus == 1 {
 						sets["i_member_sub_status"] = 0
-					}
+					}*/
 					set := map[string]interface{}{
 						"$set": sets,
 						"$unset": map[string]interface{}{ // 修改手机号时,被取消的原手机号也移除省份数量字段
@@ -2898,7 +2955,7 @@ func UpdateSupplyOrder(context *admin.Context) (interface{}, error) {
 	if param.Phone == "" {
 		return nil, errors.New("缺少手机号")
 	}
-	if param.EntId == 0 {
+	if param.BuySubject == "2" && param.EntId == 0 {
 		return nil, errors.New("缺少企业id")
 	}
 	res := map[string]interface{}{}

+ 13 - 7
src/order/orderManageService.go

@@ -78,13 +78,16 @@ func createBigOrderCheck(param Params) error {
 	if param.BuySubject == "" {
 		return errors.New("缺少购买主体")
 	}
+	if param.BuyCount == 0 {
+		return errors.New("缺少购买数量")
+	}
 	if param.BuySubject == "2" {
-		if param.BuyCount == 0 {
-			return errors.New("缺少购买数量")
-		}
 		if param.CompanyName == "" {
 			return errors.New("缺少公司名称")
 		}
+		if param.Contract_userA_type == "1" {
+			return errors.New("协议甲方类型错误")
+		}
 	}
 	if param.ComboId != 6 && param.AreaCount > 0 {
 		return errors.New("仅商机版2.0支持单省版")
@@ -223,7 +226,9 @@ func VipOrderDetails(res *map[string]interface{}) map[string]interface{} {
 	} else {
 		(*res)["pay_way"] = ""
 	}
-	if payway == "测试使用" {
+	if payway == "transferAccounts" {
+		(*res)["pay_way"] = "对公转账"
+	} else if payway == "测试使用" {
 		(*res)["pay_way"] = payway
 		table = "测试使用"
 	}
@@ -4801,14 +4806,15 @@ func UpdateNewBigOrder(oldFilter string, subStatus, dateType int, now, startdate
 }
 
 func UpdateExtendBigOrder(orderRes map[string]interface{}, code string, param *Params) error {
+
 	filter := common.ObjToMap(orderRes["filter"])
 	if filter == nil || len(*filter) == 0 {
 		return fmt.Errorf("订单异常格式")
 	}
 
-	if !JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": code}, map[string]interface{}{"sale_time": param.SaleTime}) {
-		return fmt.Errorf("更新异常")
-	}
+	//if !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,

+ 2 - 2
src/order/orderService.go

@@ -32,8 +32,8 @@ func ExistProcessOrder(phone string, productType string, orderCode string) bool
 	}
 	if orderCode != "" {
 		condition += fmt.Sprintf(" and order_code!='%s'", orderCode)
-	}
-	q := "select count(id) from dataexport_order where user_phone=? and audit_status!=3 and " + condition
+	} //对公转账
+	q := "select count(id) from dataexport_order where user_phone=? and (audit_status != 3 or (pay_way='transferAccounts' and order_status = 0)) and " + condition
 	rs := config.JysqlDB.CountBySql(q, phone)
 	return rs > 0
 }

+ 32 - 30
src/order/suppleSalePerson.go

@@ -511,6 +511,38 @@ func BigMemberSupple(startTime, endTime time.Time, userId string, filterMap map[
 		serverData := config.JysqlDB.FindOne("bigmember_service", map[string]interface{}{"id": mainId}, "", "")
 		frequency := 0
 		if serverData != nil && len(*serverData) > 0 {
+			if serverId == 11 || serverId == 15 {
+				if serverId == 15 {
+					if payCycle >= 12 {
+						frequency = (payCycle / 12 * common.IntAll((*serverData)["s_count_year"])) + (payCycle % 12 * common.IntAll((*serverData)["s_count_month"]))
+					} else {
+						frequency = payCycle * common.IntAll((*serverData)["s_count_month"])
+					}
+				} else {
+					frequency = payCycle * common.IntAll((*serverData)["s_count_month"])
+				}
+			} else {
+				frequency = common.IntAll((*serverData)["s_count_month"])
+			}
+		}
+		sql2 := "select * from bigmember_service_user where s_serviceid = ? and s_userid = ? and  i_status != -1"
+
+		serverDatas := config.JysqlDB.SelectBySql(sql2, serverId, userId)
+		if serverDatas != nil && len(*serverDatas) > 0 {
+			log.Println("用户补充服务已存在")
+			continue
+			iStatus := common.If(true, 0, 1)
+			sql2 := ""
+			if serverId == 17 || serverId == 18 {
+				sql2 = "update bigmember_service_user set i_frequency = ?,l_updatetime = ?,l_starttime = ?,l_endtime = ?,i_status = ? where s_serviceid = ? and s_userid = ?"
+			} else {
+				sql2 = "update bigmember_service_user set i_frequency = i_frequency + ?,l_updatetime = ?,l_starttime = ?,l_endtime = ?,i_status = ? where s_serviceid = ? and s_userid = ?"
+			}
+			status1 := config.JysqlDB.UpdateOrDeleteBySql(sql2, fmt.Sprint(frequency), date.NowFormat(date.Date_Full_Layout), date.FormatDate(&startTime, date.Date_Full_Layout), date.FormatDate(&endTime, date.Date_Full_Layout), fmt.Sprint(iStatus), serverId, userId)
+			if status1 < 0 {
+				return false, errors.New("新建服务-更新服务表出错")
+			}
+		} else {
 			var (
 				resourceType string
 			)
@@ -543,36 +575,6 @@ func BigMemberSupple(startTime, endTime time.Time, userId string, filterMap map[
 				}
 			}
 
-			if serverId == 11 || serverId == 15 {
-				if serverId == 15 {
-					if payCycle >= 12 {
-						frequency = (payCycle / 12 * common.IntAll((*serverData)["s_count_year"])) + (payCycle % 12 * common.IntAll((*serverData)["s_count_month"]))
-					} else {
-						frequency = payCycle * common.IntAll((*serverData)["s_count_month"])
-					}
-				} else {
-					frequency = payCycle * common.IntAll((*serverData)["s_count_month"])
-				}
-			} else {
-				frequency = common.IntAll((*serverData)["s_count_month"])
-			}
-		}
-		sql2 := "select * from bigmember_service_user where s_serviceid = ? and s_userid = ? and  i_status != -1"
-
-		serverDatas := config.JysqlDB.SelectBySql(sql2, serverId, userId)
-		if serverDatas != nil && len(*serverDatas) > 0 {
-			iStatus := common.If(true, 0, 1)
-			sql2 := ""
-			if serverId == 17 || serverId == 18 {
-				sql2 = "update bigmember_service_user set i_frequency = ?,l_updatetime = ?,l_starttime = ?,l_endtime = ?,i_status = ? where s_serviceid = ? and s_userid = ?"
-			} else {
-				sql2 = "update bigmember_service_user set i_frequency = i_frequency + ?,l_updatetime = ?,l_starttime = ?,l_endtime = ?,i_status = ? where s_serviceid = ? and s_userid = ?"
-			}
-			status1 := config.JysqlDB.UpdateOrDeleteBySql(sql2, fmt.Sprint(frequency), date.NowFormat(date.Date_Full_Layout), date.FormatDate(&startTime, date.Date_Full_Layout), date.FormatDate(&endTime, date.Date_Full_Layout), fmt.Sprint(iStatus), serverId, userId)
-			if status1 < 0 {
-				return false, errors.New("新建服务-更新服务表出错")
-			}
-		} else {
 			insert := map[string]interface{}{
 				"s_userid":     userId,
 				"s_smainid":    mainId,