虚拟主键开发20191120
<h2>基本操作</h2>
<p>概念创建</p>
<ol>
<li>概念的名字/aka/summary/cpath/image/weight/cuser/ctime/update_time/mtime都存放在虚拟主键中</li>
<li>概念的附加属性都存放在虚拟主键的附加属性中</li>
<li>概念创建时,map只映射到虚拟主键,不直接映射到概念名。</li>
</ol>
<p>概念修改</p>
<ol>
<li>概念的aka/summary/cpath/image/weight 实际修改是虚拟主键的信息</li>
<li>概念的附加属性修改实际修改虚拟主键的附加属性</li>
<li>概念别称修改,map只映射到虚拟主键,不直接映射到概念名</li>
<li>概念名需要修改,需要LogicWorldManager新增方法 修改底层数据</li>
</ol>
<p>概念删除</p>
<ol>
<li>概念删除,删除虚拟主键涉及到所有信息</li>
</ol>
<p>虚拟主键拥等于普通对象</p>
<h3>虚拟对象权重</h3>
<ol>
<li>虚拟对象权重默认为:9999999</li>
<li>虚拟对象如果添加了附加属性,权重值是否是重新计算,还是在9999999的基础上累加</li>
<li>虚拟对象创建关联时,权重是否9999999的基础上累加</li>
</ol>
<h3>涉及修改或调整到类和方法</h3>
<p>Concept</p>
<pre><code>details # 需要从概念表和虚拟主键组合 添加一个实例化虚拟主键的方法
cpath # 从虚拟主键提取
_set_cpath # 保存到虚拟主键
image # 从虚拟主键提取
set_image # 保存到虚拟主键
name # 从虚拟主键提取
aka # 从虚拟主键提取
setAka # 调用虚拟主键的set_aka方法
weight # 调用虚拟主键
getProperty # 从虚拟主键提取
setProperty # 从虚拟主键提取
deleteProperty # 从虚拟主键提取
existProperty # 从虚拟主键提取
save # 调用虚拟主键的save</code></pre>
<p>ConceptBuild</p>
<pre><code>create 概念创建 # 增加创建虚拟主键
update 概念更新 # 如果涉及到概念基本信息,需要更新虚拟主键
copy 概念复制 # 等同于概念创建
delete 概念删除 # 删除虚拟主键</code></pre>
<p>ObjectBuild</p>
<pre><code>update 对象更新 # 需要判断是否是虚拟主键,虚拟主键不可以修改标准名
delete 对象删除 # 需要判断是否是虚拟主键, 虚拟主键删除由专门参数控制(只有删除概念才可以操作)
move 对象移动 # 需要判断是否是虚拟主键,虚拟主键不可以移动
merge 对象合并 # 需要判断被合并主键是否是虚拟主键,虚拟主键不可以合并</code></pre>
<p>BaseObject</p>
<pre><code>setObjName 修改标准名 虚拟对象不允许修改标准名</code></pre>
<p>Relation(虚拟对象权重无意义,无须额外开发)</p>
<pre><code>addRelation 虚拟主键创建关联 是否需要更新虚拟对象权重
removeRelation</code></pre>
<p>UpdateObjectRelationStat(虚拟对象权重无意义,无须额外开发)</p>
<pre><code>updateObject 虚拟主键 更新对象权重时是否在999999基础上累加</code></pre>
<p>新增方法:</p>
<ol>
<li>需要一个小函数帮所有概念建立对应的虚拟主键,更新所有概念map表,将概念名转换成虚拟主键。</li>
<li>清除掉概念基本信息中被虚拟主键替换的数据</li>
</ol>