Bladeren bron

feat:xiugai

wangchuanjin 5 maanden geleden
bovenliggende
commit
a09e7bcbed
1 gewijzigde bestanden met toevoegingen van 30 en 43 verwijderingen
  1. 30 43
      service/exportChargeService.go

+ 30 - 43
service/exportChargeService.go

@@ -137,51 +137,38 @@ func entCharge(data *resourcesCenter.ChargeReq) (resp *resourcesCenter.ChargeRes
 		return &resourcesCenter.ChargeResp{Code: entity.ErrorCode, Message: "操作失败"}
 	}
 	var updateNum = int64(0)
-	if personLimit[0].DataLimit == 0 && personLimit[0].MaxNums == 0 {
-		// 当前账号没有限额
-		updateNum, err = jyOrm.Table("entniche_export_limit").Where("id = ?", personLimit[0].Id).
-			Incr("export_nums", data.ExportNum).
-			Incr("all_export_nums", data.ExportNum).Update(&entity.PersonLimit{})
-		if err != nil || updateNum <= 0 {
-			_ = jyOrm.Rollback()
-			return &resourcesCenter.ChargeResp{Code: entity.ErrorCode, Message: "操作失败"}
+	updateNum, err = jyOrm.Table("entniche_export_limit").Where("id = ? and ((data_limit-export_nums>=? && max_nums-all_export_nums>=?) or (data_limit is null && max_nums is null) or (data_limit is null && max_nums-all_export_nums>=?) or (data_limit-export_nums>=? && max_nums is null))", personLimit[0].Id, data.DeductNum, data.DeductNum, data.DeductNum, data.DeductNum).
+		Incr("export_nums", data.ExportNum).
+		Incr("all_export_nums", data.ExportNum).
+		Update(&entity.PersonLimit{})
+	if err != nil {
+		_ = jyOrm.Rollback()
+		return &resourcesCenter.ChargeResp{Code: entity.ErrorCode, Message: "操作失败"}
+	}
+	if updateNum <= 0 {
+		_ = jyOrm.Rollback()
+		_ = jyOrm.Table("entniche_export_limit").Select("*").
+			Where("ent_id = ? and user_id = ?", data.EntId, data.EntUserId).Find(&personLimit)
+		var msg []string
+		if personLimit[0].DataLimit < data.DeductNum {
+			msg = append(msg, "超出您的每日导出限额")
 		}
-	} else {
-		updateNum, err = jyOrm.Table("entniche_export_limit").Where("id = ? and data_limit >= ?", personLimit[0].Id, data.DeductNum).
-			Decr("data_limit", data.DeductNum).
-			Decr("max_nums", data.DeductNum).
-			Incr("export_nums", data.ExportNum).
-			Incr("all_export_nums", data.ExportNum).
-			Update(&entity.PersonLimit{})
-		if err != nil {
-			_ = jyOrm.Rollback()
-			return &resourcesCenter.ChargeResp{Code: entity.ErrorCode, Message: "操作失败"}
+		if personLimit[0].MaxNums < data.DeductNum {
+			msg = append(msg, "超出您的数据导出总量限额")
 		}
-		if updateNum <= 0 {
-			_ = jyOrm.Rollback()
-			_ = jyOrm.Table("entniche_export_limit").Select("*").
-				Where("ent_id = ? and user_id = ?", data.EntId, data.EntUserId).Find(&personLimit)
-			var msg []string
-			if personLimit[0].DataLimit < data.DeductNum {
-				msg = append(msg, "超出您的每日导出限额")
-			}
-			if personLimit[0].MaxNums < data.DeductNum {
-				msg = append(msg, "超出您的数据导出总量限额")
-			}
-			return &resourcesCenter.ChargeResp{
-				Code:    entity.SuccessCode,
-				Message: "",
-				Data: &resourcesCenter.SomeInfo{
-					ChargeType:   0,
-					ChargeResult: 0,
-					FailMsg:      common.ObjToString(common.If(len(msg) > 0, strings.Join(msg, "、"), "")),
-					Num1:         entNums,
-					Num2:         personLimit[0].DataLimit,
-					Num3:         personLimit[0].DataLimit - personLimit[0].ExportNums,
-					Num4:         personLimit[0].MaxNums,
-					Num5:         personLimit[0].MaxNums - personLimit[0].AllExportNums,
-				},
-			}
+		return &resourcesCenter.ChargeResp{
+			Code:    entity.SuccessCode,
+			Message: "",
+			Data: &resourcesCenter.SomeInfo{
+				ChargeType:   0,
+				ChargeResult: 0,
+				FailMsg:      common.ObjToString(common.If(len(msg) > 0, strings.Join(msg, "、"), "")),
+				Num1:         entNums,
+				Num2:         personLimit[0].DataLimit,
+				Num3:         personLimit[0].DataLimit - personLimit[0].ExportNums,
+				Num4:         personLimit[0].MaxNums,
+				Num5:         personLimit[0].MaxNums - personLimit[0].AllExportNums,
+			},
 		}
 	}
 	//保存账号使用明细