瀏覽代碼

新增上课准备修改接口

jyq 4 年之前
父節點
當前提交
f4dd2598d4

+ 46 - 16
api/grpc/base.go

@@ -965,6 +965,35 @@ func (a Api) ClassStartPrepare(ctx context.Context, r *pb.CourseStandardRequest)
 	return rst, nil
 }
 
+// ClassStartPrepareEdit 上课准备修改
+func (a Api) ClassStartPrepareEdit(ctx context.Context, r *pb.CourseStandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.courseToGoVerify(ctx, r)
+
+	rs := service.Course{}.ClassStartPrepareEdit(token, q.ShopID, q.JsonStr, sign)
+	if !a.checkRs(rs) {
+		rst := a.toWebFunc(rs)
+		return rst, nil
+	}
+	if q.IsHr == 1 {
+		hrRs := service.Hr{}.ClassStartPrepareEdit(token, q.ShopID, q.JsonStr, sign)
+		if !a.checkRs(hrRs) {
+			rst := a.toWebFunc(rs)
+			return rst, nil
+		}
+	}
+	if q.IsScore == 1 {
+		// todo 调用评分系统接口
+		if !a.checkRs(rs) {
+			rst := a.toWebFunc(rs)
+			return rst, nil
+		}
+	}
+
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
 // VipClassDetailQuery 会员上课详情查询
 func (a Api) VipClassDetailQuery(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
 	// 获取token,并验证签名函数
@@ -1105,24 +1134,25 @@ func (a Api) ClassStartConfirm(ctx context.Context, r *pb.CourseStandardRequest)
 	// 获取token,并验证签名函数
 	token, q, sign := a.courseToGoVerify(ctx, r)
 
-	rs := service.Course{}.ClassStartConfirm(token, q.ShopID, q.JsonStr, sign)
-	if !a.checkRs(rs) {
-		rst := a.toWebFunc(rs)
-		return rst, nil
-	}
-	if q.IsHr == 1 {
-		hrRs := service.Hr{}.HrClassStartConfirm(token, q.ShopID, q.JsonStr, sign)
-		if !a.checkRs(hrRs) {
-			rst := a.toWebFunc(rs)
-			return rst, nil
-		}
-	}
-	if q.IsScore == 1 {
-		// todo 调用评分系统接口
-	}
+	//rs := service.Course{}.ClassStartConfirm(token, q.ShopID, q.JsonStr, sign)
+	//if !a.checkRs(rs) {
+	//	rst := a.toWebFunc(rs)
+	//	return rst, nil
+	//}
+	//if q.IsHr == 1 {
+	//	hrRs := service.Hr{}.HrClassStartConfirm(token, q.ShopID, q.JsonStr, sign)
+	//	if !a.checkRs(hrRs) {
+	//		rst := a.toWebFunc(rs)
+	//		return rst, nil
+	//	}
+	//}
+	//if q.IsScore == 1 {
+	//	// todo 调用评分系统接口
+	//}
 	// todo 所有步骤执行成功后,调用课程Sn查询接口,生成R1验证Redis
 	// todo 使用StdId查询课程绑定显示端EqSn列表,内容为EqSnList,DuIdList
-	service.HrRedis{}.ClassStartR1AndOnClassByUUStdID(token, q.ShopID, q.UUStdID)
+	rs := service.HrRedis{}.ClassStartR1AndOnClassByUUStdID(token, q.ShopID, q.UUStdID)
+	println(sign)
 	rst := a.toWebFunc(rs)
 	return rst, nil
 }

+ 236 - 229
api/grpc/base/base.pb.go

@@ -2419,7 +2419,7 @@ var file_base_proto_rawDesc = []byte{
 	0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x69, 0x67,
 	0x6e, 0x55, 0x70, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x10,
 	0x02, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77,
-	0x6f, 0x72, 0x64, 0x10, 0x03, 0x32, 0xbc, 0x42, 0x0a, 0x03, 0x41, 0x70, 0x69, 0x12, 0x33, 0x0a,
+	0x6f, 0x72, 0x64, 0x10, 0x03, 0x32, 0x89, 0x43, 0x0a, 0x03, 0x41, 0x70, 0x69, 0x12, 0x33, 0x0a,
 	0x06, 0x53, 0x69, 0x67, 0x6e, 0x55, 0x70, 0x12, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
 	0x69, 0x67, 0x6e, 0x55, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x62,
 	0x61, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79,
@@ -2863,96 +2863,101 @@ var file_base_proto_rawDesc = []byte{
 	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x53, 0x74, 0x61, 0x6e,
 	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61,
 	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79,
-	0x22, 0x00, 0x12, 0x3e, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x51,
-	0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e,
+	0x22, 0x00, 0x12, 0x4b, 0x0a, 0x15, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74,
+	0x50, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x45, 0x64, 0x69, 0x74, 0x12, 0x1b, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x43, 0x6f, 0x75, 0x72, 0x73, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
+	0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12,
+	0x3e, 0x0a, 0x0e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x51, 0x75, 0x65, 0x72,
+	0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
+	0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12,
+	0x41, 0x0a, 0x11, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x42, 0x79, 0x4d, 0x61, 0x6e,
+	0x61, 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e,
 	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61,
 	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79,
-	0x22, 0x00, 0x12, 0x41, 0x0a, 0x11, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x41, 0x64, 0x64, 0x42, 0x79,
-	0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
-	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13,
-	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
-	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x61,
-	0x6e, 0x63, 0x65, 0x6c, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e,
-	0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e,
-	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0f, 0x4f,
-	0x72, 0x64, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x15,
-	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61,
-	0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0f,
-	0x43, 0x6c, 0x61, 0x73, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
+	0x22, 0x00, 0x12, 0x44, 0x0a, 0x14, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x43, 0x61, 0x6e, 0x63, 0x65,
+	0x6c, 0x42, 0x79, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73,
+	0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0f, 0x4f, 0x72, 0x64, 0x65,
+	0x72, 0x53, 0x74, 0x61, 0x74, 0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
+	0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0f, 0x43, 0x6c, 0x61,
+	0x73, 0x73, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x62,
+	0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
+	0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x11, 0x56, 0x69,
+	0x70, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12,
 	0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52,
 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
-	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a,
-	0x11, 0x56, 0x69, 0x70, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x75, 0x65,
-	0x72, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
-	0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65,
-	0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00,
-	0x12, 0x43, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x75, 0x65,
-	0x72, 0x79, 0x42, 0x79, 0x53, 0x74, 0x64, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
-	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13,
-	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
-	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x14, 0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f,
-	0x72, 0x73, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e,
+	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x43, 0x0a,
+	0x13, 0x55, 0x73, 0x65, 0x72, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42,
+	0x79, 0x53, 0x74, 0x64, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e,
+	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x00, 0x12, 0x44, 0x0a, 0x14, 0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x50,
+	0x75, 0x62, 0x6c, 0x69, 0x63, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73,
+	0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72,
+	0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x11, 0x48, 0x72, 0x53, 0x65,
+	0x6e, 0x73, 0x6f, 0x72, 0x73, 0x50, 0x76, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x15, 0x2e,
 	0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71,
 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e,
-	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x41, 0x0a, 0x11, 0x48,
-	0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x50, 0x76, 0x74, 0x51, 0x75, 0x65, 0x72, 0x79,
-	0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
-	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
-	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c,
-	0x0a, 0x0c, 0x41, 0x64, 0x64, 0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x15,
-	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61,
-	0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0f,
-	0x41, 0x64, 0x64, 0x50, 0x76, 0x74, 0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12,
-	0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
-	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a,
-	0x0d, 0x45, 0x64, 0x69, 0x74, 0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x15,
-	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61,
-	0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0c,
-	0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x12, 0x15, 0x2e, 0x62,
+	0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0c, 0x41,
+	0x64, 0x64, 0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
+	0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3f, 0x0a, 0x0f, 0x41, 0x64, 0x64,
+	0x50, 0x76, 0x74, 0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x15, 0x2e, 0x62,
 	0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75,
 	0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
-	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0a, 0x50, 0x4b,
-	0x47, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x68, 0x67, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
-	0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52,
-	0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x48, 0x72,
-	0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
-	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e,
-	0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x0e, 0x55, 0x6e, 0x42, 0x69, 0x6e, 0x64, 0x48, 0x72,
-	0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
-	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e,
-	0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x00, 0x12, 0x3b, 0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75,
-	0x65, 0x72, 0x79, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3d, 0x0a, 0x0d, 0x45, 0x64,
+	0x69, 0x74, 0x48, 0x72, 0x53, 0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x12, 0x15, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+	0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61,
+	0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0c, 0x48, 0x72, 0x53,
+	0x65, 0x6e, 0x73, 0x6f, 0x72, 0x73, 0x44, 0x65, 0x6c, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65,
+	0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+	0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
+	0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, 0x0a, 0x50, 0x4b, 0x47, 0x72, 0x6f,
+	0x75, 0x70, 0x43, 0x68, 0x67, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61,
+	0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62,
+	0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c,
+	0x79, 0x22, 0x00, 0x12, 0x3c, 0x0a, 0x0c, 0x42, 0x69, 0x6e, 0x64, 0x48, 0x72, 0x53, 0x65, 0x6e,
+	0x73, 0x6f, 0x72, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
 	0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73,
 	0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
-	0x00, 0x12, 0x52, 0x0a, 0x16, 0x47, 0x65, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x49, 0x6d,
-	0x61, 0x67, 0x65, 0x42, 0x79, 0x57, 0x69, 0x6e, 0x58, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x62, 0x61,
-	0x73, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x49, 0x6d, 0x61, 0x67,
-	0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
+	0x00, 0x12, 0x3e, 0x0a, 0x0e, 0x55, 0x6e, 0x42, 0x69, 0x6e, 0x64, 0x48, 0x72, 0x53, 0x65, 0x6e,
+	0x73, 0x6f, 0x72, 0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73,
+	0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
+	0x00, 0x12, 0x3b, 0x0a, 0x0b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x51, 0x75, 0x65, 0x72, 0x79,
+	0x12, 0x15, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64,
+	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53,
+	0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x52,
+	0x0a, 0x16, 0x47, 0x65, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65,
+	0x42, 0x79, 0x57, 0x69, 0x6e, 0x58, 0x69, 0x6e, 0x12, 0x1b, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e,
 	0x47, 0x65, 0x6e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65,
-	0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x50, 0x68, 0x6f, 0x6e,
-	0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x57, 0x65, 0x69,
-	0x58, 0x69, 0x6e, 0x12, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x50, 0x68,
-	0x6f, 0x6e, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x57, 0x58, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74,
-	0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x45, 0x0a,
-	0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65,
-	0x12, 0x1c, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x56, 0x65, 0x72,
-	0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12,
-	0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x00, 0x12, 0x3e, 0x0a, 0x0c, 0x57, 0x65, 0x69, 0x58, 0x69, 0x6e, 0x53, 0x69,
-	0x67, 0x6e, 0x49, 0x6e, 0x12, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x58,
-	0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
-	0x11, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x70,
-	0x6c, 0x79, 0x22, 0x00, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x62, 0x06,
-	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x6e,
+	0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79,
+	0x22, 0x00, 0x12, 0x56, 0x0a, 0x1a, 0x47, 0x65, 0x6e, 0x50, 0x68, 0x6f, 0x6e, 0x65, 0x56, 0x65,
+	0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x79, 0x57, 0x65, 0x69, 0x58, 0x69, 0x6e,
+	0x12, 0x21, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x47, 0x65, 0x6e, 0x50, 0x68, 0x6f, 0x6e, 0x65,
+	0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x57, 0x58, 0x1a, 0x13, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x6e, 0x64,
+	0x61, 0x72, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x45, 0x0a, 0x0f, 0x43, 0x68,
+	0x65, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x1c, 0x2e,
+	0x62, 0x61, 0x73, 0x65, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79,
+	0x43, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x62, 0x61,
+	0x73, 0x65, 0x2e, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
+	0x00, 0x12, 0x3e, 0x0a, 0x0c, 0x57, 0x65, 0x69, 0x58, 0x69, 0x6e, 0x53, 0x69, 0x67, 0x6e, 0x49,
+	0x6e, 0x12, 0x19, 0x2e, 0x62, 0x61, 0x73, 0x65, 0x2e, 0x57, 0x65, 0x69, 0x58, 0x69, 0x6e, 0x53,
+	0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x62,
+	0x61, 0x73, 0x65, 0x2e, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22,
+	0x00, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x33,
 }
 
 var (
@@ -3124,155 +3129,157 @@ var file_base_proto_depIdxs = []int32{
 	5,   // 114: base.Api.ClassOverConfirm:input_type -> base.StandardRequest
 	6,   // 115: base.Api.ClassGiveUpConfirm:input_type -> base.CourseStandardRequest
 	6,   // 116: base.Api.AfterClassAddClassDetail:input_type -> base.CourseStandardRequest
-	5,   // 117: base.Api.OrderListQuery:input_type -> base.StandardRequest
-	5,   // 118: base.Api.OrderAddByManager:input_type -> base.StandardRequest
-	5,   // 119: base.Api.OrderCancelByManager:input_type -> base.StandardRequest
-	5,   // 120: base.Api.OrderStatistics:input_type -> base.StandardRequest
-	5,   // 121: base.Api.ClassOrderQuery:input_type -> base.StandardRequest
-	5,   // 122: base.Api.VipUserOrderQuery:input_type -> base.StandardRequest
-	5,   // 123: base.Api.UserOrderQueryByStd:input_type -> base.StandardRequest
-	5,   // 124: base.Api.HrSensorsPublicQuery:input_type -> base.StandardRequest
-	5,   // 125: base.Api.HrSensorsPvtQuery:input_type -> base.StandardRequest
-	5,   // 126: base.Api.AddHrSensors:input_type -> base.StandardRequest
-	5,   // 127: base.Api.AddPvtHrSensors:input_type -> base.StandardRequest
-	5,   // 128: base.Api.EditHrSensors:input_type -> base.StandardRequest
-	5,   // 129: base.Api.HrSensorsDel:input_type -> base.StandardRequest
-	5,   // 130: base.Api.PKGroupChg:input_type -> base.StandardRequest
-	5,   // 131: base.Api.BindHrSensor:input_type -> base.StandardRequest
-	5,   // 132: base.Api.UnBindHrSensor:input_type -> base.StandardRequest
-	5,   // 133: base.Api.ActionQuery:input_type -> base.StandardRequest
-	11,  // 134: base.Api.GenVerifyImageByWinXin:input_type -> base.GenVerifyImageRequest
-	29,  // 135: base.Api.GenPhoneVerifyCodeByWeiXin:input_type -> base.GenPhoneVerifyCodeRequestWX
-	30,  // 136: base.Api.CheckVerifyCode:input_type -> base.CheckVerifyCodeRequest
-	31,  // 137: base.Api.WeiXinSignIn:input_type -> base.WeiXinSignInRequest
-	4,   // 138: base.Api.SignUp:output_type -> base.DefaultReply
-	9,   // 139: base.Api.SignIn:output_type -> base.SignInReply
-	4,   // 140: base.Api.SignOut:output_type -> base.DefaultReply
-	12,  // 141: base.Api.GenVerifyImage:output_type -> base.GenVerifyImageReply
-	7,   // 142: base.Api.SelectHrSensors:output_type -> base.StandardReply
-	7,   // 143: base.Api.AcrossUserSimpleQuery:output_type -> base.StandardReply
-	7,   // 144: base.Api.VipUserSimpleQuery:output_type -> base.StandardReply
-	7,   // 145: base.Api.TempVipUserSimpleQuery:output_type -> base.StandardReply
-	7,   // 146: base.Api.ShopSimpleQuery:output_type -> base.StandardReply
-	33,  // 147: base.Api.ManageableSimpleQuery:output_type -> base.ManageableSimpleQueryReply
-	7,   // 148: base.Api.ClassSimpleQuery:output_type -> base.StandardReply
-	7,   // 149: base.Api.ScreenSimpleQuery:output_type -> base.StandardReply
-	7,   // 150: base.Api.GroupSimpleQueryByShopID:output_type -> base.StandardReply
-	7,   // 151: base.Api.EqSimpleQuery:output_type -> base.StandardReply
-	16,  // 152: base.Api.ManageableShopList:output_type -> base.ShopListReply
-	13,  // 153: base.Api.ManageableGetShopInfo:output_type -> base.ShopInfo
-	25,  // 154: base.Api.ShopLicenseList:output_type -> base.LicenseList
-	28,  // 155: base.Api.ShopLicenseTypeMap:output_type -> base.LicenseTypeMapReply
-	20,  // 156: base.Api.GetShopNavi:output_type -> base.GetShopNaviReply
-	21,  // 157: base.Api.GetShopNaviAll:output_type -> base.GetShopNaviAllReply
-	7,   // 158: base.Api.ShopGroupQuery:output_type -> base.StandardReply
-	7,   // 159: base.Api.ShopGroupAdd:output_type -> base.StandardReply
-	7,   // 160: base.Api.ShopGroupEdit:output_type -> base.StandardReply
-	7,   // 161: base.Api.ShopGroupStatusEdit:output_type -> base.StandardReply
-	7,   // 162: base.Api.ShopGroupDetailsQuery:output_type -> base.StandardReply
-	7,   // 163: base.Api.ShopGroupDetailsAdd:output_type -> base.StandardReply
-	7,   // 164: base.Api.ShopVenueQuery:output_type -> base.StandardReply
-	7,   // 165: base.Api.ShopVenueAdd:output_type -> base.StandardReply
-	7,   // 166: base.Api.ShopVenueEdit:output_type -> base.StandardReply
-	7,   // 167: base.Api.ShopVenueStatusEdit:output_type -> base.StandardReply
-	7,   // 168: base.Api.ShopVenueEquipQuery:output_type -> base.StandardReply
-	7,   // 169: base.Api.ShopVenueEquipAdd:output_type -> base.StandardReply
-	7,   // 170: base.Api.ShopVenueEquipEdit:output_type -> base.StandardReply
-	7,   // 171: base.Api.ShopVenueEquipStatusEdit:output_type -> base.StandardReply
-	7,   // 172: base.Api.ShopVenueEquipStatusDel:output_type -> base.StandardReply
-	7,   // 173: base.Api.ShopManagerQuery:output_type -> base.StandardReply
-	7,   // 174: base.Api.ShopManagerAdd:output_type -> base.StandardReply
-	7,   // 175: base.Api.ShopManagerEdit:output_type -> base.StandardReply
-	7,   // 176: base.Api.ShopManagerStatusEdit:output_type -> base.StandardReply
-	7,   // 177: base.Api.ShopConfigQuery:output_type -> base.StandardReply
-	7,   // 178: base.Api.ShopConfigEdit:output_type -> base.StandardReply
-	7,   // 179: base.Api.ShopVipUserQuery:output_type -> base.StandardReply
-	7,   // 180: base.Api.ShopVipUserAdd:output_type -> base.StandardReply
-	7,   // 181: base.Api.ShopVipUserEdit:output_type -> base.StandardReply
-	7,   // 182: base.Api.ShopVipUserStatusEdit:output_type -> base.StandardReply
-	7,   // 183: base.Api.AcrossVipUserQuery:output_type -> base.StandardReply
-	7,   // 184: base.Api.AcrossVipUserAdd:output_type -> base.StandardReply
-	7,   // 185: base.Api.AcrossVipUserDel:output_type -> base.StandardReply
-	7,   // 186: base.Api.VipPhoneQuery:output_type -> base.StandardReply
-	7,   // 187: base.Api.VipMainPhoneCheck:output_type -> base.StandardReply
-	7,   // 188: base.Api.VipOtherPhoneAdd:output_type -> base.StandardReply
-	7,   // 189: base.Api.VipOtherPhoneEdit:output_type -> base.StandardReply
-	7,   // 190: base.Api.VipOtherPhoneStatusEdit:output_type -> base.StandardReply
-	7,   // 191: base.Api.TempVipUserQuery:output_type -> base.StandardReply
-	7,   // 192: base.Api.TempVipUserAdd:output_type -> base.StandardReply
-	7,   // 193: base.Api.TempVipUserEdit:output_type -> base.StandardReply
-	7,   // 194: base.Api.TempVipUserStatusEdit:output_type -> base.StandardReply
-	7,   // 195: base.Api.VipHourEdit:output_type -> base.StandardReply
-	7,   // 196: base.Api.VipConsumeListQuery:output_type -> base.StandardReply
-	7,   // 197: base.Api.VipConsumeDetailQuery:output_type -> base.StandardReply
-	7,   // 198: base.Api.VipClassRelationEdit:output_type -> base.StandardReply
-	7,   // 199: base.Api.VipHourChgQuery:output_type -> base.StandardReply
-	7,   // 200: base.Api.VipUserClassQuery:output_type -> base.StandardReply
-	23,  // 201: base.Api.GetOverlayImgQiNiuToken:output_type -> base.QiNiuTokenReply
-	23,  // 202: base.Api.GetSimpleQiNiuToken:output_type -> base.QiNiuTokenReply
-	7,   // 203: base.Api.ClassQuery:output_type -> base.StandardReply
-	7,   // 204: base.Api.ClassAdd:output_type -> base.StandardReply
-	7,   // 205: base.Api.ClassEdit:output_type -> base.StandardReply
-	7,   // 206: base.Api.ClassStatusEdit:output_type -> base.StandardReply
-	7,   // 207: base.Api.ClassColorEdit:output_type -> base.StandardReply
-	7,   // 208: base.Api.ClassWxVisibleEdit:output_type -> base.StandardReply
-	7,   // 209: base.Api.ClassVipEdit:output_type -> base.StandardReply
-	7,   // 210: base.Api.SttPlanBasicQuery:output_type -> base.StandardReply
-	7,   // 211: base.Api.SttPlanBasicAdd:output_type -> base.StandardReply
-	7,   // 212: base.Api.SttPlanBasicEdit:output_type -> base.StandardReply
-	7,   // 213: base.Api.SttPlanBasicShopEdit:output_type -> base.StandardReply
-	7,   // 214: base.Api.SttPlanBasicStatusEdit:output_type -> base.StandardReply
-	7,   // 215: base.Api.SttPlanBasicPublish:output_type -> base.StandardReply
-	7,   // 216: base.Api.SttPlanPreview:output_type -> base.StandardReply
-	7,   // 217: base.Api.SttPlanCopy:output_type -> base.StandardReply
-	7,   // 218: base.Api.SttPlanDetailQuery:output_type -> base.StandardReply
-	7,   // 219: base.Api.SttPlanDetailBatchSave:output_type -> base.StandardReply
-	7,   // 220: base.Api.STTBasicQuery:output_type -> base.StandardReply
-	7,   // 221: base.Api.STTBasicAdd:output_type -> base.StandardReply
-	7,   // 222: base.Api.STTBasicEdit:output_type -> base.StandardReply
-	7,   // 223: base.Api.STTBasicStatusEdit:output_type -> base.StandardReply
-	7,   // 224: base.Api.STTBasicPreview:output_type -> base.StandardReply
-	7,   // 225: base.Api.STTBasicCopy:output_type -> base.StandardReply
-	7,   // 226: base.Api.STTBasicOfflineEdit:output_type -> base.StandardReply
-	7,   // 227: base.Api.STTDetailListQuery:output_type -> base.StandardReply
-	7,   // 228: base.Api.STTBasicDetailBatchSave:output_type -> base.StandardReply
-	7,   // 229: base.Api.STTDetailAllowDelCheck:output_type -> base.StandardReply
-	7,   // 230: base.Api.CourseDetailQuery:output_type -> base.StandardReply
-	7,   // 231: base.Api.ClassListByOrderDate:output_type -> base.StandardReply
-	7,   // 232: base.Api.ClassStartPrepare:output_type -> base.StandardReply
-	7,   // 233: base.Api.VipClassDetailQuery:output_type -> base.StandardReply
-	7,   // 234: base.Api.VipClassDetailAdd:output_type -> base.StandardReply
-	7,   // 235: base.Api.VipClassDetailDel:output_type -> base.StandardReply
-	7,   // 236: base.Api.TmpClassDetailAdd:output_type -> base.StandardReply
-	7,   // 237: base.Api.TmpClassDetailDel:output_type -> base.StandardReply
-	7,   // 238: base.Api.VipClassDetailStatueEdit:output_type -> base.StandardReply
-	7,   // 239: base.Api.ClassStartConfirm:output_type -> base.StandardReply
-	7,   // 240: base.Api.ClassOverConfirm:output_type -> base.StandardReply
-	7,   // 241: base.Api.ClassGiveUpConfirm:output_type -> base.StandardReply
-	7,   // 242: base.Api.AfterClassAddClassDetail:output_type -> base.StandardReply
-	7,   // 243: base.Api.OrderListQuery:output_type -> base.StandardReply
-	7,   // 244: base.Api.OrderAddByManager:output_type -> base.StandardReply
-	7,   // 245: base.Api.OrderCancelByManager:output_type -> base.StandardReply
-	7,   // 246: base.Api.OrderStatistics:output_type -> base.StandardReply
-	7,   // 247: base.Api.ClassOrderQuery:output_type -> base.StandardReply
-	7,   // 248: base.Api.VipUserOrderQuery:output_type -> base.StandardReply
-	7,   // 249: base.Api.UserOrderQueryByStd:output_type -> base.StandardReply
-	7,   // 250: base.Api.HrSensorsPublicQuery:output_type -> base.StandardReply
-	7,   // 251: base.Api.HrSensorsPvtQuery:output_type -> base.StandardReply
-	7,   // 252: base.Api.AddHrSensors:output_type -> base.StandardReply
-	7,   // 253: base.Api.AddPvtHrSensors:output_type -> base.StandardReply
-	7,   // 254: base.Api.EditHrSensors:output_type -> base.StandardReply
-	7,   // 255: base.Api.HrSensorsDel:output_type -> base.StandardReply
-	7,   // 256: base.Api.PKGroupChg:output_type -> base.StandardReply
-	7,   // 257: base.Api.BindHrSensor:output_type -> base.StandardReply
-	7,   // 258: base.Api.UnBindHrSensor:output_type -> base.StandardReply
-	7,   // 259: base.Api.ActionQuery:output_type -> base.StandardReply
-	12,  // 260: base.Api.GenVerifyImageByWinXin:output_type -> base.GenVerifyImageReply
-	7,   // 261: base.Api.GenPhoneVerifyCodeByWeiXin:output_type -> base.StandardReply
-	4,   // 262: base.Api.CheckVerifyCode:output_type -> base.DefaultReply
-	9,   // 263: base.Api.WeiXinSignIn:output_type -> base.SignInReply
-	138, // [138:264] is the sub-list for method output_type
-	12,  // [12:138] is the sub-list for method input_type
+	6,   // 117: base.Api.ClassStartPrepareEdit:input_type -> base.CourseStandardRequest
+	5,   // 118: base.Api.OrderListQuery:input_type -> base.StandardRequest
+	5,   // 119: base.Api.OrderAddByManager:input_type -> base.StandardRequest
+	5,   // 120: base.Api.OrderCancelByManager:input_type -> base.StandardRequest
+	5,   // 121: base.Api.OrderStatistics:input_type -> base.StandardRequest
+	5,   // 122: base.Api.ClassOrderQuery:input_type -> base.StandardRequest
+	5,   // 123: base.Api.VipUserOrderQuery:input_type -> base.StandardRequest
+	5,   // 124: base.Api.UserOrderQueryByStd:input_type -> base.StandardRequest
+	5,   // 125: base.Api.HrSensorsPublicQuery:input_type -> base.StandardRequest
+	5,   // 126: base.Api.HrSensorsPvtQuery:input_type -> base.StandardRequest
+	5,   // 127: base.Api.AddHrSensors:input_type -> base.StandardRequest
+	5,   // 128: base.Api.AddPvtHrSensors:input_type -> base.StandardRequest
+	5,   // 129: base.Api.EditHrSensors:input_type -> base.StandardRequest
+	5,   // 130: base.Api.HrSensorsDel:input_type -> base.StandardRequest
+	5,   // 131: base.Api.PKGroupChg:input_type -> base.StandardRequest
+	5,   // 132: base.Api.BindHrSensor:input_type -> base.StandardRequest
+	5,   // 133: base.Api.UnBindHrSensor:input_type -> base.StandardRequest
+	5,   // 134: base.Api.ActionQuery:input_type -> base.StandardRequest
+	11,  // 135: base.Api.GenVerifyImageByWinXin:input_type -> base.GenVerifyImageRequest
+	29,  // 136: base.Api.GenPhoneVerifyCodeByWeiXin:input_type -> base.GenPhoneVerifyCodeRequestWX
+	30,  // 137: base.Api.CheckVerifyCode:input_type -> base.CheckVerifyCodeRequest
+	31,  // 138: base.Api.WeiXinSignIn:input_type -> base.WeiXinSignInRequest
+	4,   // 139: base.Api.SignUp:output_type -> base.DefaultReply
+	9,   // 140: base.Api.SignIn:output_type -> base.SignInReply
+	4,   // 141: base.Api.SignOut:output_type -> base.DefaultReply
+	12,  // 142: base.Api.GenVerifyImage:output_type -> base.GenVerifyImageReply
+	7,   // 143: base.Api.SelectHrSensors:output_type -> base.StandardReply
+	7,   // 144: base.Api.AcrossUserSimpleQuery:output_type -> base.StandardReply
+	7,   // 145: base.Api.VipUserSimpleQuery:output_type -> base.StandardReply
+	7,   // 146: base.Api.TempVipUserSimpleQuery:output_type -> base.StandardReply
+	7,   // 147: base.Api.ShopSimpleQuery:output_type -> base.StandardReply
+	33,  // 148: base.Api.ManageableSimpleQuery:output_type -> base.ManageableSimpleQueryReply
+	7,   // 149: base.Api.ClassSimpleQuery:output_type -> base.StandardReply
+	7,   // 150: base.Api.ScreenSimpleQuery:output_type -> base.StandardReply
+	7,   // 151: base.Api.GroupSimpleQueryByShopID:output_type -> base.StandardReply
+	7,   // 152: base.Api.EqSimpleQuery:output_type -> base.StandardReply
+	16,  // 153: base.Api.ManageableShopList:output_type -> base.ShopListReply
+	13,  // 154: base.Api.ManageableGetShopInfo:output_type -> base.ShopInfo
+	25,  // 155: base.Api.ShopLicenseList:output_type -> base.LicenseList
+	28,  // 156: base.Api.ShopLicenseTypeMap:output_type -> base.LicenseTypeMapReply
+	20,  // 157: base.Api.GetShopNavi:output_type -> base.GetShopNaviReply
+	21,  // 158: base.Api.GetShopNaviAll:output_type -> base.GetShopNaviAllReply
+	7,   // 159: base.Api.ShopGroupQuery:output_type -> base.StandardReply
+	7,   // 160: base.Api.ShopGroupAdd:output_type -> base.StandardReply
+	7,   // 161: base.Api.ShopGroupEdit:output_type -> base.StandardReply
+	7,   // 162: base.Api.ShopGroupStatusEdit:output_type -> base.StandardReply
+	7,   // 163: base.Api.ShopGroupDetailsQuery:output_type -> base.StandardReply
+	7,   // 164: base.Api.ShopGroupDetailsAdd:output_type -> base.StandardReply
+	7,   // 165: base.Api.ShopVenueQuery:output_type -> base.StandardReply
+	7,   // 166: base.Api.ShopVenueAdd:output_type -> base.StandardReply
+	7,   // 167: base.Api.ShopVenueEdit:output_type -> base.StandardReply
+	7,   // 168: base.Api.ShopVenueStatusEdit:output_type -> base.StandardReply
+	7,   // 169: base.Api.ShopVenueEquipQuery:output_type -> base.StandardReply
+	7,   // 170: base.Api.ShopVenueEquipAdd:output_type -> base.StandardReply
+	7,   // 171: base.Api.ShopVenueEquipEdit:output_type -> base.StandardReply
+	7,   // 172: base.Api.ShopVenueEquipStatusEdit:output_type -> base.StandardReply
+	7,   // 173: base.Api.ShopVenueEquipStatusDel:output_type -> base.StandardReply
+	7,   // 174: base.Api.ShopManagerQuery:output_type -> base.StandardReply
+	7,   // 175: base.Api.ShopManagerAdd:output_type -> base.StandardReply
+	7,   // 176: base.Api.ShopManagerEdit:output_type -> base.StandardReply
+	7,   // 177: base.Api.ShopManagerStatusEdit:output_type -> base.StandardReply
+	7,   // 178: base.Api.ShopConfigQuery:output_type -> base.StandardReply
+	7,   // 179: base.Api.ShopConfigEdit:output_type -> base.StandardReply
+	7,   // 180: base.Api.ShopVipUserQuery:output_type -> base.StandardReply
+	7,   // 181: base.Api.ShopVipUserAdd:output_type -> base.StandardReply
+	7,   // 182: base.Api.ShopVipUserEdit:output_type -> base.StandardReply
+	7,   // 183: base.Api.ShopVipUserStatusEdit:output_type -> base.StandardReply
+	7,   // 184: base.Api.AcrossVipUserQuery:output_type -> base.StandardReply
+	7,   // 185: base.Api.AcrossVipUserAdd:output_type -> base.StandardReply
+	7,   // 186: base.Api.AcrossVipUserDel:output_type -> base.StandardReply
+	7,   // 187: base.Api.VipPhoneQuery:output_type -> base.StandardReply
+	7,   // 188: base.Api.VipMainPhoneCheck:output_type -> base.StandardReply
+	7,   // 189: base.Api.VipOtherPhoneAdd:output_type -> base.StandardReply
+	7,   // 190: base.Api.VipOtherPhoneEdit:output_type -> base.StandardReply
+	7,   // 191: base.Api.VipOtherPhoneStatusEdit:output_type -> base.StandardReply
+	7,   // 192: base.Api.TempVipUserQuery:output_type -> base.StandardReply
+	7,   // 193: base.Api.TempVipUserAdd:output_type -> base.StandardReply
+	7,   // 194: base.Api.TempVipUserEdit:output_type -> base.StandardReply
+	7,   // 195: base.Api.TempVipUserStatusEdit:output_type -> base.StandardReply
+	7,   // 196: base.Api.VipHourEdit:output_type -> base.StandardReply
+	7,   // 197: base.Api.VipConsumeListQuery:output_type -> base.StandardReply
+	7,   // 198: base.Api.VipConsumeDetailQuery:output_type -> base.StandardReply
+	7,   // 199: base.Api.VipClassRelationEdit:output_type -> base.StandardReply
+	7,   // 200: base.Api.VipHourChgQuery:output_type -> base.StandardReply
+	7,   // 201: base.Api.VipUserClassQuery:output_type -> base.StandardReply
+	23,  // 202: base.Api.GetOverlayImgQiNiuToken:output_type -> base.QiNiuTokenReply
+	23,  // 203: base.Api.GetSimpleQiNiuToken:output_type -> base.QiNiuTokenReply
+	7,   // 204: base.Api.ClassQuery:output_type -> base.StandardReply
+	7,   // 205: base.Api.ClassAdd:output_type -> base.StandardReply
+	7,   // 206: base.Api.ClassEdit:output_type -> base.StandardReply
+	7,   // 207: base.Api.ClassStatusEdit:output_type -> base.StandardReply
+	7,   // 208: base.Api.ClassColorEdit:output_type -> base.StandardReply
+	7,   // 209: base.Api.ClassWxVisibleEdit:output_type -> base.StandardReply
+	7,   // 210: base.Api.ClassVipEdit:output_type -> base.StandardReply
+	7,   // 211: base.Api.SttPlanBasicQuery:output_type -> base.StandardReply
+	7,   // 212: base.Api.SttPlanBasicAdd:output_type -> base.StandardReply
+	7,   // 213: base.Api.SttPlanBasicEdit:output_type -> base.StandardReply
+	7,   // 214: base.Api.SttPlanBasicShopEdit:output_type -> base.StandardReply
+	7,   // 215: base.Api.SttPlanBasicStatusEdit:output_type -> base.StandardReply
+	7,   // 216: base.Api.SttPlanBasicPublish:output_type -> base.StandardReply
+	7,   // 217: base.Api.SttPlanPreview:output_type -> base.StandardReply
+	7,   // 218: base.Api.SttPlanCopy:output_type -> base.StandardReply
+	7,   // 219: base.Api.SttPlanDetailQuery:output_type -> base.StandardReply
+	7,   // 220: base.Api.SttPlanDetailBatchSave:output_type -> base.StandardReply
+	7,   // 221: base.Api.STTBasicQuery:output_type -> base.StandardReply
+	7,   // 222: base.Api.STTBasicAdd:output_type -> base.StandardReply
+	7,   // 223: base.Api.STTBasicEdit:output_type -> base.StandardReply
+	7,   // 224: base.Api.STTBasicStatusEdit:output_type -> base.StandardReply
+	7,   // 225: base.Api.STTBasicPreview:output_type -> base.StandardReply
+	7,   // 226: base.Api.STTBasicCopy:output_type -> base.StandardReply
+	7,   // 227: base.Api.STTBasicOfflineEdit:output_type -> base.StandardReply
+	7,   // 228: base.Api.STTDetailListQuery:output_type -> base.StandardReply
+	7,   // 229: base.Api.STTBasicDetailBatchSave:output_type -> base.StandardReply
+	7,   // 230: base.Api.STTDetailAllowDelCheck:output_type -> base.StandardReply
+	7,   // 231: base.Api.CourseDetailQuery:output_type -> base.StandardReply
+	7,   // 232: base.Api.ClassListByOrderDate:output_type -> base.StandardReply
+	7,   // 233: base.Api.ClassStartPrepare:output_type -> base.StandardReply
+	7,   // 234: base.Api.VipClassDetailQuery:output_type -> base.StandardReply
+	7,   // 235: base.Api.VipClassDetailAdd:output_type -> base.StandardReply
+	7,   // 236: base.Api.VipClassDetailDel:output_type -> base.StandardReply
+	7,   // 237: base.Api.TmpClassDetailAdd:output_type -> base.StandardReply
+	7,   // 238: base.Api.TmpClassDetailDel:output_type -> base.StandardReply
+	7,   // 239: base.Api.VipClassDetailStatueEdit:output_type -> base.StandardReply
+	7,   // 240: base.Api.ClassStartConfirm:output_type -> base.StandardReply
+	7,   // 241: base.Api.ClassOverConfirm:output_type -> base.StandardReply
+	7,   // 242: base.Api.ClassGiveUpConfirm:output_type -> base.StandardReply
+	7,   // 243: base.Api.AfterClassAddClassDetail:output_type -> base.StandardReply
+	7,   // 244: base.Api.ClassStartPrepareEdit:output_type -> base.StandardReply
+	7,   // 245: base.Api.OrderListQuery:output_type -> base.StandardReply
+	7,   // 246: base.Api.OrderAddByManager:output_type -> base.StandardReply
+	7,   // 247: base.Api.OrderCancelByManager:output_type -> base.StandardReply
+	7,   // 248: base.Api.OrderStatistics:output_type -> base.StandardReply
+	7,   // 249: base.Api.ClassOrderQuery:output_type -> base.StandardReply
+	7,   // 250: base.Api.VipUserOrderQuery:output_type -> base.StandardReply
+	7,   // 251: base.Api.UserOrderQueryByStd:output_type -> base.StandardReply
+	7,   // 252: base.Api.HrSensorsPublicQuery:output_type -> base.StandardReply
+	7,   // 253: base.Api.HrSensorsPvtQuery:output_type -> base.StandardReply
+	7,   // 254: base.Api.AddHrSensors:output_type -> base.StandardReply
+	7,   // 255: base.Api.AddPvtHrSensors:output_type -> base.StandardReply
+	7,   // 256: base.Api.EditHrSensors:output_type -> base.StandardReply
+	7,   // 257: base.Api.HrSensorsDel:output_type -> base.StandardReply
+	7,   // 258: base.Api.PKGroupChg:output_type -> base.StandardReply
+	7,   // 259: base.Api.BindHrSensor:output_type -> base.StandardReply
+	7,   // 260: base.Api.UnBindHrSensor:output_type -> base.StandardReply
+	7,   // 261: base.Api.ActionQuery:output_type -> base.StandardReply
+	12,  // 262: base.Api.GenVerifyImageByWinXin:output_type -> base.GenVerifyImageReply
+	7,   // 263: base.Api.GenPhoneVerifyCodeByWeiXin:output_type -> base.StandardReply
+	4,   // 264: base.Api.CheckVerifyCode:output_type -> base.DefaultReply
+	9,   // 265: base.Api.WeiXinSignIn:output_type -> base.SignInReply
+	139, // [139:266] is the sub-list for method output_type
+	12,  // [12:139] is the sub-list for method input_type
 	12,  // [12:12] is the sub-list for extension type_name
 	12,  // [12:12] is the sub-list for extension extendee
 	0,   // [0:12] is the sub-list for field type_name

+ 36 - 0
api/grpc/base/base_grpc.pb.go

@@ -129,6 +129,7 @@ type ApiClient interface {
 	ClassOverConfirm(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
 	ClassGiveUpConfirm(ctx context.Context, in *CourseStandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
 	AfterClassAddClassDetail(ctx context.Context, in *CourseStandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	ClassStartPrepareEdit(ctx context.Context, in *CourseStandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
 	// 商家预约管理
 	OrderListQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
 	OrderAddByManager(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
@@ -1109,6 +1110,15 @@ func (c *apiClient) AfterClassAddClassDetail(ctx context.Context, in *CourseStan
 	return out, nil
 }
 
+func (c *apiClient) ClassStartPrepareEdit(ctx context.Context, in *CourseStandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassStartPrepareEdit", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 func (c *apiClient) OrderListQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
 	out := new(StandardReply)
 	err := c.cc.Invoke(ctx, "/base.Api/OrderListQuery", in, out, opts...)
@@ -1413,6 +1423,7 @@ type ApiServer interface {
 	ClassOverConfirm(context.Context, *StandardRequest) (*StandardReply, error)
 	ClassGiveUpConfirm(context.Context, *CourseStandardRequest) (*StandardReply, error)
 	AfterClassAddClassDetail(context.Context, *CourseStandardRequest) (*StandardReply, error)
+	ClassStartPrepareEdit(context.Context, *CourseStandardRequest) (*StandardReply, error)
 	// 商家预约管理
 	OrderListQuery(context.Context, *StandardRequest) (*StandardReply, error)
 	OrderAddByManager(context.Context, *StandardRequest) (*StandardReply, error)
@@ -1760,6 +1771,9 @@ func (UnimplementedApiServer) ClassGiveUpConfirm(context.Context, *CourseStandar
 func (UnimplementedApiServer) AfterClassAddClassDetail(context.Context, *CourseStandardRequest) (*StandardReply, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method AfterClassAddClassDetail not implemented")
 }
+func (UnimplementedApiServer) ClassStartPrepareEdit(context.Context, *CourseStandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassStartPrepareEdit not implemented")
+}
 func (UnimplementedApiServer) OrderListQuery(context.Context, *StandardRequest) (*StandardReply, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method OrderListQuery not implemented")
 }
@@ -3726,6 +3740,24 @@ func _Api_AfterClassAddClassDetail_Handler(srv interface{}, ctx context.Context,
 	return interceptor(ctx, in, info, handler)
 }
 
+func _Api_ClassStartPrepareEdit_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(CourseStandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassStartPrepareEdit(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassStartPrepareEdit",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassStartPrepareEdit(ctx, req.(*CourseStandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 func _Api_OrderListQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(StandardRequest)
 	if err := dec(in); err != nil {
@@ -4531,6 +4563,10 @@ var Api_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "AfterClassAddClassDetail",
 			Handler:    _Api_AfterClassAddClassDetail_Handler,
 		},
+		{
+			MethodName: "ClassStartPrepareEdit",
+			Handler:    _Api_ClassStartPrepareEdit_Handler,
+		},
 		{
 			MethodName: "OrderListQuery",
 			Handler:    _Api_OrderListQuery_Handler,

+ 7 - 0
assembly/base/repository/postgre/course.go

@@ -31,6 +31,13 @@ func (PGCourse) ClassStartPrepare(optUserId int64, objectShopId int64, jsonStr s
 	return
 }
 
+func (PGCourse) ClassInfoEditBeforeStart(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_cd_info_edit_before_start(? ,? ,?, ? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
 func (PGCourse) ClassDetailListQuery(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
 	err = getClient().Raw("select fn_cd_class_detail_list_query(? ,? ,?, ? )", optUserId, objectShopId, jsonStr, verfStr).
 		Scan(&result).Error

+ 12 - 9
assembly/base/service/base.go

@@ -62,18 +62,21 @@ func (base) checkPermission(token string, shopId int64) (optId int64) {
 	return
 }
 
-func (base) JSONToMap(str string) (map[string]interface{}, error) {
-
-	var tempMap map[string]interface{}
-
-	err := json.Unmarshal([]byte(str), &tempMap)
+func (base) JSONToMap(str string) (map[string]interface{}, bool) {
+	b := false
+	var rsMap map[string]interface{}
 
+	err := json.Unmarshal([]byte(str), &rsMap)
 	if err != nil {
-		err = errors.J2MError
-		return tempMap, err
+		panic(errors.J2MError)
 	}
-
-	return tempMap, nil
+	code := int(rsMap["code"].(float64))
+	if code == 0 {
+		b = true
+	} else {
+		b = false
+	}
+	return rsMap, b
 }
 
 func (base) WebStatusCheck(s pb.WebStatus) pb.WebStatus {

+ 10 - 0
assembly/base/service/courseMGT.go

@@ -46,6 +46,16 @@ func (c Course) ClassStartPrepare(token string, objectShopId int64, jsonStr stri
 	return rst
 }
 
+func (c Course) ClassStartPrepareEdit(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := c.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGCourse{}.ClassInfoEditBeforeStart(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
 func (c Course) VipClassDetailQuery(token string, objectShopId int64, jsonStr string, sign string) string {
 	optId := c.checkPermission(token, objectShopId)
 

+ 10 - 0
assembly/base/service/hr.go

@@ -136,6 +136,16 @@ func (h Hr) HrClassStartPrepare(token string, objectShopId int64, jsonStr string
 	return rst
 }
 
+func (h Hr) ClassStartPrepareEdit(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.ClassInfoEditBeforeStart(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
 func (h Hr) HrClassDetailAdd(token string, objectShopId int64, jsonStr string, sign string) string {
 	optId := h.checkPermission(token, objectShopId)
 

+ 11 - 3
assembly/heartRate/repository/postgre/hr.go

@@ -102,6 +102,13 @@ func (PGHr) HrClassStartPrepare(optUserId int64, objectShopId int64, jsonStr str
 	return
 }
 
+func (PGHr) ClassInfoEditBeforeStart(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_hr_class_edit_before_start(? ,? ,?, ? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
 func (PGHr) HrClassDetailAdd(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
 	err = getClient().Raw("select fn_hr_class_detail_add(? ,? ,?, ? )", optUserId, objectShopId, jsonStr, verfStr).
 		Scan(&result).Error
@@ -209,8 +216,9 @@ func (p PGHr) trySaveHrSaveMap() {
 }
 
 func (PGHr) GetStdInfoAndCrIdByUUStdID(optUserId int64, objectShopId int64, uuid string) (result string, err error) {
-	//err = getClient().Raw("select fn_hr_sensors_public_sensors_query(? ,? ,?, ? )", optUserId, objectShopId, jsonStr, verfStr).
-	//	Scan(&result).Error
-	//
+	err = getClient().Raw("select fn_hr_class_start_query_for_redis(? ,? ,? )",
+		optUserId, objectShopId, uuid).
+		Scan(&result).Error
+
 	return
 }

+ 1 - 0
proto/server/base.proto

@@ -136,6 +136,7 @@ service Api {
   rpc ClassOverConfirm (StandardRequest) returns (StandardReply) {}
   rpc ClassGiveUpConfirm (CourseStandardRequest) returns (StandardReply) {}
   rpc AfterClassAddClassDetail (CourseStandardRequest) returns (StandardReply) {}
+  rpc ClassStartPrepareEdit (CourseStandardRequest) returns (StandardReply) {}
 
   // 商家预约管理
   rpc OrderListQuery (StandardRequest) returns (StandardReply) {}