|
@@ -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,
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
//保存账号使用明细
|