@@ -111,7 +111,7 @@ func MemberCenterGetBasic(c *gin.Context) { | |||
eggEnergyValue := nowPrice.Mul(decimal.NewFromFloat(eggEnergy)) | |||
// 5. 查询蛋蛋分 | |||
now := time.Now().Add(-7 * time.Hour * 24) | |||
now := time.Now() | |||
esIndexName := es2.GetLatestEffectiveIndexFromAlias(now) | |||
// 构建查询条件 | |||
boolQuery := elastic.NewBoolQuery() | |||
@@ -5,7 +5,9 @@ import ( | |||
"applet/app/db" | |||
"applet/app/e" | |||
"applet/app/md" | |||
"applet/app/svc" | |||
"applet/app/utils" | |||
"applet/app/utils/cache" | |||
"code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | |||
"code.fnuoos.com/EggPlanet/egg_models.git/src/model" | |||
"code.fnuoos.com/EggPlanet/egg_system_rules.git" | |||
@@ -14,23 +16,26 @@ import ( | |||
"code.fnuoos.com/EggPlanet/egg_system_rules.git/rule" | |||
"code.fnuoos.com/EggPlanet/egg_system_rules.git/rule/egg_energy" | |||
md3 "code.fnuoos.com/EggPlanet/egg_system_rules.git/rule/egg_energy/md" | |||
"code.fnuoos.com/EggPlanet/egg_system_rules.git/rule/egg_energy/svc" | |||
svc2 "code.fnuoos.com/EggPlanet/egg_system_rules.git/rule/egg_energy/svc" | |||
"errors" | |||
"fmt" | |||
"github.com/gin-gonic/gin" | |||
"github.com/shopspring/decimal" | |||
"time" | |||
) | |||
const PointsCenterCalcExchangeRedisKey = "Points_Center_Cache_Key" | |||
// PointsCenterGetBasic | |||
// @Summary 蛋蛋星球-积分中心-基础信息(获取) | |||
// @Summary 蛋蛋星球-积分中心-上部分基础信息(获取) | |||
// @Tags 积分中心 | |||
// @Description 基础信息(获取) | |||
// @Description 上部分基础信息(获取) | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Success 200 {object} md.PointsCenterGetBasicResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/pointsCenter/getBasic [GET] | |||
// @Router /api/v1/pointsCenter/basic [GET] | |||
func PointsCenterGetBasic(c *gin.Context) { | |||
val, exists := c.Get("user") | |||
if !exists { | |||
@@ -43,6 +48,238 @@ func PointsCenterGetBasic(c *gin.Context) { | |||
return | |||
} | |||
settingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | |||
setting, err := settingDb.EggEnergyBasicSettingGetOne() | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
virtualAmountDb := implement.NewUserVirtualAmountDb(db.Db) | |||
// 蛋蛋能量 (个人 + 团队) | |||
eggPersonalEnergy, err := virtualAmountDb.GetUserVirtualWalletBySession(user.Id, setting.PersonEggEnergyCoinId) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
eggTeamEnergy, err := virtualAmountDb.GetUserVirtualWalletBySession(user.Id, setting.TeamEggEnergyCoinId) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
eggEnergy := utils.StrToFloat64(eggPersonalEnergy.Amount) + utils.StrToFloat64(eggTeamEnergy.Amount) | |||
// 蛋蛋能量价值 | |||
coreDataDb := implement.NewEggEnergyCoreDataDb(db.Db) | |||
coreData, err := coreDataDb.EggEnergyCoreDataGet() | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
eggEnergyAmount := utils.StrToFloat64(coreData.NowPrice) * eggEnergy | |||
// 活跃积分(蛋蛋积分 = 团队 + 个人) | |||
eggPersonalPoint, err := virtualAmountDb.GetUserVirtualWalletBySession(user.Id, setting.PersonEggPointsCoinId) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
eggTeamPoint, err := virtualAmountDb.GetUserVirtualWalletBySession(user.Id, setting.TeamEggPointsCoinId) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
eggPoint := utils.StrToFloat64(eggPersonalPoint.Amount) + utils.StrToFloat64(eggTeamPoint.Amount) | |||
// 蛋蛋积分价值 | |||
coinDb := implement.NewVirtualCoinDb(db.Db) | |||
coin, err := coinDb.VirtualCoinGetOneByParams(map[string]interface{}{ | |||
"key": "id", | |||
"value": setting.PersonEggPointsCoinId, | |||
}) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
var eggPointValue decimal.Decimal | |||
if coin != nil { | |||
ratio, _ := decimal.NewFromString(coin.ExchangeRatio) | |||
eggPointValue = decimal.NewFromFloat(eggPoint).Div(ratio) | |||
} | |||
eggPointValue = decimal.NewFromInt(0) | |||
// 账户余额 | |||
walletDb := implement.NewUserWalletDb(db.Db) | |||
wallet, err := walletDb.GetUserVirtualWallet(user.Id) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
resp := md.PointsCenterGetBasicResp{ | |||
Energy: utils.Float64ToStr(eggEnergy), | |||
EnergyValue: utils.Float64ToStr(eggEnergyAmount), | |||
WalletAmount: wallet.Amount, | |||
EggPoint: utils.Float64ToStr(eggPoint), | |||
EggPointValue: eggPointValue.String(), | |||
} | |||
e.OutSuc(c, resp, nil) | |||
} | |||
// InitialData | |||
// @Summary 蛋蛋星球-积分中心-初始数据(获取) | |||
// @Tags 积分中心 | |||
// @Description 初始数据(获取) | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Success 200 {object} md.InitialDataResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/pointsCenter/initialData [GET] | |||
func InitialData(c *gin.Context) { | |||
settingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | |||
setting, err := settingDb.EggEnergyBasicSettingGetOne() | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
resp := md.InitialDataResp{ | |||
InitialPrice: setting.InitialPrice, | |||
TotalIssuanceAmount: setting.TotalIssuanceAmount, | |||
TotalTechnologyTeam: setting.TotalTechnologyTeam, | |||
TotalAngelInvestor: setting.TotalAngelInvestor, | |||
TotalOperateFund: setting.TotalOperateFund, | |||
TotalEcologicalDevelopment: setting.TotalEcologicalDevelopment, | |||
} | |||
e.OutSuc(c, resp, nil) | |||
} | |||
// DynamicData | |||
// @Summary 蛋蛋星球-积分中心-动态数据(获取) | |||
// @Tags 积分中心 | |||
// @Description 动态数据(获取) | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Success 200 {object} md.DynamicDataResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/pointsCenter/dynamicData [GET] | |||
func DynamicData(c *gin.Context) { | |||
settingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | |||
setting, err := settingDb.EggEnergyBasicSettingGetOne() | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
// 1.用户持有总量 | |||
redisKey1 := PointsCenterCalcExchangeRedisKey + "_1" | |||
redisValue1, err := cache.GetString(redisKey1) | |||
if err != nil { | |||
if err.Error() == "redigo: nil returned" { | |||
amountDb := implement.NewUserVirtualAmountDb(db.Db) | |||
total, err := amountDb.UserVirtualAmountGetSumByCoinKind(setting.PersonEggEnergyCoinId) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, nil) | |||
return | |||
} | |||
//将获取到的余额值缓存至redis | |||
redisValue1 = utils.Float64ToStr(total) | |||
cache.SetEx(redisKey1, redisValue1, 60) | |||
} else { | |||
e.OutErr(c, e.ERR, err.Error()) | |||
return | |||
} | |||
} | |||
// 2.星级分红 | |||
redisKey2 := PointsCenterCalcExchangeRedisKey + "_2" | |||
redisValue2, err := cache.GetString(redisKey2) | |||
if err != nil { | |||
if err.Error() == "redigo: nil returned" { | |||
coreDataDb := implement.NewEggEnergyCoreDataDb(db.Db) | |||
coreData, err := coreDataDb.EggEnergyCoreDataGet() | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
redisValue2 = coreData.StarLevelDividends | |||
cache.SetEx(redisKey2, redisValue2, 60) | |||
} else { | |||
e.OutErr(c, e.ERR, err.Error()) | |||
return | |||
} | |||
} | |||
// 3.发展委员会 | |||
redisKey3 := PointsCenterCalcExchangeRedisKey + "_3" | |||
redisValue3, err := cache.GetString(redisKey3) | |||
if err != nil { | |||
if err.Error() == "redigo: nil returned" { | |||
coreDataDb := implement.NewEggEnergyCoreDataDb(db.Db) | |||
coreData, err := coreDataDb.EggEnergyCoreDataGet() | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
redisValue3 = coreData.DevelopmentCommittee | |||
cache.SetEx(redisKey3, redisValue3, 60) | |||
} else { | |||
e.OutErr(c, e.ERR, err.Error()) | |||
return | |||
} | |||
} | |||
// 4.公益基金 | |||
redisKey4 := PointsCenterCalcExchangeRedisKey + "_4" | |||
redisValue4, err := cache.GetString(redisKey4) | |||
if err != nil { | |||
if err.Error() == "redigo: nil returned" { | |||
coreDataDb := implement.NewEggEnergyCoreDataDb(db.Db) | |||
coreData, err := coreDataDb.EggEnergyCoreDataGet() | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
redisValue4 = coreData.PublicWelfareAndCharity | |||
cache.SetEx(redisKey4, redisValue4, 60) | |||
} else { | |||
e.OutErr(c, e.ERR, err.Error()) | |||
return | |||
} | |||
} | |||
resp := md.DynamicDataResp{ | |||
UserTotalHold: redisValue1, | |||
StarLevelDividends: redisValue2, | |||
DevelopmentCommittee: redisValue3, | |||
PublicWelfareAndCharity: redisValue4, | |||
} | |||
e.OutSuc(c, resp, nil) | |||
} | |||
// PointsExchangeGetBasic | |||
// @Summary 蛋蛋星球-积分中心-积分兑换基础信息(获取) | |||
// @Tags 积分中心 | |||
// @Description 积分兑换基础信息(获取) | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Success 200 {object} md.PointsExchangeGetBasicResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/pointsCenter/pointsExchangeBasic [GET] | |||
func PointsExchangeGetBasic(c *gin.Context) { | |||
val, exists := c.Get("user") | |||
if !exists { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
user, ok := val.(*model.User) | |||
if !ok { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
// 1. 获取蛋蛋能量货币类型 | |||
settingDb := implement.NewEggEnergyBasicSettingDb(db.Db) | |||
setting, err := settingDb.EggEnergyBasicSettingGetOne() | |||
@@ -68,7 +305,7 @@ func PointsCenterGetBasic(c *gin.Context) { | |||
return | |||
} | |||
resp := md.PointsCenterGetBasicResp{ | |||
resp := md.PointsExchangeGetBasicResp{ | |||
AvailableEnergy: eggEnergyAmount.Amount, | |||
AvailableCash: wallet.Amount, | |||
} | |||
@@ -205,7 +442,7 @@ func ExchangeEnergy(c *gin.Context) { | |||
// 2. 计算蛋蛋能量兑换的金额 | |||
egg_system_rules.Init(cfg.RedisAddr) | |||
eggEnergyCoreData, cb, err1 := svc.GetEggEnergyCoreData(db.Db) | |||
eggEnergyCoreData, cb, err1 := svc2.GetEggEnergyCoreData(db.Db) | |||
if err1 != nil { | |||
fmt.Println("EggEnergyAutoRecordPrices_ERR:::::", err1.Error()) | |||
return | |||
@@ -374,8 +611,8 @@ func GetContributionValue(c *gin.Context) { | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Param limit query int true "每页大小" | |||
// @Param page query int true "页数" | |||
// @Param limit query string true "每页大小" | |||
// @Param page query string true "页数" | |||
// @Success 200 {object} md.GetContributionValueFlowResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/pointsCenter/contributionValueFlow [GET] | |||
@@ -428,6 +665,148 @@ func GetContributionValueFlow(c *gin.Context) { | |||
e.OutSuc(c, resp, nil) | |||
} | |||
// GetEggPointRecord | |||
// @Summary 蛋蛋星球-积分中心-蛋蛋分明细(获取) | |||
// @Tags 积分中心 | |||
// @Description 蛋蛋分明细(获取) | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Param limit query string true "每页大小" | |||
// @Param page query string true "页数" | |||
// @Success 200 {object} md.GetEggPointRecordResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/pointsCenter/record [GET] | |||
func GetEggPointRecord(c *gin.Context) { | |||
// todo 待补充 | |||
pageStr := c.DefaultQuery("page", "1") | |||
limitStr := c.DefaultQuery("limit", "5") | |||
page := utils.StrToInt(pageStr) | |||
limit := utils.StrToInt(limitStr) | |||
val, exists := c.Get("user") | |||
if !exists { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
user, ok := val.(*model.User) | |||
if !ok { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
now := time.Now() | |||
list, nowScore, indexNum, err := svc.GetEggPointRecordBase(now, user.Id, page, limit) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
resp := md.GetEggPointRecordResp{ | |||
NowScore: nowScore, | |||
List: list, | |||
Paginate: md.Paginate{ | |||
Limit: limit, | |||
Page: page, | |||
Total: int64(indexNum), | |||
}, | |||
} | |||
e.OutSuc(c, resp, nil) | |||
} | |||
// GetEggEnergyFlow | |||
// @Summary 蛋蛋星球-积分中心-收支明细(获取) | |||
// @Tags 积分中心 | |||
// @Description 收支明细(获取) | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Param limit query string true "每页大小" | |||
// @Param page query string true "页数" | |||
// @Param startAt query string false "开始时间" | |||
// @Param endAt query string false "结束时间" | |||
// @Param direction query string false "流水方向(1.收入 2.支出 0.全部)" | |||
// @Success 200 {object} md.GetEggEnergyFlowResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/pointsCenter/energyFlow [GET] | |||
func GetEggEnergyFlow(c *gin.Context) { | |||
pageStr := c.DefaultQuery("page", "1") | |||
limitStr := c.DefaultQuery("limit", "10") | |||
startAt := c.Query("startAt") | |||
endAt := c.Query("endAt") | |||
directionStr := c.Query("direction") | |||
val, exists := c.Get("user") | |||
if !exists { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
user, ok := val.(*model.User) | |||
if !ok { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
coinDb := implement.NewVirtualCoinDb(db.Db) | |||
coins, err := coinDb.VirtualCoinFindAll() | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
if coins == nil { | |||
e.OutErr(c, e.ERR_NO_DATA, errors.New("未初始化货币")) | |||
return | |||
} | |||
coinsList := make([]map[string]interface{}, len(coins)) | |||
coinsMap := map[int]string{} | |||
for i, coin := range coins { | |||
coinsList[i] = map[string]interface{}{ | |||
"coinID": coin.Id, | |||
"name": coin.Name, | |||
} | |||
coinsMap[coin.Id] = coin.Name | |||
} | |||
direction := 0 | |||
switch directionStr { | |||
case "1": | |||
direction = 1 | |||
case "2": | |||
direction = 2 | |||
} | |||
page := utils.StrToInt(pageStr) | |||
limit := utils.StrToInt(limitStr) | |||
flowDb := implement.NewUserVirtualCoinFlowDb(db.Db) | |||
flows, total, err := flowDb.UserVirtualCoinFlowFindByCoinAndUser(page, limit, 0, user.Id, startAt, endAt, direction, false, 0) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
list := make([]md.EggEnergyFlowNode, len(flows)) | |||
for i, flow := range flows { | |||
list[i].Title = flow.Title | |||
list[i].Amount = flow.Amount | |||
list[i].Direction = flow.Direction | |||
list[i].CreateAt = flow.CreateAt | |||
list[i].Id = flow.Id | |||
list[i].BeforeAmount = flow.BeforeAmount | |||
list[i].AfterAmount = flow.AfterAmount | |||
list[i].CoinName = coinsMap[flow.CoinId] | |||
list[i].SysFee = flow.SysFee | |||
list[i].TransferType = enum.UserVirtualAmountFlowTransferType(flow.TransferType).String() | |||
} | |||
resp := md.GetEggEnergyFlowResp{ | |||
List: list, | |||
Paginate: md.Paginate{ | |||
Limit: limit, | |||
Page: page, | |||
Total: total, | |||
}, | |||
} | |||
e.OutSuc(c, resp, nil) | |||
} |
@@ -0,0 +1,94 @@ | |||
package hdl | |||
import ( | |||
"applet/app/db" | |||
"applet/app/e" | |||
"applet/app/md" | |||
"applet/app/utils" | |||
"code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | |||
"code.fnuoos.com/EggPlanet/egg_models.git/src/model" | |||
"github.com/gin-gonic/gin" | |||
) | |||
// GetAmountFlow | |||
// @Summary 蛋蛋星球-钱包-余额明细(获取) | |||
// @Tags 钱包 | |||
// @Description 余额明细(获取) | |||
// @Accept json | |||
// @Produce json | |||
// @param Authorization header string true "验证参数Bearer和token空格拼接" | |||
// @Param limit query string true "每页大小" | |||
// @Param page query string true "页数" | |||
// @Param startAt query string false "开始时间" | |||
// @Param endAt query string false "结束时间" | |||
// @Param direction query string false "流水方向(1.收入 2.支出 0.全部)" | |||
// @Success 200 {object} md.GetAmountFlowResp "具体数据" | |||
// @Failure 400 {object} md.Response "具体错误" | |||
// @Router /api/v1/wallet/amountFlow [GET] | |||
func GetAmountFlow(c *gin.Context) { | |||
pageStr := c.DefaultQuery("page", "1") | |||
limitStr := c.DefaultQuery("limit", "10") | |||
startAt := c.Query("startAt") | |||
endAt := c.Query("endAt") | |||
directionStr := c.Query("direction") | |||
val, exists := c.Get("user") | |||
if !exists { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
user, ok := val.(*model.User) | |||
if !ok { | |||
e.OutErr(c, e.ERR_USER_CHECK_ERR, nil) | |||
return | |||
} | |||
direction := 0 | |||
switch directionStr { | |||
case "1": | |||
direction = 1 | |||
case "2": | |||
direction = 2 | |||
} | |||
page := utils.StrToInt(pageStr) | |||
limit := utils.StrToInt(limitStr) | |||
flowDb := implement.NewUserWalletFlowDb(db.Db) | |||
flows, total, err := flowDb.UserWalletFlowFindByCoinAndUser(page, limit, user.Id, startAt, endAt, direction, false, 0, 0) | |||
if err != nil { | |||
e.OutErr(c, e.ERR_DB_ORM, err.Error()) | |||
return | |||
} | |||
list := make([]md.WalletFlowNode, 0, len(flows)) | |||
for _, flow := range flows { | |||
temp := md.WalletFlowNode{ | |||
Id: flow.Id, | |||
Uid: flow.Uid, | |||
Direction: flow.Direction, | |||
Amount: flow.Amount, | |||
BeforeAmount: flow.BeforeAmount, | |||
AfterAmount: flow.AfterAmount, | |||
SysFee: flow.SysFee, | |||
OrdId: flow.OrdId, | |||
Title: flow.Title, | |||
Kind: flow.Kind, | |||
State: flow.State, | |||
Memo: flow.Memo, | |||
CreateTime: flow.CreateAt, | |||
UpdateTime: flow.UpdateAt, | |||
} | |||
list = append(list, temp) | |||
} | |||
resp := md.GetAmountFlowResp{ | |||
List: list, | |||
Paginate: md.Paginate{ | |||
Limit: limit, | |||
Page: page, | |||
Total: total, | |||
}, | |||
} | |||
e.OutSuc(c, resp, nil) | |||
} |
@@ -0,0 +1,23 @@ | |||
package md | |||
type WalletFlowNode struct { | |||
Id int64 `json:"id"` | |||
Uid int64 `json:"uid"` // 用户 ID | |||
Direction int `json:"direction"` // 方向:1.收入 2.支出 | |||
Amount string `json:"amount"` // 变动金额 | |||
BeforeAmount string `json:"before_amount"` // 变动前金额 | |||
AfterAmount string `json:"after_amount"` // 变动后金额 | |||
SysFee string `json:"sys_fee"` // 手续费 | |||
OrdId string `json:"ord_id"` // 对应订单编号 | |||
Title string `json:"title"` // 标题 | |||
Kind int `json:"kind"` // 1:管理员操作增加余额 2:管理员操作扣除余额 3:蛋蛋能量兑换余额 4:余额兑换蛋蛋能量 | |||
State int `json:"state"` // 1未到账,2已到账 | |||
Memo string `json:"memo"` // 备注 | |||
CreateTime string `json:"create_time"` // 创建时间 | |||
UpdateTime string `json:"update_time"` // 更新时间 | |||
} | |||
type GetAmountFlowResp struct { | |||
List []WalletFlowNode `json:"list"` | |||
Paginate Paginate `json:"paginate"` | |||
} |
@@ -31,4 +31,5 @@ type UserEggFlowReqRespList struct { | |||
ViolateNums int `json:"violate_nums"` //违规次数 | |||
BrowseInterfaceNums int `json:"browse_interface_nums"` //浏览界面次数 | |||
PersonAddActivityValue int `json:"person_add_activity_value"` //个人活跃积分 | |||
UpdatedAt string `json:"updated_at"` //更新时间 | |||
} |
@@ -1,11 +1,35 @@ | |||
package md | |||
type PointsCenterGetBasicResp struct { | |||
Energy string `json:"energy"` // 蛋蛋能量值 | |||
EnergyValue string `json:"energy_amount"` // 能量价值 | |||
WalletAmount string `json:"wallet_amount"` // 账户余额 | |||
EggPoint string `json:"egg_point"` // 能量积分 | |||
EggPointValue string `json:"egg_point_amount"` // 能量积分价值 | |||
} | |||
type InitialDataResp struct { | |||
InitialPrice string `json:"initial_price"` // 初始价格 | |||
TotalIssuanceAmount string `json:"total_issuance_amount"` // 总发行量 | |||
TotalTechnologyTeam string `json:"total_technology_team"` // 技术团队 | |||
TotalAngelInvestor string `json:"total_angel_investor"` // 天使投资人 | |||
TotalOperateFund string `json:"total_operate_fund"` // 运营资金 | |||
TotalEcologicalDevelopment string `json:"total_ecological_development"` // 生态建设 | |||
} | |||
type DynamicDataResp struct { | |||
UserTotalHold string `json:"user_total_hold"` // 用户持有总量 | |||
StarLevelDividends string `json:"star_level_dividends"` // 星级分红 | |||
DevelopmentCommittee string `json:"development_committee"` // 发展委员会 | |||
PublicWelfareAndCharity string `json:"public_welfare_and_charity"` // 公益基金 | |||
} | |||
type GetPriceCurveResp struct { | |||
XData []interface{} `json:"x_data"` | |||
YData []interface{} `json:"y_data"` | |||
} | |||
type PointsCenterGetBasicResp struct { | |||
type PointsExchangeGetBasicResp struct { | |||
AvailableEnergy string `json:"available_energy"` // 可用能量 | |||
AvailableCash string `json:"available_cash"` // 可用现金 | |||
} | |||
@@ -44,3 +68,21 @@ type GetEggPointRecordResp struct { | |||
List []EggPointRecordNode `json:"list"` // 分数明细列表 | |||
Paginate Paginate `json:"paginate"` | |||
} | |||
type EggEnergyFlowNode struct { | |||
Id int64 `json:"id"` | |||
CoinName string `json:"coin_name"` // 虚拟币名称 | |||
Direction int `json:"direction"` // 方向:1.收入 2.支出 | |||
Title string `json:"title"` // 标题 | |||
Amount string `json:"amount"` // 变更数量 | |||
BeforeAmount string `json:"before_amount"` // 变更前数量 | |||
AfterAmount string `json:"after_amount"` // 变更后数量 | |||
SysFee string `json:"sys_fee"` // 手续费 | |||
TransferType string `json:"transfer_type"` // 转账类型 | |||
CreateAt string `json:"create_at"` // 创建时间 | |||
} | |||
type GetEggEnergyFlowResp struct { | |||
List []EggEnergyFlowNode `json:"list"` | |||
Paginate Paginate `json:"paginate"` | |||
} |
@@ -92,12 +92,20 @@ func route(r *gin.RouterGroup) { | |||
} | |||
rPointsCenter := r.Group("/pointsCenter") // 积分中心 | |||
{ | |||
rPointsCenter.GET("/getBasic", hdl.PointsCenterGetBasic) // 积分中-基础数据 | |||
rPointsCenter.GET("/basic", hdl.PointsCenterGetBasic) // 积分中心-基础信息 | |||
rPointsCenter.GET("/initialData", hdl.InitialData) // 积分中心-初始数据 | |||
rPointsCenter.GET("/dynamicData", hdl.DynamicData) // 积分中心-动态数据 | |||
rPointsCenter.GET("/pointsExchangeBasic", hdl.PointsExchangeGetBasic) // 积分中心-能量兑换基础数据 | |||
rPointsCenter.GET("/priceCurve", hdl.GetPriceCurve) // 积分中心-获取价格曲线 | |||
rPointsCenter.POST("/exchangeEnergy", hdl.ExchangeEnergy) // 积分中心-能量兑换 | |||
rPointsCenter.GET("/contributionValue", hdl.GetContributionValue) // 积分中心-贡献值 | |||
rPointsCenter.GET("/contributionValueFlow", hdl.GetContributionValueFlow) // 积分中心-贡献值明细 | |||
rPointsCenter.GET("/record", hdl.GetEggPointRecord) // 积分中心-蛋蛋分历史记录 | |||
rPointsCenter.GET("/energyFlow", hdl.GetEggEnergyFlow) // 积分中心-积分收支明细 | |||
} | |||
rWallet := r.Group("/wallet") // 钱包 | |||
{ | |||
rWallet.GET("/amountFlow", hdl.GetAmountFlow) // 余额流水 | |||
} | |||
} | |||
@@ -2,10 +2,12 @@ package svc | |||
import ( | |||
"applet/app/db" | |||
"applet/app/utils" | |||
"applet/app/utils/cache" | |||
"applet/app/utils/logx" | |||
"code.fnuoos.com/EggPlanet/egg_models.git/src/implement" | |||
"strings" | |||
"time" | |||
) | |||
// 简单的recover | |||
@@ -29,3 +31,25 @@ func GetSysCfgStr(key string) string { | |||
return sysCfgDb.SysCfgGetWithDb(key) | |||
} | |||
// GetYearsAndWeekStr 获取年份和周数 | |||
func GetYearsAndWeekStr(esIndexName string) (string, string) { | |||
parts := strings.Split(esIndexName, "_") | |||
return parts[len(parts)-1][:4], parts[len(parts)-1][4:] | |||
} | |||
// GetWeekInfo 获取周数、开始时间、结束时间 | |||
func GetWeekInfo(dateStr string) (string, string, string, string) { | |||
date := utils.TimeParseStd(dateStr) | |||
year, week := date.ISOWeek() | |||
location, _ := time.LoadLocation("Asia/Shanghai") | |||
// 计算给定年份1月1日是星期几 | |||
startOfYear := time.Date(year, time.January, 1, 0, 0, 0, 0, location) | |||
daysOffset := int(startOfYear.Weekday()) - int(time.Monday) + 1 | |||
// 计算给定年份的第一周的开始日期 | |||
firstWeekStart := startOfYear.AddDate(0, 0, -daysOffset+1) | |||
// 计算给定周的开始日期 | |||
weekStart := firstWeekStart.AddDate(0, 0, (week-1)*7) | |||
weekEnd := weekStart.AddDate(0, 0, 6) | |||
return utils.IntToStr(year), utils.IntToStr(week), weekStart.Format("2006-01-02"), weekEnd.Format("2006-01-02") | |||
} |
@@ -0,0 +1,136 @@ | |||
package svc | |||
import ( | |||
"applet/app/md" | |||
"applet/app/utils" | |||
md2 "code.fnuoos.com/EggPlanet/egg_system_rules.git/md" | |||
es2 "code.fnuoos.com/EggPlanet/egg_system_rules.git/utils/es" | |||
"code.fnuoos.com/go_rely_warehouse/zyos_go_es.git/es" | |||
"context" | |||
"encoding/json" | |||
"errors" | |||
"github.com/olivere/elastic/v7" | |||
"time" | |||
) | |||
func GetEggPointRecordBase(now time.Time, uid int64, page int, limit int) ([]md.EggPointRecordNode, string, int, error) { | |||
aliasName := md2.EggEnergyUserEggScoreEsAlias | |||
// 1. 判断当周分数是否生效 | |||
getLastWeek := true | |||
if now.Weekday() > time.Wednesday || (now.Weekday() > time.Wednesday && now.Hour() > 14) { | |||
getLastWeek = false | |||
} | |||
// 2. 计算有效周数数量 | |||
aliases, err := es.EsClient.Aliases(). | |||
Index(aliasName). // 指定别名 | |||
Do(context.Background()) | |||
if err != nil { | |||
return nil, "", 0, err | |||
} | |||
indexNum := len(aliases.Indices) | |||
if getLastWeek == true { | |||
// 如果当期未生效 有效周数 - 1 | |||
indexNum-- | |||
} | |||
if indexNum < 1 { | |||
return nil, "", 0, errors.New("no data") | |||
} | |||
// 3. 获取最老有效索引及年份周数 | |||
oldestIndex := aliasName + "_" + "999999" | |||
for key, _ := range aliases.Indices { | |||
if key < oldestIndex { | |||
oldestIndex = key | |||
} | |||
} | |||
oldestYearStr, oldestWeekStr := GetYearsAndWeekStr(oldestIndex) | |||
oldestYear := utils.StrToInt(oldestYearStr) | |||
oldestWeek := utils.StrToInt(oldestWeekStr) | |||
// 4. 获取当期有效蛋蛋分 | |||
nowIndex := es2.GetLatestEffectiveIndexFromAlias(now) | |||
boolQuery := elastic.NewBoolQuery() | |||
boolQuery.Filter(elastic.NewTermQuery("uid", uid)) | |||
searchResult, err := es.EsClient.Search(). | |||
Index(nowIndex). | |||
Query(boolQuery). | |||
Pretty(true). | |||
Do(context.Background()) | |||
if searchResult == nil { | |||
return nil, "", 0, errors.New("failed to get current egg score") | |||
} | |||
var results []md.UserEggFlowReqRespList | |||
if searchResult.Hits.TotalHits.Value != 0 { | |||
// 解析结果 | |||
for _, hit := range searchResult.Hits.Hits { | |||
var doc md.UserEggFlowReqRespList | |||
err = json.Unmarshal(hit.Source, &doc) | |||
if err != nil { | |||
return nil, "", 0, errors.New("failed to unmarshal") | |||
} | |||
results = append(results, doc) | |||
} | |||
} | |||
nowScore := utils.Float64ToStr(results[0].ScoreValue) | |||
indexes := make([]string, 0, limit) | |||
// 5. 构造分页索引列表 查询历史蛋蛋分 | |||
for i := 0; i < limit; i++ { | |||
var tempDays int | |||
if getLastWeek { | |||
tempDays = 7 * ((page-1)*limit + i + 1) | |||
} else { | |||
tempDays = 7 * ((page-1)*limit + i) | |||
} | |||
tempTime := now.AddDate(0, 0, -tempDays) | |||
tempYear, tempWeek := tempTime.ISOWeek() | |||
// 判断跳转到的时间是否大于最老索引时间 | |||
if tempYear == oldestYear { | |||
if tempWeek < oldestWeek { | |||
break | |||
} | |||
} else if tempYear < oldestYear { | |||
break | |||
} | |||
tempIndex := es2.GetAppointIndexFromAlias(utils.IntToStr(tempYear), utils.IntToStr(tempWeek)) | |||
indexes = append(indexes, tempIndex) | |||
} | |||
// 构建查询条件 | |||
recordBoolQuery := elastic.NewBoolQuery() | |||
recordBoolQuery.Filter(elastic.NewTermQuery("uid", uid)) | |||
searchRecordResult, err := es.EsClient.Search(). | |||
Index(indexes...). | |||
Query(boolQuery). | |||
Pretty(true). | |||
Do(context.Background()) | |||
if searchRecordResult == nil { | |||
return nil, "", 0, errors.New("failed to get egg score flows") | |||
} | |||
var recordResults []md.UserEggFlowReqRespList | |||
// 检查是否有结果 | |||
if searchRecordResult.Hits.TotalHits.Value != 0 { | |||
// 解析结果 | |||
for _, hit := range searchResult.Hits.Hits { | |||
var doc md.UserEggFlowReqRespList | |||
err = json.Unmarshal(hit.Source, &doc) | |||
if err != nil { | |||
return nil, "", 0, errors.New("failed to unmarshal") | |||
} | |||
recordResults = append(recordResults, doc) | |||
} | |||
} | |||
list := make([]md.EggPointRecordNode, len(results)) | |||
for i, result := range recordResults { | |||
year, week, startAt, endAt := GetWeekInfo(result.UpdatedAt) | |||
list[i].Score = utils.Float64ToStr(result.ScoreValue) | |||
list[i].Year = year | |||
list[i].Week = week | |||
list[i].StartAt = startAt | |||
list[i].EndAt = endAt | |||
} | |||
return list, nowScore, indexNum, nil | |||
} |
@@ -1,5 +1,4 @@ | |||
// Code generated by swaggo/swag. DO NOT EDIT. | |||
// Package docs Code generated by swaggo/swag. DO NOT EDIT | |||
package docs | |||
import "github.com/swaggo/swag" | |||
@@ -832,6 +831,44 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/basic": { | |||
"get": { | |||
"description": "上部分基础信息(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-上部分基础信息(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.PointsCenterGetBasicResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/contributionValue": { | |||
"get": { | |||
"description": "贡献值(获取)", | |||
@@ -892,14 +929,14 @@ const docTemplate = `{ | |||
"required": true | |||
}, | |||
{ | |||
"type": "integer", | |||
"type": "string", | |||
"description": "每页大小", | |||
"name": "limit", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "integer", | |||
"type": "string", | |||
"description": "页数", | |||
"name": "page", | |||
"in": "query", | |||
@@ -922,6 +959,114 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/dynamicData": { | |||
"get": { | |||
"description": "动态数据(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-动态数据(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.DynamicDataResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/energyFlow": { | |||
"get": { | |||
"description": "收支明细(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-收支明细(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "每页大小", | |||
"name": "limit", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "页数", | |||
"name": "page", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "开始时间", | |||
"name": "startAt", | |||
"in": "query" | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "结束时间", | |||
"name": "endAt", | |||
"in": "query" | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "流水方向(1.收入 2.支出 0.全部)", | |||
"name": "direction", | |||
"in": "query" | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.GetEggEnergyFlowResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/exchangeEnergy": { | |||
"post": { | |||
"description": "能量兑换", | |||
@@ -969,9 +1114,9 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/getBasic": { | |||
"/api/v1/pointsCenter/initialData": { | |||
"get": { | |||
"description": "基础信息(获取)", | |||
"description": "初始数据(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
@@ -981,7 +1126,7 @@ const docTemplate = `{ | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-基础信息(获取)", | |||
"summary": "蛋蛋星球-积分中心-初始数据(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
@@ -995,7 +1140,45 @@ const docTemplate = `{ | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.PointsCenterGetBasicResp" | |||
"$ref": "#/definitions/md.InitialDataResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/pointsExchangeBasic": { | |||
"get": { | |||
"description": "积分兑换基础信息(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-积分兑换基础信息(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.PointsExchangeGetBasicResp" | |||
} | |||
}, | |||
"400": { | |||
@@ -1051,6 +1234,58 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/record": { | |||
"get": { | |||
"description": "蛋蛋分明细(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-蛋蛋分明细(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "每页大小", | |||
"name": "limit", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "页数", | |||
"name": "page", | |||
"in": "query", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.GetEggPointRecordResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/register": { | |||
"post": { | |||
"description": "注册", | |||
@@ -1150,9 +1385,7 @@ const docTemplate = `{ | |||
"name": "req", | |||
"in": "body", | |||
"required": true, | |||
"schema": { | |||
"type": "object" | |||
} | |||
"schema": {} | |||
} | |||
], | |||
"responses": { | |||
@@ -1210,6 +1443,76 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"/api/v1/wallet/amountFlow": { | |||
"get": { | |||
"description": "余额明细(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"钱包" | |||
], | |||
"summary": "蛋蛋星球-钱包-余额明细(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "每页大小", | |||
"name": "limit", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "页数", | |||
"name": "page", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "开始时间", | |||
"name": "startAt", | |||
"in": "query" | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "结束时间", | |||
"name": "endAt", | |||
"in": "query" | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "流水方向(1.收入 2.支出 0.全部)", | |||
"name": "direction", | |||
"in": "query" | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.GetAmountFlowResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/wechatLogin": { | |||
"post": { | |||
"description": "微信登陆", | |||
@@ -1479,6 +1782,27 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"md.DynamicDataResp": { | |||
"type": "object", | |||
"properties": { | |||
"development_committee": { | |||
"description": "发展委员会", | |||
"type": "string" | |||
}, | |||
"public_welfare_and_charity": { | |||
"description": "公益基金", | |||
"type": "string" | |||
}, | |||
"star_level_dividends": { | |||
"description": "星级分红", | |||
"type": "string" | |||
}, | |||
"user_total_hold": { | |||
"description": "用户持有总量", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.EggEnergyDetailReq": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1555,6 +1879,50 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"md.EggEnergyFlowNode": { | |||
"type": "object", | |||
"properties": { | |||
"after_amount": { | |||
"description": "变更后数量", | |||
"type": "string" | |||
}, | |||
"amount": { | |||
"description": "变更数量", | |||
"type": "string" | |||
}, | |||
"before_amount": { | |||
"description": "变更前数量", | |||
"type": "string" | |||
}, | |||
"coin_name": { | |||
"description": "虚拟币名称", | |||
"type": "string" | |||
}, | |||
"create_at": { | |||
"description": "创建时间", | |||
"type": "string" | |||
}, | |||
"direction": { | |||
"description": "方向:1.收入 2.支出", | |||
"type": "integer" | |||
}, | |||
"id": { | |||
"type": "integer" | |||
}, | |||
"sys_fee": { | |||
"description": "手续费", | |||
"type": "string" | |||
}, | |||
"title": { | |||
"description": "标题", | |||
"type": "string" | |||
}, | |||
"transfer_type": { | |||
"description": "转账类型", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.EggPointDetailsReq": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1631,6 +1999,31 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"md.EggPointRecordNode": { | |||
"type": "object", | |||
"properties": { | |||
"end_at": { | |||
"description": "结束时间", | |||
"type": "string" | |||
}, | |||
"score": { | |||
"description": "分数", | |||
"type": "string" | |||
}, | |||
"start_at": { | |||
"description": "开始时间", | |||
"type": "string" | |||
}, | |||
"week": { | |||
"description": "周数", | |||
"type": "string" | |||
}, | |||
"year": { | |||
"description": "年份", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.ExchangeEnergyReq": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1672,6 +2065,20 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"md.GetAmountFlowResp": { | |||
"type": "object", | |||
"properties": { | |||
"list": { | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/definitions/md.WalletFlowNode" | |||
} | |||
}, | |||
"paginate": { | |||
"$ref": "#/definitions/applet_app_md.Paginate" | |||
} | |||
} | |||
}, | |||
"md.GetContributionValueFlowResp": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1699,6 +2106,39 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"md.GetEggEnergyFlowResp": { | |||
"type": "object", | |||
"properties": { | |||
"list": { | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/definitions/md.EggEnergyFlowNode" | |||
} | |||
}, | |||
"paginate": { | |||
"$ref": "#/definitions/applet_app_md.Paginate" | |||
} | |||
} | |||
}, | |||
"md.GetEggPointRecordResp": { | |||
"type": "object", | |||
"properties": { | |||
"list": { | |||
"description": "分数明细列表", | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/definitions/md.EggPointRecordNode" | |||
} | |||
}, | |||
"now_score": { | |||
"description": "当前分数", | |||
"type": "string" | |||
}, | |||
"paginate": { | |||
"$ref": "#/definitions/applet_app_md.Paginate" | |||
} | |||
} | |||
}, | |||
"md.GetPriceCurveResp": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1786,6 +2226,35 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"md.InitialDataResp": { | |||
"type": "object", | |||
"properties": { | |||
"initial_price": { | |||
"description": "初始价格", | |||
"type": "string" | |||
}, | |||
"total_angel_investor": { | |||
"description": "天使投资人", | |||
"type": "string" | |||
}, | |||
"total_ecological_development": { | |||
"description": "生态建设", | |||
"type": "string" | |||
}, | |||
"total_issuance_amount": { | |||
"description": "总发行量", | |||
"type": "string" | |||
}, | |||
"total_operate_fund": { | |||
"description": "运营资金", | |||
"type": "string" | |||
}, | |||
"total_technology_team": { | |||
"description": "技术团队", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.IntegralList": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1977,6 +2446,31 @@ const docTemplate = `{ | |||
} | |||
}, | |||
"md.PointsCenterGetBasicResp": { | |||
"type": "object", | |||
"properties": { | |||
"egg_point": { | |||
"description": "能量积分", | |||
"type": "string" | |||
}, | |||
"egg_point_amount": { | |||
"description": "能量积分价值", | |||
"type": "string" | |||
}, | |||
"energy": { | |||
"description": "蛋蛋能量值", | |||
"type": "string" | |||
}, | |||
"energy_amount": { | |||
"description": "能量价值", | |||
"type": "string" | |||
}, | |||
"wallet_amount": { | |||
"description": "账户余额", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.PointsExchangeGetBasicResp": { | |||
"type": "object", | |||
"properties": { | |||
"available_cash": { | |||
@@ -2198,6 +2692,66 @@ const docTemplate = `{ | |||
} | |||
} | |||
}, | |||
"md.WalletFlowNode": { | |||
"type": "object", | |||
"properties": { | |||
"after_amount": { | |||
"description": "变动后金额", | |||
"type": "string" | |||
}, | |||
"amount": { | |||
"description": "变动金额", | |||
"type": "string" | |||
}, | |||
"before_amount": { | |||
"description": "变动前金额", | |||
"type": "string" | |||
}, | |||
"create_time": { | |||
"description": "创建时间", | |||
"type": "string" | |||
}, | |||
"direction": { | |||
"description": "方向:1.收入 2.支出", | |||
"type": "integer" | |||
}, | |||
"id": { | |||
"type": "integer" | |||
}, | |||
"kind": { | |||
"description": "1:管理员操作增加余额 2:管理员操作扣除余额 3:蛋蛋能量兑换余额 4:余额兑换蛋蛋能量", | |||
"type": "integer" | |||
}, | |||
"memo": { | |||
"description": "备注", | |||
"type": "string" | |||
}, | |||
"ord_id": { | |||
"description": "对应订单编号", | |||
"type": "string" | |||
}, | |||
"state": { | |||
"description": "1未到账,2已到账", | |||
"type": "integer" | |||
}, | |||
"sys_fee": { | |||
"description": "手续费", | |||
"type": "string" | |||
}, | |||
"title": { | |||
"description": "标题", | |||
"type": "string" | |||
}, | |||
"uid": { | |||
"description": "用户 ID", | |||
"type": "integer" | |||
}, | |||
"update_time": { | |||
"description": "更新时间", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.WechatLoginReq": { | |||
"type": "object", | |||
"properties": { | |||
@@ -2232,6 +2786,8 @@ var SwaggerInfo = &swag.Spec{ | |||
Description: "APP客户端-Api接口", | |||
InfoInstanceName: "swagger", | |||
SwaggerTemplate: docTemplate, | |||
LeftDelim: "{{", | |||
RightDelim: "}}", | |||
} | |||
func init() { | |||
@@ -825,6 +825,44 @@ | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/basic": { | |||
"get": { | |||
"description": "上部分基础信息(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-上部分基础信息(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.PointsCenterGetBasicResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/contributionValue": { | |||
"get": { | |||
"description": "贡献值(获取)", | |||
@@ -885,14 +923,14 @@ | |||
"required": true | |||
}, | |||
{ | |||
"type": "integer", | |||
"type": "string", | |||
"description": "每页大小", | |||
"name": "limit", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "integer", | |||
"type": "string", | |||
"description": "页数", | |||
"name": "page", | |||
"in": "query", | |||
@@ -915,6 +953,114 @@ | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/dynamicData": { | |||
"get": { | |||
"description": "动态数据(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-动态数据(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.DynamicDataResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/energyFlow": { | |||
"get": { | |||
"description": "收支明细(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-收支明细(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "每页大小", | |||
"name": "limit", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "页数", | |||
"name": "page", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "开始时间", | |||
"name": "startAt", | |||
"in": "query" | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "结束时间", | |||
"name": "endAt", | |||
"in": "query" | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "流水方向(1.收入 2.支出 0.全部)", | |||
"name": "direction", | |||
"in": "query" | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.GetEggEnergyFlowResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/exchangeEnergy": { | |||
"post": { | |||
"description": "能量兑换", | |||
@@ -962,9 +1108,9 @@ | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/getBasic": { | |||
"/api/v1/pointsCenter/initialData": { | |||
"get": { | |||
"description": "基础信息(获取)", | |||
"description": "初始数据(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
@@ -974,7 +1120,7 @@ | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-基础信息(获取)", | |||
"summary": "蛋蛋星球-积分中心-初始数据(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
@@ -988,7 +1134,45 @@ | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.PointsCenterGetBasicResp" | |||
"$ref": "#/definitions/md.InitialDataResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/pointsExchangeBasic": { | |||
"get": { | |||
"description": "积分兑换基础信息(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-积分兑换基础信息(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.PointsExchangeGetBasicResp" | |||
} | |||
}, | |||
"400": { | |||
@@ -1044,6 +1228,58 @@ | |||
} | |||
} | |||
}, | |||
"/api/v1/pointsCenter/record": { | |||
"get": { | |||
"description": "蛋蛋分明细(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"积分中心" | |||
], | |||
"summary": "蛋蛋星球-积分中心-蛋蛋分明细(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "每页大小", | |||
"name": "limit", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "页数", | |||
"name": "page", | |||
"in": "query", | |||
"required": true | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.GetEggPointRecordResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/register": { | |||
"post": { | |||
"description": "注册", | |||
@@ -1143,9 +1379,7 @@ | |||
"name": "req", | |||
"in": "body", | |||
"required": true, | |||
"schema": { | |||
"type": "object" | |||
} | |||
"schema": {} | |||
} | |||
], | |||
"responses": { | |||
@@ -1203,6 +1437,76 @@ | |||
} | |||
} | |||
}, | |||
"/api/v1/wallet/amountFlow": { | |||
"get": { | |||
"description": "余额明细(获取)", | |||
"consumes": [ | |||
"application/json" | |||
], | |||
"produces": [ | |||
"application/json" | |||
], | |||
"tags": [ | |||
"钱包" | |||
], | |||
"summary": "蛋蛋星球-钱包-余额明细(获取)", | |||
"parameters": [ | |||
{ | |||
"type": "string", | |||
"description": "验证参数Bearer和token空格拼接", | |||
"name": "Authorization", | |||
"in": "header", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "每页大小", | |||
"name": "limit", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "页数", | |||
"name": "page", | |||
"in": "query", | |||
"required": true | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "开始时间", | |||
"name": "startAt", | |||
"in": "query" | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "结束时间", | |||
"name": "endAt", | |||
"in": "query" | |||
}, | |||
{ | |||
"type": "string", | |||
"description": "流水方向(1.收入 2.支出 0.全部)", | |||
"name": "direction", | |||
"in": "query" | |||
} | |||
], | |||
"responses": { | |||
"200": { | |||
"description": "具体数据", | |||
"schema": { | |||
"$ref": "#/definitions/md.GetAmountFlowResp" | |||
} | |||
}, | |||
"400": { | |||
"description": "具体错误", | |||
"schema": { | |||
"$ref": "#/definitions/md.Response" | |||
} | |||
} | |||
} | |||
} | |||
}, | |||
"/api/v1/wechatLogin": { | |||
"post": { | |||
"description": "微信登陆", | |||
@@ -1472,6 +1776,27 @@ | |||
} | |||
} | |||
}, | |||
"md.DynamicDataResp": { | |||
"type": "object", | |||
"properties": { | |||
"development_committee": { | |||
"description": "发展委员会", | |||
"type": "string" | |||
}, | |||
"public_welfare_and_charity": { | |||
"description": "公益基金", | |||
"type": "string" | |||
}, | |||
"star_level_dividends": { | |||
"description": "星级分红", | |||
"type": "string" | |||
}, | |||
"user_total_hold": { | |||
"description": "用户持有总量", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.EggEnergyDetailReq": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1548,6 +1873,50 @@ | |||
} | |||
} | |||
}, | |||
"md.EggEnergyFlowNode": { | |||
"type": "object", | |||
"properties": { | |||
"after_amount": { | |||
"description": "变更后数量", | |||
"type": "string" | |||
}, | |||
"amount": { | |||
"description": "变更数量", | |||
"type": "string" | |||
}, | |||
"before_amount": { | |||
"description": "变更前数量", | |||
"type": "string" | |||
}, | |||
"coin_name": { | |||
"description": "虚拟币名称", | |||
"type": "string" | |||
}, | |||
"create_at": { | |||
"description": "创建时间", | |||
"type": "string" | |||
}, | |||
"direction": { | |||
"description": "方向:1.收入 2.支出", | |||
"type": "integer" | |||
}, | |||
"id": { | |||
"type": "integer" | |||
}, | |||
"sys_fee": { | |||
"description": "手续费", | |||
"type": "string" | |||
}, | |||
"title": { | |||
"description": "标题", | |||
"type": "string" | |||
}, | |||
"transfer_type": { | |||
"description": "转账类型", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.EggPointDetailsReq": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1624,6 +1993,31 @@ | |||
} | |||
} | |||
}, | |||
"md.EggPointRecordNode": { | |||
"type": "object", | |||
"properties": { | |||
"end_at": { | |||
"description": "结束时间", | |||
"type": "string" | |||
}, | |||
"score": { | |||
"description": "分数", | |||
"type": "string" | |||
}, | |||
"start_at": { | |||
"description": "开始时间", | |||
"type": "string" | |||
}, | |||
"week": { | |||
"description": "周数", | |||
"type": "string" | |||
}, | |||
"year": { | |||
"description": "年份", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.ExchangeEnergyReq": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1665,6 +2059,20 @@ | |||
} | |||
} | |||
}, | |||
"md.GetAmountFlowResp": { | |||
"type": "object", | |||
"properties": { | |||
"list": { | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/definitions/md.WalletFlowNode" | |||
} | |||
}, | |||
"paginate": { | |||
"$ref": "#/definitions/applet_app_md.Paginate" | |||
} | |||
} | |||
}, | |||
"md.GetContributionValueFlowResp": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1692,6 +2100,39 @@ | |||
} | |||
} | |||
}, | |||
"md.GetEggEnergyFlowResp": { | |||
"type": "object", | |||
"properties": { | |||
"list": { | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/definitions/md.EggEnergyFlowNode" | |||
} | |||
}, | |||
"paginate": { | |||
"$ref": "#/definitions/applet_app_md.Paginate" | |||
} | |||
} | |||
}, | |||
"md.GetEggPointRecordResp": { | |||
"type": "object", | |||
"properties": { | |||
"list": { | |||
"description": "分数明细列表", | |||
"type": "array", | |||
"items": { | |||
"$ref": "#/definitions/md.EggPointRecordNode" | |||
} | |||
}, | |||
"now_score": { | |||
"description": "当前分数", | |||
"type": "string" | |||
}, | |||
"paginate": { | |||
"$ref": "#/definitions/applet_app_md.Paginate" | |||
} | |||
} | |||
}, | |||
"md.GetPriceCurveResp": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1779,6 +2220,35 @@ | |||
} | |||
} | |||
}, | |||
"md.InitialDataResp": { | |||
"type": "object", | |||
"properties": { | |||
"initial_price": { | |||
"description": "初始价格", | |||
"type": "string" | |||
}, | |||
"total_angel_investor": { | |||
"description": "天使投资人", | |||
"type": "string" | |||
}, | |||
"total_ecological_development": { | |||
"description": "生态建设", | |||
"type": "string" | |||
}, | |||
"total_issuance_amount": { | |||
"description": "总发行量", | |||
"type": "string" | |||
}, | |||
"total_operate_fund": { | |||
"description": "运营资金", | |||
"type": "string" | |||
}, | |||
"total_technology_team": { | |||
"description": "技术团队", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.IntegralList": { | |||
"type": "object", | |||
"properties": { | |||
@@ -1970,6 +2440,31 @@ | |||
} | |||
}, | |||
"md.PointsCenterGetBasicResp": { | |||
"type": "object", | |||
"properties": { | |||
"egg_point": { | |||
"description": "能量积分", | |||
"type": "string" | |||
}, | |||
"egg_point_amount": { | |||
"description": "能量积分价值", | |||
"type": "string" | |||
}, | |||
"energy": { | |||
"description": "蛋蛋能量值", | |||
"type": "string" | |||
}, | |||
"energy_amount": { | |||
"description": "能量价值", | |||
"type": "string" | |||
}, | |||
"wallet_amount": { | |||
"description": "账户余额", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.PointsExchangeGetBasicResp": { | |||
"type": "object", | |||
"properties": { | |||
"available_cash": { | |||
@@ -2191,6 +2686,66 @@ | |||
} | |||
} | |||
}, | |||
"md.WalletFlowNode": { | |||
"type": "object", | |||
"properties": { | |||
"after_amount": { | |||
"description": "变动后金额", | |||
"type": "string" | |||
}, | |||
"amount": { | |||
"description": "变动金额", | |||
"type": "string" | |||
}, | |||
"before_amount": { | |||
"description": "变动前金额", | |||
"type": "string" | |||
}, | |||
"create_time": { | |||
"description": "创建时间", | |||
"type": "string" | |||
}, | |||
"direction": { | |||
"description": "方向:1.收入 2.支出", | |||
"type": "integer" | |||
}, | |||
"id": { | |||
"type": "integer" | |||
}, | |||
"kind": { | |||
"description": "1:管理员操作增加余额 2:管理员操作扣除余额 3:蛋蛋能量兑换余额 4:余额兑换蛋蛋能量", | |||
"type": "integer" | |||
}, | |||
"memo": { | |||
"description": "备注", | |||
"type": "string" | |||
}, | |||
"ord_id": { | |||
"description": "对应订单编号", | |||
"type": "string" | |||
}, | |||
"state": { | |||
"description": "1未到账,2已到账", | |||
"type": "integer" | |||
}, | |||
"sys_fee": { | |||
"description": "手续费", | |||
"type": "string" | |||
}, | |||
"title": { | |||
"description": "标题", | |||
"type": "string" | |||
}, | |||
"uid": { | |||
"description": "用户 ID", | |||
"type": "integer" | |||
}, | |||
"update_time": { | |||
"description": "更新时间", | |||
"type": "string" | |||
} | |||
} | |||
}, | |||
"md.WechatLoginReq": { | |||
"type": "object", | |||
"properties": { | |||
@@ -161,6 +161,21 @@ definitions: | |||
description: 标题 | |||
type: string | |||
type: object | |||
md.DynamicDataResp: | |||
properties: | |||
development_committee: | |||
description: 发展委员会 | |||
type: string | |||
public_welfare_and_charity: | |||
description: 公益基金 | |||
type: string | |||
star_level_dividends: | |||
description: 星级分红 | |||
type: string | |||
user_total_hold: | |||
description: 用户持有总量 | |||
type: string | |||
type: object | |||
md.EggEnergyDetailReq: | |||
properties: | |||
asc: | |||
@@ -212,6 +227,38 @@ definitions: | |||
- $ref: '#/definitions/md.TransferTypeList' | |||
description: 转账类型列表 | |||
type: object | |||
md.EggEnergyFlowNode: | |||
properties: | |||
after_amount: | |||
description: 变更后数量 | |||
type: string | |||
amount: | |||
description: 变更数量 | |||
type: string | |||
before_amount: | |||
description: 变更前数量 | |||
type: string | |||
coin_name: | |||
description: 虚拟币名称 | |||
type: string | |||
create_at: | |||
description: 创建时间 | |||
type: string | |||
direction: | |||
description: 方向:1.收入 2.支出 | |||
type: integer | |||
id: | |||
type: integer | |||
sys_fee: | |||
description: 手续费 | |||
type: string | |||
title: | |||
description: 标题 | |||
type: string | |||
transfer_type: | |||
description: 转账类型 | |||
type: string | |||
type: object | |||
md.EggPointDetailsReq: | |||
properties: | |||
asc: | |||
@@ -263,6 +310,24 @@ definitions: | |||
- $ref: '#/definitions/md.TransferTypeList' | |||
description: 转账类型列表 | |||
type: object | |||
md.EggPointRecordNode: | |||
properties: | |||
end_at: | |||
description: 结束时间 | |||
type: string | |||
score: | |||
description: 分数 | |||
type: string | |||
start_at: | |||
description: 开始时间 | |||
type: string | |||
week: | |||
description: 周数 | |||
type: string | |||
year: | |||
description: 年份 | |||
type: string | |||
type: object | |||
md.ExchangeEnergyReq: | |||
properties: | |||
energy_amount: | |||
@@ -291,6 +356,15 @@ definitions: | |||
required: | |||
- mobile | |||
type: object | |||
md.GetAmountFlowResp: | |||
properties: | |||
list: | |||
items: | |||
$ref: '#/definitions/md.WalletFlowNode' | |||
type: array | |||
paginate: | |||
$ref: '#/definitions/applet_app_md.Paginate' | |||
type: object | |||
md.GetContributionValueFlowResp: | |||
properties: | |||
list: | |||
@@ -309,6 +383,28 @@ definitions: | |||
description: 兑换比率(x 分兑换 1 人民币) | |||
type: string | |||
type: object | |||
md.GetEggEnergyFlowResp: | |||
properties: | |||
list: | |||
items: | |||
$ref: '#/definitions/md.EggEnergyFlowNode' | |||
type: array | |||
paginate: | |||
$ref: '#/definitions/applet_app_md.Paginate' | |||
type: object | |||
md.GetEggPointRecordResp: | |||
properties: | |||
list: | |||
description: 分数明细列表 | |||
items: | |||
$ref: '#/definitions/md.EggPointRecordNode' | |||
type: array | |||
now_score: | |||
description: 当前分数 | |||
type: string | |||
paginate: | |||
$ref: '#/definitions/applet_app_md.Paginate' | |||
type: object | |||
md.GetPriceCurveResp: | |||
properties: | |||
x_data: | |||
@@ -372,6 +468,27 @@ definitions: | |||
description: 奖励X个活跃积分 | |||
type: string | |||
type: object | |||
md.InitialDataResp: | |||
properties: | |||
initial_price: | |||
description: 初始价格 | |||
type: string | |||
total_angel_investor: | |||
description: 天使投资人 | |||
type: string | |||
total_ecological_development: | |||
description: 生态建设 | |||
type: string | |||
total_issuance_amount: | |||
description: 总发行量 | |||
type: string | |||
total_operate_fund: | |||
description: 运营资金 | |||
type: string | |||
total_technology_team: | |||
description: 技术团队 | |||
type: string | |||
type: object | |||
md.IntegralList: | |||
properties: | |||
expend_list: | |||
@@ -505,6 +622,24 @@ definitions: | |||
type: string | |||
type: object | |||
md.PointsCenterGetBasicResp: | |||
properties: | |||
egg_point: | |||
description: 能量积分 | |||
type: string | |||
egg_point_amount: | |||
description: 能量积分价值 | |||
type: string | |||
energy: | |||
description: 蛋蛋能量值 | |||
type: string | |||
energy_amount: | |||
description: 能量价值 | |||
type: string | |||
wallet_amount: | |||
description: 账户余额 | |||
type: string | |||
type: object | |||
md.PointsExchangeGetBasicResp: | |||
properties: | |||
available_cash: | |||
description: 可用现金 | |||
@@ -655,6 +790,50 @@ definitions: | |||
phone: | |||
type: string | |||
type: object | |||
md.WalletFlowNode: | |||
properties: | |||
after_amount: | |||
description: 变动后金额 | |||
type: string | |||
amount: | |||
description: 变动金额 | |||
type: string | |||
before_amount: | |||
description: 变动前金额 | |||
type: string | |||
create_time: | |||
description: 创建时间 | |||
type: string | |||
direction: | |||
description: 方向:1.收入 2.支出 | |||
type: integer | |||
id: | |||
type: integer | |||
kind: | |||
description: 1:管理员操作增加余额 2:管理员操作扣除余额 3:蛋蛋能量兑换余额 4:余额兑换蛋蛋能量 | |||
type: integer | |||
memo: | |||
description: 备注 | |||
type: string | |||
ord_id: | |||
description: 对应订单编号 | |||
type: string | |||
state: | |||
description: 1未到账,2已到账 | |||
type: integer | |||
sys_fee: | |||
description: 手续费 | |||
type: string | |||
title: | |||
description: 标题 | |||
type: string | |||
uid: | |||
description: 用户 ID | |||
type: integer | |||
update_time: | |||
description: 更新时间 | |||
type: string | |||
type: object | |||
md.WechatLoginReq: | |||
properties: | |||
avatar: | |||
@@ -1215,6 +1394,31 @@ paths: | |||
summary: 蛋蛋星球-会员中心-基础数据(获取) | |||
tags: | |||
- 会员中心 | |||
/api/v1/pointsCenter/basic: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 上部分基础信息(获取) | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
name: Authorization | |||
required: true | |||
type: string | |||
produces: | |||
- application/json | |||
responses: | |||
"200": | |||
description: 具体数据 | |||
schema: | |||
$ref: '#/definitions/md.PointsCenterGetBasicResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 蛋蛋星球-积分中心-上部分基础信息(获取) | |||
tags: | |||
- 积分中心 | |||
/api/v1/pointsCenter/contributionValue: | |||
get: | |||
consumes: | |||
@@ -1255,12 +1459,12 @@ paths: | |||
in: query | |||
name: limit | |||
required: true | |||
type: integer | |||
type: string | |||
- description: 页数 | |||
in: query | |||
name: page | |||
required: true | |||
type: integer | |||
type: string | |||
produces: | |||
- application/json | |||
responses: | |||
@@ -1275,6 +1479,78 @@ paths: | |||
summary: 蛋蛋星球-积分中心-贡献值明细(获取) | |||
tags: | |||
- 积分中心 | |||
/api/v1/pointsCenter/dynamicData: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 动态数据(获取) | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
name: Authorization | |||
required: true | |||
type: string | |||
produces: | |||
- application/json | |||
responses: | |||
"200": | |||
description: 具体数据 | |||
schema: | |||
$ref: '#/definitions/md.DynamicDataResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 蛋蛋星球-积分中心-动态数据(获取) | |||
tags: | |||
- 积分中心 | |||
/api/v1/pointsCenter/energyFlow: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 收支明细(获取) | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
name: Authorization | |||
required: true | |||
type: string | |||
- description: 每页大小 | |||
in: query | |||
name: limit | |||
required: true | |||
type: string | |||
- description: 页数 | |||
in: query | |||
name: page | |||
required: true | |||
type: string | |||
- description: 开始时间 | |||
in: query | |||
name: startAt | |||
type: string | |||
- description: 结束时间 | |||
in: query | |||
name: endAt | |||
type: string | |||
- description: 流水方向(1.收入 2.支出 0.全部) | |||
in: query | |||
name: direction | |||
type: string | |||
produces: | |||
- application/json | |||
responses: | |||
"200": | |||
description: 具体数据 | |||
schema: | |||
$ref: '#/definitions/md.GetEggEnergyFlowResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 蛋蛋星球-积分中心-收支明细(获取) | |||
tags: | |||
- 积分中心 | |||
/api/v1/pointsCenter/exchangeEnergy: | |||
post: | |||
consumes: | |||
@@ -1306,11 +1582,11 @@ paths: | |||
summary: 蛋蛋星球-积分中心-能量兑换 | |||
tags: | |||
- 积分中心 | |||
/api/v1/pointsCenter/getBasic: | |||
/api/v1/pointsCenter/initialData: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 基础信息(获取) | |||
description: 初始数据(获取) | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
@@ -1323,12 +1599,37 @@ paths: | |||
"200": | |||
description: 具体数据 | |||
schema: | |||
$ref: '#/definitions/md.PointsCenterGetBasicResp' | |||
$ref: '#/definitions/md.InitialDataResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 蛋蛋星球-积分中心-初始数据(获取) | |||
tags: | |||
- 积分中心 | |||
/api/v1/pointsCenter/pointsExchangeBasic: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 积分兑换基础信息(获取) | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
name: Authorization | |||
required: true | |||
type: string | |||
produces: | |||
- application/json | |||
responses: | |||
"200": | |||
description: 具体数据 | |||
schema: | |||
$ref: '#/definitions/md.PointsExchangeGetBasicResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 蛋蛋星球-积分中心-基础信息(获取) | |||
summary: 蛋蛋星球-积分中心-积分兑换基础信息(获取) | |||
tags: | |||
- 积分中心 | |||
/api/v1/pointsCenter/priceCurve: | |||
@@ -1360,6 +1661,41 @@ paths: | |||
summary: 蛋蛋星球-积分中心-价格趋势(获取) | |||
tags: | |||
- 积分中心 | |||
/api/v1/pointsCenter/record: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 蛋蛋分明细(获取) | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
name: Authorization | |||
required: true | |||
type: string | |||
- description: 每页大小 | |||
in: query | |||
name: limit | |||
required: true | |||
type: string | |||
- description: 页数 | |||
in: query | |||
name: page | |||
required: true | |||
type: string | |||
produces: | |||
- application/json | |||
responses: | |||
"200": | |||
description: 具体数据 | |||
schema: | |||
$ref: '#/definitions/md.GetEggPointRecordResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 蛋蛋星球-积分中心-蛋蛋分明细(获取) | |||
tags: | |||
- 积分中心 | |||
/api/v1/register: | |||
post: | |||
consumes: | |||
@@ -1422,8 +1758,7 @@ paths: | |||
in: body | |||
name: req | |||
required: true | |||
schema: | |||
type: object | |||
schema: {} | |||
produces: | |||
- application/json | |||
responses: | |||
@@ -1464,6 +1799,53 @@ paths: | |||
summary: 用户信息 | |||
tags: | |||
- 用户信息 | |||
/api/v1/wallet/amountFlow: | |||
get: | |||
consumes: | |||
- application/json | |||
description: 余额明细(获取) | |||
parameters: | |||
- description: 验证参数Bearer和token空格拼接 | |||
in: header | |||
name: Authorization | |||
required: true | |||
type: string | |||
- description: 每页大小 | |||
in: query | |||
name: limit | |||
required: true | |||
type: string | |||
- description: 页数 | |||
in: query | |||
name: page | |||
required: true | |||
type: string | |||
- description: 开始时间 | |||
in: query | |||
name: startAt | |||
type: string | |||
- description: 结束时间 | |||
in: query | |||
name: endAt | |||
type: string | |||
- description: 流水方向(1.收入 2.支出 0.全部) | |||
in: query | |||
name: direction | |||
type: string | |||
produces: | |||
- application/json | |||
responses: | |||
"200": | |||
description: 具体数据 | |||
schema: | |||
$ref: '#/definitions/md.GetAmountFlowResp' | |||
"400": | |||
description: 具体错误 | |||
schema: | |||
$ref: '#/definitions/md.Response' | |||
summary: 蛋蛋星球-钱包-余额明细(获取) | |||
tags: | |||
- 钱包 | |||
/api/v1/wechatLogin: | |||
post: | |||
consumes: | |||
@@ -32,8 +32,8 @@ require ( | |||
) | |||
require ( | |||
code.fnuoos.com/EggPlanet/egg_models.git v0.2.1-0.20241123072806-2fc832067f77 | |||
code.fnuoos.com/EggPlanet/egg_system_rules.git v0.0.4-0.20241123034858-48fbf35fcb21 | |||
code.fnuoos.com/EggPlanet/egg_models.git v0.2.1-0.20241123093254-20bf9e0d7fc0 | |||
code.fnuoos.com/EggPlanet/egg_system_rules.git v0.0.4-0.20241123093218-87b65e51eea3 | |||
code.fnuoos.com/go_rely_warehouse/zyos_go_es.git v1.0.1-0.20241118083738-0f22da9ba0be | |||
code.fnuoos.com/go_rely_warehouse/zyos_go_mq.git v0.0.5 | |||
github.com/aliyun/aliyun-oss-go-sdk v3.0.2+incompatible | |||