123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- 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 actAccumulatedPay struct{}
- // 展示数据处理
- func (This *actAccumulatedPay) handleActShow(confInfo *model.ActConfInfo) (json types.JSONText, err error) {
- var confMap map[int64]model.AccumulatedPayRewardConf
- if err = jsoniter.Unmarshal(confInfo.Reward, &confMap); err != nil {
- return json, errors.Wrap(err, "累计充值 奖励Json解析失败")
- }
- var baseConf model.AccumulatedPayBaseConf
- if err = jsoniter.Unmarshal(confInfo.ExtraData, &baseConf); err != nil {
- return json, errors.Wrap(err, "累计充值 基础配置Json解析失败")
- }
- // 数据转换
- showConf := This.convertIntoShowConf(confMap, baseConf)
- if json, err = jsoniter.Marshal(showConf); err != nil {
- return json, errors.Wrap(err, "累计充值 奖励序列化失败")
- }
- return
- }
- // 保存数据处理
- func (This *actAccumulatedPay) handleActSave(confInfo *model.ActConfInfo) (err error) {
- var showConf model.AccumulatedPayShowConf
- if err = jsoniter.Unmarshal(confInfo.ActShowConf, &showConf); err != nil {
- return errors.Wrap(err, "累计充值 奖励Json解析失败")
- }
- // 数据转换
- rewardMap := This.convertIntoRepoConf(showConf.RewardConf)
- if confInfo.Reward, err = jsoniter.Marshal(rewardMap); err != nil {
- return errors.Wrap(err, "累计充值 奖励数据序列化失败")
- }
- if confInfo.ExtraData, err = jsoniter.Marshal(showConf.BaseConf); err != nil {
- return errors.Wrap(err, "累计充值 基础配置序列化失败")
- }
- return
- }
- // 分层数据处理
- func (This *actAccumulatedPay) handleActRewardSection(*model.ActConfInfo, ...map[string]any) error {
- return nil
- }
- // 导入数据处理
- func (This *actAccumulatedPay) handleActImport(*model.ActDetailInfo, [][][]string) (json types.JSONText, err error) {
- return
- }
- func (This *actAccumulatedPay) convertIntoShowConf(confMap map[int64]model.AccumulatedPayRewardConf, baseConf model.AccumulatedPayBaseConf) (showConf model.AccumulatedPayShowConf) {
- showConf.BaseConf = baseConf
- showConf.RewardConf = utils.MapValues(confMap, true)
- return showConf
- }
- func (This *actAccumulatedPay) convertIntoRepoConf(rewardConfArr []model.AccumulatedPayRewardConf) map[int64]model.AccumulatedPayRewardConf {
- rewardMap := make(map[int64]model.AccumulatedPayRewardConf, len(rewardConfArr))
- for i, conf := range rewardConfArr {
- conf.Stage = int64(i + 1)
- rewardMap[conf.Stage] = conf
- }
- return rewardMap
- }
|