瀏覽代碼

fix:自动审核修改

duxin 8 月之前
父節點
當前提交
5d10537ee5
共有 4 個文件被更改,包括 159 次插入92 次删除
  1. 14 3
      src/config/config.go
  2. 92 63
      src/order/orderManageController.go
  3. 41 25
      src/order/otherOrderController.go
  4. 12 1
      userSync/src/config.json

+ 14 - 3
src/config/config.go

@@ -123,9 +123,20 @@ type SysConfig struct {
 		Name  string `json:"name"`
 		Value string `json:"value"`
 	} `json:"wxappids"` // 公众号appid
-	DataPackTo  string `json:"dataPackTc"`
-	DataPackCc  string `json:"dataPackCc"`
-	EntUserName string `json:"entUserName"`
+	DataPackTo      string `json:"dataPackTc"`
+	DataPackCc      string `json:"dataPackCc"`
+	EntUserName     string `json:"entUserName"`
+	ExamineDiscount struct {
+		Vip struct {
+			Over24Months float64 `json:"over_24_months"`
+			Over12Months float64 `json:"over_12_months"`
+		} `json:"vip"`
+		Bigmember struct {
+			Less6Months  float64 `json:"less_6_months"`
+			Over6Months  float64 `json:"over_6_months"`
+			Over12Months float64 `json:"over_12_months"`
+		} `json:"bigmember"`
+	} `json:"examineDiscount"`
 }
 
 var GmailAuth []*mail.GmailAuth

+ 92 - 63
src/order/orderManageController.go

