ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerGoldInvest.py
@@ -77,19 +77,19 @@
def __CheckInvestReset(curPlayer):
    ##检查vip投资重置 超过28天或28天奖励已领取可重置
    investType = ChConfig.GoldInvestType_VIP
    investGoldRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType)
    if not investGoldRecord:
        return
    curDay = __GetInvestCurDay(curPlayer, investType)
    investMaxDayDict = IpyGameDataPY.GetFuncEvalCfg('InvestMaxDay')
    maxDay = investMaxDayDict.get(str(investType), 0)
    if curDay > maxDay or __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, maxDay)):
        __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Time % investType, 0)
        __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType, 0)
        for i in xrange(1, maxDay+1):
            __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, i), 0)
    Sync_GoldInvestInfo(curPlayer, investType, isForce=True)
    for investType in ChConfig.CanRepeatInvestType:
        investGoldRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType)
        if not investGoldRecord:
            return
        curDay = __GetInvestCurDay(curPlayer, investType)
        investMaxDayDict = IpyGameDataPY.GetFuncEvalCfg('InvestMaxDay')
        maxDay = investMaxDayDict.get(str(investType), 0)
        if curDay > maxDay or __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, maxDay)):
            __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Time % investType, 0)
            __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType, 0)
            for i in xrange(1, maxDay+1):
                __SetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_GotRewardValue % (investType, i), 0)
        Sync_GoldInvestInfo(curPlayer, investType, isForce=True)
    return
#// A5 40 投资理财 #tagCMGoldInvest
@@ -107,8 +107,6 @@
    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
    investType = clientData.InvestType
    investGold = clientData.InvestGold
    GameWorld.DebugLog("投资理财:investType=%s,investGold=%s" % (investType, investGold))
    investCostDict = IpyGameDataPY.GetFuncEvalCfg('InvestCost')
    if str(investType) not in investCostDict:
        return
@@ -116,10 +114,26 @@
    if investGold not in costList:
        GameWorld.DebugLog('    投资理财 投资额度不存在 investGold=%s, investType=%s'%(investGold, investType))
        return
    awardData = costList.index(investGold) + 1
    if investType == ChConfig.GoldInvestType_VIP:
        awardData = __GetInvestLVData(curPlayer)
    __DoLogicInvest(curPlayer, investType, investGold, awardData)
    return
def InvestByCTG(curPlayer, ctgID):
    ## 充值投资
    ctgInvestDict = IpyGameDataPY.GetFuncEvalCfg('InvestCost', 3, {})
    for investType, ctgIDList in ctgInvestDict.items():
        if ctgID in ctgIDList:
            __DoLogicInvest(curPlayer, int(investType), ctgID, 1)
            GameWorld.Log('投资理财 investType=%s,ctgID=%s'%(investType, ctgID), curPlayer.GetID())
            break
    return
def __DoLogicInvest(curPlayer, investType, investGold, awardData):
    GameWorld.DebugLog("投资理财:investType=%s,investGold=%s, awardData=%s" % (investType, investGold, awardData))
    needVIPLVDict = IpyGameDataPY.GetFuncEvalCfg('InvestCost', 2, {})
    needVIPLV = needVIPLVDict.get(str(investType), 0)
    if curPlayer.GetVIPLv() < needVIPLV:
@@ -128,6 +142,8 @@
    
        
    deductGold = investGold
    if str(investType) in IpyGameDataPY.GetFuncEvalCfg('InvestCost', 3, {}):
        deductGold = 0 #充钱的不用扣仙玉
    investGoldRecord = __GetPDictValue(curPlayer, ChConfig.Def_PDict_GoldInvest_Gold % investType)
    if investGoldRecord:
        curDay = __GetInvestCurDay(curPlayer, investType)
@@ -195,7 +211,7 @@
                                  ChConfig.Def_Cost_GoldInvest, infoDict):
        return
    #红包奖励
    if investGold == deductGold:
    if not (investType in ChConfig.InvestGoldTypeList and investGold != deductGold):
        redPacketID = IpyGameDataPY.GetFuncEvalCfg('InvestRedPackAward', 1, {}).get(investType, 0)
        if redPacketID:
            PlayerFamilyRedPacket.CreatRedPacketByID(curPlayer, redPacketID)
@@ -203,7 +219,11 @@
        PlayerControl.WorldNotify(0, 'VIPInvestmentRadio', [curPlayer.GetName()])
    elif investType in ChConfig.InvestGoldTypeList:
        PlayerControl.WorldNotify(0, 'JadeInvestmentRadio', [curPlayer.GetName(), investGold])
    elif investType == ChConfig.GoldInvestType_Month:
        PlayerControl.WorldNotify(0, 'MonthInvestment', [curPlayer.GetName()])
    elif investType == ChConfig.GoldInvestType_Week:
        PlayerControl.WorldNotify(0, 'WeekInPInvestment', [curPlayer.GetName()])
    # 更新投资时时间,投资金额,重置回报记录
    curTime = GameWorld.GetCurrentTime()
    curTimeNum = GameWorld.ChangeTimeStrToNum(str(curTime)[:10], ChConfig.TYPE_Time_Format_Day)