李哲 4 years ago
parent
commit
8ade3ebedc
3 changed files with 31 additions and 31 deletions
  1. 5 2
      entity/integral.go
  2. 6 3
      rpc/internal/logic/integraldetailedchecklogic.go
  3. 20 26
      service/integralService.go

+ 5 - 2
entity/integral.go

@@ -59,7 +59,7 @@ type FlowReq struct {
 	EndDate        string `xorm:"endDate" form:"endDate" json:"endDate"`                      //截止时间
 	AppId          int    `xorm:"appId" form:"appId" json:"appId"`                            //剑鱼标识
 	Sort           int    `xorm:"sort" form:"sort" json:"sort"`                               //操作类型1加-1减
-	name           string `xorm:"name" form:"name" json:"name"`                               //积分类型名称
+	Name           string `xorm:"name" form:"name" json:"name"`                               //积分类型名称
 }
 
 //积分结存
@@ -82,6 +82,9 @@ type FlowJSON struct {
 	EndDate        string `xorm:"endDate" form:"endDate" json:"endDate"`                      //截止时间
 	AppId          int    `xorm:"appId" form:"appId" json:"appId"`                            //剑鱼标识
 	OperationType  bool   `xorm:"operationType" form:"operationType" json:"operationType"`    //永久:true、时效:false
+	Sort           int    `xorm:"sort" form:"sort" json:"sort"`                               //操作类型1加-1减
+	Page           int    `xorm:"page" form:"page" json:"page"`                               //当前页数
+	PageSize       int    `xorm:"pageSize" form:"pageSize" json:"pageSize"`                   //每页数量
 }
 
 //到期积分查询
@@ -107,4 +110,4 @@ type GuardJSON struct {
 	PointType int    `xorm:"pointType" form:"pointType" json:"pointType"` //积分类型
 	EndDate   string `xorm:"endDate" form:"endDate" json:"endDate"`       //截止时间
 	AppId     int    `xorm:"appId" form:"appId" json:"appId"`             //剑鱼标识
-}
+}

+ 6 - 3
rpc/internal/logic/integraldetailedchecklogic.go

@@ -2,6 +2,7 @@ package logic
 
 import (
 	"context"
+	"fmt"
 	"points_service/entity"
 
 	"points_service/rpc/integral"
@@ -27,11 +28,13 @@ func NewIntegralDetailedCheckLogic(ctx context.Context, svcCtx *svc.ServiceConte
 // 积分明细查询
 func (l *IntegralDetailedCheckLogic) IntegralDetailedCheck(in *integral.AddReq) (*integral.AddResp, error) {
 	// todo: add your logic here and delete this line
-	dat := entity.ExpireJSON{}
+	dat := entity.FlowJSON{}
 	dat.UserId = in.UserId
 	dat.EndDate = "2021-03"
 	dat.AppId = 10000
-	/*data := integralService.IntegralExpireCheckService(dat)
-	fmt.Println(data)*/
+	dat.Page=1;
+	dat.PageSize=2;
+	data,count := integralService.IntegralDetailedCheck(dat)
+	fmt.Println(count,data)
 	return &integral.AddResp{}, nil
 }

+ 20 - 26
service/integralService.go

@@ -102,21 +102,8 @@ func (service *IntegralService) IntegralAddService(data entity.FlowJSON) (int, s
 
 //消耗积分流水
 func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (int, string) {
+	var af = int64(0)
 	orm := entity.Engine
-	//查询积分余额是否充足
-	balance := entity.Balance{}
-	b, err := orm.Table("integral_balance").Select("countPoints,id").
-		Where("userId = ? AND appId = ?", data.UserId, data.AppId).
-		Get(&balance)
-	if !b || err != nil {
-		log.Printf("积分余额查询出错,userId:[%s],err:[%v]", data.UserId, err)
-		return entity.ErrorCode, "积分余额不足"
-	}
-	if balance.CountPoints < data.Point {
-		return entity.ErrorCode, "积分余额不足"
-	}
-
-	//消耗积分流水记录
 	flow := entity.Flow{}
 	flow.UserId = data.UserId
 	flow.PointType = data.PointType
@@ -127,10 +114,17 @@ func (service *IntegralService) IntegralConsumeService(data entity.FlowJSON) (in
 	flow.EndDate = data.EndDate
 	flow.AppId = data.AppId
 	flow.Sort = entity.ReduceCode
-	af, err := orm.Table("integral_flow").Insert(&flow)
-	if err != nil && af == 0 {
-		log.Print("积分记录失败")
-		return entity.ErrorCode, "积分记录失败"
+	balance := entity.Balance{}
+	//查询积分余额是否充足
+	b, err := orm.Table("integral_balance").Select("countPoints,id").
+		Where("userId = ? AND appId = ?", data.UserId, data.AppId).
+		Get(&balance)
+	if !b || err != nil {
+		log.Printf("积分余额查询出错,userId:[%s],err:[%v]", data.UserId, err)
+		return entity.ErrorCode, "积分余额不足"
+	}
+	if balance.CountPoints < data.Point {
+		return entity.ErrorCode, "积分余额不足"
 	}
 
 	//结存消耗
@@ -439,19 +433,19 @@ func (service *IntegralService) IntegralBalanceCheckService(userId, appId string
 }
 
 //按月查询积分使用情况
-func (service *IntegralService) IntegralExpireCheck(data entity.ExpireJSON) []entity.FlowReq {
+func (service *IntegralService) IntegralDetailedCheck(data entity.FlowJSON) ([]entity.FlowReq,int64) {
 	orm := entity.Engine
-	var err error
 	flowReq := []entity.FlowReq{}
-	err = orm.Table("integral_flow").Alias("flow").
+	numb,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)
+		Where("flow.userId = ? AND flow.appId = ? AND DATE_FORMAT(flow.createTime,'%Y-%m')=? ", data.UserId, data.AppId, data.EndDate).
+		Desc("flow.createTime").
+		Limit(data.PageSize, (data.Page-1)*data.PageSize).
+		FindAndCount(&flowReq)
 	if err != nil {
 		log.Println(err)
-		return nil
+		return nil,int64(0)
 	}
-	return flowReq
+	return flowReq,numb
 }