Browse Source

Merge remote-tracking branch 'origin/master'

tags/v1.4.9
DengBiao 2 years ago
parent
commit
dcd3230f06
5 changed files with 134 additions and 1 deletions
  1. +15
    -0
      db/db_user_public_platoon_income_records.go
  2. +20
    -0
      db/model/user_public_platoon_income_records.go
  3. +28
    -0
      rule/public_platoon_relate_commission.go
  4. +45
    -1
      rule/public_platoon_settle.go
  5. +26
    -0
      rule/relate_commission.go

+ 15
- 0
db/db_user_public_platoon_income_records.go View File

@@ -0,0 +1,15 @@
package db

import (
"code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/db/model"
"xorm.io/xorm"
)

// BatchAddUserPublicPlatoonIncomeRecordss 批量新增数据
func BatchAddUserPublicPlatoonIncomeRecordss(session *xorm.Session, UserPublicPlatoonIncomeRecordsData []*model.UserPublicPlatoonIncomeRecords) (int64, error) {
affected, err := session.Insert(UserPublicPlatoonIncomeRecordsData)
if err != nil {
return 0, err
}
return affected, nil
}

+ 20
- 0
db/model/user_public_platoon_income_records.go View File

@@ -0,0 +1,20 @@
package model

import (
"time"
)

type UserPublicPlatoonIncomeRecords struct {
Id int64 `json:"id" xorm:"pk autoincr BIGINT(20)"`
Uid int `json:"uid" xorm:"not null comment('用户id') index INT(11)"`
CoinId int `json:"coin_id" xorm:"not null default 0 comment('虚拟币id(0为金额)') INT(11)"`
Amount string `json:"amount" xorm:"not null default '' comment('结算金额') VARCHAR(50)"`
Title string `json:"title" xorm:"comment('标题') VARCHAR(255)"`
Date string `json:"date" xorm:"not null default '' comment('结算日期(0000-00)') VARCHAR(50)"`
Kind int `json:"kind" xorm:"not null default 1 comment('结算种类(1:转入用户余额 2:清零)') TINYINT(1)"`
CreateAt time.Time `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"`
UpdateAt time.Time `json:"update_at" xorm:"not null default 'CURRENT_TIMESTAMP' DATETIME"`
Oid string `json:"oid" xorm:"comment('订单号') VARCHAR(100)"`
Type int `json:"type" xorm:"not null default 0 comment('0收入 1支出') INT(11)"`
BeforeAmount string `json:"before_amount" xorm:"comment('变更前金额') VARCHAR(100)"`
}

+ 28
- 0
rule/public_platoon_relate_commission.go View File

@@ -258,6 +258,8 @@ func DealCommonWealthReward(engine *xorm.Engine, uid int, isCompleteReward bool)

//2、完成共富奖励(插入 user_public_platoon_settlement_records 记录) && 构造返回数据
var userPublicPlatoonSettlementRecords []*model.UserPublicPlatoonSettlementRecords
var userPublicPlatoonIncomeRecords []*model.UserPublicPlatoonIncomeRecords

now := time.Now()
for _, param := range *params {
var userPublicPlatoonSettlementRecord = model.UserPublicPlatoonSettlementRecords{
@@ -269,17 +271,33 @@ func DealCommonWealthReward(engine *xorm.Engine, uid int, isCompleteReward bool)
CreateAt: now,
UpdateAt: now,
}
//流水表
var userPublicPlatoonIncomeRecord = model.UserPublicPlatoonIncomeRecords{
Uid: param.Uid,
CoinId: param.CoinId,
Amount: param.Amount,
Date: now.AddDate(0, 0, 30).Format("2006-01-02"),
CreateAt: now,
UpdateAt: now,
}
if isCompleteReward {
userPublicPlatoonIncomeRecord.Title = "共富收益转入余额"
userPublicPlatoonIncomeRecord.Kind = 1
userPublicPlatoonSettlementRecord.Kind = 1
resp = append(resp, map[string]string{
zhios_order_relate_utils.AnyToString(param.CoinId): param.Amount,
})
} else {
userPublicPlatoonIncomeRecord.Title = "共富收益清零"
userPublicPlatoonIncomeRecord.Kind = 2
userPublicPlatoonSettlementRecord.Kind = 2
}
if zhios_order_relate_utils.StrToFloat64(userPublicPlatoonSettlementRecord.Amount) > 0 {
userPublicPlatoonSettlementRecords = append(userPublicPlatoonSettlementRecords, &userPublicPlatoonSettlementRecord)
}
if zhios_order_relate_utils.StrToFloat64(userPublicPlatoonIncomeRecord.Amount) > 0 {
userPublicPlatoonIncomeRecords = append(userPublicPlatoonIncomeRecords, &userPublicPlatoonIncomeRecord)
}
}
affected, err := db.BatchAddUserPublicPlatoonSettlementRecordss(session, userPublicPlatoonSettlementRecords)
if err != nil {
@@ -291,6 +309,16 @@ func DealCommonWealthReward(engine *xorm.Engine, uid int, isCompleteReward bool)
_ = session.Rollback()
return
}
affectedIncome, errIncome := db.BatchAddUserPublicPlatoonIncomeRecordss(session, userPublicPlatoonIncomeRecords)
if errIncome != nil {
_ = session.Rollback()
return
}
if affectedIncome == 0 {
err = errors.New("插入 user_public_platoon_settlement_records 记录失败")
_ = session.Rollback()
return
}

