12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- package service
- import (
- "crazy-fox-backend-api/model"
- "crazy-fox-backend-api/utils"
- "github.com/jmoiron/sqlx/types"
- jsoniter "github.com/json-iterator/go"
- "github.com/pkg/errors"
- )
- type actCrazyBet struct{}
- // 展示数据处理
- func (This *actCrazyBet) handleActShow(confInfo *model.ActConfInfo) (json types.JSONText, err error) {
- var repoConf model.CrazyBetRepoConf
- if err = jsoniter.Unmarshal(confInfo.Reward, &repoConf); err != nil {
- return json, errors.Wrap(err, "疯狂倍率 奖励Json解析失败")
- }
- // 数据转换
- showConf := This.convertIntoShowConf(repoConf)
- if json, err = jsoniter.Marshal(showConf); err != nil {
- return json, errors.Wrap(err, "疯狂倍率 奖励序列化失败")
- }
- return
- }
- // 保存数据处理
- func (This *actCrazyBet) handleActSave(confInfo *model.ActConfInfo) (err error) {
- var showConf model.CrazyBetShowConf
- if err = jsoniter.Unmarshal(confInfo.ActShowConf, &showConf); err != nil {
- return errors.Wrap(err, "疯狂倍率 奖励Json解析失败")
- }
- // 数据转换
- repoConf := This.convertIntoRepoConf(showConf)
- if confInfo.Reward, err = jsoniter.Marshal(repoConf); err != nil {
- return errors.Wrap(err, "疯狂倍率 奖励数据序列化失败")
- }
- return
- }
- // 分层数据处理
- func (This *actCrazyBet) handleActRewardSection(*model.ActConfInfo, ...map[string]any) error {
- return nil
- }
- // 导入数据处理
- func (This *actCrazyBet) handleActImport(*model.ActDetailInfo, [][][]string) (json types.JSONText, err error) {
- return
- }
- func (This *actCrazyBet) convertIntoShowConf(repoConf model.CrazyBetRepoConf) model.CrazyBetShowConf {
- showConf := model.CrazyBetShowConf{
- Init: model.CrazyBetInitShowConf{
- ActSpinsLimit: repoConf.Init.ActSpinsLimit,
- SpinsRange: utils.MapValues(repoConf.Init.SpinsRange, true),
- },
- Conf: utils.MapValues(repoConf.Conf, true),
- }
- return showConf
- }
- func (This *actCrazyBet) convertIntoRepoConf(showConf model.CrazyBetShowConf) model.CrazyBetRepoConf {
- var repoConf model.CrazyBetRepoConf
- spinsConfMap := make(map[int64]model.CrazyBetSpinsConf, len(showConf.Init.SpinsRange))
- for i, conf := range showConf.Init.SpinsRange {
- conf.Id = int64(i + 1)
- spinsConfMap[conf.Id] = conf
- }
- repoConf.Init.SpinsRange = spinsConfMap
- repoConf.Init.ActSpinsLimit = showConf.Init.ActSpinsLimit
- confMap := make(map[int64]model.CrazyBetBetConf, len(showConf.Conf))
- for i, conf := range showConf.Conf {
- conf.Id = int64(i + 1)
- confMap[conf.Id] = conf
- }
- repoConf.Conf = confMap
- return repoConf
- }
|