WH01243 4 年之前
父节点
当前提交
f884ccb045
共有 1 个文件被更改,包括 19 次插入6 次删除
  1. 19 6
      service/integralService.go

+ 19 - 6
service/integralService.go

@@ -12,7 +12,9 @@ type IntegralService struct{}
 
 //新增积分流水
 func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int64, string) {
-	orm := entity.Engine
+	orm := entity.Engine.NewSession()
+	defer orm.Close()
+	err := orm.Begin()
 	flow := entity.Flow{}
 	flow.UserId = data.UserId
 	flow.BusinessTypeId = data.BusinessTypeId
@@ -23,11 +25,11 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int64,
 	flow.CreateTime = time.Now().Format("2006-01-02 15:04:05")
 	flow.AppId = data.AppId
 	flow.Sort = entity.AddCode
-	var err error
 	var numb = int64(0)
 	numb, err = orm.Table("integral_flow").Insert(flow)
 	if err != nil && numb == 0 {
 		log.Print("新增流水失败:", err)
+		orm.Rollback()
 		return entity.ErrorCode, "新增流水失败"
 	}
 	//结存修改
@@ -44,6 +46,7 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int64,
 			numb, err = orm.Table("integral_solde").ID(soldelist[0].Id).Cols("perManEntPoints").Update(soldelist[0])
 			if err != nil || numb == 0 {
 				log.Print("修改时效积分失败:", err)
+				orm.Rollback()
 				return entity.ErrorCode, "修改时效积分失败"
 			}
 		} else {
@@ -51,6 +54,7 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int64,
 			numb, err = orm.Table("integral_solde").Insert(&solde)
 			if err != nil || numb == 0 {
 				log.Print("新增永久积分失败")
+				orm.Rollback()
 				return entity.ErrorCode, "新增永久积分失败"
 			}
 		}
@@ -65,6 +69,7 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int64,
 			numb, err = orm.Table("integral_solde").ID(soldelist[0].Id).Cols("timePoints").Update(soldelist[0])
 			if err != nil || numb == 0 {
 				log.Print("修改时效积分失败:", err)
+				orm.Rollback()
 				return entity.ErrorCode, "修改时效积分失败"
 			}
 		} else {
@@ -72,6 +77,7 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int64,
 			numb, err = orm.Table("integral_solde").Insert(&solde)
 			if err != nil && numb == 0 {
 				log.Print("新增时效积分失败:", err)
+				orm.Rollback()
 				return entity.ErrorCode, "新增时效积分失败"
 			}
 		}
@@ -79,26 +85,33 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int64,
 	//余额修改
 	balanceList := []*entity.Balance{}
 	//查看是否存在本人的余额
-	err = entity.Engine.Table("integral_balance").Where("appId=? and  userId=?  ", data.AppId, data.UserId).Find(&balanceList)
+	err = orm.Table("integral_balance").Where("appId=? and  userId=?  ", data.AppId, data.UserId).Find(&balanceList)
 	if len(balanceList) == 0 {
 		balance := entity.Balance{}
 		balance.UserId = data.UserId
 		balance.AppId = data.AppId
 		balance.CountPoints = data.Point
-		numb, err = entity.Engine.Table("integral_balance").Insert(&balance)
+		numb, err = orm.Table("integral_balance").Insert(&balance)
 		if err != nil || numb == 0 {
 			log.Print("新增余额失败:", err)
+			orm.Rollback()
 			return entity.ErrorCode, "新增余额失败"
 		}
 	} else {
 		//修改余额
 		balanceList[0].CountPoints = balanceList[0].CountPoints + data.Point
-		numb, err = entity.Engine.Table("integral_balance").ID(balanceList[0].Id).Cols("countPoints").Update(balanceList[0])
+		numb, err = orm.Table("integral_balance").ID(balanceList[0].Id).Cols("countPoints").Update(balanceList[0])
 		if err != nil || numb == 0 {
 			log.Print("余额新增失败:", err)
+			orm.Rollback()
 			return entity.ErrorCode, "余额新增失败"
 		}
 	}
+	err = orm.Commit()
+	if err != nil {
+		log.Print("积分新增失败:", err)
+		return entity.ErrorCode, "积分新增失败"
+	}
 	return entity.SuccessCode, "余额新增成功"
 }
 
@@ -464,7 +477,7 @@ func (service *IntegralService) IntegralBalanceCheckService(userId string, appId
 
 //按月查询积分使用情况
 func (service *IntegralService) IntegralDetailedCheck(data entity.FlowJSON) ([]*integral.Point, int64) {
-	orm := entity.Engine
+	orm := entity.Engine.NewSession()
 
 	var flowList []*entity.FlowReq
 	numb, err := orm.Table("integral_flow").Alias("flow").