Răsfoiți Sursa

wip:超级订阅截止时间修改

WH01243 3 ani în urmă
părinte
comite
3ef481e9ce

+ 8 - 0
api/integral.api

@@ -13,6 +13,10 @@ type purchResourcesReq {
 	VipTime      string `form:"vipTime,optional"`      //超级订阅时间
 	Remarks      string `form:"remarks,optional"`      //备注
 }
+type vipReq {
+	VipTime   string `form:"vipTime,optional"`   //超级订阅时间
+	AccountId string `form:"accountId,optional"` //账户标识
+}
 type useResourcesReq {
 	AccountId        string `form:"accountId"`                 //账户标识
 	CompanyId        int64  `form:"companyId,optional"`        //企业标识
@@ -124,4 +128,8 @@ service integral-api {
 	//账号合并
 	@handler UserMergeHandler // TODO: set handler name and delete this comment
 	post /resources/userMerge (mergeInfo) returns(resourcesRes)
+	//账号合并
+	@handler UpdateVipTimeHandler // TODO: set handler name and delete this comment
+	post /resources/updateVipTime (vipReq) returns(resourcesRes)
+	
 }

+ 5 - 0
api/internal/handler/routes.go

@@ -47,6 +47,11 @@ func RegisterHandlers(engine *rest.Server, serverCtx *svc.ServiceContext) {
 				Path:    "/resources/userMerge",
 				Handler: UserMergeHandler(serverCtx),
 			},
+			{
+				Method:  http.MethodPost,
+				Path:    "/resources/updateVipTime",
+				Handler: UpdateVipTimeHandler(serverCtx),
+			},
 		},
 	)
 }

+ 29 - 0
api/internal/handler/updateviptimehandler.go

@@ -0,0 +1,29 @@
+package handler
+
+import (
+	"net/http"
+
+	"app.yhyue.com/moapp/jyResourcesCenter/api/internal/logic"
+	"app.yhyue.com/moapp/jyResourcesCenter/api/internal/svc"
+	"app.yhyue.com/moapp/jyResourcesCenter/api/internal/types"
+
+	"github.com/tal-tech/go-zero/rest/httpx"
+)
+
+func UpdateVipTimeHandler(ctx *svc.ServiceContext) http.HandlerFunc {
+	return func(w http.ResponseWriter, r *http.Request) {
+		var req types.VipReq
+		if err := httpx.Parse(r, &req); err != nil {
+			httpx.Error(w, err)
+			return
+		}
+
+		l := logic.NewUpdateVipTimeLogic(r.Context(), ctx)
+		resp, err := l.UpdateVipTime(req)
+		if err != nil {
+			httpx.Error(w, err)
+		} else {
+			httpx.OkJson(w, resp)
+		}
+	}
+}

+ 44 - 0
api/internal/logic/updateviptimelogic.go

@@ -0,0 +1,44 @@
+package logic
+
+import (
+	"app.yhyue.com/moapp/jyResourcesCenter/rpc/resourcesCenterclient"
+	"context"
+
+	"app.yhyue.com/moapp/jyResourcesCenter/api/internal/svc"
+	"app.yhyue.com/moapp/jyResourcesCenter/api/internal/types"
+
+	"github.com/tal-tech/go-zero/core/logx"
+)
+
+type UpdateVipTimeLogic struct {
+	logx.Logger
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+}
+
+func NewUpdateVipTimeLogic(ctx context.Context, svcCtx *svc.ServiceContext) UpdateVipTimeLogic {
+	return UpdateVipTimeLogic{
+		Logger: logx.WithContext(ctx),
+		ctx:    ctx,
+		svcCtx: svcCtx,
+	}
+}
+
+func (l *UpdateVipTimeLogic) UpdateVipTime(req types.VipReq) (*types.ResourcesRes, error) {
+	// todo: add your logic here and delete this line
+
+	result := &types.ResourcesRes{}
+	lsi := l.svcCtx.ResourcesCenter
+	var err error
+	resp := &resourcesCenterclient.Response{}
+	resp, err = lsi.UpdateVipTime(l.ctx, &resourcesCenterclient.VipReq{
+		AccountId: req.AccountId,
+		VipTime:   req.VipTime,
+	})
+	if err != nil {
+		return nil, err
+	}
+	result.Code = resp.Code
+	result.Message = resp.Message
+	return result, nil
+}

