_rspErr(1, 'invalid code'); return; } if ($result['begindate'] > myself()->_getNowTime() || $result['enddate'] < myself()->_getNowTime()){ myself()->_rspErr(1, 'invalid code'); return; } switch ($result['codetype']){ //一对一(一码只能兑换一次,并且该类道具一人也只能兑换一次) case 1 :{ $recordDb = ExchangeCode::getRecordByCode($code); if ($recordDb){ myself()->_rspErr(1, 'been used code'); return; } $recordDb2 = ExchangeCode::findRecordByPackage($result['packageno']); if ($recordDb2){ myself()->_rspErr(1, 'In exchange for rewards'); return; } } break; //一对多(一码可被多人使用,仅一人一次,并且该类道具一人也只能兑换一次) case 2 :{ $recordDb = ExchangeCode::findRecordByCode($code); if ($recordDb){ myself()->_rspErr(1, 'been used code'); return; } $recordDb2 = ExchangeCode::findRecordByPackage($result['packageno']); if ($recordDb2){ myself()->_rspErr(1, 'In exchange for rewards'); return; } } break; //多对一 case 3:{ $recordDb = ExchangeCode::getRecordByCode($code); if ($recordDb){ myself()->_rspErr(1, 'been used code'); return; } } break; default :{ myself()->_rspErr(1, 'invalid'); return; } } $itemMt = \mt\Item::get($result['packageno']); if (!$itemMt){ myself()->_rspErr(1, "Props that don't exist"); return; } $items = array( array( 'item_id' => $itemMt['id'], 'item_num' => 1 ) ); $propertyChgService = new services\PropertyChgService(); $awardService = new services\AwardService(); $this->_addItems($items, $awardService, $propertyChgService); $fieldKv = array( 'account_id' => myself()->_getAccountId(), 'exchangecode' => $code, 'packageno' => $itemMt['id'], 'codetype' => $result['codetype'], 'createtime' => myself()->_getNowTime(), 'modifytime' => myself()->_getNowTime(), ); ExchangeCode::insetRecord($fieldKv); ExchangeCode::updateExchangeCode($code); $this->_rspOk(); } public function getMap(){ $mapDb = Map::findMap(); $this->_rspData(array("data"=>$mapDb)); } }