|
@@ -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").
|