快速接龙上传

This commit is contained in:
meixiongfeng 2023-10-13 15:17:24 +08:00
parent a8704d4232
commit 19dad4d7fa
9 changed files with 899 additions and 534 deletions

74
game/cutout.go Normal file
View File

@ -0,0 +1,74 @@
package gameutils
type SubmitFeedBack struct {
isSuccess bool
submitResult map[int32]int32
afterFilterData [][]int32
recommendInput []int32
lastCount int32
}
func (this *SubmitFeedBack) SetSubmitFeedBack(b bool, submitResult map[int32]int32) *SubmitFeedBack {
this.isSuccess = b
this.submitResult = submitResult
return this
}
func (this *SubmitFeedBack) SetSubmitFeedBack1(isSuccess bool, submitResult map[int32]int32, afterFilterData [][]int32, recommendInput []int32) *SubmitFeedBack {
this.isSuccess = isSuccess
this.submitResult = submitResult
this.afterFilterData = afterFilterData
this.recommendInput = recommendInput
return this
}
func (this *SubmitFeedBack) SetSubmitFeedBack2(isSuccess bool, submitResult map[int32]int32, afterFilterData [][]int32, recommendInput []int32, lastCount int32) *SubmitFeedBack {
this.isSuccess = isSuccess
this.submitResult = submitResult
this.afterFilterData = afterFilterData
this.recommendInput = recommendInput
this.lastCount = lastCount
return this
}
func (this *SubmitFeedBack) getLastCount() int32 {
return this.lastCount
}
func (this *SubmitFeedBack) getAfterFilterData() [][]int32 {
return this.afterFilterData
}
func (this *SubmitFeedBack) getRecommendInput() []int32 {
return this.recommendInput
}
func (this *SubmitFeedBack) getSubmitResult() map[int32]int32 {
return this.submitResult
}
func (this *SubmitFeedBack) getisSuccess() bool {
return this.isSuccess
}
func (this *SubmitFeedBack) makeRecommendInput(result []int32, input []int32, data [][]int32) *SubmitFeedBack {
if !AssertSubmitUnit(result) || !AssertSubmitUnit(input) || data == nil {
return nil
}
var inputResult map[int32]int32
num1, num2 := CalResultForEachSubmit(input, result)
inputResult[num1] = num2
if inputResult != nil && len(inputResult) == 1 { //&& inputResult.first == 4 {
return this.SetSubmitFeedBack(true, inputResult)
}
for i, item := range data {
num3, num4 := CalResultForEachSubmit(item, input)
if !SubmitResultEquals(num1, num2, num3, num4) {
//data.remove(i)
data = append(data[:i], data[i+1:]...)
}
}
return this.SetSubmitFeedBack2(false, inputResult, data, data[0], int32(len(data)))
}

153
game/games.go Normal file
View File

@ -0,0 +1,153 @@
package gameutils
import (
"go_dreamfactory/utils"
"strconv"
)
var (
ORIGIN []int32 // = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
CONTENT_COUNT int32
ALL_SUBMIT_NUM int32
)
func init() {
ORIGIN = []int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
CONTENT_COUNT = 4
ALL_SUBMIT_NUM = 10 * 9 * 8 * 7
}
/**
* 断言一个提交记录
*
* @param result
* @return
*/
func AssertSubmitUnit(result []int32) bool {
return result != nil && len(result) == 4
}
/**
* 计算每次猜测有多少A和多少B
*
* @return
*/
func CalResultForEachSubmit(submit []int32, result []int32) (num1 int32, num2 int32) {
if submit == nil || result == nil || int32(len(submit)) != CONTENT_COUNT || int32(len(result)) != CONTENT_COUNT {
return
}
var aNum int32
var bNum int32
var i int32
for i = 0; i < CONTENT_COUNT; i++ {
if submit[i] == result[i] {
aNum++
}
}
for i, integer := range submit {
for i1, v := range result {
if submit[i] == result[i1] {
continue
}
if v == integer {
bNum++
}
}
}
return aNum, bNum
}
/**
* 比较两个提交结果是否一致
*
* @param firstSubmit
* @param secondSubmit
* @return
*/
func SubmitResultEquals(num1 int32, num2 int32, num3 int32, num4 int32) bool {
return num1 == num2 && num3 == num4 && num1 == num4
}
func MakeRandomResult() []int {
var result []int
result = utils.RandomNumbers(0, 9, 4)
//utils.RandomNumbers(1,2,1)
return result
}
/**
* 交换两个数组
*
* @param data
* @param i
* @param j
*/
// private static void swap(int[] data, int i, int j) {
// if (data == nil || data.length <= j || data.length <= i || i < 0 || j < 0 || i == j) {
// return;
// }
// data[i] = data[i] + data[j];
// data[j] = data[i] - data[j];
// data[i] = data[i] - data[j];
// }
/**
* 创建所有的数据
*
* @return
*/
func MakeAllData() [][]int32 {
var allData [][]int32
var (
i, j, k, l int32
)
for i = 0; i < 10; i++ {
for j = 0; j < 10; j++ {
for k = 0; k < 10; k++ {
for l = 0; l < 10; l++ {
if IsDifferentNum(i, j, l, k) {
//int[] item = new int[]{i, j, k, l};
var item []int32
item = []int32{i, j, k, l}
//allData.add(item)
allData = append(allData, item)
}
}
}
}
}
return allData
}
func IsDifferentNum(i, j, k, l int32) bool {
m := make(map[int32]struct{}, 0)
m[i] = struct{}{}
m[j] = struct{}{}
m[k] = struct{}{}
m[l] = struct{}{}
return len(m) == 4
}
func ParseString2IntArray(String string) []int32 {
var result []int32
if len(String) != 4 {
return result
}
result = make([]int32, CONTENT_COUNT)
// result = new int[CONTENT_COUNT];
num, _ := strconv.Atoi(String)
for i := CONTENT_COUNT - 1; i >= 0; i-- {
result[i] = int32(num % 10)
num = num / 10
}
return result
}
func ParseIntArray2String(input []int32) string {
var s string
for _, v := range input {
s += strconv.Itoa(int(v))
}
return s
}

View File

@ -13,11 +13,25 @@ func (this *apiComp) GetListCheck(session comm.IUserSession, req *pb.JielongGetL
// /获取自己的排行榜信息
func (this *apiComp) GetList(session comm.IUserSession, req *pb.JielongGetListReq) (errdata *pb.ErrorData) {
var (
list *pb.DBJielongData
err error
)
if errdata = this.GetListCheck(session, req); errdata != nil {
return
}
session.SendMsg(string(this.module.GetType()), "getlist", &pb.JielongGetListResp{})
list, err = this.module.modelJielong.getUserJielongData(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: err.Error(),
}
return
}
session.SendMsg(string(this.module.GetType()), "getlist", &pb.JielongGetListResp{
Data: list,
})
return
}

View File

@ -1,22 +0,0 @@
package jielong
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) ResultCheck(session comm.IUserSession, req *pb.JielongResultReq) (errdata *pb.ErrorData) {
return
}
func (this *apiComp) Result(session comm.IUserSession, req *pb.JielongResultReq) (errdata *pb.ErrorData) {
if errdata = this.ResultCheck(session, req); errdata != nil {
return
}
session.SendMsg(string(this.module.GetType()), "result", &pb.JielongResultResp{})
return
}

View File

@ -0,0 +1,46 @@
package jielong
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) ResultCheck(session comm.IUserSession, req *pb.JielongResultReq) (errdata *pb.ErrorData) {
return
}
func (this *apiComp) Result(session comm.IUserSession, req *pb.JielongResultReq) (errdata *pb.ErrorData) {
var (
list *pb.DBJielongData
err error
update map[string]interface{}
)
update = make(map[string]interface{}, 0)
if errdata = this.ResultCheck(session, req); errdata != nil {
return
}
list, err = this.module.modelJielong.getUserJielongData(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
Message: err.Error(),
}
return
}
if req.Bwin {
list.Wincount += 1 // 连胜+1
} else {
list.Wincount = 0 // 连胜清零
}
update["wincount"] = list.Wincount
this.module.modelJielong.changeJielongData(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), "result", &pb.JielongResultResp{
Data: list,
})
return
}

View File

@ -0,0 +1,63 @@
package jielong
import (
"go_dreamfactory/comm"
"go_dreamfactory/pb"
)
// 参数校验
func (this *apiComp) RewardCheck(session comm.IUserSession, req *pb.JielongRewardReq) (errdata *pb.ErrorData) {
if req.Rewardkey == 0 {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_ReqParameterError,
Title: pb.ErrorCode_ReqParameterError.ToString(),
}
}
return
}
func (this *apiComp) Reward(session comm.IUserSession, req *pb.JielongRewardReq) (errdata *pb.ErrorData) {
var (
list *pb.DBJielongData
err error
update map[string]interface{}
)
update = make(map[string]interface{}, 0)
if errdata = this.RewardCheck(session, req); errdata != nil {
return
}
// TODO 等策划配置来再做数据校验
list, err = this.module.modelJielong.getUserJielongData(session.GetUserId())
if err != nil {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_DBError,
Title: pb.ErrorCode_DBError.ToString(),
Message: err.Error(),
}
return
}
if req.Cur {
if _, ok := list.Reward[req.Rewardkey]; ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_UserRepeadReward,
Title: pb.ErrorCode_UserRepeadReward.ToString(),
}
return
}
list.Reward[req.Rewardkey] = 1
update["reward"] = list.Reward
} else {
if _, ok := list.Gotarr[req.Rewardkey]; ok {
errdata = &pb.ErrorData{
Code: pb.ErrorCode_UserRepeadReward,
Title: pb.ErrorCode_UserRepeadReward.ToString(),
}
return
}
list.Gotarr[req.Rewardkey] = 1
update["gotarr"] = list.Gotarr
}
this.module.modelJielong.changeJielongData(session.GetUserId(), update)
session.SendMsg(string(this.module.GetType()), "reward", &pb.JielongRewardResp{})
return
}

View File