+ 5 - 0
api/internal/types/types.go

@@ -15,6 +15,11 @@ type PurchResourcesReq struct {
 	Remarks      string `form:"remarks,optional"`      //备注
 }
 
+type VipReq struct {
+	VipTime   string `form:"vipTime,optional"`   //超级订阅时间
+	AccountId string `form:"accountId,optional"` //账户标识
+}
+
 type UseResourcesReq struct {
 	AccountId        string `form:"accountId"`                 //账户标识
 	CompanyId        int64  `form:"companyId,optional"`        //企业标识

+ 34 - 0
rpc/internal/logic/updateviptimelogic.go

@@ -0,0 +1,34 @@
+package logic
+
+import (
+	"context"
+
+	"app.yhyue.com/moapp/jyResourcesCenter/rpc/internal/svc"
+	"app.yhyue.com/moapp/jyResourcesCenter/rpc/resourcesCenter"
+
+	"github.com/tal-tech/go-zero/core/logx"
+)
+
+type UpdateVipTimeLogic struct {
+	ctx    context.Context
+	svcCtx *svc.ServiceContext
+	logx.Logger
+}
+
+func NewUpdateVipTimeLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateVipTimeLogic {
+	return &UpdateVipTimeLogic{
+		ctx:    ctx,
+		svcCtx: svcCtx,
+		Logger: logx.WithContext(ctx),
+	}
+}
+
+// 超级订阅时间修改
+func (l *UpdateVipTimeLogic) UpdateVipTime(in *resourcesCenter.VipReq) (*resourcesCenter.Response, error) {
+	// todo: add your logic here and delete this line
+	code, msg := balanceService.UpdateVipTime(in)
+	return &resourcesCenter.Response{
+		Code:    code,
+		Message: msg,
+	}, nil
+}

+ 6 - 0
rpc/internal/server/resourcescenterserver.go

@@ -62,3 +62,9 @@ func (s *ResourcesCenterServer) UserMerge(ctx context.Context, in *resourcesCent
 	l := logic.NewUserMergeLogic(ctx, s.svcCtx)
 	return l.UserMerge(in)
 }
+
+// 超级订阅时间修改
+func (s *ResourcesCenterServer) UpdateVipTime(ctx context.Context, in *resourcesCenter.VipReq) (*resourcesCenter.Response, error) {
+	l := logic.NewUpdateVipTimeLogic(ctx, s.svcCtx)
+	return l.UpdateVipTime(in)
+}

+ 6 - 0
rpc/resourcesCenter.proto

@@ -25,6 +25,10 @@ message Balance {
     string vipTime = 12; //超级订阅截止时间
     string Remarks = 11; //备注
 }
+message VipReq{
+    string accountId = 1; //账户标识
+    string vipTime = 2; //超级订阅截止时间
+}
 message Resources {
     string accountId = 1; //账户标识
     int64 companyId = 2; //企业标识
@@ -160,4 +164,6 @@ service ResourcesCenter {
     rpc findPreview (PreviewReq) returns (PreviewRes);
      //合并账号
     rpc userMerge(mergeInfo)returns(Response);
+    //超级订阅时间修改
+    rpc updateVipTime(VipReq)returns(Response);
 }

Fișier diff suprimat deoarece este prea mare
+ 347 - 269
rpc/resourcesCenter/resourcesCenter.pb.go


+ 19 - 10
rpc/resourcesCenterclient/resourcescenter.go

@@ -14,22 +14,23 @@ import (
 )
 
 type (
-	ResourcesAuth     = resourcesCenter.ResourcesAuth
 	Response          = resourcesCenter.Response
-	ResourceBalance   = resourcesCenter.ResourceBalance
-	ConsumeRecord     = resourcesCenter.ConsumeRecord
-	PreviewReq        = resourcesCenter.PreviewReq
-	PreviewRes        = resourcesCenter.PreviewRes
+	AccountBalanceRes = resourcesCenter.AccountBalanceRes
 	RecordReq         = resourcesCenter.RecordReq
-	MergeInfo         = resourcesCenter.MergeInfo
+	UseUserResponse   = resourcesCenter.UseUserResponse
+	VipReq            = resourcesCenter.VipReq
 	Detailed          = resourcesCenter.Detailed
-	Resources         = resourcesCenter.Resources
+	ResourcesAuth     = resourcesCenter.ResourcesAuth
 	ResourcesReq      = resourcesCenter.ResourcesReq
+	PreviewRes        = resourcesCenter.PreviewRes
+	MergeInfo         = resourcesCenter.MergeInfo
 	ResourcesAuthRes  = resourcesCenter.ResourcesAuthRes
-	Balance           = resourcesCenter.Balance
-	AccountBalanceRes = resourcesCenter.AccountBalanceRes
 	ConsumeRecordRes  = resourcesCenter.ConsumeRecordRes
-	UseUserResponse   = resourcesCenter.UseUserResponse
+	Balance           = resourcesCenter.Balance
+	Resources         = resourcesCenter.Resources
+	ResourceBalance   = resourcesCenter.ResourceBalance
+	ConsumeRecord     = resourcesCenter.ConsumeRecord
+	PreviewReq        = resourcesCenter.PreviewReq
 
 	ResourcesCenter interface {
 		// 查询账户资源权限
@@ -46,6 +47,8 @@ type (
 		FindPreview(ctx context.Context, in *PreviewReq) (*PreviewRes, error)
 		// 合并账号
 		UserMerge(ctx context.Context, in *MergeInfo) (*Response, error)
+		// 超级订阅时间修改
+		UpdateVipTime(ctx context.Context, in *VipReq) (*Response, error)
 	}
 
 	defaultResourcesCenter struct {
@@ -100,3 +103,9 @@ func (m *defaultResourcesCenter) UserMerge(ctx context.Context, in *MergeInfo) (
 	client := resourcesCenter.NewResourcesCenterClient(m.cli.Conn())
 	return client.UserMerge(ctx, in)
 }
+
+// 超级订阅时间修改
+func (m *defaultResourcesCenter) UpdateVipTime(ctx context.Context, in *VipReq) (*Response, error) {
+	client := resourcesCenter.NewResourcesCenterClient(m.cli.Conn())
+	return client.UpdateVipTime(ctx, in)
+}

+ 25 - 2
service/balanceService.go

@@ -142,7 +142,7 @@ func (service *BalanceService) UseUserDetailed(duplicateRemoval int64, balanceDa
 		endTime := now.AddDate(0, int(-now.Month()+2), -now.Day()).Format("2006-01-02")
 		_, err = orm.Table(AccountResources).
 			Select("sum(number) as  number").
-			Where("accountId=? and  companyId=? and  departmentId=? and  ResourceType=? and  endTime=? and vipTime>?", balanceData.AccountId, balanceData.CompanyId, balanceData.DepartmentId, balanceData.ResourceType, endTime, time.Now().Format("2006-01-02")).
+			Where("accountId=? and  companyId=? and  departmentId=? and  ResourceType=? and  endTime=? and vipTime>?", balanceData.AccountId, balanceData.CompanyId, balanceData.DepartmentId, balanceData.ResourceType, endTime, time.Now().Unix()).
 			Get(&sumStruct)
 	} else {
 		_, err = orm.Table(AccountResources).
@@ -191,7 +191,7 @@ func (service *BalanceService) UseUserDetailed(duplicateRemoval int64, balanceDa
 		endTime := now.AddDate(0, int(-now.Month()+2), -now.Day()).Format("2006-01-02")
 		err = orm.Table(AccountResources).
 			Select("*").
-			Where("accountId=? and  companyId=? and  departmentId=? and  number>0 and  ResourceType=? and  endTime=?  and vipTime>=?  ", balanceData.AccountId, balanceData.CompanyId, balanceData.DepartmentId, balanceData.ResourceType, endTime, time.Now().Format("2006-01-02")).
+			Where("accountId=? and  companyId=? and  departmentId=? and  number>0 and  ResourceType=? and  endTime=?  and vipTime>?  ", balanceData.AccountId, balanceData.CompanyId, balanceData.DepartmentId, balanceData.ResourceType, endTime, time.Now().Unix()).
 			OrderBy("endTime").
 			Find(&balanceList)
 	} else {
@@ -425,3 +425,26 @@ func (service *BalanceService) UserMerge(mergeUser, mergedUser, appId string) (i
 	return entity.SuccessCode, "合并成功"
 
 }
+
+//根据账户标识使用资源
+func (service *BalanceService) UpdateVipTime(data *resourcesCenter.VipReq) (int64, string) {
+	orm := entity.Engine.NewSession()
+	err := orm.Begin()
+	defer orm.Close()
+	updateNumb := int64(0)
+	now := time.Now()
+	endTime := now.AddDate(0, int(-now.Month()+2), -now.Day()).Format("2006-01-02")
+	dataMap := map[string]interface{}{
+		"vipTime":     data.VipTime,
+	}
+	updateNumb, err = orm.Table(AccountResources).
+		Cols("vipTime").Where("endTime = ? and  accountId=? and resourceType=?",endTime,data.AccountId,"附件下载包").
+		Update(&dataMap)
+	if err != nil || updateNumb <= 0 {
+		fmt.Println("结存修改失败:", err)
+		orm.Rollback()
+		return entity.ErrorCode, "超级订阅时间修改失败"
+	}
+	orm.Commit()
+	return entity.SuccessCode, "超级订阅时间修改成功"
+}

+ 2 - 2
service/resourceManageService.go

@@ -42,7 +42,7 @@ func (service *ResourceManageService) FindAccountBalance(in *resourcesCenter.Res
 	var err error
 	if in.ResourceType == "附件下载包" {
 		err = orm.Table("account_resources").Select("ANY_VALUE(id) as id,ANY_VALUE(name) as name,resourceType,ANY_VALUE(spec)").
-			Where("accountId = ? and endTime =? and  vipTime>?", in.AccountId, endTime, now).GroupBy("resourceType").Find(&accountBalanceArr)
+			Where("accountId = ? and endTime =? and  vipTime>?", in.AccountId, endTime, time.Now().Unix()).GroupBy("resourceType").Find(&accountBalanceArr)
 	} else {
 		err = orm.Table("account_resources").Select("ANY_VALUE(id) as id,ANY_VALUE(name) as name,resourceType,ANY_VALUE(spec)").
 			Where("accountId = ? and endTime >= ?", in.AccountId, now).GroupBy("resourceType").Find(&accountBalanceArr)
@@ -62,7 +62,7 @@ func (service *ResourceManageService) FindAccountBalance(in *resourcesCenter.Res
 		isOk := false;
 		if v.ResourceType == "附件下载包" {
 			isOk, err = orm.Table("account_resources").Select("sum(number) as number").
-				Where("accountId = ? and resourceType = ? and endTime = ? and  vipTime>=?", in.AccountId, v.ResourceType, endTime, now).Get(&number)
+				Where("accountId = ? and resourceType = ? and endTime = ? and  vipTime>=?", in.AccountId, v.ResourceType, endTime, time.Now().Unix()).Get(&number)
 		} else {
 			var c int64
 			b, err = orm.Table("account_resources").Select("sum(number) as number").

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff