[DIVA] Fix wrong contest progress is being sent

pull/1/head
samnyan 2020-01-23 14:41:12 +08:00
parent 7926959770
commit b70ec89902
2 changed files with 40 additions and 14 deletions

View File

@ -22,6 +22,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.LinkedList;
import java.util.List;
import static icu.samnyan.aqua.sega.diva.model.common.Const.NULL_QUEST;
@ -96,10 +98,8 @@ public class StageResultHandler extends BaseHandler {
pvRecordRepository.save(record);
playLogRepository.save(log);
gameSessionRepository.save(session);
// profileRepository.save(profile);
// profileRepository.save(profile); // Profile save move to session end
String cnp_sp = StringUtils.join(request.getCr_sp(), ",");
cnp_sp = cnp_sp.substring(cnp_sp.indexOf(",") + 1) + ",-1";
response = new StageResultResponse(
request.getCmd(),
request.getReq_id(),
@ -116,7 +116,15 @@ public class StageResultHandler extends BaseHandler {
0,
request.getCr_cid(),
request.getCr_tv(),
cnp_sp,
getContestSpecifier(request.getCr_sp()),
"-1,-1,-1",
"-1,-1,-1",
"***,***,***",
"***,***,***",
-1,
-1,
"***",
"***",
"xxx,xxx,xxx,xxx,xxx",
"-1,-1,-1,-1,-1",
"xxx,xxx,xxx,xxx,xxx",
@ -195,7 +203,6 @@ public class StageResultHandler extends BaseHandler {
slice(request.getStg_rgo(), 3, i),
request.getStg_ss_num()[i],
request.getTime_stamp().toLocalDateTime()
// ZonedDateTime.parse(request.getTime_stamp()).toLocalDateTime()
);
}
@ -209,4 +216,15 @@ public class StageResultHandler extends BaseHandler {
sb.deleteCharAt(sb.length() - 1);
return sb.toString();
}
private String getContestSpecifier(String[] arr) {
List<String> result = new LinkedList<>();
for (int i = 0; i < arr.length; i++) {
if ((i % 6) != 0) result.add(arr[i]);
}
while (result.size() < 60) {
result.add("-1");
}
return String.join(",", result);
}
}

View File

@ -26,14 +26,14 @@ public class StageResultResponse extends BaseResponse {
private int cnp_cid;
private int cnp_val;
private String cnp_sp;
// private int crwd_kind = -1;
// private String crwd_value = "-1,-1,-1";
// private String crwd_str_0 = "N/A";
// private String crwd_str_1 = "N/A";
// private int cerwd_kind = -1;
// private int cerwd_value = -1;
// private String cerwd_str_0 = "N/A";
// private String cerwd_str_1 = "N/A";
private String crwd_kind = "-1,-1,-1";
private String crwd_value = "-1,-1,-1";
private String crwd_str_0 = "***,***,***";
private String crwd_str_1 = "***,***,***";
private int cerwd_kind = -1;
private int cerwd_value = -1;
private String cerwd_str_0 = "***";
private String cerwd_str_1 = "***";
private String ttl_str_ary = "xxx";
private String ttl_plt_id_ary = "-1,-1,-1,-1,-1";
private String ttl_desc_ary = "xxx";
@ -62,7 +62,7 @@ public class StageResultResponse extends BaseResponse {
super(cmd, req_id, stat);
}
public StageResultResponse(String cmd, String req_id, String stat, int chllng_kind, int lv_num_old, int lv_pnt_old, int lv_num, int lv_pnt, String lv_str, int lv_efct_id, int lv_plt_id, int vcld_pts, int prsnt_vcld_pts, int cnp_cid, int cnp_val, String cnp_sp, String ttl_str_ary, String ttl_plt_id_ary, String ttl_desc_ary, String skin_id_ary, String skin_name_ary, String skin_illust_ary, String skin_desc_ary, int pdddt_flg, LocalDateTime pdddt_tm, int nblss_ltt_stts, int nblss_ltt_tckt, int nblss_ltt_is_opn, int nblss_ltt_prz, int nblss_ltt_nxt_stts, int nblss_ltt_nxt_tckt, String my_qst_id, String my_qst_r_qid, String my_qst_r_knd, String my_qst_r_vl, String my_qst_r_nflg, String my_ccd_r_qid, String my_ccd_r_hnd, String my_ccd_r_vp) {
public StageResultResponse(String cmd, String req_id, String stat, int chllng_kind, int lv_num_old, int lv_pnt_old, int lv_num, int lv_pnt, String lv_str, int lv_efct_id, int lv_plt_id, int vcld_pts, int prsnt_vcld_pts, int cnp_cid, int cnp_val, String cnp_sp, String crwd_kind, String crwd_value, String crwd_str_0, String crwd_str_1, int cerwd_kind, int cerwd_value, String cerwd_str_0, String cerwd_str_1, String ttl_str_ary, String ttl_plt_id_ary, String ttl_desc_ary, String skin_id_ary, String skin_name_ary, String skin_illust_ary, String skin_desc_ary, int pdddt_flg, LocalDateTime pdddt_tm, int nblss_ltt_stts, int nblss_ltt_tckt, int nblss_ltt_is_opn, int nblss_ltt_prz, int nblss_ltt_nxt_stts, int nblss_ltt_nxt_tckt, String my_qst_id, String my_qst_r_qid, String my_qst_r_knd, String my_qst_r_vl, String my_qst_r_nflg, String my_ccd_r_qid, String my_ccd_r_hnd, String my_ccd_r_vp) {
super(cmd, req_id, stat);
this.chllng_kind = chllng_kind;
this.lv_num_old = lv_num_old;
@ -77,6 +77,14 @@ public class StageResultResponse extends BaseResponse {
this.cnp_cid = cnp_cid;
this.cnp_val = cnp_val;
this.cnp_sp = cnp_sp;
this.crwd_kind = crwd_kind;
this.crwd_value = crwd_value;
this.crwd_str_0 = crwd_str_0;
this.crwd_str_1 = crwd_str_1;
this.cerwd_kind = cerwd_kind;
this.cerwd_value = cerwd_value;
this.cerwd_str_0 = cerwd_str_0;
this.cerwd_str_1 = cerwd_str_1;
this.ttl_str_ary = ttl_str_ary;
this.ttl_plt_id_ary = ttl_plt_id_ary;
this.ttl_desc_ary = ttl_desc_ary;