|
- package hdl
-
- import (
- "applet/app/cfg"
- "applet/app/comm/db"
- "applet/app/comm/db/model"
- "applet/app/comm/e"
- svcComm "applet/app/comm/svc"
- "applet/app/comm/utils"
- db3 "applet/app/im/db"
- model2 "applet/app/im/db/model"
- utils2 "applet/app/im/utils"
- "applet/app/task/svc/consume_integral"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_day_luck_draw.git/svc"
- db2 "code.fnuoos.com/go_rely_warehouse/zyos_go_o2o_business.git/db"
- model4 "code.fnuoos.com/go_rely_warehouse/zyos_go_o2o_business.git/db/model"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/md"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/rule"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/rule/one_circles"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/rule/service_award_dividend"
- md2 "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/rule/service_award_dividend/md"
- "code.fnuoos.com/go_rely_warehouse/zyos_go_order_relate_rule.git/utils/cache"
- "fmt"
- "github.com/gin-gonic/gin"
- "strings"
- )
-
- func DemoDayLuckDraw(c *gin.Context) {
- err := svc.InitForDayLuckDraw(cfg.RedisAddr)
- if err != nil {
- return
- }
- svc.GetUserReward(svcComm.MasterDb(c), "123456", false)
- }
- func DemoIntegral(c *gin.Context) {
- //value := c.DefaultQuery("price", "")
- //price, _ := decimal.NewFromString(value)
- //priceRoundFloor, _ := price.RoundFloor(4).Float64()
- //fmt.Println(priceRoundFloor)
- //e.OutSuc(c, priceRoundFloor, nil)
- //return
- //c.Set("mid", "666666")
- eg := svcComm.MasterDb(c)
- //o2o.SettlementGreen(eg, "69797008", false)
- err := rule.InitForIntegralRelease(cfg.RedisAddr)
- err = rule.DailySettlementIntegralRelease(eg, "81979875", false)
- err = rule.DailySettlementIntegralReleaseForInterposition(eg, "81979875", false)
-
- e.OutSuc(c, err, nil)
- return
- }
- func DemoIntegral1(c *gin.Context) {
- //value := c.DefaultQuery("price", "")
- //price, _ := decimal.NewFromString(value)
- //priceRoundFloor, _ := price.RoundFloor(4).Float64()
- //fmt.Println(priceRoundFloor)
- //e.OutSuc(c, priceRoundFloor, nil)
- //return
- //c.Set("mid", "666666")
- eg := svcComm.MasterDb(c)
- //o2o.SettlementGreen(eg, "69797008", false)
- err := rule.InitForNiuBeiRelease(cfg.RedisAddr)
- if err != nil {
- return
- }
- rule.DailySettlementNiuBeiRelease(eg, "11536749", false)
- e.OutSuc(c, err, nil)
- return
- }
-
- // Demo 测试
- func Demo(c *gin.Context) {
-
- consume_integral.Settlement(svcComm.MasterDb(c), c.GetString("mid"), false)
- return
- egine := svcComm.MasterDb(c)
- addPublicPlatoonRelateCommissionReqList := []*md.AddOneCirclesPublicPlatoonUserRelationCommissionReq{
- {
- Uid: c.Query("uid"),
- RecommendUid: c.Query("r_uid"),
- },
- }
- relationCommission, err := one_circles.AddOneCirclesPublicPlatoonUserRelationCommission(egine, addPublicPlatoonRelateCommissionReqList)
- if err != nil {
- e.OutErr(c, e.ERR, err.Error())
- return
- }
- e.OutSuc(c, relationCommission, nil)
- return
-
- uid1 := utils.StrToInt(c.DefaultQuery("uid", ""))
- eg := svcComm.MasterDb(c)
- service_award_dividend.JoinServiceAwardDividendRelation(eg, md2.JoinServiceAwardDividendRelationReq{
- MasterId: "71353282",
- Uid: 38,
- ParentUid: 37,
- RegionId: 1350,
- CreateAt: "",
- })
- cache.NewRedis(cfg.RedisAddr)
- total, level, levelRank, rank, previousRow, diffValue, err := rule.EstimateUserPosition(eg, uid1, c.GetString("mid"))
- fmt.Println(total, level, levelRank, rank, previousRow, diffValue)
- var imSendRedPackageOrds []*model2.ImSendRedPackageOrd
- err = db.DBs["666666"].Where("red_packet_type =? and state = 1", 3).Find(&imSendRedPackageOrds)
- if err != nil {
- e.OutSuc(c, err, nil)
- return
- }
-
- for _, imSendRedPackageOrd := range imSendRedPackageOrds {
- redPackageReceivedUserAmounts := strings.Split(imSendRedPackageOrd.ReceivedUserAmount, ",")
- var totalAmount = 0.00
- receivedUserIds := strings.Split(imSendRedPackageOrd.ReceivedUserIds, ",")
- for _, v := range redPackageReceivedUserAmounts {
- totalAmount += utils.StrToFloat64(v)
- }
- if totalAmount > utils.StrToFloat64(imSendRedPackageOrd.Amount) {
- var blanceAmount = utils.StrToFloat64(imSendRedPackageOrd.Amount)
- for k, v := range redPackageReceivedUserAmounts {
- gradeAmount := float64(utils2.DoubleAverage(int64(imSendRedPackageOrd.RedPacketNums-k), int64(blanceAmount*100))) / 100
- if gradeAmount > utils.StrToFloat64(v) {
- blanceAmount -= utils.StrToFloat64(v)
-
- } else {
- blanceAmount -= gradeAmount
- redPackageReceivedUserAmounts[k] = utils.Float64ToStr(gradeAmount)
-
- dockAmount := utils.StrToFloat64(v) - gradeAmount //需追缴金额
- userProfile := new(model4.UserProfile)
- _, err = db.DBs["666666"].Where("uid =?", receivedUserIds[k]).Get(userProfile)
- finValid := utils.StrToFloat64(userProfile.FinValid)
- if finValid-dockAmount < 0 {
- //不再追缴
- continue
- }
-
- userProfile.FinValid = utils.Float64ToStr(utils.StrToFloat64(userProfile.FinValid) - dockAmount)
- affect, err := db2.UserProfileUpdate(db.DBs["666666"], receivedUserIds[k], userProfile, "fin_valid") //更改用户余额
- if err != nil || affect != 1 {
- e.OutSuc(c, err, nil)
- return
- }
- svcComm.FlowInsert(db.DBs[c.GetString("mid")], userProfile.Uid, utils.Float64ToStr(dockAmount), 106, utils.AnyToInt64(imSendRedPackageOrd.Id),
- 0, 0, "群红包异常扣款", "im_grab_red_package_chargeback", 1, utils.Float64ToStr(finValid), userProfile.FinValid) //增加流水记录
- totalAmount = totalAmount - utils.StrToFloat64(v) + gradeAmount
- }
- }
- //修改红包记录
- imSendRedPackageOrd.ReceivedUserAmount = strings.Join(redPackageReceivedUserAmounts, ",")
- _, err = db3.ImSendRedPackageOrdUpdate(db.DBs["666666"], imSendRedPackageOrd.Id, imSendRedPackageOrd,
- "received_user_amount")
- if err != nil {
- e.OutSuc(c, err, nil)
- return
- }
- }
- }
-
- e.OutSuc(c, err, nil)
- return
- //svc.Settlement(eg, "69797008")
- //rule.Init(cfg.RedisAddr)
- //err := rule.DealLotteryDraw(eg.NewSession(), md.DealLotteryDrawReq{Uid: 123456, Amount: "0", Mid: "123456"})
- //e.OutSuc(c, err, nil)
- //return
-
- uid := c.DefaultQuery("uid", "")
- str := "1-2-3-4"
- fatherPositions := strings.Split(str, "-")
- remainder1 := (utils.StrToInt(uid)) % len(fatherPositions)
- var fatherPosition string
- if remainder1 == 0 {
- fatherPosition = fatherPositions[len(fatherPositions)-1]
- } else {
- fmt.Println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<", len(fatherPositions)-remainder1)
- fatherPosition = fatherPositions[remainder1-1]
- }
- fmt.Println(">>>>>>>>>>>>>>>>>>>>>>>>>>>", fatherPosition)
- e.OutSuc(c, fatherPosition, nil)
- return
- engine := svcComm.MasterDb(c)
- fmt.Println(uid)
- recommendUid := c.DefaultQuery("recommend_uid", "")
- var params []*md.AddPublicPlatoonRelateCommissionReq
- var Users []*model.User
- if err := engine.Where("uid != 3 AND uid !=0").OrderBy("create_at ASC").Find(&Users); err != nil {
- e.OutErr(c, e.ERR_API_RESPONSE, err)
- return
- }
- for _, user := range Users {
- params = append(params, &md.AddPublicPlatoonRelateCommissionReq{
- Uid: utils.AnyToString(user.Uid),
- RecommendUid: recommendUid,
- })
- }
-
- commission, err := rule.AddPublicPlatoonRelateCommission(engine, params)
- if err != nil {
- return
- }
- fmt.Println(">>>>>>>>>>>>>>>>>>", commission)
- e.OutSuc(c, commission, nil)
- }
-
- func DemoV2(c *gin.Context) {
- user, err := rule.FindRandUser(db.DBs["123999"], 1000)
- if err != nil {
- return
- }
- //list, err := db.QueryNativeString(, "SELECT uid AS LIST FROM `fin_user_flow` WHERE id > 64627 "+
- // "AND ord_title = '聚合充值余额支付' or ord_title = '领取红包' GROUP BY uid")
- //if err != nil {
- // return
- //}
- //for _, v := range list {
- // var finUserFlows []*model.FinUserFlow
- // err1 := db.DBs["666666"].Where("id > 64627 AND uid = ?", v["LIST"]).Asc("id").Find(&finUserFlows)
- // if err1 != nil {
- // e.OutSuc(c, err1, nil)
- // return
- // }
- // var isFirst = true
- // for _, vv := range finUserFlows {
- // if isFirst && vv.OrdTitle != "社群红包-余额支付" && vv.OrdTitle != "领取红包" {
- // fmt.Println("!!!!!!!!!!", vv.OrdTitle)
- // continue
- // }
- //
- // if vv.OrdTitle == "社群红包-余额支付" || vv.OrdTitle == "领取红包" {
- // if isFirst {
- // //直接修改余额
- // isFirst = false
- // sqlTpl := "update user_profile set fin_valid = %s where uid = %d"
- // sql := fmt.Sprintf(sqlTpl, vv.BeforeAmount, vv.Uid)
- // db.ExecuteOriginalSql(db.DBs["666666"].NewSession(), sql)
- // }
- //
- // //删除该流水
- // sqlTpl := "DELETE FROM `fin_user_flow` WHERE (id=%d)"
- // sql := fmt.Sprintf(sqlTpl, vv.Id)
- // db.ExecuteOriginalSql(db.DBs["666666"].NewSession(), sql)
- // continue
- // }
- //
- // //增加 / 减少 余额
- // userProfile := new(model4.UserProfile)
- // _, err = db.DBs["666666"].Where("uid =?", vv.Uid).Get(userProfile)
- // finValid := utils.StrToFloat64(userProfile.FinValid)
- // if vv.Type == 0 {
- // userProfile.FinValid = utils.Float64ToStr(finValid + utils.StrToFloat64(vv.Amount))
- // }
- // if vv.Type == 1 {
- // userProfile.FinValid = utils.Float64ToStr(finValid - utils.StrToFloat64(vv.Amount))
- // }
- // sqlTpl := "update user_profile set fin_valid = %s where uid = %d"
- // sql := fmt.Sprintf(sqlTpl, userProfile.FinValid, vv.Uid)
- // _, err2 := db.ExecuteOriginalSql(db.DBs["666666"].NewSession(), sql)
- // if err2 != nil {
- // fmt.Println("err2:::::", err2)
- // return
- // }
- //
- // sqlTpl = "update fin_user_flow set before_amount = %s, after_amount= %s where id = %d"
- // sql = fmt.Sprintf(sqlTpl, utils.Float64ToStr(finValid), userProfile.FinValid, vv.Id)
- // _, err3 := db.ExecuteOriginalSql(db.DBs["666666"].NewSession(), sql)
- // if err3 != nil {
- // fmt.Println("err2:::::", err2)
- // return
- // }
- // }
- //}
- //
- e.OutSuc(c, user, nil)
- return
- }
|