This commit is contained in:
18
index.html
18
index.html
@@ -47,23 +47,29 @@
|
||||
<p> Convert包是Redkale内一个独立的组件, 用于数据的序列化与反序列化。包分三块:基本包、JSON包、BSON(Binary Stream Object Notation)包。基本包可以用于扩展其他序列化格式(如: XML),其JSON性能是其他任何JSON框架不能媲美的,对于非常规的POJO类也提供了方便的自定义接口。BSON用于数据的二进制序列化与反序列化,支持很复杂的泛型数据,是SNCP协议的基础。</p>
|
||||
|
||||
|
||||
<h3><a class="anchor" href="net.html#net_http" target="_blank" aria-hidden="true">亮点二. 轻量级HTTP</a></h3>
|
||||
<h3><a class="anchor" href="source.html#source_datasource" target="_blank" aria-hidden="true">亮点二. DataSource</a></h3>
|
||||
|
||||
<p> Redkale提供DataSource类对数据层进行操作,其功能类似JPA。最大程度的简化数据层的操作,免去SQL/JPQL语句的编写。同时提供过滤查询与JavaBean的结合、读写分离、数据库热切换、本地/远程部署、数据分表分库、进程间缓存自动同步等功能。<br/>
|
||||
CacheSource是缓存的统一接口,像JDBC接口定义,不管是内存模式还是Memcached、Redis或其他缓存系统, 只要提供对应的实现就可使用,每个接口都提供同步和异步两种方式。</p>
|
||||
|
||||
|
||||
<h3><a class="anchor" href="net.html#net_http" target="_blank" aria-hidden="true">亮点三. HTTP协议</a></h3>
|
||||
|
||||
<p> HTTP组件是基于异步NIO.2实现的,HttpRequest的输入与HttpResponse的输出均是异步操作,HttpRequest内置JSON参数的获取和文件上传功能,HttpResponse提供数据对象和文件的数据,同时集成了REST ,因此并不遵循JSR 340规范(Servlet 3.1)且也没有实现JSP规范。 HTTP Server只提供四个对象:HttpContext、HttpRequest、HttpResponse、HttpServlet。 传统Session则由数据层实现。Redkale提倡HTTP+JSON接口(网站、PC客户端、APP移动端、第三方接口均可统一接口), 故内置了JSON序列化与反序列化接口,同时内置HTTP缓存机制。<br/>
|
||||
Redkale 的<a href="net.html#net_ws" target="_blank">WebSocket服务</a>接口不同于JSR 340(Servlet 3.1), 除了提供基本的WebSocket功能, 还提供分布式与集中式部署, 当部署多个WebSocket进程时,通过配置文件可以实现WebSocket之间连接信息的数据同步。</p>
|
||||
|
||||
|
||||
<h3><a class="anchor" href="net.html#net_sncp" target="_blank" aria-hidden="true">亮点三. SNCP协议</a></h3>
|
||||
<h3><a class="anchor" href="net.html#net_sncp" target="_blank" aria-hidden="true">亮点四. SNCP协议</a></h3>
|
||||
|
||||
<p> SNCP(Service Node Communicate Protocol)是Redkale独有的RPC协议, 主要用于进程间的数据传输,支持泛型和子类的数据转换。开发人员通过配置文件可以轻易的将Service由<a href="service.html#service_local" target="_blank">本地模式</a>变成<a href="service.html#service_remote" target="_blank">远程模式</a>。<a href="service.html#service_remote" target="_blank">远程模式Service</a>使用SNCP协议与其他进程的Service通信。开发人员无需对远程通信接口使用类似Mina的第三方包进行开发。SNCP是Redkale的核心功能,其微服务架构都是基于<a href="service.html#service_local" target="_blank">本地模式Service</a>和<a href="service.html#service_remote" target="_blank">远程模式Service</a>。</p>
|
||||
|
||||
|
||||
<h3><a class="anchor" href="source.html#source_datasource" target="_blank" aria-hidden="true">亮点四. DataSource</a></h3>
|
||||
<h3><a class="anchor" href="net.html#net_sncp" target="_blank" aria-hidden="true">亮点五. WATCH协议</a></h3>
|
||||
|
||||
<p> Redkale提供DataSource类对数据层进行操作,其功能类似JPA。最大程度的简化数据层的操作,免去SQL/JPQL语句的编写。同时提供过滤查询与JavaBean的结合、读写分离、数据库热切换、本地/远程部署、数据分表分库、进程间缓存自动同步等功能。</p>
|
||||
<p> WATCH协议其实就是HTTP协议,主要用于进程的微服务和监控管理。接口以HTTP形式提供, Redkale自带部分常规的Watch功能,如动态更新DataSource配置,动态加载Service、Servlet、Filter,查看Server基本信息等。开发者也可自定义WatchService进行监控或管理操作。</p>
|
||||
|
||||
|
||||
<h3><a class="anchor" href="net.html#net_sncp" target="_blank" aria-hidden="true">亮点四. 异步接口</a></h3>
|
||||
|
||||
<h3><a class="anchor" href="net.html#net_sncp" target="_blank" aria-hidden="true">亮点六. 异步接口</a></h3>
|
||||
|
||||
<p> Net、Service、DataSource、CacheSource都支持异步接口,<a href="service.html#service_local" target="_blank">本地模式</a>、<a href="service.html#service_remote" target="_blank">远程模式</a>的Service均支持。</p>
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<section class="main-content">
|
||||
<h3><a id="redkale_start" class="anchor" href="#" aria-hidden="true"></a>Redkale 功能</h3>
|
||||
|
||||
<p> Redkale虽然不到1M大小,但是麻雀虽小五脏俱全。既可作为服务器使用,也可当工具包使用。作为独立的工具包提供以下功能:<br/>
|
||||
<p> Redkale虽然只有1M左右大小,但是麻雀虽小五脏俱全。既可作为服务器使用,也可当工具包使用。作为独立的工具包提供以下功能:<br/>
|
||||
1、convert包提供JSON的序列化和反序列化功能,类似Gson、Jackson。 <br/>
|
||||
2、convert包提供Java对象二进制的序列化和反序列化功能,类似Protobuf。 <br/>
|
||||
3、source包提供很简便的数据库操作功能,类似JPA、Hibernate。 <br/>
|
||||
|
||||
58
source.html
58
source.html
@@ -71,7 +71,7 @@
|
||||
<tr><td style="text-align: left;">find<td>查找单个对象</td></tr>
|
||||
<tr><td style="text-align: left;">queryList<td>查询对象的List集合</td></tr>
|
||||
<tr><td style="text-align: left;">querySheet</td><td>查询对象的Sheet页式集合</td></tr>
|
||||
<tr><td style="text-align: left;">directXXX<td>直接运行SQL语句,用于复杂的关联查询与更新</td></tr>
|
||||
<tr><td style="text-align: left;">directXXX<td>直接运行SQL语句,用于复杂的关联查询与更新(仅限DataSqlSource)</td></tr>
|
||||
</table>
|
||||
<p>
|
||||
以上接口除了directXXX,其他都有等同的异步接口。insert、delete、update接口与JPA同名接口用法一样。DataSource提供了丰富的查询接口,且有独特的翻页查询功能。每以系列的方法主要重载三类: 单个字段过滤、FilterBean过滤和FilterNode过滤。<br/>
|
||||
@@ -193,57 +193,56 @@
|
||||
<span class="kd">public</span> <span class="kd">class</span> <span class="nc">LoginRecord</span> <span class="kd">extends</span> <span class="n">BaseEntity</span> <span class="o">{</span>
|
||||
|
||||
<span class="nd">@Id</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">comment</span> <span class="o">=</span> <span class="s">"主键ID; 值=UUID+create36time"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">loginid</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//主键ID; 值=UUID+create36time</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">comment</span> <span class="o">=</span> <span class="s">"主键ID; 值=create36time(9位)+'-'+UUID(32位)"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">loginid</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//主键ID; 值=create36time(9位)+'-'+UUID(32位)</span>
|
||||
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"C端用户ID"</span><span class="o">)</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"C端用户ID"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="kt">long</span> <span class="n">userid</span><span class="o">;</span> <span class="c1">//C端用户ID</span>
|
||||
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"登录网络类型; wifi/4g/3g"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">netmode</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//登录网络类型; wifi/4g/3g</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"登录网络类型; wifi/4g/3g"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">netmode</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//登录网络类型; wifi/4g/3g</span>
|
||||
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"APP版本信息"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">appversion</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//APP版本信息</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"APP版本信息"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">appversion</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//APP版本信息</span>
|
||||
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"APP操作系统信息"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">appos</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//APP操作系统信息</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"APP操作系统信息"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">appos</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//APP操作系统信息</span>
|
||||
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"登录时客户端信息"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">loginagent</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//登录时客户端信息</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"登录时客户端信息"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">loginagent</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//登录时客户端信息</span>
|
||||
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"登录时的IP"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">loginaddr</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//登录时的IP</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"登录时的IP"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="n">loginaddr</span> <span class="o">=</span> <span class="s">""</span><span class="o">;</span> <span class="c1">//登录时的IP</span>
|
||||
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"创建时间"</span><span class="o">)</span>
|
||||
<span class="nd">@Column</span><span class="o">(</span><span class="n">updatable</span> <span class="o">=</span> <span class="kc">false</span><span class="o">,</span> <span class="n">comment</span> <span class="o">=</span> <span class="s">"创建时间"</span><span class="o">)</span>
|
||||
<span class="kd">private</span> <span class="kt">long</span> <span class="n">createtime</span><span class="o">;</span> <span class="c1">//创建时间</span>
|
||||
|
||||
<span class="cm">/** 以下省略getter setter方法 */</span>
|
||||
|
||||
|
||||
|
||||
<span class="c1">//创建对象</span>
|
||||
<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">[]</span> <span class="n">args</span><span class="o">)</span> <span class="kd">throws</span> <span class="n">Throwable</span> <span class="o">{</span>
|
||||
<span class="n">LoginRecord</span> <span class="n">record</span> <span class="o">=</span> <span class="k">new</span> <span class="n">LoginRecord</span><span class="o">();</span>
|
||||
<span class="kt">long</span> <span class="n">now</span> <span class="o">=</span> <span class="n">System</span><span class="o">.</span><span class="na">currentTimeMillis</span><span class="o">();</span>
|
||||
<span class="n">record</span><span class="o">.</span><span class="na">setCreatetime</span><span class="o">(</span><span class="n">now</span><span class="o">);</span> <span class="c1">//设置创建时间</span>
|
||||
<span class="n">String</span> <span class="n">create36time</span> <span class="o">=</span> <span class="n">Long</span><span class="o">.</span><span class="na">toString</span><span class="o">(</span><span class="n">now</span><span class="o">,</span> <span class="mi">36</span><span class="o">);</span> <span class="c1">//时间的36进制</span>
|
||||
<span class="k">if</span> <span class="o">(</span><span class="n">create36time</span><span class="o">.</span><span class="na">length</span><span class="o">()</span> <span class="o"><</span> <span class="mi">9</span><span class="o">)</span> <span class="n">create36time</span> <span class="o">=</span> <span class="s">"0"</span> <span class="o">+</span> <span class="n">create36time</span><span class="o">;</span> <span class="c1">//当前时间值的36进制只可能是8位或9位,不足9位填充0</span>
|
||||
<span class="n">record</span><span class="o">.</span><span class="na">setLoginid</span><span class="o">(</span><span class="n">Utility</span><span class="o">.</span><span class="na">uuid</span><span class="o">()</span> <span class="o">+</span> <span class="n">create36time</span><span class="o">);</span> <span class="c1">//主键的生成规则</span>
|
||||
<span class="n">record</span><span class="o">.</span><span class="na">setLoginid</span><span class="o">(</span><span class="n">Utility</span><span class="o">.</span><span class="na">format36time</span><span class="o">(</span><span class="n">now</span><span class="o">)</span> <span class="o">+</span> <span class="s">"-"</span> <span class="o">+</span> <span class="n">Utility</span><span class="o">.</span><span class="na">uuid</span><span class="o">());</span> <span class="c1">//主键的生成规则</span>
|
||||
<span class="c1">//.... 填充其他字段</span>
|
||||
<span class="n">source</span><span class="o">.</span><span class="na">insert</span><span class="o">(</span><span class="n">record</span><span class="o">);</span>
|
||||
<span class="o">}</span>
|
||||
|
||||
|
||||
<span class="kd">public</span> <span class="kd">static</span> <span class="kd">class</span> <span class="nc">TableStrategy</span> <span class="kd">implements</span> <span class="n">DistributeTableStrategy</span><span class="o"><</span><span class="n">LoginRecord</span><span class="o">></span> <span class="o">{</span>
|
||||
|
||||
<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">dayformat</span> <span class="o">=</span> <span class="s">"%1$tY%1$tm%1$td"</span><span class="o">;</span>
|
||||
<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">dayformat</span> <span class="o">=</span> <span class="s">"%1$tY%1$tm%1$td"</span><span class="o">;</span> <span class="c1">//一天一个表</span>
|
||||
|
||||
<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">yearformat</span> <span class="o">=</span> <span class="s">"%1$tY"</span><span class="o">;</span>
|
||||
<span class="kd">private</span> <span class="kd">static</span> <span class="kd">final</span> <span class="n">String</span> <span class="n">yearformat</span> <span class="o">=</span> <span class="s">"%1$tY"</span><span class="o">;</span> <span class="c1">//一年一个库</span>
|
||||
|
||||
<span class="c1">//过滤查询时调用本方法</span>
|
||||
<span class="nd">@Override</span>
|
||||
<span class="kd">public</span> <span class="n">String</span> <span class="nf">getTable</span><span class="o">(</span><span class="n">String</span> <span class="n">table</span><span class="o">,</span> <span class="n">FilterNode</span> <span class="n">node</span><span class="o">)</span> <span class="o">{</span>
|
||||
<span class="n">Serializable</span> <span class="n">day</span> <span class="o">=</span> <span class="n">node</span><span class="o">.</span><span class="na">findValue</span><span class="o">(</span><span class="s">"#day"</span><span class="o">);</span>
|
||||
<span class="n">Serializable</span> <span class="n">day</span> <span class="o">=</span> <span class="n">node</span><span class="o">.</span><span class="na">findValue</span><span class="o">(</span><span class="s">"#day"</span><span class="o">);</span> <span class="c1">//LoginRecord没有day字段,所以前面要加#,表示虚拟字段, 值为yyyyMMdd格式</span>
|
||||
<span class="k">if</span> <span class="o">(</span><span class="n">day</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="n">getTable</span><span class="o">(</span><span class="n">table</span><span class="o">,</span> <span class="o">(</span><span class="n">Integer</span><span class="o">)</span> <span class="n">day</span><span class="o">,</span> <span class="mi">0</span><span class="n">L</span><span class="o">);</span> <span class="c1">//存在#day参数则直接使用day值</span>
|
||||
<span class="n">Serializable</span> <span class="n">time</span> <span class="o">=</span> <span class="n">node</span><span class="o">.</span><span class="na">findValue</span><span class="o">(</span><span class="s">"#createtime"</span><span class="o">);</span> <span class="c1">//存在createtime则使用最小时间,且createtime的范围必须在一天内,因为本表以天为单位建表</span>
|
||||
<span class="n">Serializable</span> <span class="n">time</span> <span class="o">=</span> <span class="n">node</span><span class="o">.</span><span class="na">findValue</span><span class="o">(</span><span class="s">"createtime"</span><span class="o">);</span> <span class="c1">//存在createtime则使用最小时间,且createtime的范围必须在一天内,因为本表以天为单位建表</span>
|
||||
<span class="k">return</span> <span class="n">getTable</span><span class="o">(</span><span class="n">table</span><span class="o">,</span> <span class="mi">0</span><span class="o">,</span> <span class="o">(</span><span class="n">time</span> <span class="o">==</span> <span class="kc">null</span> <span class="o">?</span> <span class="mi">0</span><span class="n">L</span> <span class="o">:</span> <span class="o">(</span><span class="n">time</span> <span class="k">instanceof</span> <span class="n">Range</span> <span class="o">?</span> <span class="o">((</span><span class="n">Range</span><span class="o">.</span><span class="na">LongRange</span><span class="o">)</span> <span class="n">time</span><span class="o">).</span><span class="na">getMin</span><span class="o">()</span> <span class="o">:</span> <span class="o">(</span><span class="n">Long</span><span class="o">)</span> <span class="n">time</span><span class="o">)));</span>
|
||||
<span class="o">}</span>
|
||||
|
||||
@@ -256,15 +255,14 @@
|
||||
<span class="c1">//根据主键ID查询单个记录时调用本方法</span>
|
||||
<span class="nd">@Override</span>
|
||||
<span class="kd">public</span> <span class="n">String</span> <span class="nf">getTable</span><span class="o">(</span><span class="n">String</span> <span class="n">table</span><span class="o">,</span> <span class="n">Serializable</span> <span class="n">primary</span><span class="o">)</span> <span class="o">{</span>
|
||||
<span class="n">String</span> <span class="n">loginid</span> <span class="o">=</span> <span class="o">(</span><span class="n">String</span><span class="o">)</span> <span class="n">primary</span><span class="o">;</span>
|
||||
<span class="n">String</span> <span class="n">create36time</span> <span class="o">=</span> <span class="n">loginid</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="n">loginid</span><span class="o">.</span><span class="na">length</span><span class="o">()</span> <span class="o">-</span> <span class="mi">9</span><span class="o">);</span> <span class="c1">//固定最后9位为创建时间的36进制值</span>
|
||||
<span class="k">return</span> <span class="n">getTable</span><span class="o">(</span><span class="n">table</span><span class="o">,</span> <span class="mi">0</span><span class="o">,</span> <span class="n">Long</span><span class="o">.</span><span class="na">parseLong</span><span class="o">(</span><span class="n">create36time</span><span class="o">,</span> <span class="mi">36</span><span class="o">));</span>
|
||||
<span class="n">String</span> <span class="n">id</span> <span class="o">=</span> <span class="o">(</span><span class="n">String</span><span class="o">)</span> <span class="n">primary</span><span class="o">;</span>
|
||||
<span class="k">return</span> <span class="n">getTable</span><span class="o">(</span><span class="n">table</span><span class="o">,</span> <span class="mi">0</span><span class="o">,</span> <span class="n">Long</span><span class="o">.</span><span class="na">parseLong</span><span class="o">(</span><span class="n">id</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="mi">0</span><span class="o">,</span> <span class="mi">9</span><span class="o">),</span> <span class="mi">36</span><span class="o">));</span>
|
||||
<span class="o">}</span>
|
||||
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="nf">getTable</span><span class="o">(</span><span class="n">String</span> <span class="n">table</span><span class="o">,</span> <span class="kt">int</span> <span class="n">day</span><span class="o">,</span> <span class="kt">long</span> <span class="n">createtime</span><span class="o">)</span> <span class="o">{</span>
|
||||
<span class="kt">int</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'.'</span><span class="o">);</span>
|
||||
<span class="n">String</span> <span class="n">year</span> <span class="o">=</span> <span class="o">(</span><span class="n">day</span> <span class="o">></span> <span class="mi">0</span> <span class="o">?</span> <span class="s">""</span> <span class="o">+</span> <span class="n">day</span> <span class="o">/</span> <span class="mi">10000</span> <span class="o">:</span> <span class="n">String</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">yearformat</span><span class="o">,</span> <span class="n">createtime</span><span class="o">));</span>
|
||||
<span class="k">return</span> <span class="s">"platf_login_"</span> <span class="o">+</span> <span class="n">year</span> <span class="o">+</span> <span class="s">"."</span> <span class="o">+</span> <span class="n">table</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="n">pos</span> <span class="o">+</span> <span class="mi">1</span><span class="o">)</span> <span class="o">+</span> <span class="s">"_"</span> <span class="o">+</span> <span class="o">(</span><span class="n">day</span> <span class="o">></span> <span class="mi">0</span> <span class="o">?</span> <span class="n">day</span> <span class="o">:</span> <span class="n">String</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">dayformat</span><span class="o">,</span> <span class="n">createtime</span><span class="o">));</span>
|
||||
<span class="kd">private</span> <span class="n">String</span> <span class="nf">getTable</span><span class="o">(</span><span class="n">String</span> <span class="n">table</span><span class="o">,</span> <span class="kt">int</span> <span class="n">day</span><span class="o">,</span> <span class="kt">long</span> <span class="n">createtime</span><span class="o">)</span> <span class="o">{</span> <span class="c1">//day为0或yyyyMMdd格式数据</span>
|
||||
<span class="kt">int</span> <span class="n">pos</span> <span class="o">=</span> <span class="n">table</span><span class="o">.</span><span class="na">indexOf</span><span class="o">(</span><span class="sc">'.'</span><span class="o">);</span>
|
||||
<span class="n">String</span> <span class="n">year</span> <span class="o">=</span> <span class="n">day</span> <span class="o">></span> <span class="mi">0</span> <span class="o">?</span> <span class="n">String</span><span class="o">.</span><span class="na">valueOf</span><span class="o">(</span><span class="n">day</span> <span class="o">/</span> <span class="mi">10000</span><span class="o">)</span> <span class="o">:</span> <span class="n">String</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">yearformat</span><span class="o">,</span> <span class="n">createtime</span><span class="o">);</span> <span class="c1">//没有day取createtime</span>
|
||||
<span class="k">return</span> <span class="s">"platf_login_"</span> <span class="o">+</span> <span class="n">year</span> <span class="o">+</span> <span class="s">"."</span> <span class="o">+</span> <span class="n">table</span><span class="o">.</span><span class="na">substring</span><span class="o">(</span><span class="n">pos</span> <span class="o">+</span> <span class="mi">1</span><span class="o">)</span> <span class="o">+</span> <span class="s">"_"</span> <span class="o">+</span> <span class="o">(</span><span class="n">day</span> <span class="o">></span> <span class="mi">0</span> <span class="o">?</span> <span class="n">day</span> <span class="o">:</span> <span class="n">String</span><span class="o">.</span><span class="na">format</span><span class="o">(</span><span class="n">dayformat</span><span class="o">,</span> <span class="n">createtime</span><span class="o">));</span>
|
||||
<span class="o">}</span>
|
||||
<span class="o">}</span>
|
||||
<span class="o">}</span>
|
||||
|
||||
Reference in New Issue
Block a user