From 528cf45f3f781fc78de33a35a35d5dd67d105f89 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Tue, 30 Jul 2019 10:31:48 +0800 Subject: [PATCH] =?UTF-8?q?ColumnExpress=E5=A2=9E=E5=8A=A0=E9=99=A4?= =?UTF-8?q?=E6=B3=95=E3=80=81=E5=8F=96=E6=A8=A1=E8=A1=A8=E8=BE=BE=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/org/redkale/source/ColumnExpress.java | 12 ++++++++++-- src/org/redkale/source/EntityCache.java | 16 ++++++++++++++++ src/org/redkale/source/EntityInfo.java | 18 +++++++++++------- 3 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/org/redkale/source/ColumnExpress.java b/src/org/redkale/source/ColumnExpress.java index ef06ed9f3..a6d24b5ac 100644 --- a/src/org/redkale/source/ColumnExpress.java +++ b/src/org/redkale/source/ColumnExpress.java @@ -15,17 +15,25 @@ package org.redkale.source; */ public enum ColumnExpress { /** - * 直接赋值 col = val + * 赋值 col = val */ MOV, /** - * 追加值 col = col + val + * 加值 col = col + val */ INC, /** * 乘值 col = col * val */ MUL, + /** + * 除值 col = col / val + */ + DIV, + /** + * 取模 col = col % val + */ + MOD, /** * 与值 col = col & val */ diff --git a/src/org/redkale/source/EntityCache.java b/src/org/redkale/source/EntityCache.java index 6d6acdc04..63fe80a94 100644 --- a/src/org/redkale/source/EntityCache.java +++ b/src/org/redkale/source/EntityCache.java @@ -617,6 +617,22 @@ public final class EntityCache { numb = numb.longValue() * ((Number) val).floatValue(); } break; + case DIV: + numb = (Number) attr.get(entity); + if (numb == null) { + numb = 0; + } else { + numb = numb.longValue() / ((Number) val).floatValue(); + } + break; + case MOD: + numb = (Number) attr.get(entity); + if (numb == null) { + numb = 0; + } else { + numb = numb.longValue() % ((Number) val).intValue(); + } + break; case AND: numb = (Number) attr.get(entity); if (numb == null) { diff --git a/src/org/redkale/source/EntityInfo.java b/src/org/redkale/source/EntityInfo.java index 8b7b70ba1..15c1e6309 100644 --- a/src/org/redkale/source/EntityInfo.java +++ b/src/org/redkale/source/EntityInfo.java @@ -897,9 +897,9 @@ public final class EntityInfo { /** * 字段值转换成带转义的数据库的值 * - * @param fieldname 字段名 - * @param fieldvalue 字段值 - * @param sqlFormatter 转义器 + * @param fieldname 字段名 + * @param fieldvalue 字段值 + * @param sqlFormatter 转义器 * * @return CharSequence */ @@ -911,7 +911,7 @@ public final class EntityInfo { /** * 字段值转换成带转义的数据库的值 * - * @param value 字段值 + * @param value 字段值 * @param sqlFormatter 转义器 * * @return CharSequence @@ -939,9 +939,9 @@ public final class EntityInfo { /** * 字段值转换成带转义的数据库的值 * - * @param 泛型 - * @param attr Attribute - * @param entity 记录对象 + * @param 泛型 + * @param attr Attribute + * @param entity 记录对象 * @param sqlFormatter 转义器 * * @return CharSequence @@ -1006,6 +1006,10 @@ public final class EntityInfo { return new StringBuilder().append(col).append(" + ").append(val); case MUL: return new StringBuilder().append(col).append(" * ").append(val); + case DIV: + return new StringBuilder().append(col).append(" / ").append(val); + case MOD: + return new StringBuilder().append(col).append(" % ").append(val); case AND: return new StringBuilder().append(col).append(" & ").append(val); case ORR: