|
@@ -16,11 +16,12 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int, s
|
|
|
flow.UserId = data.UserId
|
|
|
flow.BusinessTypeId = data.BusinessTypeId
|
|
|
flow.BusinessType = data.BusinessType
|
|
|
- flow.PointType=data.PointType
|
|
|
+ flow.PointType = data.PointType
|
|
|
flow.Point = data.Point
|
|
|
flow.CreateTime = time.Now().Format("2006-01-02 15:04:05")
|
|
|
flow.EndDate = data.EndDate
|
|
|
flow.AppId = data.AppId
|
|
|
+ flow.Sort = entity.AddCode;
|
|
|
var err error
|
|
|
var numb = int64(0)
|
|
|
numb, err = orm.Table("integral_flow").Insert(flow)
|
|
@@ -39,13 +40,13 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int, s
|
|
|
soldelist := []entity.Solde{}
|
|
|
err = orm.Table("integral_solde").Where("appId=? and userId=? and endDate=? and (perManEntPoints != 0 AND timePoints = 0) or (perManEntPoints = 0 AND timePoints = 0 ) ", data.AppId, data.UserId, data.EndDate).Find(&soldelist)
|
|
|
if len(soldelist) > 0 {
|
|
|
- soldelist[0].PerManEntPoints += data.Point
|
|
|
+ soldelist[0].PerManEntPoints += data.Point
|
|
|
numb, err = orm.Table("integral_solde").ID(soldelist[0].Id).Cols("perManEntPoints").Update(soldelist[0])
|
|
|
if err != nil && numb == 0 {
|
|
|
log.Print("修改时效积分失败")
|
|
|
return entity.ErrorCode, "修改时效积分失败"
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
solde.PerManEntPoints = data.Point
|
|
|
numb, err = orm.Table("integral_solde").Insert(&solde)
|
|
|
if err != nil && numb == 0 {
|
|
@@ -59,14 +60,14 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int, s
|
|
|
soldelist := []entity.Solde{}
|
|
|
err = orm.Table("integral_solde").Where("appId=? and userId=? and endDate=? and ( perManEntPoints = 0 AND timePoints != 0) or (perManEntPoints = 0 AND timePoints = 0 ) ", data.AppId, data.UserId, data.EndDate).Find(&soldelist)
|
|
|
if len(soldelist) > 0 {
|
|
|
- soldelist[0].TimePoints += data.Point
|
|
|
+ soldelist[0].TimePoints += data.Point
|
|
|
numb, err = orm.Table("integral_solde").ID(soldelist[0].Id).Cols("timePoints").Update(soldelist[0])
|
|
|
if err != nil && numb == 0 {
|
|
|
log.Print("修改时效积分失败")
|
|
|
return entity.ErrorCode, "修改时效积分失败"
|
|
|
}
|
|
|
} else {
|
|
|
- solde.TimePoints = data.Point
|
|
|
+ solde.TimePoints = data.Point
|
|
|
numb, err = orm.Table("integral_solde").Insert(&solde)
|
|
|
if err != nil && numb == 0 {
|
|
|
log.Print("新增时效积分失败")
|
|
@@ -82,28 +83,27 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int, s
|
|
|
balance := entity.Balance{}
|
|
|
balance.UserId = data.UserId
|
|
|
balance.AppId = data.AppId
|
|
|
- balance.CountPoints = data.Point
|
|
|
+ balance.CountPoints = data.Point
|
|
|
numb, err = entity.Engine.Table("integral_balance").Insert(&balance)
|
|
|
if err != nil && numb == 0 {
|
|
|
log.Print("新增余额失败")
|
|
|
return entity.ErrorCode, "新增余额失败"
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
//修改余额
|
|
|
- balanceList[0].CountPoints = balanceList[0].CountPoints + data.Point
|
|
|
+ balanceList[0].CountPoints = balanceList[0].CountPoints + data.Point
|
|
|
numb, err = entity.Engine.Table("integral_balance").ID(balanceList[0].Id).Cols("countPoints").Update(balanceList[0])
|
|
|
if err != nil && numb == 0 {
|
|
|
- log.Print("余额扣除失败")
|
|
|
- return entity.ErrorCode, "余额扣除失败"
|
|
|
+ log.Print("余额新增失败")
|
|
|
+ return entity.ErrorCode, "余额新增失败"
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- return entity.SuccessCode, "余额扣除失败"
|
|
|
+ return entity.SuccessCode, "余额新增成功"
|
|
|
}
|
|
|
|
|
|
//消耗积分流水
|
|
|
func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (int, string) {
|
|
|
-
|
|
|
orm := entity.Engine
|
|
|
flow := entity.Flow{}
|
|
|
flow.UserId = data.UserId
|
|
@@ -114,6 +114,7 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
flow.CreateTime = time.Now().Format("2006-01-02 15:04:05")
|
|
|
flow.EndDate = data.EndDate
|
|
|
flow.AppId = data.AppId
|
|
|
+ flow.Sort = entity.ReduceCode
|
|
|
//判断是否为消耗积分:false
|
|
|
balance := entity.Balance{}
|
|
|
//查询积分余额是否充足
|
|
@@ -130,14 +131,14 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
return entity.ErrorCode, "积分余额不足"
|
|
|
}
|
|
|
af, err := orm.Table("integral_flow").Insert(&flow)
|
|
|
- if err != nil && af==0{
|
|
|
+ if err != nil && af == 0 {
|
|
|
log.Print("积分记录失败-积分增减类型:", data.Sort)
|
|
|
return entity.ErrorCode, "积分记录失败"
|
|
|
}
|
|
|
|
|
|
//结存消耗
|
|
|
soldelist := []entity.Solde{}
|
|
|
- err = entity.Engine.Table("integral_solde").Where("appId=? and userId=? and endDate> ? or ( perManEntPoints != 0 AND timePoints = 0 ) OR ( perManEntPoints = 0 AND timePoints != 0 )", data.AppId, data.UserId, time.Now().Format("2006-01-02")).Desc("endDate").Desc("timePoints").Find(&soldelist)
|
|
|
+ err = entity.Engine.Table("integral_solde").Where("appId=? and userId=? and endDate> ? and( ( perManEntPoints != 0 AND timePoints = 0 ) OR ( perManEntPoints = 0 AND timePoints != 0 ))", data.AppId, data.UserId, time.Now().Format("2006-01-02")).Desc("endDate").Desc("timePoints").Find(&soldelist)
|
|
|
if len(soldelist) == 0 {
|
|
|
return entity.ErrorCode, "没有结存可以消耗"
|
|
|
}
|
|
@@ -150,7 +151,6 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
//消耗永久积分
|
|
|
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)
|
|
@@ -159,7 +159,7 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
return entity.ErrorCode, "消耗永久积分失败"
|
|
|
}
|
|
|
}
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
//消耗时效积分
|
|
|
if (solde.TimePoints > point) {
|
|
|
|
|
@@ -192,7 +192,7 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
|
|
|
return entity.ErrorCode, "余额扣除失败"
|
|
|
}
|
|
|
|
|
|
- return entity.SuccessCode, "积分记录成功"
|
|
|
+ return entity.SuccessCode, "积分消耗成功"
|
|
|
}
|
|
|
|
|
|
//到期积分查询
|
|
@@ -370,3 +370,21 @@ func (service *IntegralService) IntegralGuardService(data entity.ExpireJSON) []e
|
|
|
}
|
|
|
return flow
|
|
|
}
|
|
|
+
|
|
|
+//按月查询积分使用情况
|
|
|
+func (service *IntegralService) IntegralExpireCheck(data entity.ExpireJSON) []entity.FlowReq {
|
|
|
+ orm := entity.Engine
|
|
|
+ var err error
|
|
|
+ flowReq := []entity.FlowReq{}
|
|
|
+ err = orm.Table("integral_flow").Alias("flow").
|
|
|
+ Select("flow.*,pt.name").
|
|
|
+ Join("left", "point_type pt", "flow.pointType=pt.code").
|
|
|
+ Where("userId = ? AND appId = ? AND DATE_FORMAT(createTime,'%Y-%m') ", data.UserId, data.AppId, data.EndDate).
|
|
|
+ GroupBy("pointType").
|
|
|
+ Find(&flowReq)
|
|
|
+ if err != nil {
|
|
|
+ log.Println(err)
|
|
|
+ return nil
|
|
|
+ }
|
|
|
+ return flowReq
|
|
|
+}
|