1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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 actCrazyCardGroup struct{}
- // 展示数据处理
- func (This *actCrazyCardGroup) handleActShow(confInfo *model.ActConfInfo) (json types.JSONText, err error) {
- var confMap map[int64]model.CrazyCardGroupRewardConf
- if err = jsoniter.Unmarshal(confInfo.Reward, &confMap); err != nil {
- return json, errors.Wrap(err, "疯狂卡组 奖励Json解析失败")
- }
- // 数据转换
- showConf := utils.MapValues(confMap, true)
- if json, err = jsoniter.Marshal(showConf); err != nil {
- return json, errors.Wrap(err, "疯狂卡组 奖励序列化失败")
- }
- return
- }
- // 保存数据处理
- func (This *actCrazyCardGroup) handleActSave(confInfo *model.ActConfInfo) (err error) {
- var showConf []model.CrazyCardGroupRewardConf
- if err = jsoniter.Unmarshal(confInfo.ActShowConf, &showConf); err != nil {
- return errors.Wrap(err, "疯狂卡组 奖励Json解析失败")
- }
- // 数据转换
- rewardMap, err := This.convertIntoRepoConf(showConf)
- if err != nil {
- return errors.Wrap(err, "疯狂卡组 奖励数据转换失败")
- }
- // 收集配置
- if confInfo.Reward, err = jsoniter.Marshal(rewardMap); err != nil {
- return errors.Wrap(err, "疯狂卡组 收集配置数据序列化失败")
- }
- return
- }
- // 分层数据处理
- func (This *actCrazyCardGroup) handleActRewardSection(*model.ActConfInfo, ...map[string]any) error {
- return nil
- }
- // 导入数据处理
- func (This *actCrazyCardGroup) handleActImport(_ *model.ActDetailInfo, _ [][][]string) (json types.JSONText, err error) {
- return
- }
- func (This *actCrazyCardGroup) convertIntoRepoConf(rewardArr []model.CrazyCardGroupRewardConf) (map[int64]model.CrazyCardGroupRewardConf, error) {
- confMap := make(map[int64]model.CrazyCardGroupRewardConf, len(rewardArr))
- for i := 0; i < len(rewardArr); i++ {
- one := rewardArr[i]
- one.Stage = int64(i + 1)
- confMap[one.Stage] = one
- }
- return confMap, nil
- }
|