123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- package jobs
- /*import (
- "context"
- "encoding/json"
- "errors"
- "gadmin/config"
- "gadmin/internal/gorm/model"
- "gadmin/internal/gorm/query"
- "gadmin/package/gmmodule"
- "github.com/sirupsen/logrus"
- "gorm.io/gorm"
- model2 "leafstalk/covenant/model"
- )
- var StatisticsDPS = new(jStatisticsDPS)
- type jStatisticsDPS struct {
- }
- func (j *jStatisticsDPS) Run() {
- logrus.Info("jStatisticsDPS Run.....")
- gmmodule.LoadBattleAttr("./resource/public/serverjson/equipBattleAttr.json",
- "./resource/public/serverjson/roleBattleAttr.json",
- "./resource/public/serverjson/talent.json",
- "./resource/public/serverjson/exskill.json",
- "./resource/public/serverjson/Skill.json",
- )
- type UserIdResult struct {
- UserId int64
- }
- var result []int64
- var tx *gorm.DB
- tx = config.DB.Model(&model.LoginLog{}). //and user_id = 511349
- Raw("select user_id from login_logs where event_id = 2 and event_at >= 1661616000 group by user_id having sum(1)>=1").
- Scan(&result)
- if tx.Error != nil {
- logrus.Errorf("select login_logs err: %v", tx.Error)
- }
- logrus.Warnf("result:%+v", result)
- type PlayerDps struct {
- Playerid int64
- Battle *gmmodule.PlayerBattleAttr
- DPS int64
- }
- var (
- o = query.Use(config.GDB1).PlayerAttr
- m = o.WithContext(context.TODO())
- //allPlayerid = make([]PlayerDps, 0)
- ma = query.Use(config.GDB1).PlayerMaterial
- )
- for _, v := range result {
- mod, err := m.Select(o.Playerid, o.Level).Where(o.Playerid.In(v)).First()
- if errors.Is(err, gorm.ErrRecordNotFound) {
- continue
- }
- if err != nil {
- logrus.Warnf("orderLst Scan err . %v", err)
- return
- }
- if mod.Level >= 12 {
- material, err := ma.Where(ma.Playerid.Eq(mod.Playerid)).First()
- if errors.Is(err, gorm.ErrRecordNotFound) {
- continue
- }
- if err != nil {
- logrus.Warnf("material Scan err . %v", err)
- return
- }
- var (
- equipments = make(map[string]model2.DropEquipment)
- roles = make([]*model2.DropedRole, 0)
- talents = make(map[int]int)
- equips = make([]int64, 0)
- role int64
- allRoles = make([]int64, 0)
- )
- err = json.Unmarshal([]byte(material.Equipments), &equipments)
- if err != nil {
- logrus.Warnf("json.Unmarshal Equipments err . %v, material.Equipments:%+v", err, material.Equipments)
- continue
- }
- err = json.Unmarshal([]byte(material.Roles), &roles)
- if err != nil {
- logrus.Warnf("json.Unmarshal Roles err . %v, material.Roles:%+v", err, material.Roles)
- continue
- }
- err = json.Unmarshal([]byte(material.Talents), &talents)
- if err != nil {
- logrus.Warnf("json.Unmarshal Talents err . %v, material.Talents:%+v", err, material.Talents)
- continue
- }
- logrus.Warnf("material:%+v", equipments)
- var isw bool
- //for _, e := range equipments {
- // if e.Wear {
- // equips = append(equips, e.EID)
- //
- // eids := fmt.Sprintf("%v", e.EID)
- // logrus.Warnf("eids:%v, eids[:1]:%v", eids, eids[:1])
- // if eids[:1] == "1" {
- // isw = true
- // }
- // }
- //
- //}
- if len(equips) == 0 {
- equips = append(equips, 10001001)
- isw = true
- }
- if !isw {
- equips = append(equips, 10001001)
- }
- for _, r := range roles {
- //if r.Wear {
- // role = r.ID
- //}
- allRoles = append(allRoles, r.ID)
- }
- logrus.Debugf("Playerid:%v,isw:%v, equips:%#v, role:%#v, talents%#v, allRoles%#v", material.Playerid, isw, equips, role, talents, allRoles)
- battle := gmmodule.CalcBattleAttr(equips, role, talents, allRoles)
- //allPlayerid = append(allPlayerid, PlayerDps{
- // Playerid: material.Playerid,
- // Battle: battle,
- // DPS: int64(battle.Atk * 60 / battle.AtkSpeed),
- //})
- var (
- q = query.Use(config.DB).PlayerDp
- models model.PlayerDp
- )
- if err = q.Where(q.Playerid.Eq(material.Playerid)).Scan(&models); err != nil {
- logrus.Warnf("PlayerDp err . %v", err)
- return
- }
- data := model.PlayerDp{
- Playerid: material.Playerid,
- Dps: int32(float64(battle.Atk*60) / battle.AtkSpeed),
- }
- if models.ID > 0 {
- if _, err := query.Use(config.DB).PlayerDp.Where(q.Playerid.Eq(material.Playerid)).Updates(&data); err != nil {
- logrus.Warnf("PlayerDp Updates err . %v", err)
- return
- }
- } else {
- err := query.Use(config.DB).PlayerDp.Create(&data)
- if err != nil {
- logrus.Warnf("PlayerDp Create err . %v", err)
- return
- }
- }
- }
- }
- //logrus.Warnf("allPlayerid:%+v", allPlayerid)
- }*/
|