@@ -1475,19 +1475,7 @@ func CreateBigOrder(context *admin.Context) (interface{}, error) {
 			status = ExtendBigOrder(subStatus, pay_sub_num, free_sub_num, now, startdate, enddate, userId, code, &param)
 		}
 		if param.Save != util.SAVE && status == nil {
-			// 如果是我的订单全部订单则需要新增审核轨迹 暂存不需要
-			saveData := map[string]interface{}{
-				"operator":      context.User.Username,
-				"create_time":   date.NowFormat(date.Date_Full_Layout),
-				"operator_type": util.OperateCreate,
-				"audit_status":  param.AuditStatus,
-				"order_code":    code,
-				"audit_type":    util.AuditCreate,
-			}
-			if !InsertAudit(saveData) {
-				return nil, errors.New("创建成功,审核轨迹保存失败")
-			}
-			CheckAutoAudit(OrderPriceParams{
+			if !CheckAutoAudit(OrderPriceParams{
 				//ProductType string                   `form:"productType"` //大会员超级订阅
 				//	Phone       string                   `form:"phone"`
 				//	Level       int                      `form:"level"`      //会员等级
@@ -1527,7 +1515,21 @@ func CreateBigOrder(context *admin.Context) (interface{}, error) {
 				PaybackCompany: param.PaybackCompany,
 				ContractStatus: param.ContractArchiveStatus,
 				PayMoney:       param.PayMoney,
-			})
+			}) {
+				// 如果是我的订单全部订单则需要新增审核轨迹 暂存不需要
+				saveData := map[string]interface{}{
+					"operator":      context.User.Username,
+					"create_time":   date.NowFormat(date.Date_Full_Layout),
+					"operator_type": util.OperateCreate,
+					"audit_status":  param.AuditStatus,
+					"order_code":    code,
+					"audit_type":    util.AuditCreate,
+				}
+				if !InsertAudit(saveData) {
+					return nil, errors.New("创建成功,审核轨迹保存失败")
+				}
+			}
+
 		}
 		//销售业绩统计
 		if err := SaleSaveRecordTmp(code, param.CreatePerson, param.SaleMoney); err != nil {
@@ -1883,21 +1885,9 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 			if (param.SalesChannel == util.SaleChannel052 || param.SalesChannel == util.SaleChannel053) && saleChannel != param.SalesChannel {
 				UpdateUserType(param.SalesChannel, userId)
 			}
-			// 自动增加审核轨迹
-			saveData := map[string]interface{}{
-				"operator":      context.User.Username,
-				"create_time":   date.NowFormat(date.Date_Full_Layout),
-				"operator_type": util.OperateEdit,
-				"audit_status":  util.OrderPassed,
-				"order_code":    code,
-				"audit_type":    util.AuditCreate,
-			}
-			if !InsertAudit(saveData) {
-				return nil, errors.New("审核轨迹保存失败")
-			}
 			//暂存订单提交
 			if res["audit_status"] == util.OrderUncommitted && param.Save == util.COMMIT {
-				CheckAutoAudit(OrderPriceParams{
+				if !CheckAutoAudit(OrderPriceParams{
 					//ProductType string                   `form:"productType"` //大会员超级订阅
 					//	Phone       string                   `form:"phone"`
 					//	Level       int                      `form:"level"`      //会员等级
@@ -1937,7 +1927,33 @@ func UpdateBigOrder(context *admin.Context) (interface{}, error) {
 					PaybackCompany: param.PaybackCompany,
 					ContractStatus: param.ContractArchiveStatus,
 					PayMoney:       param.PayMoney,
-				})
+				}) {
+					// 自动增加审核轨迹
+					saveData := map[string]interface{}{
+						"operator":      context.User.Username,
+						"create_time":   date.NowFormat(date.Date_Full_Layout),
+						"operator_type": util.OperateEdit,
+						"audit_status":  util.OrderPassed,
+						"order_code":    code,
+						"audit_type":    util.AuditCreate,
+					}
+					if !InsertAudit(saveData) {
+						return nil, errors.New("审核轨迹保存失败")
+					}
+				}
+			} else {
+				// 自动增加审核轨迹
+				saveData := map[string]interface{}{
+					"operator":      context.User.Username,
+					"create_time":   date.NowFormat(date.Date_Full_Layout),
+					"operator_type": util.OperateEdit,
+					"audit_status":  util.OrderPassed,
+					"order_code":    code,
+					"audit_type":    util.AuditCreate,
+				}
+				if !InsertAudit(saveData) {
+					return nil, errors.New("审核轨迹保存失败")
+				}
 			}
 		}
 		return nil, status
@@ -2603,19 +2619,8 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
 			"contract_archive_num":    param.ContractArchiveNum,
 		})
 		if param.Save != util.SAVE {
-			// 如果是我的订单全部订单保存则需要新增审核轨迹 暂存不需要
-			saveData := map[string]interface{}{
-				"operator":      context.User.Username,
-				"create_time":   date.NowFormat(date.Date_Full_Layout),
-				"operator_type": util.OperateCreate,
-				"audit_status":  param.AuditStatus,
-				"order_code":    code,
-				"audit_type":    util.AuditCreate,
-			}
-			if !InsertAudit(saveData) {
-				return nil, errors.New("编辑成功,审核轨迹保存失败")
-			}
-			CheckAutoAudit(OrderPriceParams{
+
+			if !CheckAutoAudit(OrderPriceParams{
 				//ProductType string                   `form:"productType"` //大会员超级订阅
 				//	Phone       string                   `form:"phone"`
 				//	Level       int                      `form:"level"`      //会员等级
@@ -2654,7 +2659,20 @@ func CreateSubOrder(context *admin.Context) (interface{}, error) {
 				PaybackCompany: param.PaybackCompany,
 				ContractStatus: contractStatus,
 				PayMoney:       param.PayMoney,
-			})
+			}) {
+				// 如果是我的订单全部订单保存则需要新增审核轨迹 暂存不需要
+				saveData := map[string]interface{}{
+					"operator":      context.User.Username,
+					"create_time":   date.NowFormat(date.Date_Full_Layout),
+					"operator_type": util.OperateCreate,
+					"audit_status":  param.AuditStatus,
+					"order_code":    code,
+					"audit_type":    util.AuditCreate,
+				}
+				if !InsertAudit(saveData) {
+					return nil, errors.New("编辑成功,审核轨迹保存失败")
+				}
+			}
 		}
 
 		if !param.Open {
@@ -3244,19 +3262,7 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
 				"contract_archive_num":    param.ContractArchiveNum,
 			})
 			if param.Save != util.SAVE {
-				// 如果是我的订单全部订单则需要新增审核轨迹 暂存不需要
-				saveData := map[string]interface{}{
-					"operator":      context.User.Username,
-					"create_time":   date.NowFormat(date.Date_Full_Layout),
-					"operator_type": util.OperateCreate,
-					"audit_status":  param.AuditStatus,
-					"order_code":    code,
-					"audit_type":    util.AuditCreate,
-				}
-				if !InsertAudit(saveData) {
-					return nil, errors.New("创建成功,审核轨迹保存失败")
-				}
-				CheckAutoAudit(OrderPriceParams{
+				if !CheckAutoAudit(OrderPriceParams{
 					//ProductType string                   `form:"productType"` //大会员超级订阅
 					//	Phone       string                   `form:"phone"`
 					//	Level       int                      `form:"level"`      //会员等级
@@ -3296,7 +3302,20 @@ func CreateSupplyOrder(context *admin.Context) (interface{}, error) {
 					PaybackCompany: param.PaybackCompany,
 					ContractStatus: contractStatus,
 					PayMoney:       param.PayMoney,
-				})
+				}) {
+					// 如果是我的订单全部订单则需要新增审核轨迹 暂存不需要
+					saveData := map[string]interface{}{
+						"operator":      context.User.Username,
+						"create_time":   date.NowFormat(date.Date_Full_Layout),
+						"operator_type": util.OperateCreate,
+						"audit_status":  param.AuditStatus,
+						"order_code":    code,
+						"audit_type":    util.AuditCreate,
+					}
+					if !InsertAudit(saveData) {
+						return nil, errors.New("创建成功,审核轨迹保存失败")
+					}
+				}
 			}
 			if err := SaleSaveRecordTmp(code, param.CreatePerson, param.SaleMoney); err != nil {
 				log.Printf("%s %s销售业绩统计创建失败 %v \n", code, gconv.String(param.SaleMoney), err)
@@ -5107,7 +5126,7 @@ func EntLicense(entId, empowerCount, provinceCount, orderId, userCount int, prod
 }
 
 // CheckAutoAudit 校验自动审核
-func CheckAutoAudit(param OrderPriceParams) {
+func CheckAutoAudit(param OrderPriceParams) bool {
 
 	//是否支持线上自动生成电子协议
 	contractPass := func() bool {
@@ -5120,9 +5139,11 @@ func CheckAutoAudit(param OrderPriceParams) {
 		*/
 
 		if param.PaybackCompany != "h01" {
+			log.Println("自动审核不通过PaybackCompany:", param.PaybackCompany)
 			return false
 		}
 		if param.ContractStatus != 1 {
+			log.Println("自动审核不通过ContractStatus:", param.ContractStatus)
 			return false
 		}
 		var monthCount int
@@ -5161,12 +5182,15 @@ func CheckAutoAudit(param OrderPriceParams) {
 				log.Println("获取商品原价失败")
 				return false
 			}
+			log.Println("自动审核商品原价originalPrice:", originalPrice)
 			//折扣率满足一定条件
 			switch {
 			case monthCount >= 24:
-				return float64(param.PayMoney)/originalPrice >= 0.45
+				log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Vip.Over24Months, config.SysConfigs.ExamineDiscount.Vip.Over24Months)
+				return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Vip.Over24Months
 			case monthCount >= 12 && monthCount < 24:
-				return float64(param.PayMoney)/originalPrice >= 0.8
+				log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Vip.Over12Months, config.SysConfigs.ExamineDiscount.Vip.Over12Months)
+				return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Vip.Over12Months
 			}
 			return false
 		case "大会员":
@@ -5178,11 +5202,14 @@ func CheckAutoAudit(param OrderPriceParams) {
 			//折扣率满足一定条件
 			switch {
 			case monthCount < 6:
-				return float64(param.PayMoney)/originalPrice >= 1
+				log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Less6Months, config.SysConfigs.ExamineDiscount.Bigmember.Less6Months)
+				return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Less6Months
 			case monthCount >= 6 && monthCount < 12:
-				return float64(param.PayMoney)/originalPrice >= 0.8
+				log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Over6Months, config.SysConfigs.ExamineDiscount.Bigmember.Over6Months)
+				return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Over6Months
 			case monthCount >= 12:
-				return float64(param.PayMoney)/originalPrice >= 0.6
+				log.Println("自动审核商品折扣:", float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Over12Months, config.SysConfigs.ExamineDiscount.Bigmember.Over12Months)
+				return float64(param.PayMoney)/originalPrice >= config.SysConfigs.ExamineDiscount.Bigmember.Over12Months
 			}
 			return false
 		default:
@@ -5190,9 +5217,11 @@ func CheckAutoAudit(param OrderPriceParams) {
 		}
 	}()
 	if !contractPass {
-		return
+		log.Println("自动审批条件不通过")
+		return false
 	}
 	//符合条件 自动审批通过
 	config.JysqlDB.Update("dataexport_order", map[string]interface{}{"order_code": param.OrderCode},
 		map[string]interface{}{"audit_status": 3})
+	return true
 }

+ 41 - 25
src/order/otherOrderController.go

@@ -268,7 +268,7 @@ func CreateOtherOrder(context *admin.Context) (interface{}, error) {
 	if param.Save == util.SAVE {
 		return nil, nil
 	}
-	CheckAutoAudit(OrderPriceParams{
+	if !CheckAutoAudit(OrderPriceParams{
 		//ProductType string                   `form:"productType"` //大会员超级订阅
 		//	Phone       string                   `form:"phone"`
 		//	Level       int                      `form:"level"`      //会员等级
@@ -304,18 +304,20 @@ func CreateOtherOrder(context *admin.Context) (interface{}, error) {
 		PaybackCompany: param.PaybackCompany,
 		ContractStatus: param.ContractStatus,
 		PayMoney:       param.ContractMoney,
-	})
-	saveData := map[string]interface{}{
-		"operator":      context.User.Username,
-		"create_time":   date.NowFormat(date.Date_Full_Layout),
-		"operator_type": util.OperateCreate,
-		"audit_status":  param.AuditStatus,
-		"order_code":    code,
-		"audit_type":    util.AuditCreate,
-	}
-	if !InsertAudit(saveData) {
-		return nil, errors.New("审核轨迹保存失败")
+	}) {
+		saveData := map[string]interface{}{
+			"operator":      context.User.Username,
+			"create_time":   date.NowFormat(date.Date_Full_Layout),
+			"operator_type": util.OperateCreate,
+			"audit_status":  param.AuditStatus,
+			"order_code":    code,
+			"audit_type":    util.AuditCreate,
+		}
+		if !InsertAudit(saveData) {
+			return nil, errors.New("审核轨迹保存失败")
+		}
 	}
+
 	return nil, nil
 }
 
@@ -686,7 +688,7 @@ func MyUpdateOtherOrder(context *admin.Context) (interface{}, error) {
 	if param.OrderStatus != -2 {
 		//暂存订单提交
 		if res["audit_status"] == util.OrderUncommitted && param.Save == util.COMMIT {
-			CheckAutoAudit(OrderPriceParams{
+			if !CheckAutoAudit(OrderPriceParams{
 				//ProductType string                   `form:"productType"` //大会员超级订阅
 				//	Phone       string                   `form:"phone"`
 				//	Level       int                      `form:"level"`      //会员等级
@@ -722,19 +724,33 @@ func MyUpdateOtherOrder(context *admin.Context) (interface{}, error) {
 				PaybackCompany: param.PaybackCompany,
 				ContractStatus: param.ContractStatus,
 				PayMoney:       param.ContractMoney,
-			})
-		}
-		saveData := map[string]interface{}{
-			"operator":      context.User.Username,
-			"create_time":   date.NowFormat(date.Date_Full_Layout),
-			"operator_type": util.OperateEdit,
-			"audit_status":  saveAuditStatus,
-			"order_code":    code,
-			"audit_type":    util.AuditCreate,
-		}
-		if !UpdateAudit(code, saveAuditStatus, saveData) {
-			return nil, errors.New("更新订单审核状态及新增审核记录异常")
+			}) {
+				saveData := map[string]interface{}{
+					"operator":      context.User.Username,
+					"create_time":   date.NowFormat(date.Date_Full_Layout),
+					"operator_type": util.OperateEdit,
+					"audit_status":  saveAuditStatus,
+					"order_code":    code,
+					"audit_type":    util.AuditCreate,
+				}
+				if !UpdateAudit(code, saveAuditStatus, saveData) {
+					return nil, errors.New("更新订单审核状态及新增审核记录异常")
+				}
+			}
+		} else {
+			saveData := map[string]interface{}{
+				"operator":      context.User.Username,
+				"create_time":   date.NowFormat(date.Date_Full_Layout),
+				"operator_type": util.OperateEdit,
+				"audit_status":  saveAuditStatus,
+				"order_code":    code,
+				"audit_type":    util.AuditCreate,
+			}
+			if !UpdateAudit(code, saveAuditStatus, saveData) {
+				return nil, errors.New("更新订单审核状态及新增审核记录异常")
+			}
 		}
+
 	}
 	return nil, nil
 }

+ 12 - 1
userSync/src/config.json

@@ -28,5 +28,16 @@
     	"s_rsource":"注册来源",
         "i_user_type": "用户类型"
     },
-  "entUserName": "销管,jianyu@admin"
+  "entUserName": "销管,jianyu@admin",
+  "examineDiscount": {
+    "vip": {
+        "over_24_months":  0.45,
+        "over_12_months": 0.8
+    },
+    "bigmember": {
+      "less_6_months": 1,
+      "over_6_months": 0.8,
+      "over_12_months": 0.6
+    }
+  }
 }