活动结束发送邮件

back_recharge
duhui 2021-10-14 18:21:40 +08:00
parent 2c1e22ee0d
commit a6416fb840
6 changed files with 60 additions and 28 deletions

View File

@ -74,7 +74,6 @@ public interface Global {
int LUXURYMONTHCARDID =11;//6豪华月卡 废弃 改版
int WEEKCARDID = 10; //月卡
int MONTHCARDID =1;//1月卡
int LMONTHCARDID =2;//2豪华月卡
}

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.handler.ridingsward;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.ridingSward.RidingSwardLogic;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.util.MessageUtil;
import org.springframework.stereotype.Component;
import rpc.protocols.ActivityProto;
import rpc.protocols.MessageTypeProto;
@ -22,6 +23,7 @@ public class RidingSwardRewardHandler extends BaseHandler<ActivityProto.RidingSw
@Override
public void processWithProto(ISession iSession, ActivityProto.RidingSwardRewardRequest proto) throws Exception {
RidingSwardLogic.getInstance().getRidingSwardReward(iSession.getUid(),proto);
ActivityProto.RidingSwardRewardResponse reward = RidingSwardLogic.getInstance().getRidingSwardReward(iSession.getUid(), proto);
MessageUtil.sendMessage(iSession.getUid(),1, MessageTypeProto.MessageType.RidingSwardRewardResponse_VALUE,reward,true);
}
}

View File

@ -85,7 +85,7 @@ public enum ActivityTypeEnum {
XUN_BAO_MI_ZONG(ActivityType.XUN_BAO_MI_ZONG,XunBaoMiZongActivity::new),
SEVEN_WORLD_TREASURE(ActivityType.SEVEN_WORLD_TREASURE,SevenWorldActivity::new),
LING_LONG_PAVILION(ActivityType.LING_LONG_PAVILION,DefaultEmptyActivity::new),
RIDING_SWARD(ActivityType.RIDING_SWARD,DefaultEmptyActivity::new),
RIDING_SWARD(ActivityType.RIDING_SWARD,RidingSwardActivity::new),
;
private int type;

View File

@ -0,0 +1,51 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.logic.ridingSward.RidingSwardLogic;
import config.SErrorCodeEerverConfig;
import rpc.protocols.ActivityProto;
import rpc.protocols.CommonProto;
import util.StringUtil;
import util.TimeUtils;
public class RidingSwardActivity extends AbstractActivity{
public RidingSwardActivity(int id) {
super(id);
}
@Override
public void initActivity(User user) throws Exception {
// 清理押注记录和排名记录
RedisUtil.getInstence().rename(TimeUtils.ONE_DAY*3/1000,RidingSwardLogic.getRankKey());
}
@Override
public void onActivityEndOnMySelf(User user) throws Exception {
// 处理一下数据
RidingSwardLogic.getInstance().getRidingSwardRecord(user.getId());
// 获取奖励内容
ActivityProto.RidingSwardRewardRequest.Builder builder = ActivityProto.RidingSwardRewardRequest.newBuilder().setTime(0);
ActivityProto.RidingSwardRewardResponse reward = RidingSwardLogic.getInstance().getRidingSwardReward(user.getId(), builder.build());
// 奖励长度
int size = reward.getDrop().getItemlistList().size();
int[][] drop = new int[size][];
for (int i = 0; i < size; i++) {
CommonProto.Item item = reward.getDrop().getItemlist(i);
drop[i][0] = item.getItemId();
drop[i][1] = (int)item.getItemNum();
}
// 奖励
String rewards = StringUtil.parseArrayToString(drop);
// 标题
String title = SErrorCodeEerverConfig.getI18NMessage("Qijie_mail_title");
// 内容
String content = SErrorCodeEerverConfig.getI18NMessage("Qijie_mail_txt");
// 发送邮件
MailLogic.getInstance().sendMail(user.getId(),title,content,rewards,TimeUtils.nowInt(),Global.MAIL_EFFECTIVE_TIME);
RedisUtil.getInstence().rename(TimeUtils.ONE_DAY*3/1000,RidingSwardLogic.getRecordKey(user.getId()));
}
}

View File

@ -245,7 +245,7 @@ public class RidingSwardLogic{
* @param proto
* @throws Exception
*/
public void getRidingSwardReward(int uid,ActivityProto.RidingSwardRewardRequest proto) throws Exception {
public ActivityProto.RidingSwardRewardResponse getRidingSwardReward(int uid,ActivityProto.RidingSwardRewardRequest proto) throws Exception {
// 玩家信息
User user = verifyUser(uid);
// 场次时间
@ -286,8 +286,7 @@ public class RidingSwardLogic{
// 奖励计算
int[][] changeList = Utils.changeList(result);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, changeList, BIReason.RIDING_SWARD_REWARD);
ActivityProto.RidingSwardRewardResponse.Builder builder = ActivityProto.RidingSwardRewardResponse.newBuilder().setDrop(drop);
MessageUtil.sendMessage(uid,1, MessageTypeProto.MessageType.RidingSwardRewardResponse_VALUE,builder.build(),true);
return ActivityProto.RidingSwardRewardResponse.newBuilder().setDrop(drop).build();
}
/**
@ -393,7 +392,7 @@ public class RidingSwardLogic{
* @param uid
* @return
*/
private List<CommonProto.RidingSwardRecord> getRidingSwardRecord(int uid){
public List<CommonProto.RidingSwardRecord> getRidingSwardRecord(int uid){
// 返回值
List<CommonProto.RidingSwardRecord> list = new ArrayList<>();
// 投注记录,key:时间戳value竞猜记录信息list
@ -509,10 +508,10 @@ public class RidingSwardLogic{
return map;
}
private String getRankKey(){
public static String getRankKey(){
return RedisUtil.getInstence().getKey(RedisKey.RIDING_SWARD_RANK, "");
}
private String getRecordKey(int uid){
public static String getRecordKey(int uid){
return RedisUtil.getInstence().getKey(RedisKey.RIDING_SWARD_RECORD, String.valueOf(uid));
}
@ -523,22 +522,5 @@ public class RidingSwardLogic{
public void zeroClearRidingSwardByUser(User user){
// 玩家信息清理
user.getPlayerInfoManager().setRidingSwardNum(0);
// 玩家记录信息
RedisUtil.getInstence().rename(TimeUtils.ONE_DAY*7/1000,getRecordKey(user.getId()));
}
/**
*
* @param user
*/
public void zeroClearRidingSwardByRank(){
try {
RedisUtil.getInstence().rename(TimeUtils.ONE_DAY*7/1000,getRankKey());
// 初始化第二天的比赛数据
getInstance().createExecuteScript();
}catch (Exception e){
LOGGER.error("零点处理御剑行排行数据报错,{}",e.getMessage());
e.printStackTrace();
}
}
}

View File

@ -213,8 +213,6 @@ public class MinuteTask extends Thread {
FourChallengeLogic.getInstance().check();
// 助战
HelpHeroLogic.getInstance().zeroClearRedisHelp();
// 御剑行处理
RidingSwardLogic.getInstance().zeroClearRidingSwardByRank();
// 公会信息处理
Map<Integer, GuildInfo> guildInfoMap = GuilidManager.guildInfoMap;