* @version : HUOSDK 7.0 */ namespace huo\model\address; use huo\model\common\CommonModel; use huolib\constant\CommonConst; class MemAddressModel extends CommonModel { protected $name = 'mem_address'; protected $pk = 'id'; /* 开启自动写入时间戳字段 */ protected $autoWriteTimestamp = true; /** * 添加数据 * * @param array $data 需要添加的数据 * * @return false|int 添加失败返回 false 添加成功 返回添加的ID */ public function addData($data) { if (empty($data)) { return false; } $_data = $data; $_model = new static(); $_rs = $_model->allowField(true)->isUpdate(false)->save($_data, []); if (false !== $_rs) { return $_model->getLastInsID(); } return false; } /** * 通过ID获取信息 * * @param int $id 主键ID * * @return array */ public function getInfoById($id) { /* 缓存操作 */ if (!empty($_data)) { return $_data; } $_data = parent::getInfoById($id); if (empty($_data)) { return []; } return $_data; } /** * 更新单条数据 * * @param array $data 数据 * @param int $id ID * * @return bool */ public function updateData($data, $id) { $_data = $data; $_map[$this->pk] = $id; $_model = new static(); $_rs = $_model->isUpdate(true)->save($_data, $_map); if (false === $_rs) { return false; } /* 缓存操作 */ return true; } /** * 删除单条数据 * * @param int $id ID * @param bool $is_complete 是否完成删除 * * @return bool */ public function deleteData($id, $is_complete = true) { $_map[$this->pk] = $id; if (true == $is_complete) { /* 彻底删除 */ $_rs = $this->where($_map)->delete(); } else { $_data['is_delete'] = CommonConst::CONST_DELETED; $_rs = self::updateData($_data, $id); } if (false === $_rs) { return false; } /* 缓存操作 */ return $_rs; } /** * 设定某个ID以外的为非默认 * * @param int $id 当前id * @param int $mem_id 玩家id * * @return MemAddressModel */ public function setNoDefaultExcept($id, $mem_id) { $_map = [ 'id' => ['neq', $id], 'mem_id' => $mem_id ]; return $this->where($_map)->update(['is_default' => 1]); } }