Merge branch 'test'

This commit is contained in:
thesai 2024-03-05 13:53:51 +08:00
commit 2492184d0e
6 changed files with 227 additions and 294 deletions

@ -1 +1 @@
Subproject commit 4ed56c6655935a7cbc3dd9edbb3468a96c875ffd
Subproject commit e86eac94a2db155b79d09bbe4fb145a8ebc69014

View File

@ -2,12 +2,14 @@ package club.joylink.rtss.bo.race;
import club.joylink.rtss.exception.BusinessExceptionAssertEnum;
import club.joylink.rtss.vo.race.RaceApplication;
import club.joylink.rtss.vo.race.RaceApplication.ResultNode;
import club.joylink.rtss.vo.race.RaceApplication.ResultNode.Builder;
import club.joylink.rtss.vo.race.RaceTask;
import club.joylink.rtss.vo.race.RaceTask.RacePaperSingleModuleGroupTask;
import club.joylink.rtss.vo.race.RaceTask.RaceTaskChildVO;
import club.joylink.rtss.vo.race.RaceTask.RaceTaskChildVO.ChildNodeType;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Data;
@ -41,17 +43,21 @@ public class RaceContent {
this.taskTree = taskTree;
this.result = RaceApplication.RacePracticeResult.newBuilder();
result.setCustomModuleId(taskTree.getCustomModuleId());
for (RaceTaskChildVO childVO : taskTree.getChildList()) {
Builder nodeBuilder = result.addNodeBuilder();
nodeBuilder.setName(childVO.getName());
nodeBuilder.setType(childVO.getNodeType());
//构建任务映射
if (ChildNodeType.TASK == childVO.getNodeType()) {
resultNodeMap.put(childVO.getId(), nodeBuilder);
}
//递归
buildResultNodeTree(childVO, nodeBuilder);
}
Builder rootNode = ResultNode.newBuilder();
buildResultNodeTree(taskTree.getChildList(), rootNode);
result.addAllNode(rootNode.getChildList());
// for (RaceTaskChildVO childVO : taskTree.getChildList()) {
// Builder nodeBuilder = result.addNodeBuilder();
// nodeBuilder.setName(childVO.getName());
// nodeBuilder.setType(childVO.getNodeType());
// nodeBuilder.setSceneId(childVO.getSceneId());
// //构建任务映射
// if (ChildNodeType.TASK == childVO.getNodeType()) {
// resultNodeMap.put(childVO.getId(), nodeBuilder);
// }
// //递归
// buildResultNodeTree(childVO, nodeBuilder);
// }
}
public Builder getResultNode(long taskId) {
@ -61,18 +67,35 @@ public class RaceContent {
return builder;
}
private void buildResultNodeTree(RaceTaskChildVO children, Builder parentNode) {
for (RaceTaskChildVO childVO : children.getChildrenList()) {
private void buildResultNodeTree(List<RaceTaskChildVO> children, Builder parentNode) {
for (RaceTaskChildVO childVO : children) {
//构建对应的结果Node
Builder nodeBuilder = parentNode.addChildBuilder();
nodeBuilder.setName(childVO.getName());
nodeBuilder.setType(childVO.getNodeType());
nodeBuilder.setSceneId(childVO.getSceneId());
//构建任务映射
if (ChildNodeType.TASK == childVO.getNodeType()) {
resultNodeMap.put(childVO.getId(), nodeBuilder);
}
//递归
buildResultNodeTree(childVO, nodeBuilder);
buildResultNodeTree(childVO.getChildrenList(), nodeBuilder);
}
}
// private void buildResultNodeTree(RaceTaskChildVO children, Builder parentNode) {
// for (RaceTaskChildVO childVO : children.getChildrenList()) {
// //构建对应的结果Node
// Builder nodeBuilder = parentNode.addChildBuilder();
// nodeBuilder.setName(childVO.getName());
// nodeBuilder.setType(childVO.getNodeType());
// nodeBuilder.setSceneId(childVO.getSceneId());
// //构建任务映射
// if (ChildNodeType.TASK == childVO.getNodeType()) {
// resultNodeMap.put(childVO.getId(), nodeBuilder);
// }
// //递归
// buildResultNodeTree(childVO, nodeBuilder);
// }
// }
}

View File

@ -906,6 +906,16 @@ public final class RaceApplication {
*/
club.joylink.rtss.vo.race.RaceApplication.ResultNodeOrBuilder getChildOrBuilder(
int index);
/**
* <pre>
*任务关联的场景的ID0表示没有关联的场景
* </pre>
*
* <code>int64 sceneId = 6;</code>
* @return The sceneId.
*/
long getSceneId();
}
/**
* Protobuf type {@code race.ResultNode}
@ -1065,6 +1075,21 @@ public final class RaceApplication {
return child_.get(index);
}
public static final int SCENEID_FIELD_NUMBER = 6;
private long sceneId_ = 0L;
/**
* <pre>
*任务关联的场景的ID0表示没有关联的场景
* </pre>
*
* <code>int64 sceneId = 6;</code>
* @return The sceneId.
*/
@java.lang.Override
public long getSceneId() {
return sceneId_;
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
@ -1094,6 +1119,9 @@ public final class RaceApplication {
for (int i = 0; i < child_.size(); i++) {
output.writeMessage(5, child_.get(i));
}
if (sceneId_ != 0L) {
output.writeInt64(6, sceneId_);
}
getUnknownFields().writeTo(output);
}
@ -1122,6 +1150,10 @@ public final class RaceApplication {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(5, child_.get(i));
}
if (sceneId_ != 0L) {
size += com.google.protobuf.CodedOutputStream
.computeInt64Size(6, sceneId_);
}
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@ -1148,6 +1180,8 @@ public final class RaceApplication {
if (type_ != other.type_) return false;
if (!getChildList()
.equals(other.getChildList())) return false;
if (getSceneId()
!= other.getSceneId()) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@ -1173,6 +1207,9 @@ public final class RaceApplication {
hash = (37 * hash) + CHILD_FIELD_NUMBER;
hash = (53 * hash) + getChildList().hashCode();
}
hash = (37 * hash) + SCENEID_FIELD_NUMBER;
hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
getSceneId());
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@ -1315,6 +1352,7 @@ public final class RaceApplication {
childBuilder_.clear();
}
bitField0_ = (bitField0_ & ~0x00000010);
sceneId_ = 0L;
return this;
}
@ -1373,6 +1411,9 @@ public final class RaceApplication {
if (((from_bitField0_ & 0x00000008) != 0)) {
result.type_ = type_;
}
if (((from_bitField0_ & 0x00000020) != 0)) {
result.sceneId_ = sceneId_;
}
}
@java.lang.Override
@ -1427,6 +1468,9 @@ public final class RaceApplication {
}
}
}
if (other.getSceneId() != 0L) {
setSceneId(other.getSceneId());
}
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@ -1486,6 +1530,11 @@ public final class RaceApplication {
}
break;
} // case 42
case 48: {
sceneId_ = input.readInt64();
bitField0_ |= 0x00000020;
break;
} // case 48
default: {
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
done = true; // was an endgroup tag
@ -1931,6 +1980,50 @@ public final class RaceApplication {
}
return childBuilder_;
}
private long sceneId_ ;
/**
* <pre>
*任务关联的场景的ID0表示没有关联的场景
* </pre>
*
* <code>int64 sceneId = 6;</code>
* @return The sceneId.
*/
@java.lang.Override
public long getSceneId() {
return sceneId_;
}
/**
* <pre>
*任务关联的场景的ID0表示没有关联的场景
* </pre>
*
* <code>int64 sceneId = 6;</code>
* @param value The sceneId to set.
* @return This builder for chaining.
*/
public Builder setSceneId(long value) {
sceneId_ = value;
bitField0_ |= 0x00000020;
onChanged();
return this;
}
/**
* <pre>
*任务关联的场景的ID0表示没有关联的场景
* </pre>
*
* <code>int64 sceneId = 6;</code>
* @return This builder for chaining.
*/
public Builder clearSceneId() {
bitField0_ = (bitField0_ & ~0x00000020);
sceneId_ = 0L;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
@ -2017,12 +2110,12 @@ public final class RaceApplication {
"\n\033race/race_application.proto\022\004race\032\024rac" +
"e/race_task.proto\"N\n\022RacePracticeResult\022" +
"\030\n\020custom_module_id\030\001 \001(\005\022\036\n\004node\030\002 \003(\0132" +
"\020.race.ResultNode\"\220\001\n\nResultNode\022\014\n\004name" +
"\020.race.ResultNode\"\241\001\n\nResultNode\022\014\n\004name" +
"\030\001 \001(\t\022\021\n\tfullScore\030\002 \001(\002\022\r\n\005score\030\003 \001(\002" +
"\0221\n\004type\030\004 \001(\0162#.race.RaceTaskChildVO.Ch" +
"ildNodeType\022\037\n\005child\030\005 \003(\0132\020.race.Result" +
"NodeB\033\n\031club.joylink.rtss.vo.raceb\006proto" +
"3"
"Node\022\017\n\007sceneId\030\006 \001(\003B\033\n\031club.joylink.rt" +
"ss.vo.raceb\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@ -2040,7 +2133,7 @@ public final class RaceApplication {
internal_static_race_ResultNode_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_race_ResultNode_descriptor,
new java.lang.String[] { "Name", "FullScore", "Score", "Type", "Child", });
new java.lang.String[] { "Name", "FullScore", "Score", "Type", "Child", "SceneId", });
club.joylink.rtss.vo.race.RaceTask.getDescriptor();
}

View File

@ -1,5 +1,5 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: race_scoring_rule.proto
// source: race/race_scoring_rule.proto
package club.joylink.rtss.vo.race;
@ -1858,7 +1858,7 @@ public final class RaceScoringRule {
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -1867,7 +1867,7 @@ public final class RaceScoringRule {
java.lang.String getName();
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -1888,27 +1888,7 @@ public final class RaceScoringRule {
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @return The content.
*/
java.lang.String getContent();
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @return The bytes for content.
*/
com.google.protobuf.ByteString
getContentBytes();
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -1917,7 +1897,7 @@ public final class RaceScoringRule {
java.lang.String getCriteria();
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -2008,7 +1988,6 @@ public final class RaceScoringRule {
}
private Unit() {
name_ = "";
content_ = "";
criteria_ = "";
children_ = java.util.Collections.emptyList();
id_ = "";
@ -2039,7 +2018,7 @@ public final class RaceScoringRule {
private volatile java.lang.Object name_ = "";
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -2060,7 +2039,7 @@ public final class RaceScoringRule {
}
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -2096,59 +2075,12 @@ public final class RaceScoringRule {
return score_;
}
public static final int CONTENT_FIELD_NUMBER = 3;
@SuppressWarnings("serial")
private volatile java.lang.Object content_ = "";
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @return The content.
*/
@java.lang.Override
public java.lang.String getContent() {
java.lang.Object ref = content_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
content_ = s;
return s;
}
}
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @return The bytes for content.
*/
@java.lang.Override
public com.google.protobuf.ByteString
getContentBytes() {
java.lang.Object ref = content_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
content_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
public static final int CRITERIA_FIELD_NUMBER = 4;
@SuppressWarnings("serial")
private volatile java.lang.Object criteria_ = "";
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -2169,7 +2101,7 @@ public final class RaceScoringRule {
}
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -2318,9 +2250,6 @@ public final class RaceScoringRule {
if (score_ != 0) {
output.writeUInt32(2, score_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(content_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 3, content_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(criteria_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 4, criteria_);
}
@ -2346,9 +2275,6 @@ public final class RaceScoringRule {
size += com.google.protobuf.CodedOutputStream
.computeUInt32Size(2, score_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(content_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, content_);
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(criteria_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, criteria_);
}
@ -2378,8 +2304,6 @@ public final class RaceScoringRule {
.equals(other.getName())) return false;
if (getScore()
!= other.getScore()) return false;
if (!getContent()
.equals(other.getContent())) return false;
if (!getCriteria()
.equals(other.getCriteria())) return false;
if (!getChildrenList()
@ -2401,8 +2325,6 @@ public final class RaceScoringRule {
hash = (53 * hash) + getName().hashCode();
hash = (37 * hash) + SCORE_FIELD_NUMBER;
hash = (53 * hash) + getScore();
hash = (37 * hash) + CONTENT_FIELD_NUMBER;
hash = (53 * hash) + getContent().hashCode();
hash = (37 * hash) + CRITERIA_FIELD_NUMBER;
hash = (53 * hash) + getCriteria().hashCode();
if (getChildrenCount() > 0) {
@ -2548,7 +2470,6 @@ public final class RaceScoringRule {
bitField0_ = 0;
name_ = "";
score_ = 0;
content_ = "";
criteria_ = "";
if (childrenBuilder_ == null) {
children_ = java.util.Collections.emptyList();
@ -2556,7 +2477,7 @@ public final class RaceScoringRule {
children_ = null;
childrenBuilder_.clear();
}
bitField0_ = (bitField0_ & ~0x00000010);
bitField0_ = (bitField0_ & ~0x00000008);
id_ = "";
return this;
}
@ -2592,9 +2513,9 @@ public final class RaceScoringRule {
private void buildPartialRepeatedFields(club.joylink.rtss.vo.race.RaceScoringRule.Rule.Unit result) {
if (childrenBuilder_ == null) {
if (((bitField0_ & 0x00000010) != 0)) {
if (((bitField0_ & 0x00000008) != 0)) {
children_ = java.util.Collections.unmodifiableList(children_);
bitField0_ = (bitField0_ & ~0x00000010);
bitField0_ = (bitField0_ & ~0x00000008);
}
result.children_ = children_;
} else {
@ -2611,12 +2532,9 @@ public final class RaceScoringRule {
result.score_ = score_;
}
if (((from_bitField0_ & 0x00000004) != 0)) {
result.content_ = content_;
}
if (((from_bitField0_ & 0x00000008) != 0)) {
result.criteria_ = criteria_;
}
if (((from_bitField0_ & 0x00000020) != 0)) {
if (((from_bitField0_ & 0x00000010) != 0)) {
result.id_ = id_;
}
}
@ -2641,21 +2559,16 @@ public final class RaceScoringRule {
if (other.getScore() != 0) {
setScore(other.getScore());
}
if (!other.getContent().isEmpty()) {
content_ = other.content_;
bitField0_ |= 0x00000004;
onChanged();
}
if (!other.getCriteria().isEmpty()) {
criteria_ = other.criteria_;
bitField0_ |= 0x00000008;
bitField0_ |= 0x00000004;
onChanged();
}
if (childrenBuilder_ == null) {
if (!other.children_.isEmpty()) {
if (children_.isEmpty()) {
children_ = other.children_;
bitField0_ = (bitField0_ & ~0x00000010);
bitField0_ = (bitField0_ & ~0x00000008);
} else {
ensureChildrenIsMutable();
children_.addAll(other.children_);
@ -2668,7 +2581,7 @@ public final class RaceScoringRule {
childrenBuilder_.dispose();
childrenBuilder_ = null;
children_ = other.children_;
bitField0_ = (bitField0_ & ~0x00000010);
bitField0_ = (bitField0_ & ~0x00000008);
childrenBuilder_ =
com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
getChildrenFieldBuilder() : null;
@ -2679,7 +2592,7 @@ public final class RaceScoringRule {
}
if (!other.getId().isEmpty()) {
id_ = other.id_;
bitField0_ |= 0x00000020;
bitField0_ |= 0x00000010;
onChanged();
}
this.mergeUnknownFields(other.getUnknownFields());
@ -2718,14 +2631,9 @@ public final class RaceScoringRule {
bitField0_ |= 0x00000002;
break;
} // case 16
case 26: {
content_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000004;
break;
} // case 26
case 34: {
criteria_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000008;
bitField0_ |= 0x00000004;
break;
} // case 34
case 42: {
@ -2743,7 +2651,7 @@ public final class RaceScoringRule {
} // case 42
case 50: {
id_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000020;
bitField0_ |= 0x00000010;
break;
} // case 50
default: {
@ -2766,7 +2674,7 @@ public final class RaceScoringRule {
private java.lang.Object name_ = "";
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -2786,7 +2694,7 @@ public final class RaceScoringRule {
}
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -2807,7 +2715,7 @@ public final class RaceScoringRule {
}
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -2824,7 +2732,7 @@ public final class RaceScoringRule {
}
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -2838,7 +2746,7 @@ public final class RaceScoringRule {
}
/**
* <pre>
*文字描述
*项目
* </pre>
*
* <code>string name = 1;</code>
@ -2899,102 +2807,10 @@ public final class RaceScoringRule {
return this;
}
private java.lang.Object content_ = "";
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @return The content.
*/
public java.lang.String getContent() {
java.lang.Object ref = content_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs =
(com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
content_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @return The bytes for content.
*/
public com.google.protobuf.ByteString
getContentBytes() {
java.lang.Object ref = content_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8(
(java.lang.String) ref);
content_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @param value The content to set.
* @return This builder for chaining.
*/
public Builder setContent(
java.lang.String value) {
if (value == null) { throw new NullPointerException(); }
content_ = value;
bitField0_ |= 0x00000004;
onChanged();
return this;
}
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @return This builder for chaining.
*/
public Builder clearContent() {
content_ = getDefaultInstance().getContent();
bitField0_ = (bitField0_ & ~0x00000004);
onChanged();
return this;
}
/**
* <pre>
*项目
* </pre>
*
* <code>string content = 3;</code>
* @param value The bytes for content to set.
* @return This builder for chaining.
*/
public Builder setContentBytes(
com.google.protobuf.ByteString value) {
if (value == null) { throw new NullPointerException(); }
checkByteStringIsUtf8(value);
content_ = value;
bitField0_ |= 0x00000004;
onChanged();
return this;
}
private java.lang.Object criteria_ = "";
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -3014,7 +2830,7 @@ public final class RaceScoringRule {
}
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -3035,7 +2851,7 @@ public final class RaceScoringRule {
}
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -3046,13 +2862,13 @@ public final class RaceScoringRule {
java.lang.String value) {
if (value == null) { throw new NullPointerException(); }
criteria_ = value;
bitField0_ |= 0x00000008;
bitField0_ |= 0x00000004;
onChanged();
return this;
}
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -3060,13 +2876,13 @@ public final class RaceScoringRule {
*/
public Builder clearCriteria() {
criteria_ = getDefaultInstance().getCriteria();
bitField0_ = (bitField0_ & ~0x00000008);
bitField0_ = (bitField0_ & ~0x00000004);
onChanged();
return this;
}
/**
* <pre>
*评分标准
* string content = 3;//作业程序
* </pre>
*
* <code>string criteria = 4;</code>
@ -3078,7 +2894,7 @@ public final class RaceScoringRule {
if (value == null) { throw new NullPointerException(); }
checkByteStringIsUtf8(value);
criteria_ = value;
bitField0_ |= 0x00000008;
bitField0_ |= 0x00000004;
onChanged();
return this;
}
@ -3086,9 +2902,9 @@ public final class RaceScoringRule {
private java.util.List<club.joylink.rtss.vo.race.RaceScoringRule.Rule.Unit> children_ =
java.util.Collections.emptyList();
private void ensureChildrenIsMutable() {
if (!((bitField0_ & 0x00000010) != 0)) {
if (!((bitField0_ & 0x00000008) != 0)) {
children_ = new java.util.ArrayList<club.joylink.rtss.vo.race.RaceScoringRule.Rule.Unit>(children_);
bitField0_ |= 0x00000010;
bitField0_ |= 0x00000008;
}
}
@ -3282,7 +3098,7 @@ public final class RaceScoringRule {
public Builder clearChildren() {
if (childrenBuilder_ == null) {
children_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000010);
bitField0_ = (bitField0_ & ~0x00000008);
onChanged();
} else {
childrenBuilder_.clear();
@ -3387,7 +3203,7 @@ public final class RaceScoringRule {
childrenBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
club.joylink.rtss.vo.race.RaceScoringRule.Rule.Unit, club.joylink.rtss.vo.race.RaceScoringRule.Rule.Unit.Builder, club.joylink.rtss.vo.race.RaceScoringRule.Rule.UnitOrBuilder>(
children_,
((bitField0_ & 0x00000010) != 0),
((bitField0_ & 0x00000008) != 0),
getParentForChildren(),
isClean());
children_ = null;
@ -3450,7 +3266,7 @@ public final class RaceScoringRule {
java.lang.String value) {
if (value == null) { throw new NullPointerException(); }
id_ = value;
bitField0_ |= 0x00000020;
bitField0_ |= 0x00000010;
onChanged();
return this;
}
@ -3464,7 +3280,7 @@ public final class RaceScoringRule {
*/
public Builder clearId() {
id_ = getDefaultInstance().getId();
bitField0_ = (bitField0_ & ~0x00000020);
bitField0_ = (bitField0_ & ~0x00000010);
onChanged();
return this;
}
@ -3482,7 +3298,7 @@ public final class RaceScoringRule {
if (value == null) { throw new NullPointerException(); }
checkByteStringIsUtf8(value);
id_ = value;
bitField0_ |= 0x00000020;
bitField0_ |= 0x00000010;
onChanged();
return this;
}
@ -4265,18 +4081,18 @@ public final class RaceScoringRule {
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\027race_scoring_rule.proto\022\004race\032\030common/" +
"modify_info.proto\"r\n\021RaceScoringRuleVO\022\n" +
"\n\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022\030\n\004rule\030\003 \001(\0132\n" +
".race.Rule\022)\n\013modify_info\030\004 \001(\0132\024.common" +
".ModifyInfoVO\"\\\n\025RaceScoringRuleListVO\022\n" +
"\n\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022)\n\013modify_info\030" +
"\003 \001(\0132\024.common.ModifyInfoVO\"\235\001\n\004Rule\022\036\n\005" +
"units\030\001 \003(\0132\017.race.Rule.Unit\032u\n\004Unit\022\014\n\004" +
"name\030\001 \001(\t\022\r\n\005score\030\002 \001(\r\022\017\n\007content\030\003 \001" +
"(\t\022\020\n\010criteria\030\004 \001(\t\022!\n\010children\030\005 \003(\0132\017" +
".race.Rule.Unit\022\n\n\002id\030\006 \001(\tB\033\n\031club.joyl" +
"ink.rtss.vo.raceb\006proto3"
"\n\034race/race_scoring_rule.proto\022\004race\032\030co" +
"mmon/modify_info.proto\"r\n\021RaceScoringRul" +
"eVO\022\n\n\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022\030\n\004rule\030\003 " +
"\001(\0132\n.race.Rule\022)\n\013modify_info\030\004 \001(\0132\024.c" +
"ommon.ModifyInfoVO\"\\\n\025RaceScoringRuleLis" +
"tVO\022\n\n\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022)\n\013modify_" +
"info\030\003 \001(\0132\024.common.ModifyInfoVO\"\214\001\n\004Rul" +
"e\022\036\n\005units\030\001 \003(\0132\017.race.Rule.Unit\032d\n\004Uni" +
"t\022\014\n\004name\030\001 \001(\t\022\r\n\005score\030\002 \001(\r\022\020\n\010criter" +
"ia\030\004 \001(\t\022!\n\010children\030\005 \003(\0132\017.race.Rule.U" +
"nit\022\n\n\002id\030\006 \001(\tB\033\n\031club.joylink.rtss.vo." +
"raceb\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
@ -4306,7 +4122,7 @@ public final class RaceScoringRule {
internal_static_race_Rule_Unit_fieldAccessorTable = new
com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_race_Rule_Unit_descriptor,
new java.lang.String[] { "Name", "Score", "Content", "Criteria", "Children", "Id", });
new java.lang.String[] { "Name", "Score", "Criteria", "Children", "Id", });
club.joylink.rtss.vo.common.ModifyInfo.getDescriptor();
}

View File

@ -1,5 +1,5 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: race_task.proto
// source: race/race_task.proto
package club.joylink.rtss.vo.race;
@ -10729,43 +10729,44 @@ public final class RaceTask {
descriptor;
static {
java.lang.String[] descriptorData = {
"\n\017race_task.proto\022\004race\032\030common/modify_i" +
"nfo.proto\032\025race/race_scene.proto\"\266\001\n\nRac" +
"eTaskVO\022\n\n\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022\014\n\004des" +
"c\030\003 \001(\t\022\017\n\007content\030\004 \001(\t\022\021\n\tstandards\030\005 " +
"\001(\t\022 \n\005scene\030\006 \001(\0132\021.race.RaceSceneVO\022\020\n" +
"\010parentId\030\007 \001(\003\022(\n\nmodifyInfo\030\010 \001(\0132\024.co" +
"mmon.ModifyInfoVO\"\344\001\n\020RaceTaskDetailVO\022\n" +
"\n\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022\014\n\004desc\030\003 \001(\t\022\017" +
"\n\007content\030\004 \001(\t\022\021\n\tstandards\030\005 \001(\t\022\020\n\010sc" +
"ene_id\030\006 \001(\003\022\021\n\tsceneName\030\007 \001(\t\022\017\n\007rule_" +
"id\030\010 \001(\003\022\020\n\010ruleName\030\t \001(\t\022\021\n\tparent_id\030" +
"\n \001(\003\022)\n\013modify_info\030\013 \001(\0132\024.common.Modi" +
"fyInfoVO\"w\n\020RaceTaskCreateVO\022\014\n\004name\030\001 \001" +
"(\t\022\014\n\004desc\030\002 \001(\t\022\017\n\007content\030\003 \001(\t\022\021\n\tsta" +
"ndards\030\004 \001(\t\022\020\n\010scene_id\030\005 \001(\003\022\021\n\tparent" +
"_id\030\006 \001(\003\"\210\001\n\014RaceTaskBind\022\017\n\007bind_id\030\002 " +
"\001(\003\0222\n\tbind_type\030\003 \001(\0162\037.race.RaceTaskBi" +
"nd.TaskBindType\022\016\n\006status\030\004 \001(\005\"#\n\014TaskB" +
"indType\022\010\n\004rule\020\000\022\t\n\005scene\020\001\"\205\002\n\023RacePap" +
"erModuleTask\022\030\n\020custom_module_id\030\001 \001(\005\022@" +
"\n\014module_group\030\002 \003(\0132*.race.RacePaperMod" +
"uleTask.PaperModuleGroup\032\221\001\n\020PaperModule" +
"Group\022\022\n\ngroup_name\030\001 \001(\t\022\'\n\010treeData\030\002 " +
"\003(\0132\025.race.RaceTaskChildVO\022@\n\014module_gro" +
"up\030\003 \003(\0132*.race.RacePaperModuleTask.Pape" +
"rModuleGroup\"\312\002\n\017RaceTaskChildVO\022\n\n\002id\030\001" +
" \001(\003\022\014\n\004name\030\002 \001(\t\022\014\n\004desc\030\003 \001(\t\022\017\n\007cont" +
"ent\030\004 \001(\t\022\021\n\tstandards\030\005 \001(\t\022\020\n\010scene_id" +
"\030\006 \001(\003\022\017\n\007rule_id\030\007 \001(\003\022\021\n\tparent_id\030\010 \001" +
"(\003\022\'\n\010children\030\t \003(\0132\025.race.RaceTaskChil" +
"dVO\0226\n\tnode_type\030\n \001(\0162#.race.RaceTaskCh" +
"ildVO.ChildNodeType\022\'\n\tsceneType\030\013 \001(\0162\024" +
".race.RaceScene.Type\"+\n\rChildNodeType\022\020\n" +
"\014MODULE_GROUP\020\000\022\010\n\004TASK\020\001\"`\n\036RacePaperSi" +
"ngleModuleGroupTask\022\030\n\020custom_module_id\030" +
"\001 \001(\005\022$\n\005child\030\002 \003(\0132\025.race.RaceTaskChil" +
"dVOB\033\n\031club.joylink.rtss.vo.raceb\006proto3"
"\n\024race/race_task.proto\022\004race\032\030common/mod" +
"ify_info.proto\032\025race/race_scene.proto\"\266\001" +
"\n\nRaceTaskVO\022\n\n\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022\014" +
"\n\004desc\030\003 \001(\t\022\017\n\007content\030\004 \001(\t\022\021\n\tstandar" +
"ds\030\005 \001(\t\022 \n\005scene\030\006 \001(\0132\021.race.RaceScene" +
"VO\022\020\n\010parentId\030\007 \001(\003\022(\n\nmodifyInfo\030\010 \001(\013" +
"2\024.common.ModifyInfoVO\"\344\001\n\020RaceTaskDetai" +
"lVO\022\n\n\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022\014\n\004desc\030\003 " +
"\001(\t\022\017\n\007content\030\004 \001(\t\022\021\n\tstandards\030\005 \001(\t\022" +
"\020\n\010scene_id\030\006 \001(\003\022\021\n\tsceneName\030\007 \001(\t\022\017\n\007" +
"rule_id\030\010 \001(\003\022\020\n\010ruleName\030\t \001(\t\022\021\n\tparen" +
"t_id\030\n \001(\003\022)\n\013modify_info\030\013 \001(\0132\024.common" +
".ModifyInfoVO\"w\n\020RaceTaskCreateVO\022\014\n\004nam" +
"e\030\001 \001(\t\022\014\n\004desc\030\002 \001(\t\022\017\n\007content\030\003 \001(\t\022\021" +
"\n\tstandards\030\004 \001(\t\022\020\n\010scene_id\030\005 \001(\003\022\021\n\tp" +
"arent_id\030\006 \001(\003\"\210\001\n\014RaceTaskBind\022\017\n\007bind_" +
"id\030\002 \001(\003\0222\n\tbind_type\030\003 \001(\0162\037.race.RaceT" +
"askBind.TaskBindType\022\016\n\006status\030\004 \001(\005\"#\n\014" +
"TaskBindType\022\010\n\004rule\020\000\022\t\n\005scene\020\001\"\205\002\n\023Ra" +
"cePaperModuleTask\022\030\n\020custom_module_id\030\001 " +
"\001(\005\022@\n\014module_group\030\002 \003(\0132*.race.RacePap" +
"erModuleTask.PaperModuleGroup\032\221\001\n\020PaperM" +
"oduleGroup\022\022\n\ngroup_name\030\001 \001(\t\022\'\n\010treeDa" +
"ta\030\002 \003(\0132\025.race.RaceTaskChildVO\022@\n\014modul" +
"e_group\030\003 \003(\0132*.race.RacePaperModuleTask" +
".PaperModuleGroup\"\312\002\n\017RaceTaskChildVO\022\n\n" +
"\002id\030\001 \001(\003\022\014\n\004name\030\002 \001(\t\022\014\n\004desc\030\003 \001(\t\022\017\n" +
"\007content\030\004 \001(\t\022\021\n\tstandards\030\005 \001(\t\022\020\n\010sce" +
"ne_id\030\006 \001(\003\022\017\n\007rule_id\030\007 \001(\003\022\021\n\tparent_i" +
"d\030\010 \001(\003\022\'\n\010children\030\t \003(\0132\025.race.RaceTas" +
"kChildVO\0226\n\tnode_type\030\n \001(\0162#.race.RaceT" +
"askChildVO.ChildNodeType\022\'\n\tsceneType\030\013 " +
"\001(\0162\024.race.RaceScene.Type\"+\n\rChildNodeTy" +
"pe\022\020\n\014MODULE_GROUP\020\000\022\010\n\004TASK\020\001\"`\n\036RacePa" +
"perSingleModuleGroupTask\022\030\n\020custom_modul" +
"e_id\030\001 \001(\005\022$\n\005child\030\002 \003(\0132\025.race.RaceTas" +
"kChildVOB\033\n\031club.joylink.rtss.vo.raceb\006p" +
"roto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,

View File

@ -329,7 +329,7 @@
#{d}
</foreach>
UNION all
select A.id,A.name,A.desc,A.content,A.standards,A.score_rule_id,A.score_rule_id as ruleId,A.parent_id from racetr_task A, task B where A.parent_id = B.id)
select A.id,A.name,A.desc,A.content,A.standards,A.scene_id,A.score_rule_id as ruleId,A.parent_id from racetr_task A, task B where A.parent_id = B.id)
select A.*,B.type as sceneType from task A left join racetr_scene B on A.scene_id = B.id
</select>
</mapper>