import {ApiCall} from "tsrpc"; import {KuangDongfun} from "../../public/kuangdong"; import {PlayerFun} from "../../public/player"; import {ReqYanShi, ResYanShi} from "../../shared/protocols/kuangdong/PtlYanShi"; export default async function (call: ApiCall) { //return call.errorCode(1) let hdid = call.req.hdid let con = await KuangDongfun.getCon(hdid) let kdInfo if (con.public_map == 1){ kdInfo = await KuangDongfun.getKaiCaiInfo(hdid) }else { kdInfo = await KuangDongfun.getKaiCaiInfo(hdid, call.uid) } if (!kdInfo || !con) { return call.error('', {code: -1, message: globalThis.lng.kudangdong_1}) } // 不是自己占领的 if (kdInfo.uid != call.uid) { return call.error('', {code: -2, message: globalThis.lng.kudangdong_8}) } // 已经延时 if (kdInfo.yanshi != 0) { return call.error('', {code: -2, message: globalThis.lng.kudangdong_10}) } // @ts-ignore let _need: atn[] = G.gc.com.dpzd_time.value; // 扣资源 // _need = [{ a: 'attr', t: 'rmbmoney', n: 120 }] await PlayerFun.checkNeedIsMeet(call, _need) _need && await PlayerFun.cutNeed(call, _need); kdInfo.yanshi = 8 * 3600 if (!kdInfo.ctime) kdInfo.ctime = G.time if (!kdInfo.etime) kdInfo.etime = G.time if (!kdInfo.kdtype) kdInfo.kdtype = con.type // 如果调用这个方法,会upsert,在没有查到数据的情况下, // 会插入空数据,全服玩家的查询列表接口都会报错 // await KuangDongfun.setminingZhanLing(call.uid, hdid, { $set: { yanshi: kdInfo.yanshi } }) await G.mongodb.collection('kuangdong').updateOne({uid: call.uid, hdid: hdid}, {$set: kdInfo}); kdInfo._id = kdInfo._id.toString() let changeData = { kdinfo: kdInfo } call.succ(changeData) }