|
@@ -1,7 +1,6 @@
|
|
|
package service
|
|
|
|
|
|
import (
|
|
|
- "fmt"
|
|
|
"log"
|
|
|
"points_service/entity"
|
|
|
"time"
|
|
@@ -21,7 +20,7 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int, s
|
|
|
flow.CreateTime = time.Now().Format("2006-01-02 15:04:05")
|
|
|
flow.EndDate = data.EndDate
|
|
|
flow.AppId = data.AppId
|
|
|
- flow.Sort = entity.AddCode;
|
|
|
+ flow.Sort = entity.AddCode
|
|
|
var err error
|
|
|
var numb = int64(0)
|
|
|
numb, err = orm.Table("integral_flow").Insert(flow)
|
|
@@ -34,7 +33,7 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int, s
|
|
|
solde.AppId = data.AppId
|
|
|
solde.UserId = data.UserId
|
|
|
solde.EndDate = data.EndDate
|
|
|
- if (data.OperationType) {
|
|
|
+ if data.OperationType {
|
|
|
//永久积分
|
|
|
//先查看是否有EndDate的积分
|
|
|
soldelist := []entity.Solde{}
|
|
@@ -148,13 +147,16 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
if point == 0 {
|
|
|
break
|
|
|
}
|
|
|
- if (solde.TimePoints == 0) {
|
|
|
+ if solde.TimePoints == 0 {
|
|
|
//消耗永久积分
|
|
|
- if (solde.PerManEntPoints >= point) {
|
|
|
+ if solde.PerManEntPoints >= point {
|
|
|
//够消耗
|
|
|
solde.PerManEntPoints = solde.PerManEntPoints - point
|
|
|
point = 0
|
|
|
- af, err = entity.Engine.Table("integral_solde").ID(solde.Id).Cols("perManEntPoints").Update(solde)
|
|
|
+ af, err = entity.Engine.Table("integral_solde").
|
|
|
+ ID(solde.Id).
|
|
|
+ Cols("perManEntPoints").
|
|
|
+ Update(solde)
|
|
|
if err != nil && af == 0 {
|
|
|
log.Print("消耗永久积分失败")
|
|
|
return entity.ErrorCode, "消耗永久积分失败"
|
|
@@ -162,12 +164,14 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
}
|
|
|
} else {
|
|
|
//消耗时效积分
|
|
|
- if (solde.TimePoints > point) {
|
|
|
-
|
|
|
+ if solde.TimePoints > point {
|
|
|
solde.TimePoints = solde.TimePoints - point
|
|
|
//够消耗
|
|
|
point = 0
|
|
|
- af, err = entity.Engine.Table("integral_solde").ID(solde.Id).Cols("timePoints").Update(solde)
|
|
|
+ af, err = entity.Engine.Table("integral_solde").
|
|
|
+ ID(solde.Id).
|
|
|
+ Cols("timePoints").
|
|
|
+ Update(solde)
|
|
|
if err != nil && af == 0 {
|
|
|
log.Print("消耗时效积分失败")
|
|
|
return entity.ErrorCode, "消耗时效积分失败"
|
|
@@ -177,7 +181,10 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
//不够消耗
|
|
|
point = point - solde.TimePoints
|
|
|
solde.TimePoints = 0
|
|
|
- af, err = entity.Engine.Table("integral_solde").ID(solde.Id).Cols("timePoints").Update(solde)
|
|
|
+ af, err = entity.Engine.Table("integral_solde").
|
|
|
+ ID(solde.Id).
|
|
|
+ Cols("timePoints").
|
|
|
+ Update(solde)
|
|
|
if err != nil && af == 0 {
|
|
|
log.Print("消耗时效积分失败")
|
|
|
return entity.ErrorCode, "消耗时效积分失败"
|
|
@@ -185,9 +192,13 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
//余额消耗
|
|
|
balance.CountPoints = balance.CountPoints - data.Point
|
|
|
- af, err = entity.Engine.Table("integral_balance").ID(balance.Id).Cols("countPoints").Update(balance)
|
|
|
+ af, err = entity.Engine.Table("integral_balance").
|
|
|
+ ID(balance.Id).
|
|
|
+ Cols("countPoints").
|
|
|
+ Update(balance)
|
|
|
if err != nil && af == 0 {
|
|
|
log.Print("余额扣除失败")
|
|
|
return entity.ErrorCode, "余额扣除失败"
|
|
@@ -196,24 +207,19 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
}
|
|
|
|
|
|
//到期积分查询
|
|
|
-func (service *IntegralService) IntegralExpireCheckService(data entity.ExpireJSON) []entity.Flow {
|
|
|
+func (service *IntegralService) IntegralExpireCheckService(data entity.ExpireJSON) (int,int64) {
|
|
|
orm := entity.Engine
|
|
|
- var flow []entity.Flow
|
|
|
+ var solde entity.Solde
|
|
|
var err error
|
|
|
- point := ""
|
|
|
- if data.PointType != 0 {
|
|
|
- point = "AND pointType = " + fmt.Sprint(data.PointType) + ""
|
|
|
- }
|
|
|
- err = orm.Table("integral_flow").
|
|
|
- Select("id,pointType,SUM(point) AS point").
|
|
|
- Where("userId = ? AND appId = ? AND endDate < ? "+point+"", data.UserId, data.AppId, data.EndDate).
|
|
|
- GroupBy("pointType").
|
|
|
- Find(&flow)
|
|
|
- if err != nil {
|
|
|
+ af,err := orm.Table("integral_solde").
|
|
|
+ Select("SUM( timePoints ) AS timePoints").
|
|
|
+ Where("userId = ? AND appId = ? AND endDate < ? ", data.UserId, data.AppId, data.EndDate).
|
|
|
+ Get(&solde)
|
|
|
+ if !af || err != nil {
|
|
|
log.Println(err)
|
|
|
- return nil
|
|
|
+ return entity.ErrorCode,0
|
|
|
}
|
|
|
- return flow
|
|
|
+ return entity.SuccessCode,solde.TimePoints
|
|
|
}
|
|
|
|
|
|
/*//结存新增
|
|
@@ -398,7 +404,7 @@ func (service *IntegralService) IntegralGuardService(endDate string) bool {
|
|
|
flow.EndDate = solde.EndDate
|
|
|
flow.AppId = solde.AppId
|
|
|
af, err := orm.Table("integral_flow").Insert(&flow)
|
|
|
- if err != nil && af==0{
|
|
|
+ if err != nil && af == 0 {
|
|
|
log.Print("积分记录失败")
|
|
|
return false
|
|
|
}
|
|
@@ -419,17 +425,17 @@ func (service *IntegralService) IntegralGuardService(endDate string) bool {
|
|
|
}
|
|
|
|
|
|
//积分余额查询
|
|
|
-func (service *IntegralService) IntegralBalanceCheckService(userId,appId string) (bool,int64) {
|
|
|
+func (service *IntegralService) IntegralBalanceCheckService(userId, appId string) (bool, int64) {
|
|
|
orm := entity.Engine
|
|
|
balance := entity.Balance{}
|
|
|
- b,err := orm.Table("integral_balance").
|
|
|
- Where("userId = ? AND appId = ?", userId,appId).
|
|
|
+ b, err := orm.Table("integral_balance").
|
|
|
+ Where("userId = ? AND appId = ?", userId, appId).
|
|
|
Get(&balance)
|
|
|
if !b || err != nil {
|
|
|
log.Println("积分余额查询失败")
|
|
|
- return false,0
|
|
|
+ return false, 0
|
|
|
}
|
|
|
- return true,balance.CountPoints
|
|
|
+ return true, balance.CountPoints
|
|
|
}
|
|
|
|
|
|
//按月查询积分使用情况
|