|
|
@@ -102,11 +102,17 @@ public class MetaTaskToUserNewService {
|
|
|
if (!checkMetaTaskNewResult.isSuccess()) {
|
|
|
return MetaRestResult.returnError(checkMetaTaskNewResult.getMessage());
|
|
|
}
|
|
|
+ metaTaskToUserNew.setMetaTaskNew(metaTaskNew);
|
|
|
MetaAtomTask metaAtomTask = metaAtomTaskRepo.findByIdAndDel(metaTaskToUserNew.getAtomTaskId(), false);
|
|
|
MetaServiceResult checkMetaAtomTaskResult = checkMetaAtomTask(metaAtomTask);
|
|
|
if (!checkMetaAtomTaskResult.isSuccess()) {
|
|
|
return MetaRestResult.returnError(checkMetaAtomTaskResult.getMessage());
|
|
|
}
|
|
|
+ metaTaskToUserNew.setMetaAtomTask(metaAtomTask);
|
|
|
+ MetaServiceResult buildMetaPropResult = buildMetaProp(metaTaskToUserNew);
|
|
|
+ if (!buildMetaPropResult.isSuccess()) {
|
|
|
+ return MetaRestResult.returnError(buildMetaPropResult.getMessage());
|
|
|
+ }
|
|
|
// 判断当前玩家是否领取过基础任务
|
|
|
MetaTaskToUserNew dbMetaTaskToUserNew = metaTaskToUserNewRepo.findByUserIdAndTaskIdAndAtomTaskIdAndDel(metaTaskToUserNew.getUserId(), metaTaskToUserNew.getTaskId(), metaTaskToUserNew.getAtomTaskId(), false);
|
|
|
if (Objects.nonNull(dbMetaTaskToUserNew)) {
|
|
|
@@ -125,8 +131,9 @@ public class MetaTaskToUserNewService {
|
|
|
metaTaskToUserNew.setMetaTaskNew(metaTaskNew);
|
|
|
metaTaskToUserNew.setMetaAtomTask(metaAtomTask);
|
|
|
MetaTaskToUserNew save = metaTaskToUserNewRepo.save(metaTaskToUserNew);
|
|
|
- save.setMetaTaskNew(metaTaskNew);
|
|
|
- save.setMetaAtomTask(metaAtomTask);
|
|
|
+ save.setMetaTaskNew(metaTaskToUserNew.getMetaTaskNew());
|
|
|
+ save.setMetaAtomTask(metaTaskToUserNew.getMetaAtomTask());
|
|
|
+ save.setMetaProp(metaTaskToUserNew.getMetaProp());
|
|
|
if (progress) {
|
|
|
setProgress(save);
|
|
|
}
|
|
|
@@ -152,6 +159,10 @@ public class MetaTaskToUserNewService {
|
|
|
return MetaRestResult.returnError(checkMetaTaskNewResult.getMessage());
|
|
|
}
|
|
|
metaTaskToUserNew.setMetaTaskNew(metaTaskNew);
|
|
|
+ MetaServiceResult buildMetaPropResult = buildMetaProp(metaTaskToUserNew);
|
|
|
+ if (!buildMetaPropResult.isSuccess()) {
|
|
|
+ return MetaRestResult.returnError(buildMetaPropResult.getMessage());
|
|
|
+ }
|
|
|
setProgress(metaTaskToUserNew);
|
|
|
return MetaRestResult.returnSuccess(metaTaskToUserNew);
|
|
|
}
|
|
|
@@ -274,4 +285,22 @@ public class MetaTaskToUserNewService {
|
|
|
}
|
|
|
return MetaServiceResult.returnSuccess();
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 道具奖励 构建道具信息
|
|
|
+ *
|
|
|
+ * @param metaTaskToUserNew 任务领取信息
|
|
|
+ * @return result
|
|
|
+ */
|
|
|
+ private MetaServiceResult buildMetaProp(MetaTaskToUserNew metaTaskToUserNew) {
|
|
|
+ if (!MetaAwardTypeEnum.META_PROP.equals(metaTaskToUserNew.getMetaAtomTask().getAwardType())) {
|
|
|
+ return MetaServiceResult.returnSuccess();
|
|
|
+ }
|
|
|
+ MetaProp metaProp = metaPropRepo.findByIdAndDel(Long.parseLong(metaTaskToUserNew.getMetaAtomTask().getAwardConfig()), false);
|
|
|
+ if (Objects.isNull(metaProp)) {
|
|
|
+ return MetaServiceResult.returnError(String.format("基础任务[%S]道具奖励 道具信息为空", metaTaskToUserNew.getMetaAtomTask().getId()));
|
|
|
+ }
|
|
|
+ metaTaskToUserNew.setMetaProp(metaProp);
|
|
|
+ return MetaServiceResult.returnSuccess();
|
|
|
+ }
|
|
|
}
|