jyq 4 سال پیش
والد
کامیت
62aa10b0bc

+ 92 - 0
api/grpc/base.go

@@ -803,3 +803,95 @@ func (a Api) VipUserOrderQuery(ctx context.Context, r *pb.StandardRequest) (*pb.
 	rst := a.toWebFunc(rs)
 	return rst, nil
 }
+
+// ----------------------- 商家心率管理 ---------------------------------------------
+
+// HrSensorsPublicQuery 公共心率带查询
+func (a Api) HrSensorsPublicQuery(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.HrSensorsPublicQuery(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
+// HrSensorsPvtQuery 私有心率带查询
+func (a Api) HrSensorsPvtQuery(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.HrSensorsPvtQuery(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
+// AddHrSensors 公共心率带添加
+func (a Api) AddHrSensors(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.AddHrSensors(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
+// AddPvtHrSensors 私有心率带添加
+func (a Api) AddPvtHrSensors(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.AddPvtHrSensors(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
+// EditHrSensors 心率带编辑
+func (a Api) EditHrSensors(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.EditHrSensors(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
+// HrSensorsDel 心率带删除
+func (a Api) HrSensorsDel(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.HrSensorsDel(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
+// PKGroupChg 修改PK分队
+func (a Api) PKGroupChg(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.PKGroupChg(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
+// BindHrSensor 绑定心率带
+func (a Api) BindHrSensor(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.BindHrSensor(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}
+
+// UnBindHrSensor 解绑心率带
+func (a Api) UnBindHrSensor(ctx context.Context, r *pb.StandardRequest) (*pb.StandardReply, error) {
+	// 获取token,并验证签名函数
+	token, q, sign := a.webToGoVerify(ctx, r)
+
+	rs := service.Hr{}.UnBindHrSensor(token, q.ShopID, q.JsonStr, sign)
+	rst := a.toWebFunc(rs)
+	return rst, nil
+}

+ 276 - 185
api/grpc/base/base.pb.go

@@ -1252,7 +1252,7 @@ var file_base_proto_rawDesc = []byte{
 	0x09, 0x57, 0x65, 0x62, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x61,
 	0x6e, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x6e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x44,
 	0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x09, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x6c, 0x6c, 0x10, 0x63,
-	0x32, 0xd5, 0x2c, 0x0a, 0x03, 0x41, 0x70, 0x69, 0x12, 0x33, 0x0a, 0x06, 0x53, 0x69, 0x67, 0x6e,
+	0x32, 0xa2, 0x34, 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, 0x22, 0x00, 0x12, 0x32, 0x0a,
@@ -1609,8 +1609,69 @@ var file_base_proto_rawDesc = []byte{
 	0x65, 0x74, 0x61, 0x69, 0x6c, 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, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x62, 0x61,
-	0x73, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	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, 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, 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,
+	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, 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, 0x42, 0x08, 0x5a, 0x06, 0x2e, 0x3b, 0x62, 0x61, 0x73, 0x65, 0x62,
+	0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
 }
 
 var (
@@ -1649,188 +1710,218 @@ var file_base_proto_goTypes = []interface{}{
 	(*QiNiuTokenReply)(nil),       // 18: base.QiNiuTokenReply
 }
 var file_base_proto_depIdxs = []int32{
-	1,  // 0: base.ShopInfo.status:type_name -> base.WebStatus
-	1,  // 1: base.ShopListRequest.status:type_name -> base.WebStatus
-	11, // 2: base.ShopListReply.list:type_name -> base.ShopInfo
-	1,  // 3: base.Column.status:type_name -> base.WebStatus
-	15, // 4: base.GetShopNaviReply.list:type_name -> base.Column
-	6,  // 5: base.Api.SignUp:input_type -> base.SignUpRequest
-	8,  // 6: base.Api.SignIn:input_type -> base.SignInRequest
-	2,  // 7: base.Api.SignOut:input_type -> base.DefaultRequest
-	9,  // 8: base.Api.GenVerifyImage:input_type -> base.GenVerifyImageRequest
-	4,  // 9: base.Api.SelectHrSensors:input_type -> base.StandardRequest
-	4,  // 10: base.Api.AcrossUserSimpleQuery:input_type -> base.StandardRequest
-	4,  // 11: base.Api.VipUserSimpleQuery:input_type -> base.StandardRequest
-	4,  // 12: base.Api.TempVipUserSimpleQuery:input_type -> base.StandardRequest
-	4,  // 13: base.Api.ShopSimpleQuery:input_type -> base.StandardRequest
-	4,  // 14: base.Api.ManageableSimpleQuery:input_type -> base.StandardRequest
-	4,  // 15: base.Api.ClassSimpleQuery:input_type -> base.StandardRequest
-	4,  // 16: base.Api.ScreenSimpleQuery:input_type -> base.StandardRequest
-	12, // 17: base.Api.ManageableShopList:input_type -> base.ShopListRequest
-	14, // 18: base.Api.GetShopNavi:input_type -> base.GetShopNaviRequest
-	4,  // 19: base.Api.ShopGroupQuery:input_type -> base.StandardRequest
-	4,  // 20: base.Api.ShopGroupAdd:input_type -> base.StandardRequest
-	4,  // 21: base.Api.ShopGroupEdit:input_type -> base.StandardRequest
-	4,  // 22: base.Api.ShopGroupStatusEdit:input_type -> base.StandardRequest
-	4,  // 23: base.Api.ShopGroupDetailsQuery:input_type -> base.StandardRequest
-	4,  // 24: base.Api.ShopGroupDetailsAdd:input_type -> base.StandardRequest
-	4,  // 25: base.Api.ShopVenueQuery:input_type -> base.StandardRequest
-	4,  // 26: base.Api.ShopVenueAdd:input_type -> base.StandardRequest
-	4,  // 27: base.Api.ShopVenueEdit:input_type -> base.StandardRequest
-	4,  // 28: base.Api.ShopVenueStatusEdit:input_type -> base.StandardRequest
-	4,  // 29: base.Api.ShopVenueEquipQuery:input_type -> base.StandardRequest
-	4,  // 30: base.Api.ShopVenueEquipAdd:input_type -> base.StandardRequest
-	4,  // 31: base.Api.ShopVenueEquipEdit:input_type -> base.StandardRequest
-	4,  // 32: base.Api.ShopVenueEquipStatusEdit:input_type -> base.StandardRequest
-	4,  // 33: base.Api.ShopVenueEquipStatusDel:input_type -> base.StandardRequest
-	4,  // 34: base.Api.ShopManagerQuery:input_type -> base.StandardRequest
-	4,  // 35: base.Api.ShopManagerAdd:input_type -> base.StandardRequest
-	4,  // 36: base.Api.ShopManagerEdit:input_type -> base.StandardRequest
-	4,  // 37: base.Api.ShopManagerStatusEdit:input_type -> base.StandardRequest
-	4,  // 38: base.Api.ShopConfigQuery:input_type -> base.StandardRequest
-	4,  // 39: base.Api.ShopConfigEdit:input_type -> base.StandardRequest
-	4,  // 40: base.Api.ShopVipUserQuery:input_type -> base.StandardRequest
-	4,  // 41: base.Api.ShopVipUserAdd:input_type -> base.StandardRequest
-	4,  // 42: base.Api.ShopVipUserEdit:input_type -> base.StandardRequest
-	4,  // 43: base.Api.ShopVipUserStatusEdit:input_type -> base.StandardRequest
-	4,  // 44: base.Api.AcrossVipUserQuery:input_type -> base.StandardRequest
-	4,  // 45: base.Api.AcrossVipUserAdd:input_type -> base.StandardRequest
-	4,  // 46: base.Api.AcrossVipUserDel:input_type -> base.StandardRequest
-	4,  // 47: base.Api.VipPhoneQuery:input_type -> base.StandardRequest
-	4,  // 48: base.Api.VipMainPhoneCheck:input_type -> base.StandardRequest
-	4,  // 49: base.Api.VipOtherPhoneAdd:input_type -> base.StandardRequest
-	4,  // 50: base.Api.VipOtherPhoneEdit:input_type -> base.StandardRequest
-	4,  // 51: base.Api.VipOtherPhoneStatusEdit:input_type -> base.StandardRequest
-	4,  // 52: base.Api.TempVipUserQuery:input_type -> base.StandardRequest
-	4,  // 53: base.Api.TempVipUserAdd:input_type -> base.StandardRequest
-	4,  // 54: base.Api.TempVipUserEdit:input_type -> base.StandardRequest
-	4,  // 55: base.Api.TempVipUserStatusEdit:input_type -> base.StandardRequest
-	4,  // 56: base.Api.VipHourEdit:input_type -> base.StandardRequest
-	4,  // 57: base.Api.VipConsumeListQuery:input_type -> base.StandardRequest
-	4,  // 58: base.Api.VipConsumeDetailQuery:input_type -> base.StandardRequest
-	4,  // 59: base.Api.VipClassRelationEdit:input_type -> base.StandardRequest
-	4,  // 60: base.Api.VipHourChgQuery:input_type -> base.StandardRequest
-	17, // 61: base.Api.GetOverlayImgQiNiuToken:input_type -> base.GetOverlayImgRequest
-	2,  // 62: base.Api.GetSimpleQiNiuToken:input_type -> base.DefaultRequest
-	4,  // 63: base.Api.ClassQuery:input_type -> base.StandardRequest
-	4,  // 64: base.Api.ClassAdd:input_type -> base.StandardRequest
-	4,  // 65: base.Api.ClassEdit:input_type -> base.StandardRequest
-	4,  // 66: base.Api.ClassStatusEdit:input_type -> base.StandardRequest
-	4,  // 67: base.Api.ClassColorEdit:input_type -> base.StandardRequest
-	4,  // 68: base.Api.ClassWxVisibleEdit:input_type -> base.StandardRequest
-	4,  // 69: base.Api.ClassVipEdit:input_type -> base.StandardRequest
-	4,  // 70: base.Api.SttPlanBasicQuery:input_type -> base.StandardRequest
-	4,  // 71: base.Api.SttPlanBasicAdd:input_type -> base.StandardRequest
-	4,  // 72: base.Api.SttPlanBasicEdit:input_type -> base.StandardRequest
-	4,  // 73: base.Api.SttPlanBasicShopEdit:input_type -> base.StandardRequest
-	4,  // 74: base.Api.SttPlanBasicStatusEdit:input_type -> base.StandardRequest
-	4,  // 75: base.Api.SttPlanBasicPublish:input_type -> base.StandardRequest
-	4,  // 76: base.Api.SttPlanPreview:input_type -> base.StandardRequest
-	4,  // 77: base.Api.SttPlanCopy:input_type -> base.StandardRequest
-	4,  // 78: base.Api.SttPlanDetailQuery:input_type -> base.StandardRequest
-	4,  // 79: base.Api.SttPlanDetailBatchSave:input_type -> base.StandardRequest
-	4,  // 80: base.Api.STTBasicQuery:input_type -> base.StandardRequest
-	4,  // 81: base.Api.STTBasicAdd:input_type -> base.StandardRequest
-	4,  // 82: base.Api.STTBasicEdit:input_type -> base.StandardRequest
-	4,  // 83: base.Api.STTBasicStatusEdit:input_type -> base.StandardRequest
-	4,  // 84: base.Api.STTBasicPreview:input_type -> base.StandardRequest
-	4,  // 85: base.Api.STTBasicCopy:input_type -> base.StandardRequest
-	4,  // 86: base.Api.STTBasicOfflineEdit:input_type -> base.StandardRequest
-	4,  // 87: base.Api.STTDetailListQuery:input_type -> base.StandardRequest
-	4,  // 88: base.Api.STTBasicDetailBatchSave:input_type -> base.StandardRequest
-	4,  // 89: base.Api.STTDetailAllowDelCheck:input_type -> base.StandardRequest
-	4,  // 90: base.Api.CourseDetailQuery:input_type -> base.StandardRequest
-	3,  // 91: base.Api.SignUp:output_type -> base.DefaultReply
-	7,  // 92: base.Api.SignIn:output_type -> base.SignInReply
-	3,  // 93: base.Api.SignOut:output_type -> base.DefaultReply
-	10, // 94: base.Api.GenVerifyImage:output_type -> base.GenVerifyImageReply
-	5,  // 95: base.Api.SelectHrSensors:output_type -> base.StandardReply
-	5,  // 96: base.Api.AcrossUserSimpleQuery:output_type -> base.StandardReply
-	5,  // 97: base.Api.VipUserSimpleQuery:output_type -> base.StandardReply
-	5,  // 98: base.Api.TempVipUserSimpleQuery:output_type -> base.StandardReply
-	5,  // 99: base.Api.ShopSimpleQuery:output_type -> base.StandardReply
-	5,  // 100: base.Api.ManageableSimpleQuery:output_type -> base.StandardReply
-	5,  // 101: base.Api.ClassSimpleQuery:output_type -> base.StandardReply
-	5,  // 102: base.Api.ScreenSimpleQuery:output_type -> base.StandardReply
-	13, // 103: base.Api.ManageableShopList:output_type -> base.ShopListReply
-	16, // 104: base.Api.GetShopNavi:output_type -> base.GetShopNaviReply
-	5,  // 105: base.Api.ShopGroupQuery:output_type -> base.StandardReply
-	5,  // 106: base.Api.ShopGroupAdd:output_type -> base.StandardReply
-	5,  // 107: base.Api.ShopGroupEdit:output_type -> base.StandardReply
-	5,  // 108: base.Api.ShopGroupStatusEdit:output_type -> base.StandardReply
-	5,  // 109: base.Api.ShopGroupDetailsQuery:output_type -> base.StandardReply
-	5,  // 110: base.Api.ShopGroupDetailsAdd:output_type -> base.StandardReply
-	5,  // 111: base.Api.ShopVenueQuery:output_type -> base.StandardReply
-	5,  // 112: base.Api.ShopVenueAdd:output_type -> base.StandardReply
-	5,  // 113: base.Api.ShopVenueEdit:output_type -> base.StandardReply
-	5,  // 114: base.Api.ShopVenueStatusEdit:output_type -> base.StandardReply
-	5,  // 115: base.Api.ShopVenueEquipQuery:output_type -> base.StandardReply
-	5,  // 116: base.Api.ShopVenueEquipAdd:output_type -> base.StandardReply
-	5,  // 117: base.Api.ShopVenueEquipEdit:output_type -> base.StandardReply
-	5,  // 118: base.Api.ShopVenueEquipStatusEdit:output_type -> base.StandardReply
-	5,  // 119: base.Api.ShopVenueEquipStatusDel:output_type -> base.StandardReply
-	5,  // 120: base.Api.ShopManagerQuery:output_type -> base.StandardReply
-	5,  // 121: base.Api.ShopManagerAdd:output_type -> base.StandardReply
-	5,  // 122: base.Api.ShopManagerEdit:output_type -> base.StandardReply
-	5,  // 123: base.Api.ShopManagerStatusEdit:output_type -> base.StandardReply
-	5,  // 124: base.Api.ShopConfigQuery:output_type -> base.StandardReply
-	5,  // 125: base.Api.ShopConfigEdit:output_type -> base.StandardReply
-	5,  // 126: base.Api.ShopVipUserQuery:output_type -> base.StandardReply
-	5,  // 127: base.Api.ShopVipUserAdd:output_type -> base.StandardReply
-	5,  // 128: base.Api.ShopVipUserEdit:output_type -> base.StandardReply
-	5,  // 129: base.Api.ShopVipUserStatusEdit:output_type -> base.StandardReply
-	5,  // 130: base.Api.AcrossVipUserQuery:output_type -> base.StandardReply
-	5,  // 131: base.Api.AcrossVipUserAdd:output_type -> base.StandardReply
-	5,  // 132: base.Api.AcrossVipUserDel:output_type -> base.StandardReply
-	5,  // 133: base.Api.VipPhoneQuery:output_type -> base.StandardReply
-	5,  // 134: base.Api.VipMainPhoneCheck:output_type -> base.StandardReply
-	5,  // 135: base.Api.VipOtherPhoneAdd:output_type -> base.StandardReply
-	5,  // 136: base.Api.VipOtherPhoneEdit:output_type -> base.StandardReply
-	5,  // 137: base.Api.VipOtherPhoneStatusEdit:output_type -> base.StandardReply
-	5,  // 138: base.Api.TempVipUserQuery:output_type -> base.StandardReply
-	5,  // 139: base.Api.TempVipUserAdd:output_type -> base.StandardReply
-	5,  // 140: base.Api.TempVipUserEdit:output_type -> base.StandardReply
-	5,  // 141: base.Api.TempVipUserStatusEdit:output_type -> base.StandardReply
-	5,  // 142: base.Api.VipHourEdit:output_type -> base.StandardReply
-	5,  // 143: base.Api.VipConsumeListQuery:output_type -> base.StandardReply
-	5,  // 144: base.Api.VipConsumeDetailQuery:output_type -> base.StandardReply
-	5,  // 145: base.Api.VipClassRelationEdit:output_type -> base.StandardReply
-	5,  // 146: base.Api.VipHourChgQuery:output_type -> base.StandardReply
-	18, // 147: base.Api.GetOverlayImgQiNiuToken:output_type -> base.QiNiuTokenReply
-	18, // 148: base.Api.GetSimpleQiNiuToken:output_type -> base.QiNiuTokenReply
-	5,  // 149: base.Api.ClassQuery:output_type -> base.StandardReply
-	5,  // 150: base.Api.ClassAdd:output_type -> base.StandardReply
-	5,  // 151: base.Api.ClassEdit:output_type -> base.StandardReply
-	5,  // 152: base.Api.ClassStatusEdit:output_type -> base.StandardReply
-	5,  // 153: base.Api.ClassColorEdit:output_type -> base.StandardReply
-	5,  // 154: base.Api.ClassWxVisibleEdit:output_type -> base.StandardReply
-	5,  // 155: base.Api.ClassVipEdit:output_type -> base.StandardReply
-	5,  // 156: base.Api.SttPlanBasicQuery:output_type -> base.StandardReply
-	5,  // 157: base.Api.SttPlanBasicAdd:output_type -> base.StandardReply
-	5,  // 158: base.Api.SttPlanBasicEdit:output_type -> base.StandardReply
-	5,  // 159: base.Api.SttPlanBasicShopEdit:output_type -> base.StandardReply
-	5,  // 160: base.Api.SttPlanBasicStatusEdit:output_type -> base.StandardReply
-	5,  // 161: base.Api.SttPlanBasicPublish:output_type -> base.StandardReply
-	5,  // 162: base.Api.SttPlanPreview:output_type -> base.StandardReply
-	5,  // 163: base.Api.SttPlanCopy:output_type -> base.StandardReply
-	5,  // 164: base.Api.SttPlanDetailQuery:output_type -> base.StandardReply
-	5,  // 165: base.Api.SttPlanDetailBatchSave:output_type -> base.StandardReply
-	5,  // 166: base.Api.STTBasicQuery:output_type -> base.StandardReply
-	5,  // 167: base.Api.STTBasicAdd:output_type -> base.StandardReply
-	5,  // 168: base.Api.STTBasicEdit:output_type -> base.StandardReply
-	5,  // 169: base.Api.STTBasicStatusEdit:output_type -> base.StandardReply
-	5,  // 170: base.Api.STTBasicPreview:output_type -> base.StandardReply
-	5,  // 171: base.Api.STTBasicCopy:output_type -> base.StandardReply
-	5,  // 172: base.Api.STTBasicOfflineEdit:output_type -> base.StandardReply
-	5,  // 173: base.Api.STTDetailListQuery:output_type -> base.StandardReply
-	5,  // 174: base.Api.STTBasicDetailBatchSave:output_type -> base.StandardReply
-	5,  // 175: base.Api.STTDetailAllowDelCheck:output_type -> base.StandardReply
-	5,  // 176: base.Api.CourseDetailQuery:output_type -> base.StandardReply
-	91, // [91:177] is the sub-list for method output_type
-	5,  // [5:91] is the sub-list for method input_type
-	5,  // [5:5] is the sub-list for extension type_name
-	5,  // [5:5] is the sub-list for extension extendee
-	0,  // [0:5] is the sub-list for field type_name
+	1,   // 0: base.ShopInfo.status:type_name -> base.WebStatus
+	1,   // 1: base.ShopListRequest.status:type_name -> base.WebStatus
+	11,  // 2: base.ShopListReply.list:type_name -> base.ShopInfo
+	1,   // 3: base.Column.status:type_name -> base.WebStatus
+	15,  // 4: base.GetShopNaviReply.list:type_name -> base.Column
+	6,   // 5: base.Api.SignUp:input_type -> base.SignUpRequest
+	8,   // 6: base.Api.SignIn:input_type -> base.SignInRequest
+	2,   // 7: base.Api.SignOut:input_type -> base.DefaultRequest
+	9,   // 8: base.Api.GenVerifyImage:input_type -> base.GenVerifyImageRequest
+	4,   // 9: base.Api.SelectHrSensors:input_type -> base.StandardRequest
+	4,   // 10: base.Api.AcrossUserSimpleQuery:input_type -> base.StandardRequest
+	4,   // 11: base.Api.VipUserSimpleQuery:input_type -> base.StandardRequest
+	4,   // 12: base.Api.TempVipUserSimpleQuery:input_type -> base.StandardRequest
+	4,   // 13: base.Api.ShopSimpleQuery:input_type -> base.StandardRequest
+	4,   // 14: base.Api.ManageableSimpleQuery:input_type -> base.StandardRequest
+	4,   // 15: base.Api.ClassSimpleQuery:input_type -> base.StandardRequest
+	4,   // 16: base.Api.ScreenSimpleQuery:input_type -> base.StandardRequest
+	12,  // 17: base.Api.ManageableShopList:input_type -> base.ShopListRequest
+	14,  // 18: base.Api.GetShopNavi:input_type -> base.GetShopNaviRequest
+	4,   // 19: base.Api.ShopGroupQuery:input_type -> base.StandardRequest
+	4,   // 20: base.Api.ShopGroupAdd:input_type -> base.StandardRequest
+	4,   // 21: base.Api.ShopGroupEdit:input_type -> base.StandardRequest
+	4,   // 22: base.Api.ShopGroupStatusEdit:input_type -> base.StandardRequest
+	4,   // 23: base.Api.ShopGroupDetailsQuery:input_type -> base.StandardRequest
+	4,   // 24: base.Api.ShopGroupDetailsAdd:input_type -> base.StandardRequest
+	4,   // 25: base.Api.ShopVenueQuery:input_type -> base.StandardRequest
+	4,   // 26: base.Api.ShopVenueAdd:input_type -> base.StandardRequest
+	4,   // 27: base.Api.ShopVenueEdit:input_type -> base.StandardRequest
+	4,   // 28: base.Api.ShopVenueStatusEdit:input_type -> base.StandardRequest
+	4,   // 29: base.Api.ShopVenueEquipQuery:input_type -> base.StandardRequest
+	4,   // 30: base.Api.ShopVenueEquipAdd:input_type -> base.StandardRequest
+	4,   // 31: base.Api.ShopVenueEquipEdit:input_type -> base.StandardRequest
+	4,   // 32: base.Api.ShopVenueEquipStatusEdit:input_type -> base.StandardRequest
+	4,   // 33: base.Api.ShopVenueEquipStatusDel:input_type -> base.StandardRequest
+	4,   // 34: base.Api.ShopManagerQuery:input_type -> base.StandardRequest
+	4,   // 35: base.Api.ShopManagerAdd:input_type -> base.StandardRequest
+	4,   // 36: base.Api.ShopManagerEdit:input_type -> base.StandardRequest
+	4,   // 37: base.Api.ShopManagerStatusEdit:input_type -> base.StandardRequest
+	4,   // 38: base.Api.ShopConfigQuery:input_type -> base.StandardRequest
+	4,   // 39: base.Api.ShopConfigEdit:input_type -> base.StandardRequest
+	4,   // 40: base.Api.ShopVipUserQuery:input_type -> base.StandardRequest
+	4,   // 41: base.Api.ShopVipUserAdd:input_type -> base.StandardRequest
+	4,   // 42: base.Api.ShopVipUserEdit:input_type -> base.StandardRequest
+	4,   // 43: base.Api.ShopVipUserStatusEdit:input_type -> base.StandardRequest
+	4,   // 44: base.Api.AcrossVipUserQuery:input_type -> base.StandardRequest
+	4,   // 45: base.Api.AcrossVipUserAdd:input_type -> base.StandardRequest
+	4,   // 46: base.Api.AcrossVipUserDel:input_type -> base.StandardRequest
+	4,   // 47: base.Api.VipPhoneQuery:input_type -> base.StandardRequest
+	4,   // 48: base.Api.VipMainPhoneCheck:input_type -> base.StandardRequest
+	4,   // 49: base.Api.VipOtherPhoneAdd:input_type -> base.StandardRequest
+	4,   // 50: base.Api.VipOtherPhoneEdit:input_type -> base.StandardRequest
+	4,   // 51: base.Api.VipOtherPhoneStatusEdit:input_type -> base.StandardRequest
+	4,   // 52: base.Api.TempVipUserQuery:input_type -> base.StandardRequest
+	4,   // 53: base.Api.TempVipUserAdd:input_type -> base.StandardRequest
+	4,   // 54: base.Api.TempVipUserEdit:input_type -> base.StandardRequest
+	4,   // 55: base.Api.TempVipUserStatusEdit:input_type -> base.StandardRequest
+	4,   // 56: base.Api.VipHourEdit:input_type -> base.StandardRequest
+	4,   // 57: base.Api.VipConsumeListQuery:input_type -> base.StandardRequest
+	4,   // 58: base.Api.VipConsumeDetailQuery:input_type -> base.StandardRequest
+	4,   // 59: base.Api.VipClassRelationEdit:input_type -> base.StandardRequest
+	4,   // 60: base.Api.VipHourChgQuery:input_type -> base.StandardRequest
+	17,  // 61: base.Api.GetOverlayImgQiNiuToken:input_type -> base.GetOverlayImgRequest
+	2,   // 62: base.Api.GetSimpleQiNiuToken:input_type -> base.DefaultRequest
+	4,   // 63: base.Api.ClassQuery:input_type -> base.StandardRequest
+	4,   // 64: base.Api.ClassAdd:input_type -> base.StandardRequest
+	4,   // 65: base.Api.ClassEdit:input_type -> base.StandardRequest
+	4,   // 66: base.Api.ClassStatusEdit:input_type -> base.StandardRequest
+	4,   // 67: base.Api.ClassColorEdit:input_type -> base.StandardRequest
+	4,   // 68: base.Api.ClassWxVisibleEdit:input_type -> base.StandardRequest
+	4,   // 69: base.Api.ClassVipEdit:input_type -> base.StandardRequest
+	4,   // 70: base.Api.SttPlanBasicQuery:input_type -> base.StandardRequest
+	4,   // 71: base.Api.SttPlanBasicAdd:input_type -> base.StandardRequest
+	4,   // 72: base.Api.SttPlanBasicEdit:input_type -> base.StandardRequest
+	4,   // 73: base.Api.SttPlanBasicShopEdit:input_type -> base.StandardRequest
+	4,   // 74: base.Api.SttPlanBasicStatusEdit:input_type -> base.StandardRequest
+	4,   // 75: base.Api.SttPlanBasicPublish:input_type -> base.StandardRequest
+	4,   // 76: base.Api.SttPlanPreview:input_type -> base.StandardRequest
+	4,   // 77: base.Api.SttPlanCopy:input_type -> base.StandardRequest
+	4,   // 78: base.Api.SttPlanDetailQuery:input_type -> base.StandardRequest
+	4,   // 79: base.Api.SttPlanDetailBatchSave:input_type -> base.StandardRequest
+	4,   // 80: base.Api.STTBasicQuery:input_type -> base.StandardRequest
+	4,   // 81: base.Api.STTBasicAdd:input_type -> base.StandardRequest
+	4,   // 82: base.Api.STTBasicEdit:input_type -> base.StandardRequest
+	4,   // 83: base.Api.STTBasicStatusEdit:input_type -> base.StandardRequest
+	4,   // 84: base.Api.STTBasicPreview:input_type -> base.StandardRequest
+	4,   // 85: base.Api.STTBasicCopy:input_type -> base.StandardRequest
+	4,   // 86: base.Api.STTBasicOfflineEdit:input_type -> base.StandardRequest
+	4,   // 87: base.Api.STTDetailListQuery:input_type -> base.StandardRequest
+	4,   // 88: base.Api.STTBasicDetailBatchSave:input_type -> base.StandardRequest
+	4,   // 89: base.Api.STTDetailAllowDelCheck:input_type -> base.StandardRequest
+	4,   // 90: base.Api.CourseDetailQuery:input_type -> base.StandardRequest
+	4,   // 91: base.Api.OrderListQuery:input_type -> base.StandardRequest
+	4,   // 92: base.Api.OrderAddByManager:input_type -> base.StandardRequest
+	4,   // 93: base.Api.OrderCancelByManager:input_type -> base.StandardRequest
+	4,   // 94: base.Api.OrderStatistics:input_type -> base.StandardRequest
+	4,   // 95: base.Api.ClassOrderQuery:input_type -> base.StandardRequest
+	4,   // 96: base.Api.VipUserOrderQuery:input_type -> base.StandardRequest
+	4,   // 97: base.Api.HrSensorsPublicQuery:input_type -> base.StandardRequest
+	4,   // 98: base.Api.HrSensorsPvtQuery:input_type -> base.StandardRequest
+	4,   // 99: base.Api.AddHrSensors:input_type -> base.StandardRequest
+	4,   // 100: base.Api.AddPvtHrSensors:input_type -> base.StandardRequest
+	4,   // 101: base.Api.EditHrSensors:input_type -> base.StandardRequest
+	4,   // 102: base.Api.HrSensorsDel:input_type -> base.StandardRequest
+	4,   // 103: base.Api.PKGroupChg:input_type -> base.StandardRequest
+	4,   // 104: base.Api.BindHrSensor:input_type -> base.StandardRequest
+	4,   // 105: base.Api.UnBindHrSensor:input_type -> base.StandardRequest
+	3,   // 106: base.Api.SignUp:output_type -> base.DefaultReply
+	7,   // 107: base.Api.SignIn:output_type -> base.SignInReply
+	3,   // 108: base.Api.SignOut:output_type -> base.DefaultReply
+	10,  // 109: base.Api.GenVerifyImage:output_type -> base.GenVerifyImageReply
+	5,   // 110: base.Api.SelectHrSensors:output_type -> base.StandardReply
+	5,   // 111: base.Api.AcrossUserSimpleQuery:output_type -> base.StandardReply
+	5,   // 112: base.Api.VipUserSimpleQuery:output_type -> base.StandardReply
+	5,   // 113: base.Api.TempVipUserSimpleQuery:output_type -> base.StandardReply
+	5,   // 114: base.Api.ShopSimpleQuery:output_type -> base.StandardReply
+	5,   // 115: base.Api.ManageableSimpleQuery:output_type -> base.StandardReply
+	5,   // 116: base.Api.ClassSimpleQuery:output_type -> base.StandardReply
+	5,   // 117: base.Api.ScreenSimpleQuery:output_type -> base.StandardReply
+	13,  // 118: base.Api.ManageableShopList:output_type -> base.ShopListReply
+	16,  // 119: base.Api.GetShopNavi:output_type -> base.GetShopNaviReply
+	5,   // 120: base.Api.ShopGroupQuery:output_type -> base.StandardReply
+	5,   // 121: base.Api.ShopGroupAdd:output_type -> base.StandardReply
+	5,   // 122: base.Api.ShopGroupEdit:output_type -> base.StandardReply
+	5,   // 123: base.Api.ShopGroupStatusEdit:output_type -> base.StandardReply
+	5,   // 124: base.Api.ShopGroupDetailsQuery:output_type -> base.StandardReply
+	5,   // 125: base.Api.ShopGroupDetailsAdd:output_type -> base.StandardReply
+	5,   // 126: base.Api.ShopVenueQuery:output_type -> base.StandardReply
+	5,   // 127: base.Api.ShopVenueAdd:output_type -> base.StandardReply
+	5,   // 128: base.Api.ShopVenueEdit:output_type -> base.StandardReply
+	5,   // 129: base.Api.ShopVenueStatusEdit:output_type -> base.StandardReply
+	5,   // 130: base.Api.ShopVenueEquipQuery:output_type -> base.StandardReply
+	5,   // 131: base.Api.ShopVenueEquipAdd:output_type -> base.StandardReply
+	5,   // 132: base.Api.ShopVenueEquipEdit:output_type -> base.StandardReply
+	5,   // 133: base.Api.ShopVenueEquipStatusEdit:output_type -> base.StandardReply
+	5,   // 134: base.Api.ShopVenueEquipStatusDel:output_type -> base.StandardReply
+	5,   // 135: base.Api.ShopManagerQuery:output_type -> base.StandardReply
+	5,   // 136: base.Api.ShopManagerAdd:output_type -> base.StandardReply
+	5,   // 137: base.Api.ShopManagerEdit:output_type -> base.StandardReply
+	5,   // 138: base.Api.ShopManagerStatusEdit:output_type -> base.StandardReply
+	5,   // 139: base.Api.ShopConfigQuery:output_type -> base.StandardReply
+	5,   // 140: base.Api.ShopConfigEdit:output_type -> base.StandardReply
+	5,   // 141: base.Api.ShopVipUserQuery:output_type -> base.StandardReply
+	5,   // 142: base.Api.ShopVipUserAdd:output_type -> base.StandardReply
+	5,   // 143: base.Api.ShopVipUserEdit:output_type -> base.StandardReply
+	5,   // 144: base.Api.ShopVipUserStatusEdit:output_type -> base.StandardReply
+	5,   // 145: base.Api.AcrossVipUserQuery:output_type -> base.StandardReply
+	5,   // 146: base.Api.AcrossVipUserAdd:output_type -> base.StandardReply
+	5,   // 147: base.Api.AcrossVipUserDel:output_type -> base.StandardReply
+	5,   // 148: base.Api.VipPhoneQuery:output_type -> base.StandardReply
+	5,   // 149: base.Api.VipMainPhoneCheck:output_type -> base.StandardReply
+	5,   // 150: base.Api.VipOtherPhoneAdd:output_type -> base.StandardReply
+	5,   // 151: base.Api.VipOtherPhoneEdit:output_type -> base.StandardReply
+	5,   // 152: base.Api.VipOtherPhoneStatusEdit:output_type -> base.StandardReply
+	5,   // 153: base.Api.TempVipUserQuery:output_type -> base.StandardReply
+	5,   // 154: base.Api.TempVipUserAdd:output_type -> base.StandardReply
+	5,   // 155: base.Api.TempVipUserEdit:output_type -> base.StandardReply
+	5,   // 156: base.Api.TempVipUserStatusEdit:output_type -> base.StandardReply
+	5,   // 157: base.Api.VipHourEdit:output_type -> base.StandardReply
+	5,   // 158: base.Api.VipConsumeListQuery:output_type -> base.StandardReply
+	5,   // 159: base.Api.VipConsumeDetailQuery:output_type -> base.StandardReply
+	5,   // 160: base.Api.VipClassRelationEdit:output_type -> base.StandardReply
+	5,   // 161: base.Api.VipHourChgQuery:output_type -> base.StandardReply
+	18,  // 162: base.Api.GetOverlayImgQiNiuToken:output_type -> base.QiNiuTokenReply
+	18,  // 163: base.Api.GetSimpleQiNiuToken:output_type -> base.QiNiuTokenReply
+	5,   // 164: base.Api.ClassQuery:output_type -> base.StandardReply
+	5,   // 165: base.Api.ClassAdd:output_type -> base.StandardReply
+	5,   // 166: base.Api.ClassEdit:output_type -> base.StandardReply
+	5,   // 167: base.Api.ClassStatusEdit:output_type -> base.StandardReply
+	5,   // 168: base.Api.ClassColorEdit:output_type -> base.StandardReply
+	5,   // 169: base.Api.ClassWxVisibleEdit:output_type -> base.StandardReply
+	5,   // 170: base.Api.ClassVipEdit:output_type -> base.StandardReply
+	5,   // 171: base.Api.SttPlanBasicQuery:output_type -> base.StandardReply
+	5,   // 172: base.Api.SttPlanBasicAdd:output_type -> base.StandardReply
+	5,   // 173: base.Api.SttPlanBasicEdit:output_type -> base.StandardReply
+	5,   // 174: base.Api.SttPlanBasicShopEdit:output_type -> base.StandardReply
+	5,   // 175: base.Api.SttPlanBasicStatusEdit:output_type -> base.StandardReply
+	5,   // 176: base.Api.SttPlanBasicPublish:output_type -> base.StandardReply
+	5,   // 177: base.Api.SttPlanPreview:output_type -> base.StandardReply
+	5,   // 178: base.Api.SttPlanCopy:output_type -> base.StandardReply
+	5,   // 179: base.Api.SttPlanDetailQuery:output_type -> base.StandardReply
+	5,   // 180: base.Api.SttPlanDetailBatchSave:output_type -> base.StandardReply
+	5,   // 181: base.Api.STTBasicQuery:output_type -> base.StandardReply
+	5,   // 182: base.Api.STTBasicAdd:output_type -> base.StandardReply
+	5,   // 183: base.Api.STTBasicEdit:output_type -> base.StandardReply
+	5,   // 184: base.Api.STTBasicStatusEdit:output_type -> base.StandardReply
+	5,   // 185: base.Api.STTBasicPreview:output_type -> base.StandardReply
+	5,   // 186: base.Api.STTBasicCopy:output_type -> base.StandardReply
+	5,   // 187: base.Api.STTBasicOfflineEdit:output_type -> base.StandardReply
+	5,   // 188: base.Api.STTDetailListQuery:output_type -> base.StandardReply
+	5,   // 189: base.Api.STTBasicDetailBatchSave:output_type -> base.StandardReply
+	5,   // 190: base.Api.STTDetailAllowDelCheck:output_type -> base.StandardReply
+	5,   // 191: base.Api.CourseDetailQuery:output_type -> base.StandardReply
+	5,   // 192: base.Api.OrderListQuery:output_type -> base.StandardReply
+	5,   // 193: base.Api.OrderAddByManager:output_type -> base.StandardReply
+	5,   // 194: base.Api.OrderCancelByManager:output_type -> base.StandardReply
+	5,   // 195: base.Api.OrderStatistics:output_type -> base.StandardReply
+	5,   // 196: base.Api.ClassOrderQuery:output_type -> base.StandardReply
+	5,   // 197: base.Api.VipUserOrderQuery:output_type -> base.StandardReply
+	5,   // 198: base.Api.HrSensorsPublicQuery:output_type -> base.StandardReply
+	5,   // 199: base.Api.HrSensorsPvtQuery:output_type -> base.StandardReply
+	5,   // 200: base.Api.AddHrSensors:output_type -> base.StandardReply
+	5,   // 201: base.Api.AddPvtHrSensors:output_type -> base.StandardReply
+	5,   // 202: base.Api.EditHrSensors:output_type -> base.StandardReply
+	5,   // 203: base.Api.HrSensorsDel:output_type -> base.StandardReply
+	5,   // 204: base.Api.PKGroupChg:output_type -> base.StandardReply
+	5,   // 205: base.Api.BindHrSensor:output_type -> base.StandardReply
+	5,   // 206: base.Api.UnBindHrSensor:output_type -> base.StandardReply
+	106, // [106:207] is the sub-list for method output_type
+	5,   // [5:106] is the sub-list for method input_type
+	5,   // [5:5] is the sub-list for extension type_name
+	5,   // [5:5] is the sub-list for extension extendee
+	0,   // [0:5] is the sub-list for field type_name
 }
 
 func init() { file_base_proto_init() }

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

@@ -110,6 +110,23 @@ type ApiClient interface {
 	STTDetailAllowDelCheck(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
 	// 商家上下课管理
 	CourseDetailQuery(ctx context.Context, in *StandardRequest, 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)
+	OrderCancelByManager(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	OrderStatistics(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	ClassOrderQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	VipUserOrderQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	// 心率
+	HrSensorsPublicQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	HrSensorsPvtQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	AddHrSensors(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	AddPvtHrSensors(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	EditHrSensors(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	HrSensorsDel(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	PKGroupChg(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	BindHrSensor(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
+	UnBindHrSensor(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error)
 }
 
 type apiClient struct {
@@ -894,6 +911,141 @@ func (c *apiClient) CourseDetailQuery(ctx context.Context, in *StandardRequest,
 	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...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) OrderAddByManager(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/OrderAddByManager", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) OrderCancelByManager(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/OrderCancelByManager", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) OrderStatistics(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/OrderStatistics", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) ClassOrderQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/ClassOrderQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) VipUserOrderQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/VipUserOrderQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) HrSensorsPublicQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/HrSensorsPublicQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) HrSensorsPvtQuery(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/HrSensorsPvtQuery", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) AddHrSensors(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/AddHrSensors", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) AddPvtHrSensors(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/AddPvtHrSensors", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) EditHrSensors(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/EditHrSensors", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) HrSensorsDel(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/HrSensorsDel", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) PKGroupChg(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/PKGroupChg", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) BindHrSensor(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/BindHrSensor", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
+func (c *apiClient) UnBindHrSensor(ctx context.Context, in *StandardRequest, opts ...grpc.CallOption) (*StandardReply, error) {
+	out := new(StandardReply)
+	err := c.cc.Invoke(ctx, "/base.Api/UnBindHrSensor", in, out, opts...)
+	if err != nil {
+		return nil, err
+	}
+	return out, nil
+}
+
 // ApiServer is the server API for Api service.
 // All implementations must embed UnimplementedApiServer
 // for forward compatibility
@@ -990,6 +1142,23 @@ type ApiServer interface {
 	STTDetailAllowDelCheck(context.Context, *StandardRequest) (*StandardReply, error)
 	// 商家上下课管理
 	CourseDetailQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	// 商家预约管理
+	OrderListQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	OrderAddByManager(context.Context, *StandardRequest) (*StandardReply, error)
+	OrderCancelByManager(context.Context, *StandardRequest) (*StandardReply, error)
+	OrderStatistics(context.Context, *StandardRequest) (*StandardReply, error)
+	ClassOrderQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	VipUserOrderQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	// 心率
+	HrSensorsPublicQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	HrSensorsPvtQuery(context.Context, *StandardRequest) (*StandardReply, error)
+	AddHrSensors(context.Context, *StandardRequest) (*StandardReply, error)
+	AddPvtHrSensors(context.Context, *StandardRequest) (*StandardReply, error)
+	EditHrSensors(context.Context, *StandardRequest) (*StandardReply, error)
+	HrSensorsDel(context.Context, *StandardRequest) (*StandardReply, error)
+	PKGroupChg(context.Context, *StandardRequest) (*StandardReply, error)
+	BindHrSensor(context.Context, *StandardRequest) (*StandardReply, error)
+	UnBindHrSensor(context.Context, *StandardRequest) (*StandardReply, error)
 	mustEmbedUnimplementedApiServer()
 }
 
@@ -1255,6 +1424,51 @@ func (UnimplementedApiServer) STTDetailAllowDelCheck(context.Context, *StandardR
 func (UnimplementedApiServer) CourseDetailQuery(context.Context, *StandardRequest) (*StandardReply, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method CourseDetailQuery not implemented")
 }
+func (UnimplementedApiServer) OrderListQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method OrderListQuery not implemented")
+}
+func (UnimplementedApiServer) OrderAddByManager(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method OrderAddByManager not implemented")
+}
+func (UnimplementedApiServer) OrderCancelByManager(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method OrderCancelByManager not implemented")
+}
+func (UnimplementedApiServer) OrderStatistics(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method OrderStatistics not implemented")
+}
+func (UnimplementedApiServer) ClassOrderQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method ClassOrderQuery not implemented")
+}
+func (UnimplementedApiServer) VipUserOrderQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method VipUserOrderQuery not implemented")
+}
+func (UnimplementedApiServer) HrSensorsPublicQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method HrSensorsPublicQuery not implemented")
+}
+func (UnimplementedApiServer) HrSensorsPvtQuery(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method HrSensorsPvtQuery not implemented")
+}
+func (UnimplementedApiServer) AddHrSensors(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method AddHrSensors not implemented")
+}
+func (UnimplementedApiServer) AddPvtHrSensors(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method AddPvtHrSensors not implemented")
+}
+func (UnimplementedApiServer) EditHrSensors(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method EditHrSensors not implemented")
+}
+func (UnimplementedApiServer) HrSensorsDel(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method HrSensorsDel not implemented")
+}
+func (UnimplementedApiServer) PKGroupChg(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method PKGroupChg not implemented")
+}
+func (UnimplementedApiServer) BindHrSensor(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method BindHrSensor not implemented")
+}
+func (UnimplementedApiServer) UnBindHrSensor(context.Context, *StandardRequest) (*StandardReply, error) {
+	return nil, status.Errorf(codes.Unimplemented, "method UnBindHrSensor not implemented")
+}
 func (UnimplementedApiServer) mustEmbedUnimplementedApiServer() {}
 
 // UnsafeApiServer may be embedded to opt out of forward compatibility for this service.
@@ -2816,6 +3030,276 @@ func _Api_CourseDetailQuery_Handler(srv interface{}, ctx context.Context, dec fu
 	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 {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).OrderListQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/OrderListQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).OrderListQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_OrderAddByManager_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).OrderAddByManager(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/OrderAddByManager",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).OrderAddByManager(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_OrderCancelByManager_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).OrderCancelByManager(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/OrderCancelByManager",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).OrderCancelByManager(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_OrderStatistics_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).OrderStatistics(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/OrderStatistics",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).OrderStatistics(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_ClassOrderQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).ClassOrderQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/ClassOrderQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).ClassOrderQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_VipUserOrderQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).VipUserOrderQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/VipUserOrderQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).VipUserOrderQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_HrSensorsPublicQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).HrSensorsPublicQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/HrSensorsPublicQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).HrSensorsPublicQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_HrSensorsPvtQuery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).HrSensorsPvtQuery(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/HrSensorsPvtQuery",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).HrSensorsPvtQuery(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_AddHrSensors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).AddHrSensors(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/AddHrSensors",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).AddHrSensors(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_AddPvtHrSensors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).AddPvtHrSensors(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/AddPvtHrSensors",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).AddPvtHrSensors(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_EditHrSensors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).EditHrSensors(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/EditHrSensors",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).EditHrSensors(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_HrSensorsDel_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).HrSensorsDel(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/HrSensorsDel",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).HrSensorsDel(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_PKGroupChg_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).PKGroupChg(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/PKGroupChg",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).PKGroupChg(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_BindHrSensor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).BindHrSensor(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/BindHrSensor",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).BindHrSensor(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
+func _Api_UnBindHrSensor_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+	in := new(StandardRequest)
+	if err := dec(in); err != nil {
+		return nil, err
+	}
+	if interceptor == nil {
+		return srv.(ApiServer).UnBindHrSensor(ctx, in)
+	}
+	info := &grpc.UnaryServerInfo{
+		Server:     srv,
+		FullMethod: "/base.Api/UnBindHrSensor",
+	}
+	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+		return srv.(ApiServer).UnBindHrSensor(ctx, req.(*StandardRequest))
+	}
+	return interceptor(ctx, in, info, handler)
+}
+
 // Api_ServiceDesc is the grpc.ServiceDesc for Api service.
 // It's only intended for direct use with grpc.RegisterService,
 // and not to be introspected or modified (even as a copy)
@@ -3167,6 +3651,66 @@ var Api_ServiceDesc = grpc.ServiceDesc{
 			MethodName: "CourseDetailQuery",
 			Handler:    _Api_CourseDetailQuery_Handler,
 		},
+		{
+			MethodName: "OrderListQuery",
+			Handler:    _Api_OrderListQuery_Handler,
+		},
+		{
+			MethodName: "OrderAddByManager",
+			Handler:    _Api_OrderAddByManager_Handler,
+		},
+		{
+			MethodName: "OrderCancelByManager",
+			Handler:    _Api_OrderCancelByManager_Handler,
+		},
+		{
+			MethodName: "OrderStatistics",
+			Handler:    _Api_OrderStatistics_Handler,
+		},
+		{
+			MethodName: "ClassOrderQuery",
+			Handler:    _Api_ClassOrderQuery_Handler,
+		},
+		{
+			MethodName: "VipUserOrderQuery",
+			Handler:    _Api_VipUserOrderQuery_Handler,
+		},
+		{
+			MethodName: "HrSensorsPublicQuery",
+			Handler:    _Api_HrSensorsPublicQuery_Handler,
+		},
+		{
+			MethodName: "HrSensorsPvtQuery",
+			Handler:    _Api_HrSensorsPvtQuery_Handler,
+		},
+		{
+			MethodName: "AddHrSensors",
+			Handler:    _Api_AddHrSensors_Handler,
+		},
+		{
+			MethodName: "AddPvtHrSensors",
+			Handler:    _Api_AddPvtHrSensors_Handler,
+		},
+		{
+			MethodName: "EditHrSensors",
+			Handler:    _Api_EditHrSensors_Handler,
+		},
+		{
+			MethodName: "HrSensorsDel",
+			Handler:    _Api_HrSensorsDel_Handler,
+		},
+		{
+			MethodName: "PKGroupChg",
+			Handler:    _Api_PKGroupChg_Handler,
+		},
+		{
+			MethodName: "BindHrSensor",
+			Handler:    _Api_BindHrSensor_Handler,
+		},
+		{
+			MethodName: "UnBindHrSensor",
+			Handler:    _Api_UnBindHrSensor_Handler,
+		},
 	},
 	Streams:  []grpc.StreamDesc{},
 	Metadata: "base.proto",

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

@@ -0,0 +1,107 @@
+// Package service
+/**
+ * @ File:
+ * @ Date: 2021/5/6 17:44
+ * @ Author: JYQ
+ * @ Description:
+ */
+package service
+
+import (
+	"sportfitness/base/assembly/heartRate/repository/postgre"
+	"sportfitness/base/errors"
+)
+
+type Hr struct {
+	base
+}
+
+func (h Hr) HrSensorsPublicQuery(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.PublicSensorQuery(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
+func (h Hr) HrSensorsPvtQuery(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.PrivateSensorQuery(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
+func (h Hr) AddHrSensors(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.PublicSensorsAdd(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
+func (h Hr) AddPvtHrSensors(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.PrivateSensorsAdd(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
+func (h Hr) EditHrSensors(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.SensorsEdit(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
+func (h Hr) HrSensorsDel(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.SensorsDel(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
+func (h Hr) PKGroupChg(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.PkGroupChg(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
+func (h Hr) BindHrSensor(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.CrBind(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}
+
+func (h Hr) UnBindHrSensor(token string, objectShopId int64, jsonStr string, sign string) string {
+	optId := h.checkPermission(token, objectShopId)
+
+	rst, err := postgre.PGHr{}.CrUnBind(optId, objectShopId, jsonStr, sign)
+	if err != nil {
+		panic(errors.PGError)
+	}
+	return rst
+}

+ 22 - 0
assembly/heartRate/init.go

@@ -0,0 +1,22 @@
+package base
+
+import (
+	"sportfitness/base/assembly/base/repository"
+	"sportfitness/base/assembly/base/repository/postgre"
+	"sportfitness/base/assembly/base/service"
+
+	"github.com/sirupsen/logrus"
+)
+
+func Init() {
+	logrus.Info("基础库初始化")
+	repository.Init()
+	postgre.Init()
+	//redis.Init()
+
+	//TODO 添加开关
+	service.RegisterServices()
+
+	logrus.Info("基础库初始化成功")
+	return
+}

+ 12 - 0
assembly/heartRate/repository/init.go

@@ -0,0 +1,12 @@
+package repository
+
+import (
+	"git.beswell.com/gframe/application"
+	"git.beswell.com/gframe/application/repository"
+)
+
+var Repository *repository.Repository
+
+func Init() {
+	Repository = application.GetApp().NewRepository()
+}

+ 74 - 0
assembly/heartRate/repository/postgre/hr.go

@@ -0,0 +1,74 @@
+// Package postgre
+/**
+ * @ File:
+ * @ Date: 2021/5/6 11:30
+ * @ Author: JYQ
+ * @ Description:
+ */
+package postgre
+
+type PGHr struct {
+}
+
+func (PGHr) PublicSensorQuery(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_public_sensor_query(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
+func (PGHr) PrivateSensorQuery(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_private_sensor_query(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
+func (PGHr) PublicSensorsAdd(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_public_sensor_add(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
+func (PGHr) PrivateSensorsAdd(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_private_sensor_add(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
+func (PGHr) SensorsEdit(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_sensor_edit(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
+func (PGHr) SensorsDel(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_sensor_del(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
+func (PGHr) PkGroupChg(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_pk_group_chg(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
+func (PGHr) CrBind(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_cr_bind(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}
+
+func (PGHr) CrUnBind(optUserId int64, objectShopId int64, jsonStr string, verfStr string) (result string, err error) {
+	err = getClient().Raw("select fn_cr_unbind(? ,? ,? )", optUserId, objectShopId, jsonStr, verfStr).
+		Scan(&result).Error
+
+	return
+}

+ 0 - 0
assembly/heartRate/repository/postgre/hrSql/test.sql


+ 31 - 0
assembly/heartRate/repository/postgre/init.go

@@ -0,0 +1,31 @@
+package postgre
+
+import (
+	"embed"
+	"sportfitness/base/assembly/heartRate/repository"
+
+	lib "git.beswell.com/gframe/application/repository"
+)
+
+//go:embed hrSql
+var sqlDir embed.FS
+
+//var SysToken string // 心率徐彤不需要与总后台对接,所以不需要传递SysToken,且心率库中未存储SysToken
+
+func Init() {
+	err := repository.Repository.InitGormByConfigCenter("DB_SportFitness_HrBase")
+	if err != nil {
+		panic(err)
+	}
+
+	err = getClient().AutoMigrateFunc(&sqlDir)
+	if err != nil {
+		panic(err)
+	}
+	// 需要从数据库取出sys_token用作系统验证,存全局变量,每次调用总后台接口需要传递sys_token
+	//getClient().Raw("select sys_token from s_sys_config").Scan(&SysToken)  Hr子系统不需要与系统总后台对接
+	//global.SysToken = SysToken
+}
+func getClient() *lib.DB {
+	return repository.Repository.GetGormClient()
+}

+ 5 - 3
main.go

@@ -2,18 +2,20 @@ package main
 
 import (
 	"fmt"
-	"git.beswell.com/gframe/application"
-	"github.com/ZR233/glog/v2"
-	"github.com/sirupsen/logrus"
 	"log"
 	"net"
 	"sportfitness/base/api/grpc"
 	pb "sportfitness/base/api/grpc/base"
 	"sportfitness/base/assembly/base"
+
+	"git.beswell.com/gframe/application"
+	"github.com/ZR233/glog/v2"
+	"github.com/sirupsen/logrus"
 )
 
 func main() {
 	glog.Init("sportfitness", "base")
+	glog.Init("sportfitness", "heartRate")
 	app := application.NewDefault()
 
 	err := app.LogUseKafka()

+ 9 - 0
proto/server/base.proto

@@ -122,6 +122,15 @@ service Api {
   rpc VipUserOrderQuery (StandardRequest) returns (StandardReply) {}
 
   // 心率
+  rpc HrSensorsPublicQuery (StandardRequest) returns (StandardReply) {}
+  rpc HrSensorsPvtQuery (StandardRequest) returns (StandardReply) {}
+  rpc AddHrSensors (StandardRequest) returns (StandardReply) {}
+  rpc AddPvtHrSensors (StandardRequest) returns (StandardReply) {}
+  rpc EditHrSensors (StandardRequest) returns (StandardReply) {}
+  rpc HrSensorsDel (StandardRequest) returns (StandardReply) {}
+  rpc PKGroupChg (StandardRequest) returns (StandardReply) {}
+  rpc BindHrSensor (StandardRequest) returns (StandardReply) {}
+  rpc UnBindHrSensor (StandardRequest) returns (StandardReply) {}
 
 }
 message DefaultRequest{