//3、将 user_public_platoon_amount 相关记录的 amount 置 0
sql := "update user_public_platoon_amount set amount = ? where uid = ?"


+ 45
- 1
rule/public_platoon_settle.go View File

@@ -34,7 +34,7 @@ func PublicPlatoonSettle(session *xorm.Session, ItemTitle, ordId string, uid, co
return false
}
}
finUserFlow := model.UserPublicPlatoonSettlementRecords{
finUserFlow := model.UserPublicPlatoonIncomeRecords{
Type: 0,
Uid: uid,
Amount: zhios_order_relate_utils.AnyToString(amount),
@@ -53,3 +53,47 @@ func PublicPlatoonSettle(session *xorm.Session, ItemTitle, ordId string, uid, co
}
return true
}
func PublicPlatoonAddRecord(eg *xorm.Engine, ItemTitle, ordId string, uid, coinId, kind, types int, amount float64, beforeAmount string) bool {
now := time.Now()

finUserFlow := model.UserPublicPlatoonIncomeRecords{
Type: types,
Uid: uid,
Amount: zhios_order_relate_utils.AnyToString(amount),
CreateAt: now,
UpdateAt: now,
Date: now.Format("2006-01"),
Kind: kind,
CoinId: coinId,
Title: ItemTitle,
BeforeAmount: beforeAmount,
Oid: ordId,
}
_, err := eg.Insert(&finUserFlow)
if err != nil {
return false
}
return true
}
func PublicPlatoonAddRecordWithSession(session *xorm.Session, ItemTitle, ordId string, uid, coinId, kind, types int, amount float64, beforeAmount string) bool {
now := time.Now()

finUserFlow := model.UserPublicPlatoonIncomeRecords{
Type: types,
Uid: uid,
Amount: zhios_order_relate_utils.AnyToString(amount),
CreateAt: now,
UpdateAt: now,
Date: now.Format("2006-01"),
Kind: kind,
CoinId: coinId,
Title: ItemTitle,
BeforeAmount: beforeAmount,
Oid: ordId,
}
_, err := session.Insert(&finUserFlow)
if err != nil {
return false
}
return true
}

+ 26
- 0
rule/relate_commission.go View File

@@ -150,6 +150,32 @@ func SettleCommWithGoodsDetail(eg *xorm.Engine, dbName string, CommissionParam m
profit, pvdFee, sysFee, subsidyFee, lvUser, err := svc.GetRewardCommission(eg, &CommissionParam.CommissionParam, isShare, CommissionParam.Uid, CommissionParam.Provider, dbName, isAllLevelReturn, mapData, virType)
return profit, pvdFee, sysFee, subsidyFee, lvUser, err
}
func SettleCommWithOrder(eg *xorm.Engine, dbName string, CommissionParam md.CommissionFirstParam) (float64, float64, float64, float64, *comm_plan.LvUser, error) {
var (
isShare = false
isAllLevelReturn = false
)
if CommissionParam.IsShare != 0 {
isShare = true
}

if CommissionParam.IsAllLevelReturn != 0 {
isAllLevelReturn = true
}
var mapData = map[string]string{
"old_lv": CommissionParam.OldLv,
"new_lv": CommissionParam.NewLv,
"ownbuy_return_type": zhios_order_relate_utils.IntToStr(CommissionParam.OwnbuyReturnType),
}
virCfg, _ := db.SysCfgGetOne(eg, "virtual_coin_rebate_type")
var virType = "price"
if virCfg != nil && virCfg.Val != "" {
virType = virCfg.Val
}
CommissionParam.CommissionParam.Oid = CommissionParam.GoodsId
profit, pvdFee, sysFee, subsidyFee, lvUser, err := svc.GetRewardCommission(eg, &CommissionParam.CommissionParam, isShare, CommissionParam.Uid, CommissionParam.Provider, dbName, isAllLevelReturn, mapData, virType)
return profit, pvdFee, sysFee, subsidyFee, lvUser, err
}

//获取自购分享佣金的
func GetRewardCommission(eg *xorm.Engine, dbName, mode string, CommissionParam md.CommissionFirstParam) (float64, float64, *comm_plan.LvUser, error) {


Loading…
Cancel
Save