@ -171,7 +171,8 @@ func (this *MCompConfigure) LoadGroupData() {
// 实际掉落逻辑 (传入 掉落组ID vip等级 玩家等级 返回获得的道具)
func (this *MCompConfigure) GetGroupDataByLottery(lotteryId int32, vipLv int32, lv int32) (items []*cfg.Gameatn) {
this.hlock.RLock()
defer this.hlock.RUnlock()
if _, ok := this._lotteryType1[lotteryId]; !ok {
if _, ok := this._lotteryType2[lotteryId]; !ok {
this.module.Errorf("not found config lotterId:%d", lotteryId)
@ -469,6 +470,8 @@ func (this *MCompConfigure) RandRobotConfig(num int32) (confs []*cfg.GameRobotDa
// 获取签到信息
func (this *MCompConfigure) GetSignConf(day, group int32) *cfg.GameSignData {
this.hlock.RLock()
defer this.hlock.RUnlock()
if v, ok := this._sign[day<<8+group]; ok {
return v
}
@ -606,10 +609,14 @@ func (this *MCompConfigure) LoadPriceGroup() {
// 获取
func (this *MCompConfigure) GetPriceGroup(pricegroupId int32) (sz []*cfg.GamePricegroupData) {
this.hlock.RLock()
defer this.hlock.RUnlock()
return this._price[pricegroupId]
}
func (this *MCompConfigure) GetPriceGroupCost(pricegroupId int32, purchase int32) (res []*cfg.Gameatn, err error) {
this.hlock.RLock()
defer this.hlock.RUnlock()
if _, ok := this._price[pricegroupId]; !ok {
err = comm.NewNotFoundConfErr("tools", game_price, pricegroupId)
return
@ -624,6 +631,8 @@ func (this *MCompConfigure) GetPriceGroupCost(pricegroupId int32, purchase int32
}
func (this *MCompConfigure) GetPriceGroupLen(pricegroupId int32) (count int32, err error) {
this.hlock.RLock()
defer this.hlock.RUnlock()
if _, ok := this._price[pricegroupId]; !ok {
err = comm.NewNotFoundConfErr("tools", game_price, pricegroupId)
}

File diff suppressed because it is too large Load Diff

View File

@ -205,7 +205,8 @@ type JielongRewardReq struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Cur bool `protobuf:"varint,1,opt,name=cur,proto3" json:"cur"`
Cur bool `protobuf:"varint,1,opt,name=cur,proto3" json:"cur"` // 0 本周奖励 1 历史奖励
Rewardkey int32 `protobuf:"varint,2,opt,name=rewardkey,proto3" json:"rewardkey"` // 奖励key
}
func (x *JielongRewardReq) Reset() {
@ -247,12 +248,20 @@ func (x *JielongRewardReq) GetCur() bool {
return false
}
func (x *JielongRewardReq) GetRewardkey() int32 {
if x != nil {
return x.Rewardkey
}
return 0
}
type JielongRewardResp struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Data *DBJielongData `protobuf:"bytes,1,opt,name=data,proto3" json:"data"`
Res *UserAtno `protobuf:"bytes,2,opt,name=res,proto3" json:"res"`
}
func (x *JielongRewardResp) Reset() {
@ -294,31 +303,42 @@ func (x *JielongRewardResp) GetData() *DBJielongData {
return nil
}
func (x *JielongRewardResp) GetRes() *UserAtno {
if x != nil {
return x.Res
}
return nil
}
var File_jielong_jielong_msg_proto protoreflect.FileDescriptor
var file_jielong_jielong_msg_proto_rawDesc = []byte{
0x0a, 0x19, 0x6a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x2f, 0x6a, 0x69, 0x65, 0x6c, 0x6f, 0x6e,
0x67, 0x5f, 0x6d, 0x73, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x6a, 0x69, 0x65,
0x6c, 0x6f, 0x6e, 0x67, 0x2f, 0x6a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x64, 0x62, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x13, 0x0a, 0x11, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67,
0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x38, 0x0a, 0x12, 0x4a, 0x69,
0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70,
0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x44, 0x42, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04,
0x64, 0x61, 0x74, 0x61, 0x22, 0x26, 0x0a, 0x10, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x52,
0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x77, 0x69, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x62, 0x77, 0x69, 0x6e, 0x22, 0x37, 0x0a, 0x11,
0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73,
0x70, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x0e, 0x2e, 0x44, 0x42, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52,
0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x24, 0x0a, 0x10, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x75, 0x72,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x63, 0x75, 0x72, 0x22, 0x37, 0x0a, 0x11, 0x4a,
0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70,
0x12, 0x22, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e,
0x2e, 0x44, 0x42, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04,
0x64, 0x61, 0x74, 0x61, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72,
0x6f, 0x74, 0x6f, 0x33,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x0a, 0x63, 0x6f, 0x6d, 0x6d, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0x13, 0x0a, 0x11, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x47, 0x65, 0x74, 0x4c,
0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x22, 0x38, 0x0a, 0x12, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e,
0x67, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04,
0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x4a,
0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
0x22, 0x26, 0x0a, 0x10, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c,
0x74, 0x52, 0x65, 0x71, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x77, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x04, 0x62, 0x77, 0x69, 0x6e, 0x22, 0x37, 0x0a, 0x11, 0x4a, 0x69, 0x65, 0x6c,
0x6f, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a,
0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42,
0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74,
0x61, 0x22, 0x42, 0x0a, 0x10, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x52, 0x65, 0x77, 0x61,
0x72, 0x64, 0x52, 0x65, 0x71, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x75, 0x72, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x03, 0x63, 0x75, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x77, 0x61, 0x72,
0x64, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x72, 0x65, 0x77, 0x61,
0x72, 0x64, 0x6b, 0x65, 0x79, 0x22, 0x54, 0x0a, 0x11, 0x4a, 0x69, 0x65, 0x6c, 0x6f, 0x6e, 0x67,
0x52, 0x65, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x22, 0x0a, 0x04, 0x64, 0x61,
0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x44, 0x42, 0x4a, 0x69, 0x65,
0x6c, 0x6f, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b,
0x0a, 0x03, 0x72, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x55, 0x73,
0x65, 0x72, 0x41, 0x74, 0x6e, 0x6f, 0x52, 0x03, 0x72, 0x65, 0x73, 0x42, 0x06, 0x5a, 0x04, 0x2e,
0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@ -342,16 +362,18 @@ var file_jielong_jielong_msg_proto_goTypes = []interface{}{
(*JielongRewardReq)(nil), // 4: JielongRewardReq
(*JielongRewardResp)(nil), // 5: JielongRewardResp
(*DBJielongData)(nil), // 6: DBJielongData
(*UserAtno)(nil), // 7: UserAtno
}
var file_jielong_jielong_msg_proto_depIdxs = []int32{
6, // 0: JielongGetListResp.data:type_name -> DBJielongData
6, // 1: JielongResultResp.data:type_name -> DBJielongData
6, // 2: JielongRewardResp.data:type_name -> DBJielongData
3, // [3:3] is the sub-list for method output_type
3, // [3:3] is the sub-list for method input_type
3, // [3:3] is the sub-list for extension type_name
3, // [3:3] is the sub-list for extension extendee
0, // [0:3] is the sub-list for field type_name
7, // 3: JielongRewardResp.res:type_name -> UserAtno
4, // [4:4] is the sub-list for method output_type
4, // [4:4] is the sub-list for method input_type
4, // [4:4] is the sub-list for extension type_name
4, // [4:4] is the sub-list for extension extendee
0, // [0:4] is the sub-list for field type_name
}
func init() { file_jielong_jielong_msg_proto_init() }
@ -360,6 +382,7 @@ func file_jielong_jielong_msg_proto_init() {
return
}
file_jielong_jielong_db_proto_init()
file_comm_proto_init()
if !protoimpl.UnsafeEnabled {
file_jielong_jielong_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*JielongGetListReq); i {