Commit b65a8129 authored by 赵啸非's avatar 赵啸非

删除发布包

parent d590a76f
if not exist "%JAVA_HOME%\bin\jps.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! & EXIT /B 1
setlocal
set "PATH=%JAVA_HOME%\bin;%PATH%"
echo killing server
for /f "tokens=1" %%i in ('jps -m ^| find "xhx-aep-manager"') do ( taskkill /F /PID %%i )
echo Done!
echo off
if not exist "%JAVA_HOME%\bin\java.exe" echo Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! & EXIT /B 1
set "JAVA=%JAVA_HOME%\bin\java.exe"
set BASEDIR=%~dp0
set BASEDIR="%BASEDIR:~0,-5%"
set PROJECT_NAME=xhx-aep-manager
set APP_NAME=%PROJECT_NAME%-1.0.0-SNAPSHOT.jar
set LOG_PATH="%BASEDIR%/export/logs/www.iot.com/%PROJECT_NAME%"
if not exist "%LOG_PATH%" md "%LOG_PATH%"
set GC_PATH=%LOG_PATH%/gc.log
set HS_ERR_PATH=%LOG_PATH%PORT%-hs_err.log
set HEAP_DUMP_PATH=%LOG_PATH%/heap_dump.hprof
set TEMP_PATH=%LOG_PATH%/temp/
if not exist "%TEMP_PATH%" md "%TEMP_PATH%"
rem jvm启动参数
set JAVA_OPTS=-Xms512M -Xmx512M -Xss256K -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:GCTimeRatio=39 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError
set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDateStamps -Xloggc:%GC_PATH%
set JAVA_OPTS=%JAVA_OPTS% -XX:ErrorFile=%HS_ERR_PATH%
set JAVA_OPTS=%JAVA_OPTS% -XX:HeapDumpPath=%HEAP_DUMP_PATH%
rem jvm config
set JVM_CONFIG=%JVM_CONFIG% -Dapp.name=%PROJECT_NAME%
set JVM_CONFIG=%JVM_CONFIG% -Dapp.port=%PORT%
set JVM_CONFIG=%JVM_CONFIG% -Djava.io.tmpdir=%TEMP_PATH%
set JVM_CONFIG=%JVM_CONFIG% -Dbasedir=%BASEDIR%
set JVM_CONFIG=%JVM_CONFIG% -Dloader.path=file://%BASEDIR%/conf,file://%BASEDIR%/lib
set DEBUG_OPTS=
if ""%1"" == ""debug"" (
set DEBUG_OPTS= -Xloggc:../logs/gc.log -verbose:gc -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=../logs
goto debug
)
set JMX_OPTS=
if ""%1"" == ""jmx"" (
set JMX_OPTS= -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9888 -Dcom.sun.management.jmxremote.ssl=FALSE -Dcom.sun.management.jmxremote.authenticate=FALSE
goto jmx
)
set "LOG_OPTS=--logging.config=%BASEDIR%/conf/logback-spring.xml"
echo "Starting the %APP_NAME%"
"%JAVA%" %JAVA_OPTS% -server %JVM_CONFIG% -jar %BASEDIR%/boot/%APP_NAME%
echo ""%JAVA%" %JAVA_OPTS% -server %JVM_CONFIG% -jar %BASEDIR%/boot/%APP_NAME% "
goto end
:debug
echo "debug"
"%JAVA%" -Xms512m -Xmx512m -server %DEBUG_OPTS% %JVM_CONFIG% -jar ../boot/%APP_NAME%
goto end
:jmx
"%JAVA%" -Xms512m -Xmx512m -server %JMX_OPTS% %JVM_CONFIG% -jar ../boot/%APP_NAME%
goto end
:end
pause
#!/bin/sh
PORT=$1
BASEDIR=`dirname $0`/..
BASEDIR=`(cd "$BASEDIR"; pwd)`
PROJECT_NAME="xhx-aep-manager";
MAIN_CLASS="$PROJECT_NAME-1.0.0-SNAPSHOT.jar";
LOG_PATH="/export/logs/www.iot.com/$PROJECT_NAME"
GC_PATH=$LOG_PATH/$PORT"-gc.log"
HS_ERR_PATH=$LOG_PATH/$PORT"-hs_err.log"
HEAP_DUMP_PATH=$LOG_PATH/$PORT"-heap_dump.hprof"
TEMP_PATH=$LOG_PATH/temp/
SUCCESS=0
FAIL=9
if [ ! -n "$PORT" ]; then
echo $"Usage: $0 {port}"
exit $FAIL
fi
if [ ! -d $LOG_PATH ];
then
mkdir -p $LOG_PATH;
fi
if [ ! -d $TEMP_PATH ];
then
mkdir -p $TEMP_PATH;
fi
if [ -z "$JAVACMD" ] ; then
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
else
JAVACMD=`which java > /dev/null 2>&1`
echo "Error: JAVA_HOME is not defined correctly."
exit $ERR_NO_JAVA
fi
fi
if [ ! -x "$JAVACMD" ] ; then
echo "We cannot execute $JAVACMD"
exit $ERR_NO_JAVA
fi
if [ -e "$BASEDIR" ]
then
JAVA_OPTS="-Xms512M -Xmx1024M -Xss256K -XX:+UseAdaptiveSizePolicy -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:GCTimeRatio=39 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:$GC_PATH -XX:+HeapDumpOnOutOfMemoryError -XX:ErrorFile=$HS_ERR_PATH -XX:HeapDumpPath=$HEAP_DUMP_PATH"
fi
CLASSPATH=$CLASSPATH_PREFIX:
EXTRA_JVM_ARGUMENTS=""
cd "$BASEDIR/boot";
echo "starting application $PROJECT_NAME......"
exec "$JAVACMD" $JAVA_OPTS \
$EXTRA_JVM_ARGUMENTS \
-Dapp.name="$PROJECT_NAME" \
-Dapp.port="$PORT" \
-Dbasedir="$BASEDIR" \
-Djava.io.tmpdir=$TEMP_PATH \
-Dloader.path="file://$BASEDIR/conf,file://$BASEDIR/lib" \
-jar $MAIN_CLASS \
> /dev/null &
for i in {1..60}
do
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ $jcpid ]; then
echo "The $PROJECT_NAME start finished, PID is $jcpid"
exit $SUCCESS
else
echo "starting the application .. $i"
sleep 1
fi
done
echo "$PROJECT_NAME start failure!"
\ No newline at end of file
#! /bin/sh
PORT=$1
BASEDIR=`dirname $0`
BASEDIR=`(cd "$BASEDIR"; pwd)`
PROJECT_NAME="xhx-aep-manager"
MAIN_CLASS="$PROJECT_NAME";
if [ ! -n "$PORT" ]; then
echo $"Usage: $0 {port}"
exit $FAIL
fi
echo "stoping application $PROJECT_NAME......"
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ -z $jcpid ]; then
echo "$PROJECT_NAME is not started or has been stopped!"
else
curl -X POST -i -u $SECURITY_USERNAME:$SECURITY_PASSWORD http://127.0.0.1:$PORT/xxx_manager/shutdown
for i in {1..60}
do
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ -z $jcpid ]; then
echo "$PROJECT_NAME has been stopped!"
break
else
echo "stoping the application .. $i"
sleep 1
fi
done
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ $jcpid ]; then
[ -z $jcpid ] || kill -15 $jcpid
for i in {1..30}
do
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ -z $jcpid ]; then
echo "$PROJECT_NAME has been stopped!"
break
else
echo "stoping the application .. $i"
sleep 1
fi
done
fi
jcpid=`ps -ef | grep -v "grep" | grep "$MAIN_CLASS" | grep "app.port=$PORT" | sed -n '1P' | awk '{print $2}'`
if [ $jcpid ]; then
[ -z $jcpid ] || kill -9 $jcpid
[ $? -eq 0 ] && echo "Stop $PROJECT_NAME OK!" || echo "Stop $PROJECT_NAME Fail!"
fi
fi
\ No newline at end of file
spring:
main:
allow-bean-definition-overriding: true
info:
name: ${spring.application.name}
desc: "物联网管理平台"
version: "1.0.0-SNAPSHOT"
ip: 192.168.0.217:${server.port}
server:
port: 17211
servlet:
context-path: /m
spring:
application:
name: aep-manager
profiles:
active: develop
servlet:
multipart:
max-file-size: 100MB
max-request-size: 1000MB
jackson:
time-zone: GMT+8
date-format: yyyy-MM-dd HH:mm:ss
security:
enable: true
user:
name: admin
password: 1
redis:
host: 127.0.0.1
port: 6379
username:
password:
database: 1
timeout: 30000
pool:
max-idle: 30
min-idle: 0
max-active: 100
max-wait: 1000
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/aep-platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong
username: root
password: 12345678
cloud:
stream:
kafka:
binder:
autoCreateTopics: true
autoAddPartitions: true
brokers: 192.168.0.251:9092
mybatis:
root-path: com.mortals
type-aliases-package: com.mortals.framework.model,com.mortals.xhx.common.**.model,com.mortals.xhx.**.model
mapper-locations: classpath*:sqlmap/**/*.xml
config-location: classpath*:config/mybatis-sqlmap-config.xml
application:
auth:
unloginUrl: /refresh,/error,/login/login,/login/index,/login/logout,/securitycode/createCode,/file/common/*,/test*,/api/asset/*,/api/*
uncheckUrl: /refresh,/error,/login/login,/login/index,/login/logout,/securitycode/createCode,/file/common/*,/test*,/api/asset/*,/api/*
cookie:
ssoServerUrl: http://sso.testnew.com
key: 026db82420614469897fcc2dc1b4ce38
domain: base.testnew.com
port: 111
upload:
path: /mortals/data
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="false" />
<setting name="lazyLoadingEnabled" value="flase" />
<setting name="multipleResultSetsEnabled" value="true" />
<setting name="useColumnLabel" value="true" />
<setting name="useGeneratedKeys" value="false" />
<setting name="defaultExecutorType" value="REUSE" />
<!-- 是否开始sql日志控制台打印 -->
<!-- <setting name="logImpl" value="STDOUT_LOGGING" />-->
</settings>
<plugins>
<plugin interceptor="com.mortals.framework.thirty.mybatis.MortalsPagePlugin">
<property name="dialect" value="MySql" />
<property name="showSql" value="MySql" />
</plugin>
</plugins>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"
default-lazy-init="false" default-autowire="byType">
<!-- 事务管理对象 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 拦截模式 -->
<aop:config proxy-target-class="false">
<aop:advisor pointcut="execution(* com.mortals..*Service.*(..))" advice-ref="txAdvice" />
</aop:config>
<!-- 事务传播方式 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!--tx:method name="get*" read-only="true"/ -->
<!--<tx:method name="*" read-only="false" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException,Exception" />-->
<tx:method name="remove*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="delete*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="change*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="create*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="update*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="modify*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="execute*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="excute*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="start*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="increment*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="do*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="audit*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="notify*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="send*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="save*" propagation="REQUIRED" rollback-for="com.mortals.framework.exception.AppException" />
<tx:method name="doForce*" propagation="REQUIRES_NEW" rollback-for="com.mortals.framework.exception.AppException" />
<!--<tx:method name="*" read-only="true" />-->
</tx:attributes>
</tx:advice>
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
default-autowire="byType">
<import resource="spring-config-core.xml" />
</beans>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<springProperty scope="context" name="springApplicationName" source="spring.application.name"/>
<springProperty scope="context" name="serverPort" source="server.port"/>
<springProperty scope="context" name="logFilePath" source="application.log.path" defaultValue="/mortals/app/logs" />
<springProperty scope="context" name="logLevel" source="application.log.level" defaultValue="INFO" />
<property name="logFilePath" value="${logFilePath:-/mortals/app/logs}" />
<property name="logLevel" value="${logLevel:-INFO}" />
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] [%.50c\(%L\)] - %msg%n</pattern>
</encoder>
</appender>
<appender name="fileInfo" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] [%.50c\(%L\)] - %msg%n</pattern>
</encoder>
<file>${logFilePath}/${springApplicationName:-default}/${serverPort:-default}-info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logFilePath}/${springApplicationName:-default}/${serverPort:-default}-info.log.%d{yyyyMMdd}</fileNamePattern>
</rollingPolicy>
</appender>
<appender name="fileError" class="ch.qos.logback.core.rolling.RollingFileAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] [%.50c\(%L\)] - %msg%n</pattern>
</encoder>
<file>${logFilePath}/${springApplicationName:-default}/${serverPort:-default}-error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${logFilePath}/${springApplicationName:-default}/${serverPort:-default}-error.log.%d{yyyyMMdd}</fileNamePattern>
</rollingPolicy>
</appender>
<logger name="com.mortals.xhx.module" level="DEBUG" additivity="false"/>
<root level="${logLevel}">
<appender-ref ref="console"/>
<appender-ref ref="fileInfo"/>
<appender-ref ref="fileError"/>
</root>
<logger name="com.mortals.xhx.module" level="INFO" additivity="false">
<appender-ref ref="console"/>
<appender-ref ref="fileInfo"/>
<appender-ref ref="fileError"/>
</logger>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.area.dao.ibatis.AreaDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="AreaEntity" id="AreaEntity-Map">
<result property="id" column="id" />
<result property="parentId" column="parentId" />
<result property="name" column="name" />
<result property="level" column="level" />
<result property="code" column="code" />
<result property="contactsPeople" column="contactsPeople" />
<result property="contactsMobile" column="contactsMobile" />
<result property="childSize" column="childSize" />
<result property="maxChildId" column="maxChildId" />
<result property="status" column="status" />
<result property="remark" column="remark" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
<result property="createUserId" column="createUserId" />
<result property="createUserName" column="createUserName" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('parentId') or colPickMode == 1 and data.containsKey('parentId')))">
a.parentId as parentId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('name') or colPickMode == 1 and data.containsKey('name')))">
a.name as name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('level') or colPickMode == 1 and data.containsKey('level')))">
a.level as level,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('code') or colPickMode == 1 and data.containsKey('code')))">
a.code as code,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('contactsPeople') or colPickMode == 1 and data.containsKey('contactsPeople')))">
a.contactsPeople as contactsPeople,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('contactsMobile') or colPickMode == 1 and data.containsKey('contactsMobile')))">
a.contactsMobile as contactsMobile,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('childSize') or colPickMode == 1 and data.containsKey('childSize')))">
a.childSize as childSize,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('maxChildId') or colPickMode == 1 and data.containsKey('maxChildId')))">
a.maxChildId as maxChildId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('status') or colPickMode == 1 and data.containsKey('status')))">
a.status as status,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark as remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId as createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserName') or colPickMode == 1 and data.containsKey('createUserName')))">
a.createUserName as createUserName,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="AreaEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_area
(parentId,name,level,code,contactsPeople,
contactsMobile,childSize,maxChildId,status,remark,
createTime,updateTime,createUserId,createUserName
)VALUES(#{parentId},#{name},#{level},#{code},#{contactsPeople},
#{contactsMobile},#{childSize},#{maxChildId},#{status},#{remark},
#{createTime},#{updateTime},#{createUserId},#{createUserName})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_area
(parentId,name,level,code,contactsPeople,
contactsMobile,childSize,maxChildId,status,remark,
createTime,updateTime,createUserId,createUserName
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.parentId},#{item.name},#{item.level},#{item.code},#{item.contactsPeople},
#{item.contactsMobile},#{item.childSize},#{item.maxChildId},#{item.status},#{item.remark},
#{item.createTime},#{item.updateTime},#{item.createUserId},#{item.createUserName})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_area as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('parentId')) or (colPickMode==1 and !data.containsKey('parentId'))">
a.parentId=#{data.parentId},
</if>
<if test="(colPickMode==0 and data.containsKey('parentIdIncrement')) or (colPickMode==1 and !data.containsKey('parentIdIncrement'))">
a.parentId=ifnull(a.parentId,0) + #{data.parentIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('name')) or (colPickMode==1 and !data.containsKey('name'))">
a.name=#{data.name},
</if>
<if test="(colPickMode==0 and data.containsKey('level')) or (colPickMode==1 and !data.containsKey('level'))">
a.level=#{data.level},
</if>
<if test="(colPickMode==0 and data.containsKey('levelIncrement')) or (colPickMode==1 and !data.containsKey('levelIncrement'))">
a.level=ifnull(a.level,0) + #{data.levelIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('code')) or (colPickMode==1 and !data.containsKey('code'))">
a.code=#{data.code},
</if>
<if test="(colPickMode==0 and data.containsKey('contactsPeople')) or (colPickMode==1 and !data.containsKey('contactsPeople'))">
a.contactsPeople=#{data.contactsPeople},
</if>
<if test="(colPickMode==0 and data.containsKey('contactsMobile')) or (colPickMode==1 and !data.containsKey('contactsMobile'))">
a.contactsMobile=#{data.contactsMobile},
</if>
<if test="(colPickMode==0 and data.containsKey('childSize')) or (colPickMode==1 and !data.containsKey('childSize'))">
a.childSize=#{data.childSize},
</if>
<if test="(colPickMode==0 and data.containsKey('childSizeIncrement')) or (colPickMode==1 and !data.containsKey('childSizeIncrement'))">
a.childSize=ifnull(a.childSize,0) + #{data.childSizeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('maxChildId')) or (colPickMode==1 and !data.containsKey('maxChildId'))">
a.maxChildId=#{data.maxChildId},
</if>
<if test="(colPickMode==0 and data.containsKey('maxChildIdIncrement')) or (colPickMode==1 and !data.containsKey('maxChildIdIncrement'))">
a.maxChildId=ifnull(a.maxChildId,0) + #{data.maxChildIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('status')) or (colPickMode==1 and !data.containsKey('status'))">
a.status=#{data.status},
</if>
<if test="(colPickMode==0 and data.containsKey('statusIncrement')) or (colPickMode==1 and !data.containsKey('statusIncrement'))">
a.status=ifnull(a.status,0) + #{data.statusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserName')) or (colPickMode==1 and !data.containsKey('createUserName'))">
a.createUserName=#{data.createUserName},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="AreaEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_area as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_area as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_area where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_area as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="AreaEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_area as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_area as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('parentId')">
<if test="condition.parentId != null ">
and a.parentId = #{condition.parentId}
</if>
<if test="condition.parentId == null">
and a.parentId is null
</if>
</if>
<if test="condition.containsKey('parentIdList')">
and a.parentId in
<foreach collection="condition.parentIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('parentIdStart') and condition.parentIdStart != null">
<![CDATA[ and a.parentId >= #{condition.parentIdStart} ]]>
</if>
<if test="condition.containsKey('parentIdEnd') and condition.parentIdEnd != null">
<![CDATA[ and a.parentId <= #{condition.parentIdEnd} ]]>
</if>
<if test="condition.containsKey('name')">
<if test="condition.name != null and condition.name != ''">
and a.name like #{condition.name}
</if>
<if test="condition.name == null">
and a.name is null
</if>
</if>
<if test="condition.containsKey('nameList')">
and a.name in
<foreach collection="condition.nameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('level')">
<if test="condition.level != null ">
and a.level = #{condition.level}
</if>
<if test="condition.level == null">
and a.level is null
</if>
</if>
<if test="condition.containsKey('levelList')">
and a.level in
<foreach collection="condition.levelList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('levelStart') and condition.levelStart != null">
<![CDATA[ and a.level >= #{condition.levelStart} ]]>
</if>
<if test="condition.containsKey('levelEnd') and condition.levelEnd != null">
<![CDATA[ and a.level <= #{condition.levelEnd} ]]>
</if>
<if test="condition.containsKey('code')">
<if test="condition.code != null and condition.code != ''">
and a.code like #{condition.code}
</if>
<if test="condition.code == null">
and a.code is null
</if>
</if>
<if test="condition.containsKey('codeList')">
and a.code in
<foreach collection="condition.codeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('contactsPeople')">
<if test="condition.contactsPeople != null and condition.contactsPeople != ''">
and a.contactsPeople like #{condition.contactsPeople}
</if>
<if test="condition.contactsPeople == null">
and a.contactsPeople is null
</if>
</if>
<if test="condition.containsKey('contactsPeopleList')">
and a.contactsPeople in
<foreach collection="condition.contactsPeopleList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('contactsMobile')">
<if test="condition.contactsMobile != null and condition.contactsMobile != ''">
and a.contactsMobile like #{condition.contactsMobile}
</if>
<if test="condition.contactsMobile == null">
and a.contactsMobile is null
</if>
</if>
<if test="condition.containsKey('contactsMobileList')">
and a.contactsMobile in
<foreach collection="condition.contactsMobileList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('childSize')">
<if test="condition.childSize != null ">
and a.childSize = #{condition.childSize}
</if>
<if test="condition.childSize == null">
and a.childSize is null
</if>
</if>
<if test="condition.containsKey('childSizeList')">
and a.childSize in
<foreach collection="condition.childSizeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('childSizeStart') and condition.childSizeStart != null">
<![CDATA[ and a.childSize >= #{condition.childSizeStart} ]]>
</if>
<if test="condition.containsKey('childSizeEnd') and condition.childSizeEnd != null">
<![CDATA[ and a.childSize <= #{condition.childSizeEnd} ]]>
</if>
<if test="condition.containsKey('maxChildId')">
<if test="condition.maxChildId != null ">
and a.maxChildId = #{condition.maxChildId}
</if>
<if test="condition.maxChildId == null">
and a.maxChildId is null
</if>
</if>
<if test="condition.containsKey('maxChildIdList')">
and a.maxChildId in
<foreach collection="condition.maxChildIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('maxChildIdStart') and condition.maxChildIdStart != null">
<![CDATA[ and a.maxChildId >= #{condition.maxChildIdStart} ]]>
</if>
<if test="condition.containsKey('maxChildIdEnd') and condition.maxChildIdEnd != null">
<![CDATA[ and a.maxChildId <= #{condition.maxChildIdEnd} ]]>
</if>
<if test="condition.containsKey('status')">
<if test="condition.status != null ">
and a.status = #{condition.status}
</if>
<if test="condition.status == null">
and a.status is null
</if>
</if>
<if test="condition.containsKey('statusList')">
and a.status in
<foreach collection="condition.statusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('statusStart') and condition.statusStart != null">
<![CDATA[ and a.status >= #{condition.statusStart} ]]>
</if>
<if test="condition.containsKey('statusEnd') and condition.statusEnd != null">
<![CDATA[ and a.status <= #{condition.statusEnd} ]]>
</if>
<if test="condition.containsKey('remark')">
<if test="condition.remark != null and condition.remark != ''">
and a.remark like #{condition.remark}
</if>
<if test="condition.remark == null">
and a.remark is null
</if>
</if>
<if test="condition.containsKey('remarkList')">
and a.remark in
<foreach collection="condition.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createTime')">
<if test="condition.createTime != null ">
and a.createTime = #{condition.createTime}
</if>
<if test="condition.createTime == null">
and a.createTime is null
</if>
</if>
<if test="condition.containsKey('createTimeStart') and condition.createTimeStart != null and condition.createTimeStart!=''">
<![CDATA[ and a.createTime >= STR_TO_DATE(left(concat(#{condition.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createTimeEnd') and condition.createTimeEnd != null and condition.createTimeEnd!=''">
<![CDATA[ and a.createTime <= STR_TO_DATE(left(concat(#{condition.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('updateTime')">
<if test="condition.updateTime != null ">
and a.updateTime = #{condition.updateTime}
</if>
<if test="condition.updateTime == null">
and a.updateTime is null
</if>
</if>
<if test="condition.containsKey('updateTimeStart') and condition.updateTimeStart != null and condition.updateTimeStart!=''">
<![CDATA[ and a.updateTime >= STR_TO_DATE(left(concat(#{condition.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('updateTimeEnd') and condition.updateTimeEnd != null and condition.updateTimeEnd!=''">
<![CDATA[ and a.updateTime <= STR_TO_DATE(left(concat(#{condition.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createUserId')">
<if test="condition.createUserId != null ">
and a.createUserId = #{condition.createUserId}
</if>
<if test="condition.createUserId == null">
and a.createUserId is null
</if>
</if>
<if test="condition.containsKey('createUserIdList')">
and a.createUserId in
<foreach collection="condition.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createUserIdStart') and condition.createUserIdStart != null">
<![CDATA[ and a.createUserId >= #{condition.createUserIdStart} ]]>
</if>
<if test="condition.containsKey('createUserIdEnd') and condition.createUserIdEnd != null">
<![CDATA[ and a.createUserId <= #{condition.createUserIdEnd} ]]>
</if>
<if test="condition.containsKey('createUserName')">
<if test="condition.createUserName != null and condition.createUserName != ''">
and a.createUserName like #{condition.createUserName}
</if>
<if test="condition.createUserName == null">
and a.createUserName is null
</if>
</if>
<if test="condition.containsKey('createUserNameList')">
and a.createUserName in
<foreach collection="condition.createUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('parentId')">
a.parentId
<if test="orderCol.parentId!= null">
${orderCol.parentId}
</if>
,
</if>
<if test="orderCol.containsKey('name')">
a.name
<if test="orderCol.name!= null">
${orderCol.name}
</if>
,
</if>
<if test="orderCol.containsKey('level')">
a.level
<if test="orderCol.level!= null">
${orderCol.level}
</if>
,
</if>
<if test="orderCol.containsKey('code')">
a.code
<if test="orderCol.code!= null">
${orderCol.code}
</if>
,
</if>
<if test="orderCol.containsKey('contactsPeople')">
a.contactsPeople
<if test="orderCol.contactsPeople!= null">
${orderCol.contactsPeople}
</if>
,
</if>
<if test="orderCol.containsKey('contactsMobile')">
a.contactsMobile
<if test="orderCol.contactsMobile!= null">
${orderCol.contactsMobile}
</if>
,
</if>
<if test="orderCol.containsKey('childSize')">
a.childSize
<if test="orderCol.childSize!= null">
${orderCol.childSize}
</if>
,
</if>
<if test="orderCol.containsKey('maxChildId')">
a.maxChildId
<if test="orderCol.maxChildId!= null">
${orderCol.maxChildId}
</if>
,
</if>
<if test="orderCol.containsKey('status')">
a.status
<if test="orderCol.status!= null">
${orderCol.status}
</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test="orderCol.remark!= null">
${orderCol.remark}
</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test="orderCol.createTime!= null">
${orderCol.createTime}
</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test="orderCol.updateTime!= null">
${orderCol.updateTime}
</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test="orderCol.createUserId!= null">
${orderCol.createUserId}
</if>
,
</if>
<if test="orderCol.containsKey('createUserName')">
a.createUserName
<if test="orderCol.createUserName!= null">
${orderCol.createUserName}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.idgenerator.dao.ibatis.IdgeneratorDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="IdgeneratorEntity" id="IdgeneratorEntity-Map">
<result property="id" column="id" />
<result property="idType" column="idType" />
<result property="idMaxValue" column="idMaxValue" />
<result property="remark" column="remark" />
<result property="versionNum" column="versionNum" />
<result property="gmtModify" column="gmtModify" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('idType') or colPickMode == 1 and data.containsKey('idType')))">
a.idType as idType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('idMaxValue') or colPickMode == 1 and data.containsKey('idMaxValue')))">
a.idMaxValue as idMaxValue,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark as remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('versionNum') or colPickMode == 1 and data.containsKey('versionNum')))">
a.versionNum as versionNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('gmtModify') or colPickMode == 1 and data.containsKey('gmtModify')))">
a.gmtModify as gmtModify,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="IdgeneratorEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_idgenerator
(idType,idMaxValue,remark,versionNum,gmtModify
)VALUES(#{idType},#{idMaxValue},#{remark},#{versionNum},#{gmtModify})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_idgenerator
(idType,idMaxValue,remark,versionNum,gmtModify
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.idType},#{item.idMaxValue},#{item.remark},#{item.versionNum},#{item.gmtModify})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_idgenerator as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('idType')) or (colPickMode==1 and !data.containsKey('idType'))">
a.idType=#{data.idType},
</if>
<if test="(colPickMode==0 and data.containsKey('idMaxValue')) or (colPickMode==1 and !data.containsKey('idMaxValue'))">
a.idMaxValue=#{data.idMaxValue},
</if>
<if test="(colPickMode==0 and data.containsKey('idMaxValueIncrement')) or (colPickMode==1 and !data.containsKey('idMaxValueIncrement'))">
a.idMaxValue=ifnull(a.idMaxValue,0) + #{data.idMaxValueIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('versionNum')) or (colPickMode==1 and !data.containsKey('versionNum'))">
a.versionNum=#{data.versionNum},
</if>
<if test="(colPickMode==0 and data.containsKey('versionNumIncrement')) or (colPickMode==1 and !data.containsKey('versionNumIncrement'))">
a.versionNum=ifnull(a.versionNum,0) + #{data.versionNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('gmtModify')) or (colPickMode==1 and !data.containsKey('gmtModify'))">
a.gmtModify=#{data.gmtModify},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="IdgeneratorEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_idgenerator as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_idgenerator as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_idgenerator where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_idgenerator as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="IdgeneratorEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_idgenerator as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_idgenerator as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('idType')">
<if test="condition.idType != null and condition.idType != ''">
and a.idType like #{condition.idType}
</if>
<if test="condition.idType == null">
and a.idType is null
</if>
</if>
<if test="condition.containsKey('idTypeList')">
and a.idType in
<foreach collection="condition.idTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idMaxValue')">
<if test="condition.idMaxValue != null ">
and a.idMaxValue = #{condition.idMaxValue}
</if>
<if test="condition.idMaxValue == null">
and a.idMaxValue is null
</if>
</if>
<if test="condition.containsKey('idMaxValueList')">
and a.idMaxValue in
<foreach collection="condition.idMaxValueList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idMaxValueStart') and condition.idMaxValueStart != null">
<![CDATA[ and a.idMaxValue >= #{condition.idMaxValueStart} ]]>
</if>
<if test="condition.containsKey('idMaxValueEnd') and condition.idMaxValueEnd != null">
<![CDATA[ and a.idMaxValue <= #{condition.idMaxValueEnd} ]]>
</if>
<if test="condition.containsKey('remark')">
<if test="condition.remark != null and condition.remark != ''">
and a.remark like #{condition.remark}
</if>
<if test="condition.remark == null">
and a.remark is null
</if>
</if>
<if test="condition.containsKey('remarkList')">
and a.remark in
<foreach collection="condition.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('versionNum')">
<if test="condition.versionNum != null ">
and a.versionNum = #{condition.versionNum}
</if>
<if test="condition.versionNum == null">
and a.versionNum is null
</if>
</if>
<if test="condition.containsKey('versionNumList')">
and a.versionNum in
<foreach collection="condition.versionNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('versionNumStart') and condition.versionNumStart != null">
<![CDATA[ and a.versionNum >= #{condition.versionNumStart} ]]>
</if>
<if test="condition.containsKey('versionNumEnd') and condition.versionNumEnd != null">
<![CDATA[ and a.versionNum <= #{condition.versionNumEnd} ]]>
</if>
<if test="condition.containsKey('gmtModify')">
<if test="condition.gmtModify != null ">
and a.gmtModify = #{condition.gmtModify}
</if>
<if test="condition.gmtModify == null">
and a.gmtModify is null
</if>
</if>
<if test="condition.containsKey('gmtModifyStart') and condition.gmtModifyStart != null and condition.gmtModifyStart!=''">
<![CDATA[ and a.gmtModify >= STR_TO_DATE(left(concat(#{condition.gmtModifyStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('gmtModifyEnd') and condition.gmtModifyEnd != null and condition.gmtModifyEnd!=''">
<![CDATA[ and a.gmtModify <= STR_TO_DATE(left(concat(#{condition.gmtModifyEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('idType')">
a.idType
<if test="orderCol.idType!= null">
${orderCol.idType}
</if>
,
</if>
<if test="orderCol.containsKey('idMaxValue')">
a.idMaxValue
<if test="orderCol.idMaxValue!= null">
${orderCol.idMaxValue}
</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test="orderCol.remark!= null">
${orderCol.remark}
</if>
,
</if>
<if test="orderCol.containsKey('versionNum')">
a.versionNum
<if test="orderCol.versionNum!= null">
${orderCol.versionNum}
</if>
,
</if>
<if test="orderCol.containsKey('gmtModify')">
a.gmtModify
<if test="orderCol.gmtModify!= null">
${orderCol.gmtModify}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.menu.dao.ibatis.MenuDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="MenuEntity" id="MenuEntity-Map">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="url" column="url" />
<result property="parentId" column="parentId" />
<result property="orderId" column="orderId" />
<result property="status" column="status" />
<result property="linkType" column="linkType" />
<result property="groupId" column="groupId" />
<result property="groupName" column="groupName" />
<result property="imgPath" column="imgPath" />
<result property="buttonImgPath" column="buttonImgPath" />
<result property="imgCommPath" column="imgCommPath" />
<result property="commMenu" column="commMenu" />
<result property="menuType" column="menuType" />
<result property="authType" column="authType" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="createUserName" column="createUserName" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('name') or colPickMode == 1 and data.containsKey('name')))">
a.name as name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('url') or colPickMode == 1 and data.containsKey('url')))">
a.url as url,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('parentId') or colPickMode == 1 and data.containsKey('parentId')))">
a.parentId as parentId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('orderId') or colPickMode == 1 and data.containsKey('orderId')))">
a.orderId as orderId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('status') or colPickMode == 1 and data.containsKey('status')))">
a.status as status,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('linkType') or colPickMode == 1 and data.containsKey('linkType')))">
a.linkType as linkType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('groupId') or colPickMode == 1 and data.containsKey('groupId')))">
a.groupId as groupId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('groupName') or colPickMode == 1 and data.containsKey('groupName')))">
a.groupName as groupName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('imgPath') or colPickMode == 1 and data.containsKey('imgPath')))">
a.imgPath as imgPath,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('buttonImgPath') or colPickMode == 1 and data.containsKey('buttonImgPath')))">
a.buttonImgPath as buttonImgPath,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('imgCommPath') or colPickMode == 1 and data.containsKey('imgCommPath')))">
a.imgCommPath as imgCommPath,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('commMenu') or colPickMode == 1 and data.containsKey('commMenu')))">
a.commMenu as commMenu,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('menuType') or colPickMode == 1 and data.containsKey('menuType')))">
a.menuType as menuType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('authType') or colPickMode == 1 and data.containsKey('authType')))">
a.authType as authType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId as createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserName') or colPickMode == 1 and data.containsKey('createUserName')))">
a.createUserName as createUserName,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="MenuEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_menu
(name,url,parentId,orderId,status,
linkType,groupId,groupName,imgPath,buttonImgPath,
imgCommPath,commMenu,menuType,authType,createTime,
createUserId,createUserName
)VALUES(#{name},#{url},#{parentId},#{orderId},#{status},
#{linkType},#{groupId},#{groupName},#{imgPath},#{buttonImgPath},
#{imgCommPath},#{commMenu},#{menuType},#{authType},#{createTime},
#{createUserId},#{createUserName})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_menu
(name,url,parentId,orderId,status,
linkType,groupId,groupName,imgPath,buttonImgPath,
imgCommPath,commMenu,menuType,authType,createTime,
createUserId,createUserName
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.name},#{item.url},#{item.parentId},#{item.orderId},#{item.status},
#{item.linkType},#{item.groupId},#{item.groupName},#{item.imgPath},#{item.buttonImgPath},
#{item.imgCommPath},#{item.commMenu},#{item.menuType},#{item.authType},#{item.createTime},
#{item.createUserId},#{item.createUserName})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_menu as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('name')) or (colPickMode==1 and !data.containsKey('name'))">
a.name=#{data.name},
</if>
<if test="(colPickMode==0 and data.containsKey('url')) or (colPickMode==1 and !data.containsKey('url'))">
a.url=#{data.url},
</if>
<if test="(colPickMode==0 and data.containsKey('parentId')) or (colPickMode==1 and !data.containsKey('parentId'))">
a.parentId=#{data.parentId},
</if>
<if test="(colPickMode==0 and data.containsKey('parentIdIncrement')) or (colPickMode==1 and !data.containsKey('parentIdIncrement'))">
a.parentId=ifnull(a.parentId,0) + #{data.parentIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('orderId')) or (colPickMode==1 and !data.containsKey('orderId'))">
a.orderId=#{data.orderId},
</if>
<if test="(colPickMode==0 and data.containsKey('orderIdIncrement')) or (colPickMode==1 and !data.containsKey('orderIdIncrement'))">
a.orderId=ifnull(a.orderId,0) + #{data.orderIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('status')) or (colPickMode==1 and !data.containsKey('status'))">
a.status=#{data.status},
</if>
<if test="(colPickMode==0 and data.containsKey('statusIncrement')) or (colPickMode==1 and !data.containsKey('statusIncrement'))">
a.status=ifnull(a.status,0) + #{data.statusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('linkType')) or (colPickMode==1 and !data.containsKey('linkType'))">
a.linkType=#{data.linkType},
</if>
<if test="(colPickMode==0 and data.containsKey('linkTypeIncrement')) or (colPickMode==1 and !data.containsKey('linkTypeIncrement'))">
a.linkType=ifnull(a.linkType,0) + #{data.linkTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('groupId')) or (colPickMode==1 and !data.containsKey('groupId'))">
a.groupId=#{data.groupId},
</if>
<if test="(colPickMode==0 and data.containsKey('groupIdIncrement')) or (colPickMode==1 and !data.containsKey('groupIdIncrement'))">
a.groupId=ifnull(a.groupId,0) + #{data.groupIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('groupName')) or (colPickMode==1 and !data.containsKey('groupName'))">
a.groupName=#{data.groupName},
</if>
<if test="(colPickMode==0 and data.containsKey('imgPath')) or (colPickMode==1 and !data.containsKey('imgPath'))">
a.imgPath=#{data.imgPath},
</if>
<if test="(colPickMode==0 and data.containsKey('buttonImgPath')) or (colPickMode==1 and !data.containsKey('buttonImgPath'))">
a.buttonImgPath=#{data.buttonImgPath},
</if>
<if test="(colPickMode==0 and data.containsKey('imgCommPath')) or (colPickMode==1 and !data.containsKey('imgCommPath'))">
a.imgCommPath=#{data.imgCommPath},
</if>
<if test="(colPickMode==0 and data.containsKey('commMenu')) or (colPickMode==1 and !data.containsKey('commMenu'))">
a.commMenu=#{data.commMenu},
</if>
<if test="(colPickMode==0 and data.containsKey('commMenuIncrement')) or (colPickMode==1 and !data.containsKey('commMenuIncrement'))">
a.commMenu=ifnull(a.commMenu,0) + #{data.commMenuIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('menuType')) or (colPickMode==1 and !data.containsKey('menuType'))">
a.menuType=#{data.menuType},
</if>
<if test="(colPickMode==0 and data.containsKey('menuTypeIncrement')) or (colPickMode==1 and !data.containsKey('menuTypeIncrement'))">
a.menuType=ifnull(a.menuType,0) + #{data.menuTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('authType')) or (colPickMode==1 and !data.containsKey('authType'))">
a.authType=#{data.authType},
</if>
<if test="(colPickMode==0 and data.containsKey('authTypeIncrement')) or (colPickMode==1 and !data.containsKey('authTypeIncrement'))">
a.authType=ifnull(a.authType,0) + #{data.authTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserName')) or (colPickMode==1 and !data.containsKey('createUserName'))">
a.createUserName=#{data.createUserName},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="MenuEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_menu as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_menu as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_menu where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_menu as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="MenuEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_menu as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_menu as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('name')">
<if test="condition.name != null and condition.name != ''">
and a.name like #{condition.name}
</if>
<if test="condition.name == null">
and a.name is null
</if>
</if>
<if test="condition.containsKey('nameList')">
and a.name in
<foreach collection="condition.nameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('url')">
<if test="condition.url != null and condition.url != ''">
and a.url like #{condition.url}
</if>
<if test="condition.url == null">
and a.url is null
</if>
</if>
<if test="condition.containsKey('urlList')">
and a.url in
<foreach collection="condition.urlList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('parentId')">
<if test="condition.parentId != null ">
and a.parentId = #{condition.parentId}
</if>
<if test="condition.parentId == null">
and a.parentId is null
</if>
</if>
<if test="condition.containsKey('parentIdList')">
and a.parentId in
<foreach collection="condition.parentIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('parentIdStart') and condition.parentIdStart != null">
<![CDATA[ and a.parentId >= #{condition.parentIdStart} ]]>
</if>
<if test="condition.containsKey('parentIdEnd') and condition.parentIdEnd != null">
<![CDATA[ and a.parentId <= #{condition.parentIdEnd} ]]>
</if>
<if test="condition.containsKey('orderId')">
<if test="condition.orderId != null ">
and a.orderId = #{condition.orderId}
</if>
<if test="condition.orderId == null">
and a.orderId is null
</if>
</if>
<if test="condition.containsKey('orderIdList')">
and a.orderId in
<foreach collection="condition.orderIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('orderIdStart') and condition.orderIdStart != null">
<![CDATA[ and a.orderId >= #{condition.orderIdStart} ]]>
</if>
<if test="condition.containsKey('orderIdEnd') and condition.orderIdEnd != null">
<![CDATA[ and a.orderId <= #{condition.orderIdEnd} ]]>
</if>
<if test="condition.containsKey('status')">
<if test="condition.status != null ">
and a.status = #{condition.status}
</if>
<if test="condition.status == null">
and a.status is null
</if>
</if>
<if test="condition.containsKey('statusList')">
and a.status in
<foreach collection="condition.statusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('statusStart') and condition.statusStart != null">
<![CDATA[ and a.status >= #{condition.statusStart} ]]>
</if>
<if test="condition.containsKey('statusEnd') and condition.statusEnd != null">
<![CDATA[ and a.status <= #{condition.statusEnd} ]]>
</if>
<if test="condition.containsKey('linkType')">
<if test="condition.linkType != null ">
and a.linkType = #{condition.linkType}
</if>
<if test="condition.linkType == null">
and a.linkType is null
</if>
</if>
<if test="condition.containsKey('linkTypeList')">
and a.linkType in
<foreach collection="condition.linkTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('linkTypeStart') and condition.linkTypeStart != null">
<![CDATA[ and a.linkType >= #{condition.linkTypeStart} ]]>
</if>
<if test="condition.containsKey('linkTypeEnd') and condition.linkTypeEnd != null">
<![CDATA[ and a.linkType <= #{condition.linkTypeEnd} ]]>
</if>
<if test="condition.containsKey('groupId')">
<if test="condition.groupId != null ">
and a.groupId = #{condition.groupId}
</if>
<if test="condition.groupId == null">
and a.groupId is null
</if>
</if>
<if test="condition.containsKey('groupIdList')">
and a.groupId in
<foreach collection="condition.groupIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('groupIdStart') and condition.groupIdStart != null">
<![CDATA[ and a.groupId >= #{condition.groupIdStart} ]]>
</if>
<if test="condition.containsKey('groupIdEnd') and condition.groupIdEnd != null">
<![CDATA[ and a.groupId <= #{condition.groupIdEnd} ]]>
</if>
<if test="condition.containsKey('groupName')">
<if test="condition.groupName != null and condition.groupName != ''">
and a.groupName like #{condition.groupName}
</if>
<if test="condition.groupName == null">
and a.groupName is null
</if>
</if>
<if test="condition.containsKey('groupNameList')">
and a.groupName in
<foreach collection="condition.groupNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('imgPath')">
<if test="condition.imgPath != null and condition.imgPath != ''">
and a.imgPath like #{condition.imgPath}
</if>
<if test="condition.imgPath == null">
and a.imgPath is null
</if>
</if>
<if test="condition.containsKey('imgPathList')">
and a.imgPath in
<foreach collection="condition.imgPathList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('buttonImgPath')">
<if test="condition.buttonImgPath != null and condition.buttonImgPath != ''">
and a.buttonImgPath like #{condition.buttonImgPath}
</if>
<if test="condition.buttonImgPath == null">
and a.buttonImgPath is null
</if>
</if>
<if test="condition.containsKey('buttonImgPathList')">
and a.buttonImgPath in
<foreach collection="condition.buttonImgPathList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('imgCommPath')">
<if test="condition.imgCommPath != null and condition.imgCommPath != ''">
and a.imgCommPath like #{condition.imgCommPath}
</if>
<if test="condition.imgCommPath == null">
and a.imgCommPath is null
</if>
</if>
<if test="condition.containsKey('imgCommPathList')">
and a.imgCommPath in
<foreach collection="condition.imgCommPathList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('commMenu')">
<if test="condition.commMenu != null ">
and a.commMenu = #{condition.commMenu}
</if>
<if test="condition.commMenu == null">
and a.commMenu is null
</if>
</if>
<if test="condition.containsKey('commMenuList')">
and a.commMenu in
<foreach collection="condition.commMenuList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('commMenuStart') and condition.commMenuStart != null">
<![CDATA[ and a.commMenu >= #{condition.commMenuStart} ]]>
</if>
<if test="condition.containsKey('commMenuEnd') and condition.commMenuEnd != null">
<![CDATA[ and a.commMenu <= #{condition.commMenuEnd} ]]>
</if>
<if test="condition.containsKey('menuType')">
<if test="condition.menuType != null ">
and a.menuType = #{condition.menuType}
</if>
<if test="condition.menuType == null">
and a.menuType is null
</if>
</if>
<if test="condition.containsKey('menuTypeList')">
and a.menuType in
<foreach collection="condition.menuTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('menuTypeStart') and condition.menuTypeStart != null">
<![CDATA[ and a.menuType >= #{condition.menuTypeStart} ]]>
</if>
<if test="condition.containsKey('menuTypeEnd') and condition.menuTypeEnd != null">
<![CDATA[ and a.menuType <= #{condition.menuTypeEnd} ]]>
</if>
<if test="condition.containsKey('authType')">
<if test="condition.authType != null ">
and a.authType = #{condition.authType}
</if>
<if test="condition.authType == null">
and a.authType is null
</if>
</if>
<if test="condition.containsKey('authTypeList')">
and a.authType in
<foreach collection="condition.authTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('authTypeStart') and condition.authTypeStart != null">
<![CDATA[ and a.authType >= #{condition.authTypeStart} ]]>
</if>
<if test="condition.containsKey('authTypeEnd') and condition.authTypeEnd != null">
<![CDATA[ and a.authType <= #{condition.authTypeEnd} ]]>
</if>
<if test="condition.containsKey('createTime')">
<if test="condition.createTime != null ">
and a.createTime = #{condition.createTime}
</if>
<if test="condition.createTime == null">
and a.createTime is null
</if>
</if>
<if test="condition.containsKey('createTimeStart') and condition.createTimeStart != null and condition.createTimeStart!=''">
<![CDATA[ and a.createTime >= STR_TO_DATE(left(concat(#{condition.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createTimeEnd') and condition.createTimeEnd != null and condition.createTimeEnd!=''">
<![CDATA[ and a.createTime <= STR_TO_DATE(left(concat(#{condition.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createUserId')">
<if test="condition.createUserId != null ">
and a.createUserId = #{condition.createUserId}
</if>
<if test="condition.createUserId == null">
and a.createUserId is null
</if>
</if>
<if test="condition.containsKey('createUserIdList')">
and a.createUserId in
<foreach collection="condition.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createUserIdStart') and condition.createUserIdStart != null">
<![CDATA[ and a.createUserId >= #{condition.createUserIdStart} ]]>
</if>
<if test="condition.containsKey('createUserIdEnd') and condition.createUserIdEnd != null">
<![CDATA[ and a.createUserId <= #{condition.createUserIdEnd} ]]>
</if>
<if test="condition.containsKey('createUserName')">
<if test="condition.createUserName != null and condition.createUserName != ''">
and a.createUserName like #{condition.createUserName}
</if>
<if test="condition.createUserName == null">
and a.createUserName is null
</if>
</if>
<if test="condition.containsKey('createUserNameList')">
and a.createUserName in
<foreach collection="condition.createUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('name')">
a.name
<if test="orderCol.name!= null">
${orderCol.name}
</if>
,
</if>
<if test="orderCol.containsKey('url')">
a.url
<if test="orderCol.url!= null">
${orderCol.url}
</if>
,
</if>
<if test="orderCol.containsKey('parentId')">
a.parentId
<if test="orderCol.parentId!= null">
${orderCol.parentId}
</if>
,
</if>
<if test="orderCol.containsKey('orderId')">
a.orderId
<if test="orderCol.orderId!= null">
${orderCol.orderId}
</if>
,
</if>
<if test="orderCol.containsKey('status')">
a.status
<if test="orderCol.status!= null">
${orderCol.status}
</if>
,
</if>
<if test="orderCol.containsKey('linkType')">
a.linkType
<if test="orderCol.linkType!= null">
${orderCol.linkType}
</if>
,
</if>
<if test="orderCol.containsKey('groupId')">
a.groupId
<if test="orderCol.groupId!= null">
${orderCol.groupId}
</if>
,
</if>
<if test="orderCol.containsKey('groupName')">
a.groupName
<if test="orderCol.groupName!= null">
${orderCol.groupName}
</if>
,
</if>
<if test="orderCol.containsKey('imgPath')">
a.imgPath
<if test="orderCol.imgPath!= null">
${orderCol.imgPath}
</if>
,
</if>
<if test="orderCol.containsKey('buttonImgPath')">
a.buttonImgPath
<if test="orderCol.buttonImgPath!= null">
${orderCol.buttonImgPath}
</if>
,
</if>
<if test="orderCol.containsKey('imgCommPath')">
a.imgCommPath
<if test="orderCol.imgCommPath!= null">
${orderCol.imgCommPath}
</if>
,
</if>
<if test="orderCol.containsKey('commMenu')">
a.commMenu
<if test="orderCol.commMenu!= null">
${orderCol.commMenu}
</if>
,
</if>
<if test="orderCol.containsKey('menuType')">
a.menuType
<if test="orderCol.menuType!= null">
${orderCol.menuType}
</if>
,
</if>
<if test="orderCol.containsKey('authType')">
a.authType
<if test="orderCol.authType!= null">
${orderCol.authType}
</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test="orderCol.createTime!= null">
${orderCol.createTime}
</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test="orderCol.createUserId!= null">
${orderCol.createUserId}
</if>
,
</if>
<if test="orderCol.containsKey('createUserName')">
a.createUserName
<if test="orderCol.createUserName!= null">
${orderCol.createUserName}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.oper.dao.ibatis.OperLogDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="OperLogEntity" id="OperLogEntity-Map">
<result property="id" column="id" />
<result property="platformMark" column="platformMark" />
<result property="userId" column="userId" />
<result property="userName" column="userName" />
<result property="loginName" column="loginName" />
<result property="requestUrl" column="requestUrl" />
<result property="content" column="content" />
<result property="ip" column="ip" />
<result property="logDate" column="logDate" />
<result property="operType" column="operType" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('platformMark') or colPickMode == 1 and data.containsKey('platformMark')))">
a.platformMark as platformMark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('userId') or colPickMode == 1 and data.containsKey('userId')))">
a.userId as userId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('userName') or colPickMode == 1 and data.containsKey('userName')))">
a.userName as userName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginName') or colPickMode == 1 and data.containsKey('loginName')))">
a.loginName as loginName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('requestUrl') or colPickMode == 1 and data.containsKey('requestUrl')))">
a.requestUrl as requestUrl,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('content') or colPickMode == 1 and data.containsKey('content')))">
a.content as content,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('ip') or colPickMode == 1 and data.containsKey('ip')))">
a.ip as ip,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('logDate') or colPickMode == 1 and data.containsKey('logDate')))">
a.logDate as logDate,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('operType') or colPickMode == 1 and data.containsKey('operType')))">
a.operType as operType,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="OperLogEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_oper_log
(platformMark,userId,userName,loginName,requestUrl,
content,ip,logDate,operType
)VALUES(#{platformMark},#{userId},#{userName},#{loginName},#{requestUrl},
#{content},#{ip},#{logDate},#{operType})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_oper_log
(platformMark,userId,userName,loginName,requestUrl,
content,ip,logDate,operType
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.platformMark},#{item.userId},#{item.userName},#{item.loginName},#{item.requestUrl},
#{item.content},#{item.ip},#{item.logDate},#{item.operType})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_oper_log as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('platformMark')) or (colPickMode==1 and !data.containsKey('platformMark'))">
a.platformMark=#{data.platformMark},
</if>
<if test="(colPickMode==0 and data.containsKey('userId')) or (colPickMode==1 and !data.containsKey('userId'))">
a.userId=#{data.userId},
</if>
<if test="(colPickMode==0 and data.containsKey('userIdIncrement')) or (colPickMode==1 and !data.containsKey('userIdIncrement'))">
a.userId=ifnull(a.userId,0) + #{data.userIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('userName')) or (colPickMode==1 and !data.containsKey('userName'))">
a.userName=#{data.userName},
</if>
<if test="(colPickMode==0 and data.containsKey('loginName')) or (colPickMode==1 and !data.containsKey('loginName'))">
a.loginName=#{data.loginName},
</if>
<if test="(colPickMode==0 and data.containsKey('requestUrl')) or (colPickMode==1 and !data.containsKey('requestUrl'))">
a.requestUrl=#{data.requestUrl},
</if>
<if test="(colPickMode==0 and data.containsKey('content')) or (colPickMode==1 and !data.containsKey('content'))">
a.content=#{data.content},
</if>
<if test="(colPickMode==0 and data.containsKey('ip')) or (colPickMode==1 and !data.containsKey('ip'))">
a.ip=#{data.ip},
</if>
<if test="(colPickMode==0 and data.containsKey('logDate')) or (colPickMode==1 and !data.containsKey('logDate'))">
a.logDate=#{data.logDate},
</if>
<if test="(colPickMode==0 and data.containsKey('operType')) or (colPickMode==1 and !data.containsKey('operType'))">
a.operType=#{data.operType},
</if>
<if test="(colPickMode==0 and data.containsKey('operTypeIncrement')) or (colPickMode==1 and !data.containsKey('operTypeIncrement'))">
a.operType=ifnull(a.operType,0) + #{data.operTypeIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="OperLogEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_oper_log as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_oper_log as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_oper_log where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_oper_log as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="OperLogEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_oper_log as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_oper_log as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('platformMark')">
<if test="condition.platformMark != null and condition.platformMark != ''">
and a.platformMark like #{condition.platformMark}
</if>
<if test="condition.platformMark == null">
and a.platformMark is null
</if>
</if>
<if test="condition.containsKey('platformMarkList')">
and a.platformMark in
<foreach collection="condition.platformMarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('userId')">
<if test="condition.userId != null ">
and a.userId = #{condition.userId}
</if>
<if test="condition.userId == null">
and a.userId is null
</if>
</if>
<if test="condition.containsKey('userIdList')">
and a.userId in
<foreach collection="condition.userIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('userIdStart') and condition.userIdStart != null">
<![CDATA[ and a.userId >= #{condition.userIdStart} ]]>
</if>
<if test="condition.containsKey('userIdEnd') and condition.userIdEnd != null">
<![CDATA[ and a.userId <= #{condition.userIdEnd} ]]>
</if>
<if test="condition.containsKey('userName')">
<if test="condition.userName != null and condition.userName != ''">
and a.userName like #{condition.userName}
</if>
<if test="condition.userName == null">
and a.userName is null
</if>
</if>
<if test="condition.containsKey('userNameList')">
and a.userName in
<foreach collection="condition.userNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('loginName')">
<if test="condition.loginName != null and condition.loginName != ''">
and a.loginName like #{condition.loginName}
</if>
<if test="condition.loginName == null">
and a.loginName is null
</if>
</if>
<if test="condition.containsKey('loginNameList')">
and a.loginName in
<foreach collection="condition.loginNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('requestUrl')">
<if test="condition.requestUrl != null and condition.requestUrl != ''">
and a.requestUrl like #{condition.requestUrl}
</if>
<if test="condition.requestUrl == null">
and a.requestUrl is null
</if>
</if>
<if test="condition.containsKey('requestUrlList')">
and a.requestUrl in
<foreach collection="condition.requestUrlList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('content')">
<if test="condition.content != null and condition.content != ''">
and a.content like #{condition.content}
</if>
<if test="condition.content == null">
and a.content is null
</if>
</if>
<if test="condition.containsKey('contentList')">
and a.content in
<foreach collection="condition.contentList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('ip')">
<if test="condition.ip != null and condition.ip != ''">
and a.ip like #{condition.ip}
</if>
<if test="condition.ip == null">
and a.ip is null
</if>
</if>
<if test="condition.containsKey('ipList')">
and a.ip in
<foreach collection="condition.ipList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('logDate')">
<if test="condition.logDate != null ">
and a.logDate = #{condition.logDate}
</if>
<if test="condition.logDate == null">
and a.logDate is null
</if>
</if>
<if test="condition.containsKey('logDateStart') and condition.logDateStart != null and condition.logDateStart!=''">
<![CDATA[ and a.logDate >= STR_TO_DATE(left(concat(#{condition.logDateStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('logDateEnd') and condition.logDateEnd != null and condition.logDateEnd!=''">
<![CDATA[ and a.logDate <= STR_TO_DATE(left(concat(#{condition.logDateEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('operType')">
<if test="condition.operType != null ">
and a.operType = #{condition.operType}
</if>
<if test="condition.operType == null">
and a.operType is null
</if>
</if>
<if test="condition.containsKey('operTypeList')">
and a.operType in
<foreach collection="condition.operTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('operTypeStart') and condition.operTypeStart != null">
<![CDATA[ and a.operType >= #{condition.operTypeStart} ]]>
</if>
<if test="condition.containsKey('operTypeEnd') and condition.operTypeEnd != null">
<![CDATA[ and a.operType <= #{condition.operTypeEnd} ]]>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('platformMark')">
a.platformMark
<if test="orderCol.platformMark!= null">
${orderCol.platformMark}
</if>
,
</if>
<if test="orderCol.containsKey('userId')">
a.userId
<if test="orderCol.userId!= null">
${orderCol.userId}
</if>
,
</if>
<if test="orderCol.containsKey('userName')">
a.userName
<if test="orderCol.userName!= null">
${orderCol.userName}
</if>
,
</if>
<if test="orderCol.containsKey('loginName')">
a.loginName
<if test="orderCol.loginName!= null">
${orderCol.loginName}
</if>
,
</if>
<if test="orderCol.containsKey('requestUrl')">
a.requestUrl
<if test="orderCol.requestUrl!= null">
${orderCol.requestUrl}
</if>
,
</if>
<if test="orderCol.containsKey('content')">
a.content
<if test="orderCol.content!= null">
${orderCol.content}
</if>
,
</if>
<if test="orderCol.containsKey('ip')">
a.ip
<if test="orderCol.ip!= null">
${orderCol.ip}
</if>
,
</if>
<if test="orderCol.containsKey('logDate')">
a.logDate
<if test="orderCol.logDate!= null">
${orderCol.logDate}
</if>
,
</if>
<if test="orderCol.containsKey('operType')">
a.operType
<if test="orderCol.operType!= null">
${orderCol.operType}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.param.dao.ibatis.ParamDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ParamEntity" id="ParamEntity-Map">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="firstOrganize" column="firstOrganize" />
<result property="secondOrganize" column="secondOrganize" />
<result property="paramKey" column="paramKey" />
<result property="paramValue" column="paramValue" />
<result property="validStatus" column="validStatus" />
<result property="modStatus" column="modStatus" />
<result property="displayType" column="displayType" />
<result property="remark" column="remark" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="createUserName" column="createUserName" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('name') or colPickMode == 1 and data.containsKey('name')))">
a.name as name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('firstOrganize') or colPickMode == 1 and data.containsKey('firstOrganize')))">
a.firstOrganize as firstOrganize,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('secondOrganize') or colPickMode == 1 and data.containsKey('secondOrganize')))">
a.secondOrganize as secondOrganize,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('paramKey') or colPickMode == 1 and data.containsKey('paramKey')))">
a.paramKey as paramKey,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('paramValue') or colPickMode == 1 and data.containsKey('paramValue')))">
a.paramValue as paramValue,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('validStatus') or colPickMode == 1 and data.containsKey('validStatus')))">
a.validStatus as validStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('modStatus') or colPickMode == 1 and data.containsKey('modStatus')))">
a.modStatus as modStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('displayType') or colPickMode == 1 and data.containsKey('displayType')))">
a.displayType as displayType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark as remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId as createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserName') or colPickMode == 1 and data.containsKey('createUserName')))">
a.createUserName as createUserName,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="ParamEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_param
(name,firstOrganize,secondOrganize,paramKey,paramValue,
validStatus,modStatus,displayType,remark,createTime,
createUserId,createUserName
)VALUES(#{name},#{firstOrganize},#{secondOrganize},#{paramKey},#{paramValue},
#{validStatus},#{modStatus},#{displayType},#{remark},#{createTime},
#{createUserId},#{createUserName})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_param
(name,firstOrganize,secondOrganize,paramKey,paramValue,
validStatus,modStatus,displayType,remark,createTime,
createUserId,createUserName
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.name},#{item.firstOrganize},#{item.secondOrganize},#{item.paramKey},#{item.paramValue},
#{item.validStatus},#{item.modStatus},#{item.displayType},#{item.remark},#{item.createTime},
#{item.createUserId},#{item.createUserName})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_param as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('name')) or (colPickMode==1 and !data.containsKey('name'))">
a.name=#{data.name},
</if>
<if test="(colPickMode==0 and data.containsKey('firstOrganize')) or (colPickMode==1 and !data.containsKey('firstOrganize'))">
a.firstOrganize=#{data.firstOrganize},
</if>
<if test="(colPickMode==0 and data.containsKey('secondOrganize')) or (colPickMode==1 and !data.containsKey('secondOrganize'))">
a.secondOrganize=#{data.secondOrganize},
</if>
<if test="(colPickMode==0 and data.containsKey('paramKey')) or (colPickMode==1 and !data.containsKey('paramKey'))">
a.paramKey=#{data.paramKey},
</if>
<if test="(colPickMode==0 and data.containsKey('paramValue')) or (colPickMode==1 and !data.containsKey('paramValue'))">
a.paramValue=#{data.paramValue},
</if>
<if test="(colPickMode==0 and data.containsKey('validStatus')) or (colPickMode==1 and !data.containsKey('validStatus'))">
a.validStatus=#{data.validStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('validStatusIncrement')) or (colPickMode==1 and !data.containsKey('validStatusIncrement'))">
a.validStatus=ifnull(a.validStatus,0) + #{data.validStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('modStatus')) or (colPickMode==1 and !data.containsKey('modStatus'))">
a.modStatus=#{data.modStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('modStatusIncrement')) or (colPickMode==1 and !data.containsKey('modStatusIncrement'))">
a.modStatus=ifnull(a.modStatus,0) + #{data.modStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('displayType')) or (colPickMode==1 and !data.containsKey('displayType'))">
a.displayType=#{data.displayType},
</if>
<if test="(colPickMode==0 and data.containsKey('displayTypeIncrement')) or (colPickMode==1 and !data.containsKey('displayTypeIncrement'))">
a.displayType=ifnull(a.displayType,0) + #{data.displayTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserName')) or (colPickMode==1 and !data.containsKey('createUserName'))">
a.createUserName=#{data.createUserName},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ParamEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_param as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_param as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_param where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_param as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ParamEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_param as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_param as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('name')">
<if test="condition.name != null and condition.name != ''">
and a.name like #{condition.name}
</if>
<if test="condition.name == null">
and a.name is null
</if>
</if>
<if test="condition.containsKey('nameList')">
and a.name in
<foreach collection="condition.nameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('firstOrganize')">
<if test="condition.firstOrganize != null and condition.firstOrganize != ''">
and a.firstOrganize like #{condition.firstOrganize}
</if>
<if test="condition.firstOrganize == null">
and a.firstOrganize is null
</if>
</if>
<if test="condition.containsKey('firstOrganizeList')">
and a.firstOrganize in
<foreach collection="condition.firstOrganizeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('secondOrganize')">
<if test="condition.secondOrganize != null and condition.secondOrganize != ''">
and a.secondOrganize like #{condition.secondOrganize}
</if>
<if test="condition.secondOrganize == null">
and a.secondOrganize is null
</if>
</if>
<if test="condition.containsKey('secondOrganizeList')">
and a.secondOrganize in
<foreach collection="condition.secondOrganizeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('paramKey')">
<if test="condition.paramKey != null and condition.paramKey != ''">
and a.paramKey like #{condition.paramKey}
</if>
<if test="condition.paramKey == null">
and a.paramKey is null
</if>
</if>
<if test="condition.containsKey('paramKeyList')">
and a.paramKey in
<foreach collection="condition.paramKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('paramValue')">
<if test="condition.paramValue != null and condition.paramValue != ''">
and a.paramValue like #{condition.paramValue}
</if>
<if test="condition.paramValue == null">
and a.paramValue is null
</if>
</if>
<if test="condition.containsKey('paramValueList')">
and a.paramValue in
<foreach collection="condition.paramValueList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('validStatus')">
<if test="condition.validStatus != null ">
and a.validStatus = #{condition.validStatus}
</if>
<if test="condition.validStatus == null">
and a.validStatus is null
</if>
</if>
<if test="condition.containsKey('validStatusList')">
and a.validStatus in
<foreach collection="condition.validStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('validStatusStart') and condition.validStatusStart != null">
<![CDATA[ and a.validStatus >= #{condition.validStatusStart} ]]>
</if>
<if test="condition.containsKey('validStatusEnd') and condition.validStatusEnd != null">
<![CDATA[ and a.validStatus <= #{condition.validStatusEnd} ]]>
</if>
<if test="condition.containsKey('modStatus')">
<if test="condition.modStatus != null ">
and a.modStatus = #{condition.modStatus}
</if>
<if test="condition.modStatus == null">
and a.modStatus is null
</if>
</if>
<if test="condition.containsKey('modStatusList')">
and a.modStatus in
<foreach collection="condition.modStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('modStatusStart') and condition.modStatusStart != null">
<![CDATA[ and a.modStatus >= #{condition.modStatusStart} ]]>
</if>
<if test="condition.containsKey('modStatusEnd') and condition.modStatusEnd != null">
<![CDATA[ and a.modStatus <= #{condition.modStatusEnd} ]]>
</if>
<if test="condition.containsKey('displayType')">
<if test="condition.displayType != null ">
and a.displayType = #{condition.displayType}
</if>
<if test="condition.displayType == null">
and a.displayType is null
</if>
</if>
<if test="condition.containsKey('displayTypeList')">
and a.displayType in
<foreach collection="condition.displayTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('displayTypeStart') and condition.displayTypeStart != null">
<![CDATA[ and a.displayType >= #{condition.displayTypeStart} ]]>
</if>
<if test="condition.containsKey('displayTypeEnd') and condition.displayTypeEnd != null">
<![CDATA[ and a.displayType <= #{condition.displayTypeEnd} ]]>
</if>
<if test="condition.containsKey('remark')">
<if test="condition.remark != null and condition.remark != ''">
and a.remark like #{condition.remark}
</if>
<if test="condition.remark == null">
and a.remark is null
</if>
</if>
<if test="condition.containsKey('remarkList')">
and a.remark in
<foreach collection="condition.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createTime')">
<if test="condition.createTime != null ">
and a.createTime = #{condition.createTime}
</if>
<if test="condition.createTime == null">
and a.createTime is null
</if>
</if>
<if test="condition.containsKey('createTimeStart') and condition.createTimeStart != null and condition.createTimeStart!=''">
<![CDATA[ and a.createTime >= STR_TO_DATE(left(concat(#{condition.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createTimeEnd') and condition.createTimeEnd != null and condition.createTimeEnd!=''">
<![CDATA[ and a.createTime <= STR_TO_DATE(left(concat(#{condition.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createUserId')">
<if test="condition.createUserId != null ">
and a.createUserId = #{condition.createUserId}
</if>
<if test="condition.createUserId == null">
and a.createUserId is null
</if>
</if>
<if test="condition.containsKey('createUserIdList')">
and a.createUserId in
<foreach collection="condition.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createUserIdStart') and condition.createUserIdStart != null">
<![CDATA[ and a.createUserId >= #{condition.createUserIdStart} ]]>
</if>
<if test="condition.containsKey('createUserIdEnd') and condition.createUserIdEnd != null">
<![CDATA[ and a.createUserId <= #{condition.createUserIdEnd} ]]>
</if>
<if test="condition.containsKey('createUserName')">
<if test="condition.createUserName != null and condition.createUserName != ''">
and a.createUserName like #{condition.createUserName}
</if>
<if test="condition.createUserName == null">
and a.createUserName is null
</if>
</if>
<if test="condition.containsKey('createUserNameList')">
and a.createUserName in
<foreach collection="condition.createUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('name')">
a.name
<if test="orderCol.name!= null">
${orderCol.name}
</if>
,
</if>
<if test="orderCol.containsKey('firstOrganize')">
a.firstOrganize
<if test="orderCol.firstOrganize!= null">
${orderCol.firstOrganize}
</if>
,
</if>
<if test="orderCol.containsKey('secondOrganize')">
a.secondOrganize
<if test="orderCol.secondOrganize!= null">
${orderCol.secondOrganize}
</if>
,
</if>
<if test="orderCol.containsKey('paramKey')">
a.paramKey
<if test="orderCol.paramKey!= null">
${orderCol.paramKey}
</if>
,
</if>
<if test="orderCol.containsKey('paramValue')">
a.paramValue
<if test="orderCol.paramValue!= null">
${orderCol.paramValue}
</if>
,
</if>
<if test="orderCol.containsKey('validStatus')">
a.validStatus
<if test="orderCol.validStatus!= null">
${orderCol.validStatus}
</if>
,
</if>
<if test="orderCol.containsKey('modStatus')">
a.modStatus
<if test="orderCol.modStatus!= null">
${orderCol.modStatus}
</if>
,
</if>
<if test="orderCol.containsKey('displayType')">
a.displayType
<if test="orderCol.displayType!= null">
${orderCol.displayType}
</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test="orderCol.remark!= null">
${orderCol.remark}
</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test="orderCol.createTime!= null">
${orderCol.createTime}
</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test="orderCol.createUserId!= null">
${orderCol.createUserId}
</if>
,
</if>
<if test="orderCol.containsKey('createUserName')">
a.createUserName
<if test="orderCol.createUserName!= null">
${orderCol.createUserName}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.param.dao.ibatis.ParamDaoImpl">
<update id="update-param-version">
update mortals_xhx_param set paramValue=paramValue+1 where paramKey='param_refresh_count'
</update>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.resource.dao.ibatis.ResourceDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ResourceEntity" id="ResourceEntity-Map">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="url" column="url" />
<result property="authType" column="authType" />
<result property="sourceType" column="sourceType" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="createUserName" column="createUserName" />
<result property="userType" column="userType" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('name') or colPickMode == 1 and data.containsKey('name')))">
a.name as name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('url') or colPickMode == 1 and data.containsKey('url')))">
a.url as url,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('authType') or colPickMode == 1 and data.containsKey('authType')))">
a.authType as authType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sourceType') or colPickMode == 1 and data.containsKey('sourceType')))">
a.sourceType as sourceType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId as createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserName') or colPickMode == 1 and data.containsKey('createUserName')))">
a.createUserName as createUserName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('userType') or colPickMode == 1 and data.containsKey('userType')))">
a.userType as userType,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="ResourceEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_resource
(name,url,authType,sourceType,createTime,
createUserId,createUserName,userType
)VALUES(#{name},#{url},#{authType},#{sourceType},#{createTime},
#{createUserId},#{createUserName},#{userType})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_resource
(name,url,authType,sourceType,createTime,
createUserId,createUserName,userType
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.name},#{item.url},#{item.authType},#{item.sourceType},#{item.createTime},
#{item.createUserId},#{item.createUserName},#{item.userType})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_resource as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('name')) or (colPickMode==1 and !data.containsKey('name'))">
a.name=#{data.name},
</if>
<if test="(colPickMode==0 and data.containsKey('url')) or (colPickMode==1 and !data.containsKey('url'))">
a.url=#{data.url},
</if>
<if test="(colPickMode==0 and data.containsKey('authType')) or (colPickMode==1 and !data.containsKey('authType'))">
a.authType=#{data.authType},
</if>
<if test="(colPickMode==0 and data.containsKey('authTypeIncrement')) or (colPickMode==1 and !data.containsKey('authTypeIncrement'))">
a.authType=ifnull(a.authType,0) + #{data.authTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('sourceType')) or (colPickMode==1 and !data.containsKey('sourceType'))">
a.sourceType=#{data.sourceType},
</if>
<if test="(colPickMode==0 and data.containsKey('sourceTypeIncrement')) or (colPickMode==1 and !data.containsKey('sourceTypeIncrement'))">
a.sourceType=ifnull(a.sourceType,0) + #{data.sourceTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserName')) or (colPickMode==1 and !data.containsKey('createUserName'))">
a.createUserName=#{data.createUserName},
</if>
<if test="(colPickMode==0 and data.containsKey('userType')) or (colPickMode==1 and !data.containsKey('userType'))">
a.userType=#{data.userType},
</if>
<if test="(colPickMode==0 and data.containsKey('userTypeIncrement')) or (colPickMode==1 and !data.containsKey('userTypeIncrement'))">
a.userType=ifnull(a.userType,0) + #{data.userTypeIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ResourceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_resource as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_resource as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_resource where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_resource as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ResourceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_resource as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_resource as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('name')">
<if test="condition.name != null and condition.name != ''">
and a.name like #{condition.name}
</if>
<if test="condition.name == null">
and a.name is null
</if>
</if>
<if test="condition.containsKey('nameList')">
and a.name in
<foreach collection="condition.nameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('url')">
<if test="condition.url != null and condition.url != ''">
and a.url like #{condition.url}
</if>
<if test="condition.url == null">
and a.url is null
</if>
</if>
<if test="condition.containsKey('urlList')">
and a.url in
<foreach collection="condition.urlList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('authType')">
<if test="condition.authType != null ">
and a.authType = #{condition.authType}
</if>
<if test="condition.authType == null">
and a.authType is null
</if>
</if>
<if test="condition.containsKey('authTypeList')">
and a.authType in
<foreach collection="condition.authTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('authTypeStart') and condition.authTypeStart != null">
<![CDATA[ and a.authType >= #{condition.authTypeStart} ]]>
</if>
<if test="condition.containsKey('authTypeEnd') and condition.authTypeEnd != null">
<![CDATA[ and a.authType <= #{condition.authTypeEnd} ]]>
</if>
<if test="condition.containsKey('sourceType')">
<if test="condition.sourceType != null ">
and a.sourceType = #{condition.sourceType}
</if>
<if test="condition.sourceType == null">
and a.sourceType is null
</if>
</if>
<if test="condition.containsKey('sourceTypeList')">
and a.sourceType in
<foreach collection="condition.sourceTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('sourceTypeStart') and condition.sourceTypeStart != null">
<![CDATA[ and a.sourceType >= #{condition.sourceTypeStart} ]]>
</if>
<if test="condition.containsKey('sourceTypeEnd') and condition.sourceTypeEnd != null">
<![CDATA[ and a.sourceType <= #{condition.sourceTypeEnd} ]]>
</if>
<if test="condition.containsKey('createTime')">
<if test="condition.createTime != null ">
and a.createTime = #{condition.createTime}
</if>
<if test="condition.createTime == null">
and a.createTime is null
</if>
</if>
<if test="condition.containsKey('createTimeStart') and condition.createTimeStart != null and condition.createTimeStart!=''">
<![CDATA[ and a.createTime >= STR_TO_DATE(left(concat(#{condition.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createTimeEnd') and condition.createTimeEnd != null and condition.createTimeEnd!=''">
<![CDATA[ and a.createTime <= STR_TO_DATE(left(concat(#{condition.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createUserId')">
<if test="condition.createUserId != null ">
and a.createUserId = #{condition.createUserId}
</if>
<if test="condition.createUserId == null">
and a.createUserId is null
</if>
</if>
<if test="condition.containsKey('createUserIdList')">
and a.createUserId in
<foreach collection="condition.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createUserIdStart') and condition.createUserIdStart != null">
<![CDATA[ and a.createUserId >= #{condition.createUserIdStart} ]]>
</if>
<if test="condition.containsKey('createUserIdEnd') and condition.createUserIdEnd != null">
<![CDATA[ and a.createUserId <= #{condition.createUserIdEnd} ]]>
</if>
<if test="condition.containsKey('createUserName')">
<if test="condition.createUserName != null and condition.createUserName != ''">
and a.createUserName like #{condition.createUserName}
</if>
<if test="condition.createUserName == null">
and a.createUserName is null
</if>
</if>
<if test="condition.containsKey('createUserNameList')">
and a.createUserName in
<foreach collection="condition.createUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('userType')">
<if test="condition.userType != null ">
and a.userType = #{condition.userType}
</if>
<if test="condition.userType == null">
and a.userType is null
</if>
</if>
<if test="condition.containsKey('userTypeList')">
and a.userType in
<foreach collection="condition.userTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('userTypeStart') and condition.userTypeStart != null">
<![CDATA[ and a.userType >= #{condition.userTypeStart} ]]>
</if>
<if test="condition.containsKey('userTypeEnd') and condition.userTypeEnd != null">
<![CDATA[ and a.userType <= #{condition.userTypeEnd} ]]>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('name')">
a.name
<if test="orderCol.name!= null">
${orderCol.name}
</if>
,
</if>
<if test="orderCol.containsKey('url')">
a.url
<if test="orderCol.url!= null">
${orderCol.url}
</if>
,
</if>
<if test="orderCol.containsKey('authType')">
a.authType
<if test="orderCol.authType!= null">
${orderCol.authType}
</if>
,
</if>
<if test="orderCol.containsKey('sourceType')">
a.sourceType
<if test="orderCol.sourceType!= null">
${orderCol.sourceType}
</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test="orderCol.createTime!= null">
${orderCol.createTime}
</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test="orderCol.createUserId!= null">
${orderCol.createUserId}
</if>
,
</if>
<if test="orderCol.containsKey('createUserName')">
a.createUserName
<if test="orderCol.createUserName!= null">
${orderCol.createUserName}
</if>
,
</if>
<if test="orderCol.containsKey('userType')">
a.userType
<if test="orderCol.userType!= null">
${orderCol.userType}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.resource.dao.ibatis.ResourceDaoImpl">
<!-- 获取列表 -->
<select id="getListByUserId" parameterType="paramDto" resultMap="ResourceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_resource as a
where a.authType in(0,1,2) or a.id IN
(select resourceId
from mortals_xhx_role_auth as b
left join mortals_xhx_role_user as c
on b.roleId=c.roleId
where c.userId=#{condition.userId})
</select>
<select id="getAllByUserType" parameterType="java.util.HashMap" resultMap="ResourceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_resource as a
where a.userType=#{userType}
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.role.dao.ibatis.RoleDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="RoleEntity" id="RoleEntity-Map">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="remark" column="remark" />
<result property="roleType" column="roleType" />
<result property="customerId" column="customerId" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="createUserName" column="createUserName" />
<result property="userType" column="userType" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('name') or colPickMode == 1 and data.containsKey('name')))">
a.name as name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark as remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('roleType') or colPickMode == 1 and data.containsKey('roleType')))">
a.roleType as roleType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId as createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserName') or colPickMode == 1 and data.containsKey('createUserName')))">
a.createUserName as createUserName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('userType') or colPickMode == 1 and data.containsKey('userType')))">
a.userType as userType,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="RoleEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_role
(name,remark,roleType,customerId,createTime,
createUserId,createUserName,userType
)VALUES(#{name},#{remark},#{roleType},#{customerId},#{createTime},
#{createUserId},#{createUserName},#{userType})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_role
(name,remark,roleType,customerId,createTime,
createUserId,createUserName,userType
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.name},#{item.remark},#{item.roleType},#{item.customerId},#{item.createTime},
#{item.createUserId},#{item.createUserName},#{item.userType})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_role as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('name')) or (colPickMode==1 and !data.containsKey('name'))">
a.name=#{data.name},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('roleType')) or (colPickMode==1 and !data.containsKey('roleType'))">
a.roleType=#{data.roleType},
</if>
<if test="(colPickMode==0 and data.containsKey('roleTypeIncrement')) or (colPickMode==1 and !data.containsKey('roleTypeIncrement'))">
a.roleType=ifnull(a.roleType,0) + #{data.roleTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserName')) or (colPickMode==1 and !data.containsKey('createUserName'))">
a.createUserName=#{data.createUserName},
</if>
<if test="(colPickMode==0 and data.containsKey('userType')) or (colPickMode==1 and !data.containsKey('userType'))">
a.userType=#{data.userType},
</if>
<if test="(colPickMode==0 and data.containsKey('userTypeIncrement')) or (colPickMode==1 and !data.containsKey('userTypeIncrement'))">
a.userType=ifnull(a.userType,0) + #{data.userTypeIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="RoleEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_role as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_role as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_role where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_role as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="RoleEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_role as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_role as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('name')">
<if test="condition.name != null and condition.name != ''">
and a.name like #{condition.name}
</if>
<if test="condition.name == null">
and a.name is null
</if>
</if>
<if test="condition.containsKey('nameList')">
and a.name in
<foreach collection="condition.nameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('remark')">
<if test="condition.remark != null and condition.remark != ''">
and a.remark like #{condition.remark}
</if>
<if test="condition.remark == null">
and a.remark is null
</if>
</if>
<if test="condition.containsKey('remarkList')">
and a.remark in
<foreach collection="condition.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('roleType')">
<if test="condition.roleType != null ">
and a.roleType = #{condition.roleType}
</if>
<if test="condition.roleType == null">
and a.roleType is null
</if>
</if>
<if test="condition.containsKey('roleTypeList')">
and a.roleType in
<foreach collection="condition.roleTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('roleTypeStart') and condition.roleTypeStart != null">
<![CDATA[ and a.roleType >= #{condition.roleTypeStart} ]]>
</if>
<if test="condition.containsKey('roleTypeEnd') and condition.roleTypeEnd != null">
<![CDATA[ and a.roleType <= #{condition.roleTypeEnd} ]]>
</if>
<if test="condition.containsKey('customerId')">
<if test="condition.customerId != null ">
and a.customerId = #{condition.customerId}
</if>
<if test="condition.customerId == null">
and a.customerId is null
</if>
</if>
<if test="condition.containsKey('customerIdList')">
and a.customerId in
<foreach collection="condition.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('customerIdStart') and condition.customerIdStart != null">
<![CDATA[ and a.customerId >= #{condition.customerIdStart} ]]>
</if>
<if test="condition.containsKey('customerIdEnd') and condition.customerIdEnd != null">
<![CDATA[ and a.customerId <= #{condition.customerIdEnd} ]]>
</if>
<if test="condition.containsKey('createTime')">
<if test="condition.createTime != null ">
and a.createTime = #{condition.createTime}
</if>
<if test="condition.createTime == null">
and a.createTime is null
</if>
</if>
<if test="condition.containsKey('createTimeStart') and condition.createTimeStart != null and condition.createTimeStart!=''">
<![CDATA[ and a.createTime >= STR_TO_DATE(left(concat(#{condition.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createTimeEnd') and condition.createTimeEnd != null and condition.createTimeEnd!=''">
<![CDATA[ and a.createTime <= STR_TO_DATE(left(concat(#{condition.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createUserId')">
<if test="condition.createUserId != null ">
and a.createUserId = #{condition.createUserId}
</if>
<if test="condition.createUserId == null">
and a.createUserId is null
</if>
</if>
<if test="condition.containsKey('createUserIdList')">
and a.createUserId in
<foreach collection="condition.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createUserIdStart') and condition.createUserIdStart != null">
<![CDATA[ and a.createUserId >= #{condition.createUserIdStart} ]]>
</if>
<if test="condition.containsKey('createUserIdEnd') and condition.createUserIdEnd != null">
<![CDATA[ and a.createUserId <= #{condition.createUserIdEnd} ]]>
</if>
<if test="condition.containsKey('createUserName')">
<if test="condition.createUserName != null and condition.createUserName != ''">
and a.createUserName like #{condition.createUserName}
</if>
<if test="condition.createUserName == null">
and a.createUserName is null
</if>
</if>
<if test="condition.containsKey('createUserNameList')">
and a.createUserName in
<foreach collection="condition.createUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('userType')">
<if test="condition.userType != null ">
and a.userType = #{condition.userType}
</if>
<if test="condition.userType == null">
and a.userType is null
</if>
</if>
<if test="condition.containsKey('userTypeList')">
and a.userType in
<foreach collection="condition.userTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('userTypeStart') and condition.userTypeStart != null">
<![CDATA[ and a.userType >= #{condition.userTypeStart} ]]>
</if>
<if test="condition.containsKey('userTypeEnd') and condition.userTypeEnd != null">
<![CDATA[ and a.userType <= #{condition.userTypeEnd} ]]>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('name')">
a.name
<if test="orderCol.name!= null">
${orderCol.name}
</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test="orderCol.remark!= null">
${orderCol.remark}
</if>
,
</if>
<if test="orderCol.containsKey('roleType')">
a.roleType
<if test="orderCol.roleType!= null">
${orderCol.roleType}
</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test="orderCol.customerId!= null">
${orderCol.customerId}
</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test="orderCol.createTime!= null">
${orderCol.createTime}
</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test="orderCol.createUserId!= null">
${orderCol.createUserId}
</if>
,
</if>
<if test="orderCol.containsKey('createUserName')">
a.createUserName
<if test="orderCol.createUserName!= null">
${orderCol.createUserName}
</if>
,
</if>
<if test="orderCol.containsKey('userType')">
a.userType
<if test="orderCol.userType!= null">
${orderCol.userType}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.role.dao.ibatis.RoleAuthDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="RoleAuthEntity" id="RoleAuthEntity-Map">
<result property="id" column="id" />
<result property="roleId" column="roleId" />
<result property="resourceId" column="resourceId" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('roleId') or colPickMode == 1 and data.containsKey('roleId')))">
a.roleId as roleId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('resourceId') or colPickMode == 1 and data.containsKey('resourceId')))">
a.resourceId as resourceId,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="RoleAuthEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_role_auth
(roleId,resourceId
)VALUES(#{roleId},#{resourceId})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_role_auth
(roleId,resourceId
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.roleId},#{item.resourceId})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_role_auth as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('roleId')) or (colPickMode==1 and !data.containsKey('roleId'))">
a.roleId=#{data.roleId},
</if>
<if test="(colPickMode==0 and data.containsKey('roleIdIncrement')) or (colPickMode==1 and !data.containsKey('roleIdIncrement'))">
a.roleId=ifnull(a.roleId,0) + #{data.roleIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('resourceId')) or (colPickMode==1 and !data.containsKey('resourceId'))">
a.resourceId=#{data.resourceId},
</if>
<if test="(colPickMode==0 and data.containsKey('resourceIdIncrement')) or (colPickMode==1 and !data.containsKey('resourceIdIncrement'))">
a.resourceId=ifnull(a.resourceId,0) + #{data.resourceIdIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="RoleAuthEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_role_auth as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_role_auth as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_role_auth where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_role_auth as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="RoleAuthEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_role_auth as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_role_auth as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('roleId')">
<if test="condition.roleId != null ">
and a.roleId = #{condition.roleId}
</if>
<if test="condition.roleId == null">
and a.roleId is null
</if>
</if>
<if test="condition.containsKey('roleIdList')">
and a.roleId in
<foreach collection="condition.roleIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('roleIdStart') and condition.roleIdStart != null">
<![CDATA[ and a.roleId >= #{condition.roleIdStart} ]]>
</if>
<if test="condition.containsKey('roleIdEnd') and condition.roleIdEnd != null">
<![CDATA[ and a.roleId <= #{condition.roleIdEnd} ]]>
</if>
<if test="condition.containsKey('resourceId')">
<if test="condition.resourceId != null ">
and a.resourceId = #{condition.resourceId}
</if>
<if test="condition.resourceId == null">
and a.resourceId is null
</if>
</if>
<if test="condition.containsKey('resourceIdList')">
and a.resourceId in
<foreach collection="condition.resourceIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('resourceIdStart') and condition.resourceIdStart != null">
<![CDATA[ and a.resourceId >= #{condition.resourceIdStart} ]]>
</if>
<if test="condition.containsKey('resourceIdEnd') and condition.resourceIdEnd != null">
<![CDATA[ and a.resourceId <= #{condition.resourceIdEnd} ]]>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('roleId')">
a.roleId
<if test="orderCol.roleId!= null">
${orderCol.roleId}
</if>
,
</if>
<if test="orderCol.containsKey('resourceId')">
a.resourceId
<if test="orderCol.resourceId!= null">
${orderCol.resourceId}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.role.dao.ibatis.RoleUserDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="RoleUserEntity" id="RoleUserEntity-Map">
<result property="id" column="id" />
<result property="roleId" column="roleId" />
<result property="userId" column="userId" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('roleId') or colPickMode == 1 and data.containsKey('roleId')))">
a.roleId as roleId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('userId') or colPickMode == 1 and data.containsKey('userId')))">
a.userId as userId,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="RoleUserEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_role_user
(roleId,userId
)VALUES(#{roleId},#{userId})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_role_user
(roleId,userId
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.roleId},#{item.userId})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_role_user as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('roleId')) or (colPickMode==1 and !data.containsKey('roleId'))">
a.roleId=#{data.roleId},
</if>
<if test="(colPickMode==0 and data.containsKey('roleIdIncrement')) or (colPickMode==1 and !data.containsKey('roleIdIncrement'))">
a.roleId=ifnull(a.roleId,0) + #{data.roleIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('userId')) or (colPickMode==1 and !data.containsKey('userId'))">
a.userId=#{data.userId},
</if>
<if test="(colPickMode==0 and data.containsKey('userIdIncrement')) or (colPickMode==1 and !data.containsKey('userIdIncrement'))">
a.userId=ifnull(a.userId,0) + #{data.userIdIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="RoleUserEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_role_user as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_role_user as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_role_user where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_role_user as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="RoleUserEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_role_user as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_role_user as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('roleId')">
<if test="condition.roleId != null ">
and a.roleId = #{condition.roleId}
</if>
<if test="condition.roleId == null">
and a.roleId is null
</if>
</if>
<if test="condition.containsKey('roleIdList')">
and a.roleId in
<foreach collection="condition.roleIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('roleIdStart') and condition.roleIdStart != null">
<![CDATA[ and a.roleId >= #{condition.roleIdStart} ]]>
</if>
<if test="condition.containsKey('roleIdEnd') and condition.roleIdEnd != null">
<![CDATA[ and a.roleId <= #{condition.roleIdEnd} ]]>
</if>
<if test="condition.containsKey('userId')">
<if test="condition.userId != null ">
and a.userId = #{condition.userId}
</if>
<if test="condition.userId == null">
and a.userId is null
</if>
</if>
<if test="condition.containsKey('userIdList')">
and a.userId in
<foreach collection="condition.userIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('userIdStart') and condition.userIdStart != null">
<![CDATA[ and a.userId >= #{condition.userIdStart} ]]>
</if>
<if test="condition.containsKey('userIdEnd') and condition.userIdEnd != null">
<![CDATA[ and a.userId <= #{condition.userIdEnd} ]]>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('roleId')">
a.roleId
<if test="orderCol.roleId!= null">
${orderCol.roleId}
</if>
,
</if>
<if test="orderCol.containsKey('userId')">
a.userId
<if test="orderCol.userId!= null">
${orderCol.userId}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.site.dao.ibatis.SiteDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="SiteEntity" id="SiteEntity-Map">
<result property="id" column="id" />
<result property="siteName" column="siteName" />
<result property="parentId" column="parentId" />
<result property="ancestors" column="ancestors" />
<result property="address" column="address" />
<result property="mobile" column="mobile" />
<result property="introduce" column="introduce" />
<result property="workday1" column="workday1" />
<result property="workday2" column="workday2" />
<result property="workday3" column="workday3" />
<result property="workday4" column="workday4" />
<result property="workday5" column="workday5" />
<result property="workday6" column="workday6" />
<result property="workday7" column="workday7" />
<result property="number" column="number" />
<result property="summary" column="summary" />
<result property="orderNum" column="orderNum" />
<result property="status" column="status" />
<result property="updateTime" column="updateTime" />
<result property="updateUser" column="updateUser" />
<result property="createTime" column="createTime" />
<result property="createUser" column="createUser" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteName') or colPickMode == 1 and data.containsKey('siteName')))">
a.siteName as siteName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('parentId') or colPickMode == 1 and data.containsKey('parentId')))">
a.parentId as parentId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('ancestors') or colPickMode == 1 and data.containsKey('ancestors')))">
a.ancestors as ancestors,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('address') or colPickMode == 1 and data.containsKey('address')))">
a.address as address,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mobile') or colPickMode == 1 and data.containsKey('mobile')))">
a.mobile as mobile,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('introduce') or colPickMode == 1 and data.containsKey('introduce')))">
a.introduce as introduce,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday1') or colPickMode == 1 and data.containsKey('workday1')))">
a.workday1 as workday1,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday2') or colPickMode == 1 and data.containsKey('workday2')))">
a.workday2 as workday2,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday3') or colPickMode == 1 and data.containsKey('workday3')))">
a.workday3 as workday3,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday4') or colPickMode == 1 and data.containsKey('workday4')))">
a.workday4 as workday4,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday5') or colPickMode == 1 and data.containsKey('workday5')))">
a.workday5 as workday5,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday6') or colPickMode == 1 and data.containsKey('workday6')))">
a.workday6 as workday6,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday7') or colPickMode == 1 and data.containsKey('workday7')))">
a.workday7 as workday7,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('number') or colPickMode == 1 and data.containsKey('number')))">
a.number as number,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('summary') or colPickMode == 1 and data.containsKey('summary')))">
a.summary as summary,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('orderNum') or colPickMode == 1 and data.containsKey('orderNum')))">
a.orderNum as orderNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('status') or colPickMode == 1 and data.containsKey('status')))">
a.status as status,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUser') or colPickMode == 1 and data.containsKey('updateUser')))">
a.updateUser as updateUser,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUser') or colPickMode == 1 and data.containsKey('createUser')))">
a.createUser as createUser,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="SiteEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_site
(siteName,parentId,ancestors,address,mobile,introduce,workday1,workday2,workday3,workday4,workday5,workday6,workday7,number,summary,orderNum,status,updateTime,updateUser,createTime,createUser)
VALUES
(#{siteName},#{parentId},#{ancestors},#{address},#{mobile},#{introduce},#{workday1},#{workday2},#{workday3},#{workday4},#{workday5},#{workday6},#{workday7},#{number},#{summary},#{orderNum},#{status},#{updateTime},#{updateUser},#{createTime},#{createUser})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_site
(siteName,parentId,ancestors,address,mobile,introduce,workday1,workday2,workday3,workday4,workday5,workday6,workday7,number,summary,orderNum,status,updateTime,updateUser,createTime,createUser)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.siteName},#{item.parentId},#{item.ancestors},#{item.address},#{item.mobile},#{item.introduce},#{item.workday1},#{item.workday2},#{item.workday3},#{item.workday4},#{item.workday5},#{item.workday6},#{item.workday7},#{item.number},#{item.summary},#{item.orderNum},#{item.status},#{item.updateTime},#{item.updateUser},#{item.createTime},#{item.createUser})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_site as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('siteName')) or (colPickMode==1 and !data.containsKey('siteName'))">
a.siteName=#{data.siteName},
</if>
<if test="(colPickMode==0 and data.containsKey('parentId')) or (colPickMode==1 and !data.containsKey('parentId'))">
a.parentId=#{data.parentId},
</if>
<if test="(colPickMode==0 and data.containsKey('parentIdIncrement')) or (colPickMode==1 and !data.containsKey('parentIdIncrement'))">
a.parentId=ifnull(a.parentId,0) + #{data.parentIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('ancestors')) or (colPickMode==1 and !data.containsKey('ancestors'))">
a.ancestors=#{data.ancestors},
</if>
<if test="(colPickMode==0 and data.containsKey('address')) or (colPickMode==1 and !data.containsKey('address'))">
a.address=#{data.address},
</if>
<if test="(colPickMode==0 and data.containsKey('mobile')) or (colPickMode==1 and !data.containsKey('mobile'))">
a.mobile=#{data.mobile},
</if>
<if test="(colPickMode==0 and data.containsKey('introduce')) or (colPickMode==1 and !data.containsKey('introduce'))">
a.introduce=#{data.introduce},
</if>
<if test="(colPickMode==0 and data.containsKey('workday1')) or (colPickMode==1 and !data.containsKey('workday1'))">
a.workday1=#{data.workday1},
</if>
<if test="(colPickMode==0 and data.containsKey('workday1Increment')) or (colPickMode==1 and !data.containsKey('workday1Increment'))">
a.workday1=ifnull(a.workday1,0) + #{data.workday1Increment},
</if>
<if test="(colPickMode==0 and data.containsKey('workday2')) or (colPickMode==1 and !data.containsKey('workday2'))">
a.workday2=#{data.workday2},
</if>
<if test="(colPickMode==0 and data.containsKey('workday2Increment')) or (colPickMode==1 and !data.containsKey('workday2Increment'))">
a.workday2=ifnull(a.workday2,0) + #{data.workday2Increment},
</if>
<if test="(colPickMode==0 and data.containsKey('workday3')) or (colPickMode==1 and !data.containsKey('workday3'))">
a.workday3=#{data.workday3},
</if>
<if test="(colPickMode==0 and data.containsKey('workday3Increment')) or (colPickMode==1 and !data.containsKey('workday3Increment'))">
a.workday3=ifnull(a.workday3,0) + #{data.workday3Increment},
</if>
<if test="(colPickMode==0 and data.containsKey('workday4')) or (colPickMode==1 and !data.containsKey('workday4'))">
a.workday4=#{data.workday4},
</if>
<if test="(colPickMode==0 and data.containsKey('workday4Increment')) or (colPickMode==1 and !data.containsKey('workday4Increment'))">
a.workday4=ifnull(a.workday4,0) + #{data.workday4Increment},
</if>
<if test="(colPickMode==0 and data.containsKey('workday5')) or (colPickMode==1 and !data.containsKey('workday5'))">
a.workday5=#{data.workday5},
</if>
<if test="(colPickMode==0 and data.containsKey('workday5Increment')) or (colPickMode==1 and !data.containsKey('workday5Increment'))">
a.workday5=ifnull(a.workday5,0) + #{data.workday5Increment},
</if>
<if test="(colPickMode==0 and data.containsKey('workday6')) or (colPickMode==1 and !data.containsKey('workday6'))">
a.workday6=#{data.workday6},
</if>
<if test="(colPickMode==0 and data.containsKey('workday6Increment')) or (colPickMode==1 and !data.containsKey('workday6Increment'))">
a.workday6=ifnull(a.workday6,0) + #{data.workday6Increment},
</if>
<if test="(colPickMode==0 and data.containsKey('workday7')) or (colPickMode==1 and !data.containsKey('workday7'))">
a.workday7=#{data.workday7},
</if>
<if test="(colPickMode==0 and data.containsKey('workday7Increment')) or (colPickMode==1 and !data.containsKey('workday7Increment'))">
a.workday7=ifnull(a.workday7,0) + #{data.workday7Increment},
</if>
<if test="(colPickMode==0 and data.containsKey('number')) or (colPickMode==1 and !data.containsKey('number'))">
a.number=#{data.number},
</if>
<if test="(colPickMode==0 and data.containsKey('summary')) or (colPickMode==1 and !data.containsKey('summary'))">
a.summary=#{data.summary},
</if>
<if test="(colPickMode==0 and data.containsKey('orderNum')) or (colPickMode==1 and !data.containsKey('orderNum'))">
a.orderNum=#{data.orderNum},
</if>
<if test="(colPickMode==0 and data.containsKey('orderNumIncrement')) or (colPickMode==1 and !data.containsKey('orderNumIncrement'))">
a.orderNum=ifnull(a.orderNum,0) + #{data.orderNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('status')) or (colPickMode==1 and !data.containsKey('status'))">
a.status=#{data.status},
</if>
<if test="(colPickMode==0 and data.containsKey('statusIncrement')) or (colPickMode==1 and !data.containsKey('statusIncrement'))">
a.status=ifnull(a.status,0) + #{data.statusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateUser')) or (colPickMode==1 and !data.containsKey('updateUser'))">
a.updateUser=#{data.updateUser},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUser')) or (colPickMode==1 and !data.containsKey('createUser'))">
a.createUser=#{data.createUser},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_site as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="siteName=(case" suffix="ELSE siteName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('siteName')) or (colPickMode==1 and !item.containsKey('siteName'))">
when a.id=#{item.id} then #{item.siteName}
</if>
</foreach>
</trim>
<trim prefix="parentId=(case" suffix="ELSE parentId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('parentId')) or (colPickMode==1 and !item.containsKey('parentId'))">
when a.id=#{item.id} then #{item.parentId}
</when>
<when test="(colPickMode==0 and item.containsKey('parentIdIncrement')) or (colPickMode==1 and !item.containsKey('parentIdIncrement'))">
when a.id=#{item.id} then ifnull(a.parentId,0) + #{item.parentIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="ancestors=(case" suffix="ELSE ancestors end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('ancestors')) or (colPickMode==1 and !item.containsKey('ancestors'))">
when a.id=#{item.id} then #{item.ancestors}
</if>
</foreach>
</trim>
<trim prefix="address=(case" suffix="ELSE address end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('address')) or (colPickMode==1 and !item.containsKey('address'))">
when a.id=#{item.id} then #{item.address}
</if>
</foreach>
</trim>
<trim prefix="mobile=(case" suffix="ELSE mobile end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('mobile')) or (colPickMode==1 and !item.containsKey('mobile'))">
when a.id=#{item.id} then #{item.mobile}
</if>
</foreach>
</trim>
<trim prefix="introduce=(case" suffix="ELSE introduce end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('introduce')) or (colPickMode==1 and !item.containsKey('introduce'))">
when a.id=#{item.id} then #{item.introduce}
</if>
</foreach>
</trim>
<trim prefix="workday1=(case" suffix="ELSE workday1 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('workday1')) or (colPickMode==1 and !item.containsKey('workday1'))">
when a.id=#{item.id} then #{item.workday1}
</when>
<when test="(colPickMode==0 and item.containsKey('workday1Increment')) or (colPickMode==1 and !item.containsKey('workday1Increment'))">
when a.id=#{item.id} then ifnull(a.workday1,0) + #{item.workday1Increment}
</when>
</choose>
</foreach>
</trim>
<trim prefix="workday2=(case" suffix="ELSE workday2 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('workday2')) or (colPickMode==1 and !item.containsKey('workday2'))">
when a.id=#{item.id} then #{item.workday2}
</when>
<when test="(colPickMode==0 and item.containsKey('workday2Increment')) or (colPickMode==1 and !item.containsKey('workday2Increment'))">
when a.id=#{item.id} then ifnull(a.workday2,0) + #{item.workday2Increment}
</when>
</choose>
</foreach>
</trim>
<trim prefix="workday3=(case" suffix="ELSE workday3 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('workday3')) or (colPickMode==1 and !item.containsKey('workday3'))">
when a.id=#{item.id} then #{item.workday3}
</when>
<when test="(colPickMode==0 and item.containsKey('workday3Increment')) or (colPickMode==1 and !item.containsKey('workday3Increment'))">
when a.id=#{item.id} then ifnull(a.workday3,0) + #{item.workday3Increment}
</when>
</choose>
</foreach>
</trim>
<trim prefix="workday4=(case" suffix="ELSE workday4 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('workday4')) or (colPickMode==1 and !item.containsKey('workday4'))">
when a.id=#{item.id} then #{item.workday4}
</when>
<when test="(colPickMode==0 and item.containsKey('workday4Increment')) or (colPickMode==1 and !item.containsKey('workday4Increment'))">
when a.id=#{item.id} then ifnull(a.workday4,0) + #{item.workday4Increment}
</when>
</choose>
</foreach>
</trim>
<trim prefix="workday5=(case" suffix="ELSE workday5 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('workday5')) or (colPickMode==1 and !item.containsKey('workday5'))">
when a.id=#{item.id} then #{item.workday5}
</when>
<when test="(colPickMode==0 and item.containsKey('workday5Increment')) or (colPickMode==1 and !item.containsKey('workday5Increment'))">
when a.id=#{item.id} then ifnull(a.workday5,0) + #{item.workday5Increment}
</when>
</choose>
</foreach>
</trim>
<trim prefix="workday6=(case" suffix="ELSE workday6 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('workday6')) or (colPickMode==1 and !item.containsKey('workday6'))">
when a.id=#{item.id} then #{item.workday6}
</when>
<when test="(colPickMode==0 and item.containsKey('workday6Increment')) or (colPickMode==1 and !item.containsKey('workday6Increment'))">
when a.id=#{item.id} then ifnull(a.workday6,0) + #{item.workday6Increment}
</when>
</choose>
</foreach>
</trim>
<trim prefix="workday7=(case" suffix="ELSE workday7 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('workday7')) or (colPickMode==1 and !item.containsKey('workday7'))">
when a.id=#{item.id} then #{item.workday7}
</when>
<when test="(colPickMode==0 and item.containsKey('workday7Increment')) or (colPickMode==1 and !item.containsKey('workday7Increment'))">
when a.id=#{item.id} then ifnull(a.workday7,0) + #{item.workday7Increment}
</when>
</choose>
</foreach>
</trim>
<trim prefix="number=(case" suffix="ELSE number end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('number')) or (colPickMode==1 and !item.containsKey('number'))">
when a.id=#{item.id} then #{item.number}
</if>
</foreach>
</trim>
<trim prefix="summary=(case" suffix="ELSE summary end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('summary')) or (colPickMode==1 and !item.containsKey('summary'))">
when a.id=#{item.id} then #{item.summary}
</if>
</foreach>
</trim>
<trim prefix="orderNum=(case" suffix="ELSE orderNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('orderNum')) or (colPickMode==1 and !item.containsKey('orderNum'))">
when a.id=#{item.id} then #{item.orderNum}
</when>
<when test="(colPickMode==0 and item.containsKey('orderNumIncrement')) or (colPickMode==1 and !item.containsKey('orderNumIncrement'))">
when a.id=#{item.id} then ifnull(a.orderNum,0) + #{item.orderNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="status=(case" suffix="ELSE status end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('status')) or (colPickMode==1 and !item.containsKey('status'))">
when a.id=#{item.id} then #{item.status}
</when>
<when test="(colPickMode==0 and item.containsKey('statusIncrement')) or (colPickMode==1 and !item.containsKey('statusIncrement'))">
when a.id=#{item.id} then ifnull(a.status,0) + #{item.statusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="updateUser=(case" suffix="ELSE updateUser end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateUser')) or (colPickMode==1 and !item.containsKey('updateUser'))">
when a.id=#{item.id} then #{item.updateUser}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="createUser=(case" suffix="ELSE createUser end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createUser')) or (colPickMode==1 and !item.containsKey('createUser'))">
when a.id=#{item.id} then #{item.createUser}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="SiteEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_site as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_site as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_site where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_site as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="SiteEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_site as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_site as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('siteName')">
<if test="conditionParamRef.siteName != null and conditionParamRef.siteName != ''">
${_conditionType_} a.siteName like #{${_conditionParam_}.siteName}
</if>
<if test="conditionParamRef.siteName == null">
${_conditionType_} a.siteName is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteNameList')">
${_conditionType_} a.siteName in
<foreach collection="conditionParamRef.siteNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('parentId')">
<if test="conditionParamRef.parentId != null ">
${_conditionType_} a.parentId = #{${_conditionParam_}.parentId}
</if>
<if test="conditionParamRef.parentId == null">
${_conditionType_} a.parentId is null
</if>
</if>
<if test="conditionParamRef.containsKey('parentIdList')">
${_conditionType_} a.parentId in
<foreach collection="conditionParamRef.parentIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('parentIdStart') and conditionParamRef.parentIdStart != null">
${_conditionType_} a.parentId <![CDATA[ >= ]]> #{${_conditionParam_}.parentIdStart}
</if>
<if test="conditionParamRef.containsKey('parentIdEnd') and conditionParamRef.parentIdEnd != null">
${_conditionType_} a.parentId <![CDATA[ <= ]]> #{${_conditionParam_}.parentIdEnd}
</if>
<if test="conditionParamRef.containsKey('ancestors')">
<if test="conditionParamRef.ancestors != null and conditionParamRef.ancestors != ''">
${_conditionType_} a.ancestors like #{${_conditionParam_}.ancestors}
</if>
<if test="conditionParamRef.ancestors == null">
${_conditionType_} a.ancestors is null
</if>
</if>
<if test="conditionParamRef.containsKey('ancestorsList')">
${_conditionType_} a.ancestors in
<foreach collection="conditionParamRef.ancestorsList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('address')">
<if test="conditionParamRef.address != null and conditionParamRef.address != ''">
${_conditionType_} a.address like #{${_conditionParam_}.address}
</if>
<if test="conditionParamRef.address == null">
${_conditionType_} a.address is null
</if>
</if>
<if test="conditionParamRef.containsKey('addressList')">
${_conditionType_} a.address in
<foreach collection="conditionParamRef.addressList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('mobile')">
<if test="conditionParamRef.mobile != null and conditionParamRef.mobile != ''">
${_conditionType_} a.mobile like #{${_conditionParam_}.mobile}
</if>
<if test="conditionParamRef.mobile == null">
${_conditionType_} a.mobile is null
</if>
</if>
<if test="conditionParamRef.containsKey('mobileList')">
${_conditionType_} a.mobile in
<foreach collection="conditionParamRef.mobileList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('introduce')">
<if test="conditionParamRef.introduce != null and conditionParamRef.introduce != ''">
${_conditionType_} a.introduce like #{${_conditionParam_}.introduce}
</if>
<if test="conditionParamRef.introduce == null">
${_conditionType_} a.introduce is null
</if>
</if>
<if test="conditionParamRef.containsKey('introduceList')">
${_conditionType_} a.introduce in
<foreach collection="conditionParamRef.introduceList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workday1')">
<if test="conditionParamRef.workday1 != null ">
${_conditionType_} a.workday1 = #{${_conditionParam_}.workday1}
</if>
<if test="conditionParamRef.workday1 == null">
${_conditionType_} a.workday1 is null
</if>
</if>
<if test="conditionParamRef.containsKey('workday1List')">
${_conditionType_} a.workday1 in
<foreach collection="conditionParamRef.workday1List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workday1Start') and conditionParamRef.workday1Start != null">
${_conditionType_} a.workday1 <![CDATA[ >= ]]> #{${_conditionParam_}.workday1Start}
</if>
<if test="conditionParamRef.containsKey('workday1End') and conditionParamRef.workday1End != null">
${_conditionType_} a.workday1 <![CDATA[ <= ]]> #{${_conditionParam_}.workday1End}
</if>
<if test="conditionParamRef.containsKey('workday2')">
<if test="conditionParamRef.workday2 != null ">
${_conditionType_} a.workday2 = #{${_conditionParam_}.workday2}
</if>
<if test="conditionParamRef.workday2 == null">
${_conditionType_} a.workday2 is null
</if>
</if>
<if test="conditionParamRef.containsKey('workday2List')">
${_conditionType_} a.workday2 in
<foreach collection="conditionParamRef.workday2List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workday2Start') and conditionParamRef.workday2Start != null">
${_conditionType_} a.workday2 <![CDATA[ >= ]]> #{${_conditionParam_}.workday2Start}
</if>
<if test="conditionParamRef.containsKey('workday2End') and conditionParamRef.workday2End != null">
${_conditionType_} a.workday2 <![CDATA[ <= ]]> #{${_conditionParam_}.workday2End}
</if>
<if test="conditionParamRef.containsKey('workday3')">
<if test="conditionParamRef.workday3 != null ">
${_conditionType_} a.workday3 = #{${_conditionParam_}.workday3}
</if>
<if test="conditionParamRef.workday3 == null">
${_conditionType_} a.workday3 is null
</if>
</if>
<if test="conditionParamRef.containsKey('workday3List')">
${_conditionType_} a.workday3 in
<foreach collection="conditionParamRef.workday3List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workday3Start') and conditionParamRef.workday3Start != null">
${_conditionType_} a.workday3 <![CDATA[ >= ]]> #{${_conditionParam_}.workday3Start}
</if>
<if test="conditionParamRef.containsKey('workday3End') and conditionParamRef.workday3End != null">
${_conditionType_} a.workday3 <![CDATA[ <= ]]> #{${_conditionParam_}.workday3End}
</if>
<if test="conditionParamRef.containsKey('workday4')">
<if test="conditionParamRef.workday4 != null ">
${_conditionType_} a.workday4 = #{${_conditionParam_}.workday4}
</if>
<if test="conditionParamRef.workday4 == null">
${_conditionType_} a.workday4 is null
</if>
</if>
<if test="conditionParamRef.containsKey('workday4List')">
${_conditionType_} a.workday4 in
<foreach collection="conditionParamRef.workday4List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workday4Start') and conditionParamRef.workday4Start != null">
${_conditionType_} a.workday4 <![CDATA[ >= ]]> #{${_conditionParam_}.workday4Start}
</if>
<if test="conditionParamRef.containsKey('workday4End') and conditionParamRef.workday4End != null">
${_conditionType_} a.workday4 <![CDATA[ <= ]]> #{${_conditionParam_}.workday4End}
</if>
<if test="conditionParamRef.containsKey('workday5')">
<if test="conditionParamRef.workday5 != null ">
${_conditionType_} a.workday5 = #{${_conditionParam_}.workday5}
</if>
<if test="conditionParamRef.workday5 == null">
${_conditionType_} a.workday5 is null
</if>
</if>
<if test="conditionParamRef.containsKey('workday5List')">
${_conditionType_} a.workday5 in
<foreach collection="conditionParamRef.workday5List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workday5Start') and conditionParamRef.workday5Start != null">
${_conditionType_} a.workday5 <![CDATA[ >= ]]> #{${_conditionParam_}.workday5Start}
</if>
<if test="conditionParamRef.containsKey('workday5End') and conditionParamRef.workday5End != null">
${_conditionType_} a.workday5 <![CDATA[ <= ]]> #{${_conditionParam_}.workday5End}
</if>
<if test="conditionParamRef.containsKey('workday6')">
<if test="conditionParamRef.workday6 != null ">
${_conditionType_} a.workday6 = #{${_conditionParam_}.workday6}
</if>
<if test="conditionParamRef.workday6 == null">
${_conditionType_} a.workday6 is null
</if>
</if>
<if test="conditionParamRef.containsKey('workday6List')">
${_conditionType_} a.workday6 in
<foreach collection="conditionParamRef.workday6List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workday6Start') and conditionParamRef.workday6Start != null">
${_conditionType_} a.workday6 <![CDATA[ >= ]]> #{${_conditionParam_}.workday6Start}
</if>
<if test="conditionParamRef.containsKey('workday6End') and conditionParamRef.workday6End != null">
${_conditionType_} a.workday6 <![CDATA[ <= ]]> #{${_conditionParam_}.workday6End}
</if>
<if test="conditionParamRef.containsKey('workday7')">
<if test="conditionParamRef.workday7 != null ">
${_conditionType_} a.workday7 = #{${_conditionParam_}.workday7}
</if>
<if test="conditionParamRef.workday7 == null">
${_conditionType_} a.workday7 is null
</if>
</if>
<if test="conditionParamRef.containsKey('workday7List')">
${_conditionType_} a.workday7 in
<foreach collection="conditionParamRef.workday7List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('workday7Start') and conditionParamRef.workday7Start != null">
${_conditionType_} a.workday7 <![CDATA[ >= ]]> #{${_conditionParam_}.workday7Start}
</if>
<if test="conditionParamRef.containsKey('workday7End') and conditionParamRef.workday7End != null">
${_conditionType_} a.workday7 <![CDATA[ <= ]]> #{${_conditionParam_}.workday7End}
</if>
<if test="conditionParamRef.containsKey('number')">
<if test="conditionParamRef.number != null and conditionParamRef.number != ''">
${_conditionType_} a.number like #{${_conditionParam_}.number}
</if>
<if test="conditionParamRef.number == null">
${_conditionType_} a.number is null
</if>
</if>
<if test="conditionParamRef.containsKey('numberList')">
${_conditionType_} a.number in
<foreach collection="conditionParamRef.numberList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('summary')">
<if test="conditionParamRef.summary != null and conditionParamRef.summary != ''">
${_conditionType_} a.summary like #{${_conditionParam_}.summary}
</if>
<if test="conditionParamRef.summary == null">
${_conditionType_} a.summary is null
</if>
</if>
<if test="conditionParamRef.containsKey('summaryList')">
${_conditionType_} a.summary in
<foreach collection="conditionParamRef.summaryList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('orderNum')">
<if test="conditionParamRef.orderNum != null ">
${_conditionType_} a.orderNum = #{${_conditionParam_}.orderNum}
</if>
<if test="conditionParamRef.orderNum == null">
${_conditionType_} a.orderNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('orderNumList')">
${_conditionType_} a.orderNum in
<foreach collection="conditionParamRef.orderNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('orderNumStart') and conditionParamRef.orderNumStart != null">
${_conditionType_} a.orderNum <![CDATA[ >= ]]> #{${_conditionParam_}.orderNumStart}
</if>
<if test="conditionParamRef.containsKey('orderNumEnd') and conditionParamRef.orderNumEnd != null">
${_conditionType_} a.orderNum <![CDATA[ <= ]]> #{${_conditionParam_}.orderNumEnd}
</if>
<if test="conditionParamRef.containsKey('status')">
<if test="conditionParamRef.status != null ">
${_conditionType_} a.status = #{${_conditionParam_}.status}
</if>
<if test="conditionParamRef.status == null">
${_conditionType_} a.status is null
</if>
</if>
<if test="conditionParamRef.containsKey('statusList')">
${_conditionType_} a.status in
<foreach collection="conditionParamRef.statusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('statusStart') and conditionParamRef.statusStart != null">
${_conditionType_} a.status <![CDATA[ >= ]]> #{${_conditionParam_}.statusStart}
</if>
<if test="conditionParamRef.containsKey('statusEnd') and conditionParamRef.statusEnd != null">
${_conditionType_} a.status <![CDATA[ <= ]]> #{${_conditionParam_}.statusEnd}
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateUser')">
<if test="conditionParamRef.updateUser != null and conditionParamRef.updateUser != ''">
${_conditionType_} a.updateUser like #{${_conditionParam_}.updateUser}
</if>
<if test="conditionParamRef.updateUser == null">
${_conditionType_} a.updateUser is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateUserList')">
${_conditionType_} a.updateUser in
<foreach collection="conditionParamRef.updateUserList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createUser')">
<if test="conditionParamRef.createUser != null and conditionParamRef.createUser != ''">
${_conditionType_} a.createUser like #{${_conditionParam_}.createUser}
</if>
<if test="conditionParamRef.createUser == null">
${_conditionType_} a.createUser is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserList')">
${_conditionType_} a.createUser in
<foreach collection="conditionParamRef.createUserList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteName')">
a.siteName
<if test='orderCol.siteName != null and "DESC".equalsIgnoreCase(orderCol.siteName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('parentId')">
a.parentId
<if test='orderCol.parentId != null and "DESC".equalsIgnoreCase(orderCol.parentId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('ancestors')">
a.ancestors
<if test='orderCol.ancestors != null and "DESC".equalsIgnoreCase(orderCol.ancestors)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('address')">
a.address
<if test='orderCol.address != null and "DESC".equalsIgnoreCase(orderCol.address)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('mobile')">
a.mobile
<if test='orderCol.mobile != null and "DESC".equalsIgnoreCase(orderCol.mobile)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('introduce')">
a.introduce
<if test='orderCol.introduce != null and "DESC".equalsIgnoreCase(orderCol.introduce)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workday1')">
a.workday1
<if test='orderCol.workday1 != null and "DESC".equalsIgnoreCase(orderCol.workday1)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workday2')">
a.workday2
<if test='orderCol.workday2 != null and "DESC".equalsIgnoreCase(orderCol.workday2)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workday3')">
a.workday3
<if test='orderCol.workday3 != null and "DESC".equalsIgnoreCase(orderCol.workday3)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workday4')">
a.workday4
<if test='orderCol.workday4 != null and "DESC".equalsIgnoreCase(orderCol.workday4)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workday5')">
a.workday5
<if test='orderCol.workday5 != null and "DESC".equalsIgnoreCase(orderCol.workday5)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workday6')">
a.workday6
<if test='orderCol.workday6 != null and "DESC".equalsIgnoreCase(orderCol.workday6)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('workday7')">
a.workday7
<if test='orderCol.workday7 != null and "DESC".equalsIgnoreCase(orderCol.workday7)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('number')">
a.number
<if test='orderCol.number != null and "DESC".equalsIgnoreCase(orderCol.number)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('summary')">
a.summary
<if test='orderCol.summary != null and "DESC".equalsIgnoreCase(orderCol.summary)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('orderNum')">
a.orderNum
<if test='orderCol.orderNum != null and "DESC".equalsIgnoreCase(orderCol.orderNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('status')">
a.status
<if test='orderCol.status != null and "DESC".equalsIgnoreCase(orderCol.status)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateUser')">
a.updateUser
<if test='orderCol.updateUser != null and "DESC".equalsIgnoreCase(orderCol.updateUser)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUser')">
a.createUser
<if test='orderCol.createUser != null and "DESC".equalsIgnoreCase(orderCol.createUser)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.site.dao.ISiteCustomDao">
<!-- 字段和属性映射 -->
<resultMap type="SiteEntity" id="SiteEntity-Map">
<result property="id" column="id" />
<result property="siteName" column="siteName" />
<result property="parentId" column="parentId" />
<result property="ancestors" column="ancestors" />
<result property="address" column="address" />
<result property="mobile" column="mobile" />
<result property="introduce" column="introduce" />
<result property="workday1" column="workday1" />
<result property="workday2" column="workday2" />
<result property="workday3" column="workday3" />
<result property="workday4" column="workday4" />
<result property="workday5" column="workday5" />
<result property="workday6" column="workday6" />
<result property="workday7" column="workday7" />
<result property="number" column="number" />
<result property="summary" column="summary" />
<result property="orderNum" column="orderNum" />
<result property="status" column="status" />
<result property="updateTime" column="updateTime" />
<result property="updateUser" column="updateUser" />
<result property="createTime" column="createTime" />
<result property="createUser" column="createUser" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteName') or colPickMode == 1 and data.containsKey('siteName')))">
a.siteName as siteName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('parentId') or colPickMode == 1 and data.containsKey('parentId')))">
a.parentId as parentId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('ancestors') or colPickMode == 1 and data.containsKey('ancestors')))">
a.ancestors as ancestors,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('address') or colPickMode == 1 and data.containsKey('address')))">
a.address as address,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mobile') or colPickMode == 1 and data.containsKey('mobile')))">
a.mobile as mobile,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('introduce') or colPickMode == 1 and data.containsKey('introduce')))">
a.introduce as introduce,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday1') or colPickMode == 1 and data.containsKey('workday1')))">
a.workday1 as workday1,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday2') or colPickMode == 1 and data.containsKey('workday2')))">
a.workday2 as workday2,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday3') or colPickMode == 1 and data.containsKey('workday3')))">
a.workday3 as workday3,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday4') or colPickMode == 1 and data.containsKey('workday4')))">
a.workday4 as workday4,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday5') or colPickMode == 1 and data.containsKey('workday5')))">
a.workday5 as workday5,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday6') or colPickMode == 1 and data.containsKey('workday6')))">
a.workday6 as workday6,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('workday7') or colPickMode == 1 and data.containsKey('workday7')))">
a.workday7 as workday7,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('number') or colPickMode == 1 and data.containsKey('number')))">
a.number as number,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('summary') or colPickMode == 1 and data.containsKey('summary')))">
a.summary as summary,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('orderNum') or colPickMode == 1 and data.containsKey('orderNum')))">
a.orderNum as orderNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('status') or colPickMode == 1 and data.containsKey('status')))">
a.status as status,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateUser') or colPickMode == 1 and data.containsKey('updateUser')))">
a.updateUser as updateUser,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUser') or colPickMode == 1 and data.containsKey('createUser')))">
a.createUser as createUser,
</if>
</trim>
</sql>
<!-- 获取孩子列表 -->
<select id="selectChildrenSiteById" parameterType="map" resultMap="SiteEntity-Map">
select <include refid="_columns"/> from mortals_xhx_site a where find_in_set(#{siteId}, ancestors)
</select>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.table.dao.ibatis.TableIndexDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="TableIndexEntity" id="TableIndexEntity-Map">
<result property="id" column="id" />
<result property="tableName" column="tableName" />
<result property="tableMark" column="tableMark" />
<result property="createTime" column="createTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tableName') or colPickMode == 1 and data.containsKey('tableName')))">
a.tableName as tableName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tableMark') or colPickMode == 1 and data.containsKey('tableMark')))">
a.tableMark as tableMark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="TableIndexEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_table_index
(tableName,tableMark,createTime
)VALUES(#{tableName},#{tableMark},#{createTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_table_index
(tableName,tableMark,createTime
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.tableName},#{item.tableMark},#{item.createTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_table_index as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('tableName')) or (colPickMode==1 and !data.containsKey('tableName'))">
a.tableName=#{data.tableName},
</if>
<if test="(colPickMode==0 and data.containsKey('tableMark')) or (colPickMode==1 and !data.containsKey('tableMark'))">
a.tableMark=#{data.tableMark},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="TableIndexEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_table_index as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_table_index as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_table_index where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_table_index as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="TableIndexEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_table_index as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_table_index as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('tableName')">
<if test="condition.tableName != null and condition.tableName != ''">
and a.tableName like #{condition.tableName}
</if>
<if test="condition.tableName == null">
and a.tableName is null
</if>
</if>
<if test="condition.containsKey('tableNameList')">
and a.tableName in
<foreach collection="condition.tableNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('tableMark')">
<if test="condition.tableMark != null and condition.tableMark != ''">
and a.tableMark like #{condition.tableMark}
</if>
<if test="condition.tableMark == null">
and a.tableMark is null
</if>
</if>
<if test="condition.containsKey('tableMarkList')">
and a.tableMark in
<foreach collection="condition.tableMarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createTime')">
<if test="condition.createTime != null ">
and a.createTime = #{condition.createTime}
</if>
<if test="condition.createTime == null">
and a.createTime is null
</if>
</if>
<if test="condition.containsKey('createTimeStart') and condition.createTimeStart != null and condition.createTimeStart!=''">
<![CDATA[ and a.createTime >= STR_TO_DATE(left(concat(#{condition.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createTimeEnd') and condition.createTimeEnd != null and condition.createTimeEnd!=''">
<![CDATA[ and a.createTime <= STR_TO_DATE(left(concat(#{condition.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('tableName')">
a.tableName
<if test="orderCol.tableName!= null">
${orderCol.tableName}
</if>
,
</if>
<if test="orderCol.containsKey('tableMark')">
a.tableMark
<if test="orderCol.tableMark!= null">
${orderCol.tableMark}
</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test="orderCol.createTime!= null">
${orderCol.createTime}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.task.dao.ibatis.TaskDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="TaskEntity" id="TaskEntity-Map">
<result property="id" column="id" />
<result property="name" column="name" />
<result property="taskKey" column="taskKey" />
<result property="status" column="status" />
<result property="excuteService" column="excuteService" />
<result property="excuteParam" column="excuteParam" />
<result property="excuteHost" column="excuteHost" />
<result property="excuteStrategy" column="excuteStrategy" />
<result property="excuteDate" column="excuteDate" />
<result property="excuteTime" column="excuteTime" />
<result property="remark" column="remark" />
<result property="lastExcuteHost" column="lastExcuteHost" />
<result property="lastExcuteTime" column="lastExcuteTime" />
<result property="interimExcuteStatus" column="interimExcuteStatus" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="createUserName" column="createUserName" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('name') or colPickMode == 1 and data.containsKey('name')))">
a.name as name,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('taskKey') or colPickMode == 1 and data.containsKey('taskKey')))">
a.taskKey as taskKey,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('status') or colPickMode == 1 and data.containsKey('status')))">
a.status as status,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('excuteService') or colPickMode == 1 and data.containsKey('excuteService')))">
a.excuteService as excuteService,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('excuteParam') or colPickMode == 1 and data.containsKey('excuteParam')))">
a.excuteParam as excuteParam,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('excuteHost') or colPickMode == 1 and data.containsKey('excuteHost')))">
a.excuteHost as excuteHost,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('excuteStrategy') or colPickMode == 1 and data.containsKey('excuteStrategy')))">
a.excuteStrategy as excuteStrategy,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('excuteDate') or colPickMode == 1 and data.containsKey('excuteDate')))">
a.excuteDate as excuteDate,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('excuteTime') or colPickMode == 1 and data.containsKey('excuteTime')))">
a.excuteTime as excuteTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('remark') or colPickMode == 1 and data.containsKey('remark')))">
a.remark as remark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastExcuteHost') or colPickMode == 1 and data.containsKey('lastExcuteHost')))">
a.lastExcuteHost as lastExcuteHost,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastExcuteTime') or colPickMode == 1 and data.containsKey('lastExcuteTime')))">
a.lastExcuteTime as lastExcuteTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('interimExcuteStatus') or colPickMode == 1 and data.containsKey('interimExcuteStatus')))">
a.interimExcuteStatus as interimExcuteStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId as createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserName') or colPickMode == 1 and data.containsKey('createUserName')))">
a.createUserName as createUserName,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="TaskEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_task
(name,taskKey,status,excuteService,excuteParam,
excuteHost,excuteStrategy,excuteDate,excuteTime,remark,
lastExcuteHost,lastExcuteTime,interimExcuteStatus,createTime,createUserId,
createUserName
)VALUES(#{name},#{taskKey},#{status},#{excuteService},#{excuteParam},
#{excuteHost},#{excuteStrategy},#{excuteDate},#{excuteTime},#{remark},
#{lastExcuteHost},#{lastExcuteTime},#{interimExcuteStatus},#{createTime},#{createUserId},
#{createUserName})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_task
(name,taskKey,status,excuteService,excuteParam,
excuteHost,excuteStrategy,excuteDate,excuteTime,remark,
lastExcuteHost,lastExcuteTime,interimExcuteStatus,createTime,createUserId,
createUserName
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.name},#{item.taskKey},#{item.status},#{item.excuteService},#{item.excuteParam},
#{item.excuteHost},#{item.excuteStrategy},#{item.excuteDate},#{item.excuteTime},#{item.remark},
#{item.lastExcuteHost},#{item.lastExcuteTime},#{item.interimExcuteStatus},#{item.createTime},#{item.createUserId},
#{item.createUserName})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_task as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('name')) or (colPickMode==1 and !data.containsKey('name'))">
a.name=#{data.name},
</if>
<if test="(colPickMode==0 and data.containsKey('taskKey')) or (colPickMode==1 and !data.containsKey('taskKey'))">
a.taskKey=#{data.taskKey},
</if>
<if test="(colPickMode==0 and data.containsKey('status')) or (colPickMode==1 and !data.containsKey('status'))">
a.status=#{data.status},
</if>
<if test="(colPickMode==0 and data.containsKey('statusIncrement')) or (colPickMode==1 and !data.containsKey('statusIncrement'))">
a.status=ifnull(a.status,0) + #{data.statusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('excuteService')) or (colPickMode==1 and !data.containsKey('excuteService'))">
a.excuteService=#{data.excuteService},
</if>
<if test="(colPickMode==0 and data.containsKey('excuteParam')) or (colPickMode==1 and !data.containsKey('excuteParam'))">
a.excuteParam=#{data.excuteParam},
</if>
<if test="(colPickMode==0 and data.containsKey('excuteHost')) or (colPickMode==1 and !data.containsKey('excuteHost'))">
a.excuteHost=#{data.excuteHost},
</if>
<if test="(colPickMode==0 and data.containsKey('excuteStrategy')) or (colPickMode==1 and !data.containsKey('excuteStrategy'))">
a.excuteStrategy=#{data.excuteStrategy},
</if>
<if test="(colPickMode==0 and data.containsKey('excuteStrategyIncrement')) or (colPickMode==1 and !data.containsKey('excuteStrategyIncrement'))">
a.excuteStrategy=ifnull(a.excuteStrategy,0) + #{data.excuteStrategyIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('excuteDate')) or (colPickMode==1 and !data.containsKey('excuteDate'))">
a.excuteDate=#{data.excuteDate},
</if>
<if test="(colPickMode==0 and data.containsKey('excuteDateIncrement')) or (colPickMode==1 and !data.containsKey('excuteDateIncrement'))">
a.excuteDate=ifnull(a.excuteDate,0) + #{data.excuteDateIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('excuteTime')) or (colPickMode==1 and !data.containsKey('excuteTime'))">
a.excuteTime=#{data.excuteTime},
</if>
<if test="(colPickMode==0 and data.containsKey('remark')) or (colPickMode==1 and !data.containsKey('remark'))">
a.remark=#{data.remark},
</if>
<if test="(colPickMode==0 and data.containsKey('lastExcuteHost')) or (colPickMode==1 and !data.containsKey('lastExcuteHost'))">
a.lastExcuteHost=#{data.lastExcuteHost},
</if>
<if test="(colPickMode==0 and data.containsKey('lastExcuteTime')) or (colPickMode==1 and !data.containsKey('lastExcuteTime'))">
a.lastExcuteTime=#{data.lastExcuteTime},
</if>
<if test="(colPickMode==0 and data.containsKey('interimExcuteStatus')) or (colPickMode==1 and !data.containsKey('interimExcuteStatus'))">
a.interimExcuteStatus=#{data.interimExcuteStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('interimExcuteStatusIncrement')) or (colPickMode==1 and !data.containsKey('interimExcuteStatusIncrement'))">
a.interimExcuteStatus=ifnull(a.interimExcuteStatus,0) + #{data.interimExcuteStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserName')) or (colPickMode==1 and !data.containsKey('createUserName'))">
a.createUserName=#{data.createUserName},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="TaskEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_task as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_task as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_task where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_task as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="TaskEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_task as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_task as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('name')">
<if test="condition.name != null and condition.name != ''">
and a.name like #{condition.name}
</if>
<if test="condition.name == null">
and a.name is null
</if>
</if>
<if test="condition.containsKey('nameList')">
and a.name in
<foreach collection="condition.nameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('taskKey')">
<if test="condition.taskKey != null and condition.taskKey != ''">
and a.taskKey like #{condition.taskKey}
</if>
<if test="condition.taskKey == null">
and a.taskKey is null
</if>
</if>
<if test="condition.containsKey('taskKeyList')">
and a.taskKey in
<foreach collection="condition.taskKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('status')">
<if test="condition.status != null ">
and a.status = #{condition.status}
</if>
<if test="condition.status == null">
and a.status is null
</if>
</if>
<if test="condition.containsKey('statusList')">
and a.status in
<foreach collection="condition.statusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('statusStart') and condition.statusStart != null">
<![CDATA[ and a.status >= #{condition.statusStart} ]]>
</if>
<if test="condition.containsKey('statusEnd') and condition.statusEnd != null">
<![CDATA[ and a.status <= #{condition.statusEnd} ]]>
</if>
<if test="condition.containsKey('excuteService')">
<if test="condition.excuteService != null and condition.excuteService != ''">
and a.excuteService like #{condition.excuteService}
</if>
<if test="condition.excuteService == null">
and a.excuteService is null
</if>
</if>
<if test="condition.containsKey('excuteServiceList')">
and a.excuteService in
<foreach collection="condition.excuteServiceList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('excuteParam')">
<if test="condition.excuteParam != null and condition.excuteParam != ''">
and a.excuteParam like #{condition.excuteParam}
</if>
<if test="condition.excuteParam == null">
and a.excuteParam is null
</if>
</if>
<if test="condition.containsKey('excuteParamList')">
and a.excuteParam in
<foreach collection="condition.excuteParamList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('excuteHost')">
<if test="condition.excuteHost != null and condition.excuteHost != ''">
and a.excuteHost like #{condition.excuteHost}
</if>
<if test="condition.excuteHost == null">
and a.excuteHost is null
</if>
</if>
<if test="condition.containsKey('excuteHostList')">
and a.excuteHost in
<foreach collection="condition.excuteHostList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('excuteStrategy')">
<if test="condition.excuteStrategy != null ">
and a.excuteStrategy = #{condition.excuteStrategy}
</if>
<if test="condition.excuteStrategy == null">
and a.excuteStrategy is null
</if>
</if>
<if test="condition.containsKey('excuteStrategyList')">
and a.excuteStrategy in
<foreach collection="condition.excuteStrategyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('excuteStrategyStart') and condition.excuteStrategyStart != null">
<![CDATA[ and a.excuteStrategy >= #{condition.excuteStrategyStart} ]]>
</if>
<if test="condition.containsKey('excuteStrategyEnd') and condition.excuteStrategyEnd != null">
<![CDATA[ and a.excuteStrategy <= #{condition.excuteStrategyEnd} ]]>
</if>
<if test="condition.containsKey('excuteDate')">
<if test="condition.excuteDate != null ">
and a.excuteDate = #{condition.excuteDate}
</if>
<if test="condition.excuteDate == null">
and a.excuteDate is null
</if>
</if>
<if test="condition.containsKey('excuteDateList')">
and a.excuteDate in
<foreach collection="condition.excuteDateList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('excuteDateStart') and condition.excuteDateStart != null">
<![CDATA[ and a.excuteDate >= #{condition.excuteDateStart} ]]>
</if>
<if test="condition.containsKey('excuteDateEnd') and condition.excuteDateEnd != null">
<![CDATA[ and a.excuteDate <= #{condition.excuteDateEnd} ]]>
</if>
<if test="condition.containsKey('excuteTime')">
<if test="condition.excuteTime != null and condition.excuteTime != ''">
and a.excuteTime like #{condition.excuteTime}
</if>
<if test="condition.excuteTime == null">
and a.excuteTime is null
</if>
</if>
<if test="condition.containsKey('excuteTimeList')">
and a.excuteTime in
<foreach collection="condition.excuteTimeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('remark')">
<if test="condition.remark != null and condition.remark != ''">
and a.remark like #{condition.remark}
</if>
<if test="condition.remark == null">
and a.remark is null
</if>
</if>
<if test="condition.containsKey('remarkList')">
and a.remark in
<foreach collection="condition.remarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('lastExcuteHost')">
<if test="condition.lastExcuteHost != null and condition.lastExcuteHost != ''">
and a.lastExcuteHost like #{condition.lastExcuteHost}
</if>
<if test="condition.lastExcuteHost == null">
and a.lastExcuteHost is null
</if>
</if>
<if test="condition.containsKey('lastExcuteHostList')">
and a.lastExcuteHost in
<foreach collection="condition.lastExcuteHostList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('lastExcuteTime')">
<if test="condition.lastExcuteTime != null ">
and a.lastExcuteTime = #{condition.lastExcuteTime}
</if>
<if test="condition.lastExcuteTime == null">
and a.lastExcuteTime is null
</if>
</if>
<if test="condition.containsKey('lastExcuteTimeStart') and condition.lastExcuteTimeStart != null and condition.lastExcuteTimeStart!=''">
<![CDATA[ and a.lastExcuteTime >= STR_TO_DATE(left(concat(#{condition.lastExcuteTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('lastExcuteTimeEnd') and condition.lastExcuteTimeEnd != null and condition.lastExcuteTimeEnd!=''">
<![CDATA[ and a.lastExcuteTime <= STR_TO_DATE(left(concat(#{condition.lastExcuteTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('interimExcuteStatus')">
<if test="condition.interimExcuteStatus != null ">
and a.interimExcuteStatus = #{condition.interimExcuteStatus}
</if>
<if test="condition.interimExcuteStatus == null">
and a.interimExcuteStatus is null
</if>
</if>
<if test="condition.containsKey('interimExcuteStatusList')">
and a.interimExcuteStatus in
<foreach collection="condition.interimExcuteStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('interimExcuteStatusStart') and condition.interimExcuteStatusStart != null">
<![CDATA[ and a.interimExcuteStatus >= #{condition.interimExcuteStatusStart} ]]>
</if>
<if test="condition.containsKey('interimExcuteStatusEnd') and condition.interimExcuteStatusEnd != null">
<![CDATA[ and a.interimExcuteStatus <= #{condition.interimExcuteStatusEnd} ]]>
</if>
<if test="condition.containsKey('createTime')">
<if test="condition.createTime != null ">
and a.createTime = #{condition.createTime}
</if>
<if test="condition.createTime == null">
and a.createTime is null
</if>
</if>
<if test="condition.containsKey('createTimeStart') and condition.createTimeStart != null and condition.createTimeStart!=''">
<![CDATA[ and a.createTime >= STR_TO_DATE(left(concat(#{condition.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createTimeEnd') and condition.createTimeEnd != null and condition.createTimeEnd!=''">
<![CDATA[ and a.createTime <= STR_TO_DATE(left(concat(#{condition.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createUserId')">
<if test="condition.createUserId != null ">
and a.createUserId = #{condition.createUserId}
</if>
<if test="condition.createUserId == null">
and a.createUserId is null
</if>
</if>
<if test="condition.containsKey('createUserIdList')">
and a.createUserId in
<foreach collection="condition.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createUserIdStart') and condition.createUserIdStart != null">
<![CDATA[ and a.createUserId >= #{condition.createUserIdStart} ]]>
</if>
<if test="condition.containsKey('createUserIdEnd') and condition.createUserIdEnd != null">
<![CDATA[ and a.createUserId <= #{condition.createUserIdEnd} ]]>
</if>
<if test="condition.containsKey('createUserName')">
<if test="condition.createUserName != null and condition.createUserName != ''">
and a.createUserName like #{condition.createUserName}
</if>
<if test="condition.createUserName == null">
and a.createUserName is null
</if>
</if>
<if test="condition.containsKey('createUserNameList')">
and a.createUserName in
<foreach collection="condition.createUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('name')">
a.name
<if test="orderCol.name!= null">
${orderCol.name}
</if>
,
</if>
<if test="orderCol.containsKey('taskKey')">
a.taskKey
<if test="orderCol.taskKey!= null">
${orderCol.taskKey}
</if>
,
</if>
<if test="orderCol.containsKey('status')">
a.status
<if test="orderCol.status!= null">
${orderCol.status}
</if>
,
</if>
<if test="orderCol.containsKey('excuteService')">
a.excuteService
<if test="orderCol.excuteService!= null">
${orderCol.excuteService}
</if>
,
</if>
<if test="orderCol.containsKey('excuteParam')">
a.excuteParam
<if test="orderCol.excuteParam!= null">
${orderCol.excuteParam}
</if>
,
</if>
<if test="orderCol.containsKey('excuteHost')">
a.excuteHost
<if test="orderCol.excuteHost!= null">
${orderCol.excuteHost}
</if>
,
</if>
<if test="orderCol.containsKey('excuteStrategy')">
a.excuteStrategy
<if test="orderCol.excuteStrategy!= null">
${orderCol.excuteStrategy}
</if>
,
</if>
<if test="orderCol.containsKey('excuteDate')">
a.excuteDate
<if test="orderCol.excuteDate!= null">
${orderCol.excuteDate}
</if>
,
</if>
<if test="orderCol.containsKey('excuteTime')">
a.excuteTime
<if test="orderCol.excuteTime!= null">
${orderCol.excuteTime}
</if>
,
</if>
<if test="orderCol.containsKey('remark')">
a.remark
<if test="orderCol.remark!= null">
${orderCol.remark}
</if>
,
</if>
<if test="orderCol.containsKey('lastExcuteHost')">
a.lastExcuteHost
<if test="orderCol.lastExcuteHost!= null">
${orderCol.lastExcuteHost}
</if>
,
</if>
<if test="orderCol.containsKey('lastExcuteTime')">
a.lastExcuteTime
<if test="orderCol.lastExcuteTime!= null">
${orderCol.lastExcuteTime}
</if>
,
</if>
<if test="orderCol.containsKey('interimExcuteStatus')">
a.interimExcuteStatus
<if test="orderCol.interimExcuteStatus!= null">
${orderCol.interimExcuteStatus}
</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test="orderCol.createTime!= null">
${orderCol.createTime}
</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test="orderCol.createUserId!= null">
${orderCol.createUserId}
</if>
,
</if>
<if test="orderCol.containsKey('createUserName')">
a.createUserName
<if test="orderCol.createUserName!= null">
${orderCol.createUserName}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.user.dao.ibatis.UserDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="UserEntity" id="UserEntity-Map">
<result property="id" column="id" />
<result property="loginName" column="loginName" />
<result property="loginPwd" column="loginPwd" />
<result property="loginPwd1" column="loginPwd1" />
<result property="loginPwd2" column="loginPwd2" />
<result property="loginPwd3" column="loginPwd3" />
<result property="loginLimitAddress" column="loginLimitAddress" />
<result property="realName" column="realName" />
<result property="mobile" column="mobile" />
<result property="phone" column="phone" />
<result property="email" column="email" />
<result property="qq" column="qq" />
<result property="userType" column="userType" />
<result property="siteId" column="siteId" />
<result property="status" column="status" />
<result property="customerId" column="customerId" />
<result property="createTime" column="createTime" />
<result property="createUserId" column="createUserId" />
<result property="createUserName" column="createUserName" />
<result property="lastLoginTime" column="lastLoginTime" />
<result property="lastLoginAddress" column="lastLoginAddress" />
<result property="lastModPwdTime" column="lastModPwdTime" />
<result property="lastModPwdAddr" column="lastModPwdAddr" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginName') or colPickMode == 1 and data.containsKey('loginName')))">
a.loginName as loginName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginPwd') or colPickMode == 1 and data.containsKey('loginPwd')))">
a.loginPwd as loginPwd,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginPwd1') or colPickMode == 1 and data.containsKey('loginPwd1')))">
a.loginPwd1 as loginPwd1,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginPwd2') or colPickMode == 1 and data.containsKey('loginPwd2')))">
a.loginPwd2 as loginPwd2,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginPwd3') or colPickMode == 1 and data.containsKey('loginPwd3')))">
a.loginPwd3 as loginPwd3,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginLimitAddress') or colPickMode == 1 and data.containsKey('loginLimitAddress')))">
a.loginLimitAddress as loginLimitAddress,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('realName') or colPickMode == 1 and data.containsKey('realName')))">
a.realName as realName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mobile') or colPickMode == 1 and data.containsKey('mobile')))">
a.mobile as mobile,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('phone') or colPickMode == 1 and data.containsKey('phone')))">
a.phone as phone,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('email') or colPickMode == 1 and data.containsKey('email')))">
a.email as email,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('qq') or colPickMode == 1 and data.containsKey('qq')))">
a.qq as qq,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('userType') or colPickMode == 1 and data.containsKey('userType')))">
a.userType as userType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('siteId') or colPickMode == 1 and data.containsKey('siteId')))">
a.siteId as siteId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('status') or colPickMode == 1 and data.containsKey('status')))">
a.status as status,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserId') or colPickMode == 1 and data.containsKey('createUserId')))">
a.createUserId as createUserId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createUserName') or colPickMode == 1 and data.containsKey('createUserName')))">
a.createUserName as createUserName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastLoginTime') or colPickMode == 1 and data.containsKey('lastLoginTime')))">
a.lastLoginTime as lastLoginTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastLoginAddress') or colPickMode == 1 and data.containsKey('lastLoginAddress')))">
a.lastLoginAddress as lastLoginAddress,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastModPwdTime') or colPickMode == 1 and data.containsKey('lastModPwdTime')))">
a.lastModPwdTime as lastModPwdTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lastModPwdAddr') or colPickMode == 1 and data.containsKey('lastModPwdAddr')))">
a.lastModPwdAddr as lastModPwdAddr,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="UserEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_user
(loginName,loginPwd,loginPwd1,loginPwd2,loginPwd3,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteId,status,customerId,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress,lastModPwdTime,lastModPwdAddr)
VALUES
(#{loginName},#{loginPwd},#{loginPwd1},#{loginPwd2},#{loginPwd3},#{loginLimitAddress},#{realName},#{mobile},#{phone},#{email},#{qq},#{userType},#{siteId},#{status},#{customerId},#{createTime},#{createUserId},#{createUserName},#{lastLoginTime},#{lastLoginAddress},#{lastModPwdTime},#{lastModPwdAddr})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_user
(loginName,loginPwd,loginPwd1,loginPwd2,loginPwd3,loginLimitAddress,realName,mobile,phone,email,qq,userType,siteId,status,customerId,createTime,createUserId,createUserName,lastLoginTime,lastLoginAddress,lastModPwdTime,lastModPwdAddr)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.loginName},#{item.loginPwd},#{item.loginPwd1},#{item.loginPwd2},#{item.loginPwd3},#{item.loginLimitAddress},#{item.realName},#{item.mobile},#{item.phone},#{item.email},#{item.qq},#{item.userType},#{item.siteId},#{item.status},#{item.customerId},#{item.createTime},#{item.createUserId},#{item.createUserName},#{item.lastLoginTime},#{item.lastLoginAddress},#{item.lastModPwdTime},#{item.lastModPwdAddr})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_user as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('loginName')) or (colPickMode==1 and !data.containsKey('loginName'))">
a.loginName=#{data.loginName},
</if>
<if test="(colPickMode==0 and data.containsKey('loginPwd')) or (colPickMode==1 and !data.containsKey('loginPwd'))">
a.loginPwd=#{data.loginPwd},
</if>
<if test="(colPickMode==0 and data.containsKey('loginPwd1')) or (colPickMode==1 and !data.containsKey('loginPwd1'))">
a.loginPwd1=#{data.loginPwd1},
</if>
<if test="(colPickMode==0 and data.containsKey('loginPwd2')) or (colPickMode==1 and !data.containsKey('loginPwd2'))">
a.loginPwd2=#{data.loginPwd2},
</if>
<if test="(colPickMode==0 and data.containsKey('loginPwd3')) or (colPickMode==1 and !data.containsKey('loginPwd3'))">
a.loginPwd3=#{data.loginPwd3},
</if>
<if test="(colPickMode==0 and data.containsKey('loginLimitAddress')) or (colPickMode==1 and !data.containsKey('loginLimitAddress'))">
a.loginLimitAddress=#{data.loginLimitAddress},
</if>
<if test="(colPickMode==0 and data.containsKey('realName')) or (colPickMode==1 and !data.containsKey('realName'))">
a.realName=#{data.realName},
</if>
<if test="(colPickMode==0 and data.containsKey('mobile')) or (colPickMode==1 and !data.containsKey('mobile'))">
a.mobile=#{data.mobile},
</if>
<if test="(colPickMode==0 and data.containsKey('phone')) or (colPickMode==1 and !data.containsKey('phone'))">
a.phone=#{data.phone},
</if>
<if test="(colPickMode==0 and data.containsKey('email')) or (colPickMode==1 and !data.containsKey('email'))">
a.email=#{data.email},
</if>
<if test="(colPickMode==0 and data.containsKey('qq')) or (colPickMode==1 and !data.containsKey('qq'))">
a.qq=#{data.qq},
</if>
<if test="(colPickMode==0 and data.containsKey('userType')) or (colPickMode==1 and !data.containsKey('userType'))">
a.userType=#{data.userType},
</if>
<if test="(colPickMode==0 and data.containsKey('userTypeIncrement')) or (colPickMode==1 and !data.containsKey('userTypeIncrement'))">
a.userType=ifnull(a.userType,0) + #{data.userTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('siteId')) or (colPickMode==1 and !data.containsKey('siteId'))">
a.siteId=#{data.siteId},
</if>
<if test="(colPickMode==0 and data.containsKey('siteIdIncrement')) or (colPickMode==1 and !data.containsKey('siteIdIncrement'))">
a.siteId=ifnull(a.siteId,0) + #{data.siteIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('status')) or (colPickMode==1 and !data.containsKey('status'))">
a.status=#{data.status},
</if>
<if test="(colPickMode==0 and data.containsKey('statusIncrement')) or (colPickMode==1 and !data.containsKey('statusIncrement'))">
a.status=ifnull(a.status,0) + #{data.statusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserId')) or (colPickMode==1 and !data.containsKey('createUserId'))">
a.createUserId=#{data.createUserId},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserIdIncrement')) or (colPickMode==1 and !data.containsKey('createUserIdIncrement'))">
a.createUserId=ifnull(a.createUserId,0) + #{data.createUserIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createUserName')) or (colPickMode==1 and !data.containsKey('createUserName'))">
a.createUserName=#{data.createUserName},
</if>
<if test="(colPickMode==0 and data.containsKey('lastLoginTime')) or (colPickMode==1 and !data.containsKey('lastLoginTime'))">
a.lastLoginTime=#{data.lastLoginTime},
</if>
<if test="(colPickMode==0 and data.containsKey('lastLoginAddress')) or (colPickMode==1 and !data.containsKey('lastLoginAddress'))">
a.lastLoginAddress=#{data.lastLoginAddress},
</if>
<if test="(colPickMode==0 and data.containsKey('lastModPwdTime')) or (colPickMode==1 and !data.containsKey('lastModPwdTime'))">
a.lastModPwdTime=#{data.lastModPwdTime},
</if>
<if test="(colPickMode==0 and data.containsKey('lastModPwdAddr')) or (colPickMode==1 and !data.containsKey('lastModPwdAddr'))">
a.lastModPwdAddr=#{data.lastModPwdAddr},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_user as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="loginName=(case" suffix="ELSE loginName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginName')) or (colPickMode==1 and !item.containsKey('loginName'))">
when a.id=#{item.id} then #{item.loginName}
</if>
</foreach>
</trim>
<trim prefix="loginPwd=(case" suffix="ELSE loginPwd end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginPwd')) or (colPickMode==1 and !item.containsKey('loginPwd'))">
when a.id=#{item.id} then #{item.loginPwd}
</if>
</foreach>
</trim>
<trim prefix="loginPwd1=(case" suffix="ELSE loginPwd1 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginPwd1')) or (colPickMode==1 and !item.containsKey('loginPwd1'))">
when a.id=#{item.id} then #{item.loginPwd1}
</if>
</foreach>
</trim>
<trim prefix="loginPwd2=(case" suffix="ELSE loginPwd2 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginPwd2')) or (colPickMode==1 and !item.containsKey('loginPwd2'))">
when a.id=#{item.id} then #{item.loginPwd2}
</if>
</foreach>
</trim>
<trim prefix="loginPwd3=(case" suffix="ELSE loginPwd3 end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginPwd3')) or (colPickMode==1 and !item.containsKey('loginPwd3'))">
when a.id=#{item.id} then #{item.loginPwd3}
</if>
</foreach>
</trim>
<trim prefix="loginLimitAddress=(case" suffix="ELSE loginLimitAddress end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginLimitAddress')) or (colPickMode==1 and !item.containsKey('loginLimitAddress'))">
when a.id=#{item.id} then #{item.loginLimitAddress}
</if>
</foreach>
</trim>
<trim prefix="realName=(case" suffix="ELSE realName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('realName')) or (colPickMode==1 and !item.containsKey('realName'))">
when a.id=#{item.id} then #{item.realName}
</if>
</foreach>
</trim>
<trim prefix="mobile=(case" suffix="ELSE mobile end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('mobile')) or (colPickMode==1 and !item.containsKey('mobile'))">
when a.id=#{item.id} then #{item.mobile}
</if>
</foreach>
</trim>
<trim prefix="phone=(case" suffix="ELSE phone end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('phone')) or (colPickMode==1 and !item.containsKey('phone'))">
when a.id=#{item.id} then #{item.phone}
</if>
</foreach>
</trim>
<trim prefix="email=(case" suffix="ELSE email end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('email')) or (colPickMode==1 and !item.containsKey('email'))">
when a.id=#{item.id} then #{item.email}
</if>
</foreach>
</trim>
<trim prefix="qq=(case" suffix="ELSE qq end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('qq')) or (colPickMode==1 and !item.containsKey('qq'))">
when a.id=#{item.id} then #{item.qq}
</if>
</foreach>
</trim>
<trim prefix="userType=(case" suffix="ELSE userType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('userType')) or (colPickMode==1 and !item.containsKey('userType'))">
when a.id=#{item.id} then #{item.userType}
</when>
<when test="(colPickMode==0 and item.containsKey('userTypeIncrement')) or (colPickMode==1 and !item.containsKey('userTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.userType,0) + #{item.userTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="siteId=(case" suffix="ELSE siteId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('siteId')) or (colPickMode==1 and !item.containsKey('siteId'))">
when a.id=#{item.id} then #{item.siteId}
</when>
<when test="(colPickMode==0 and item.containsKey('siteIdIncrement')) or (colPickMode==1 and !item.containsKey('siteIdIncrement'))">
when a.id=#{item.id} then ifnull(a.siteId,0) + #{item.siteIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="status=(case" suffix="ELSE status end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('status')) or (colPickMode==1 and !item.containsKey('status'))">
when a.id=#{item.id} then #{item.status}
</when>
<when test="(colPickMode==0 and item.containsKey('statusIncrement')) or (colPickMode==1 and !item.containsKey('statusIncrement'))">
when a.id=#{item.id} then ifnull(a.status,0) + #{item.statusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="customerId=(case" suffix="ELSE customerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerId')) or (colPickMode==1 and !item.containsKey('customerId'))">
when a.id=#{item.id} then #{item.customerId}
</when>
<when test="(colPickMode==0 and item.containsKey('customerIdIncrement')) or (colPickMode==1 and !item.containsKey('customerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.customerId,0) + #{item.customerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="createUserId=(case" suffix="ELSE createUserId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('createUserId')) or (colPickMode==1 and !item.containsKey('createUserId'))">
when a.id=#{item.id} then #{item.createUserId}
</when>
<when test="(colPickMode==0 and item.containsKey('createUserIdIncrement')) or (colPickMode==1 and !item.containsKey('createUserIdIncrement'))">
when a.id=#{item.id} then ifnull(a.createUserId,0) + #{item.createUserIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createUserName=(case" suffix="ELSE createUserName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createUserName')) or (colPickMode==1 and !item.containsKey('createUserName'))">
when a.id=#{item.id} then #{item.createUserName}
</if>
</foreach>
</trim>
<trim prefix="lastLoginTime=(case" suffix="ELSE lastLoginTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('lastLoginTime')) or (colPickMode==1 and !item.containsKey('lastLoginTime'))">
when a.id=#{item.id} then #{item.lastLoginTime}
</if>
</foreach>
</trim>
<trim prefix="lastLoginAddress=(case" suffix="ELSE lastLoginAddress end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('lastLoginAddress')) or (colPickMode==1 and !item.containsKey('lastLoginAddress'))">
when a.id=#{item.id} then #{item.lastLoginAddress}
</if>
</foreach>
</trim>
<trim prefix="lastModPwdTime=(case" suffix="ELSE lastModPwdTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('lastModPwdTime')) or (colPickMode==1 and !item.containsKey('lastModPwdTime'))">
when a.id=#{item.id} then #{item.lastModPwdTime}
</if>
</foreach>
</trim>
<trim prefix="lastModPwdAddr=(case" suffix="ELSE lastModPwdAddr end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('lastModPwdAddr')) or (colPickMode==1 and !item.containsKey('lastModPwdAddr'))">
when a.id=#{item.id} then #{item.lastModPwdAddr}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="UserEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_user as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_user as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_user where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_user as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="UserEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_user as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_user as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('loginName')">
<if test="conditionParamRef.loginName != null and conditionParamRef.loginName != ''">
${_conditionType_} a.loginName like #{${_conditionParam_}.loginName}
</if>
<if test="conditionParamRef.loginName == null">
${_conditionType_} a.loginName is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginNameList')">
${_conditionType_} a.loginName in
<foreach collection="conditionParamRef.loginNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginPwd')">
<if test="conditionParamRef.loginPwd != null and conditionParamRef.loginPwd != ''">
${_conditionType_} a.loginPwd like #{${_conditionParam_}.loginPwd}
</if>
<if test="conditionParamRef.loginPwd == null">
${_conditionType_} a.loginPwd is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginPwdList')">
${_conditionType_} a.loginPwd in
<foreach collection="conditionParamRef.loginPwdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginPwd1')">
<if test="conditionParamRef.loginPwd1 != null and conditionParamRef.loginPwd1 != ''">
${_conditionType_} a.loginPwd1 like #{${_conditionParam_}.loginPwd1}
</if>
<if test="conditionParamRef.loginPwd1 == null">
${_conditionType_} a.loginPwd1 is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginPwd1List')">
${_conditionType_} a.loginPwd1 in
<foreach collection="conditionParamRef.loginPwd1List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginPwd2')">
<if test="conditionParamRef.loginPwd2 != null and conditionParamRef.loginPwd2 != ''">
${_conditionType_} a.loginPwd2 like #{${_conditionParam_}.loginPwd2}
</if>
<if test="conditionParamRef.loginPwd2 == null">
${_conditionType_} a.loginPwd2 is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginPwd2List')">
${_conditionType_} a.loginPwd2 in
<foreach collection="conditionParamRef.loginPwd2List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginPwd3')">
<if test="conditionParamRef.loginPwd3 != null and conditionParamRef.loginPwd3 != ''">
${_conditionType_} a.loginPwd3 like #{${_conditionParam_}.loginPwd3}
</if>
<if test="conditionParamRef.loginPwd3 == null">
${_conditionType_} a.loginPwd3 is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginPwd3List')">
${_conditionType_} a.loginPwd3 in
<foreach collection="conditionParamRef.loginPwd3List" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('loginLimitAddress')">
<if test="conditionParamRef.loginLimitAddress != null and conditionParamRef.loginLimitAddress != ''">
${_conditionType_} a.loginLimitAddress like #{${_conditionParam_}.loginLimitAddress}
</if>
<if test="conditionParamRef.loginLimitAddress == null">
${_conditionType_} a.loginLimitAddress is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginLimitAddressList')">
${_conditionType_} a.loginLimitAddress in
<foreach collection="conditionParamRef.loginLimitAddressList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('realName')">
<if test="conditionParamRef.realName != null and conditionParamRef.realName != ''">
${_conditionType_} a.realName like #{${_conditionParam_}.realName}
</if>
<if test="conditionParamRef.realName == null">
${_conditionType_} a.realName is null
</if>
</if>
<if test="conditionParamRef.containsKey('realNameList')">
${_conditionType_} a.realName in
<foreach collection="conditionParamRef.realNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('mobile')">
<if test="conditionParamRef.mobile != null and conditionParamRef.mobile != ''">
${_conditionType_} a.mobile like #{${_conditionParam_}.mobile}
</if>
<if test="conditionParamRef.mobile == null">
${_conditionType_} a.mobile is null
</if>
</if>
<if test="conditionParamRef.containsKey('mobileList')">
${_conditionType_} a.mobile in
<foreach collection="conditionParamRef.mobileList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('phone')">
<if test="conditionParamRef.phone != null and conditionParamRef.phone != ''">
${_conditionType_} a.phone like #{${_conditionParam_}.phone}
</if>
<if test="conditionParamRef.phone == null">
${_conditionType_} a.phone is null
</if>
</if>
<if test="conditionParamRef.containsKey('phoneList')">
${_conditionType_} a.phone in
<foreach collection="conditionParamRef.phoneList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('email')">
<if test="conditionParamRef.email != null and conditionParamRef.email != ''">
${_conditionType_} a.email like #{${_conditionParam_}.email}
</if>
<if test="conditionParamRef.email == null">
${_conditionType_} a.email is null
</if>
</if>
<if test="conditionParamRef.containsKey('emailList')">
${_conditionType_} a.email in
<foreach collection="conditionParamRef.emailList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('qq')">
<if test="conditionParamRef.qq != null and conditionParamRef.qq != ''">
${_conditionType_} a.qq like #{${_conditionParam_}.qq}
</if>
<if test="conditionParamRef.qq == null">
${_conditionType_} a.qq is null
</if>
</if>
<if test="conditionParamRef.containsKey('qqList')">
${_conditionType_} a.qq in
<foreach collection="conditionParamRef.qqList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('userType')">
<if test="conditionParamRef.userType != null ">
${_conditionType_} a.userType = #{${_conditionParam_}.userType}
</if>
<if test="conditionParamRef.userType == null">
${_conditionType_} a.userType is null
</if>
</if>
<if test="conditionParamRef.containsKey('userTypeList')">
${_conditionType_} a.userType in
<foreach collection="conditionParamRef.userTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('userTypeStart') and conditionParamRef.userTypeStart != null">
${_conditionType_} a.userType <![CDATA[ >= ]]> #{${_conditionParam_}.userTypeStart}
</if>
<if test="conditionParamRef.containsKey('userTypeEnd') and conditionParamRef.userTypeEnd != null">
${_conditionType_} a.userType <![CDATA[ <= ]]> #{${_conditionParam_}.userTypeEnd}
</if>
<if test="conditionParamRef.containsKey('siteId')">
<if test="conditionParamRef.siteId != null ">
${_conditionType_} a.siteId = #{${_conditionParam_}.siteId}
</if>
<if test="conditionParamRef.siteId == null">
${_conditionType_} a.siteId is null
</if>
</if>
<if test="conditionParamRef.containsKey('siteIdList')">
${_conditionType_} a.siteId in
<foreach collection="conditionParamRef.siteIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('siteIdStart') and conditionParamRef.siteIdStart != null">
${_conditionType_} a.siteId <![CDATA[ >= ]]> #{${_conditionParam_}.siteIdStart}
</if>
<if test="conditionParamRef.containsKey('siteIdEnd') and conditionParamRef.siteIdEnd != null">
${_conditionType_} a.siteId <![CDATA[ <= ]]> #{${_conditionParam_}.siteIdEnd}
</if>
<if test="conditionParamRef.containsKey('status')">
<if test="conditionParamRef.status != null ">
${_conditionType_} a.status = #{${_conditionParam_}.status}
</if>
<if test="conditionParamRef.status == null">
${_conditionType_} a.status is null
</if>
</if>
<if test="conditionParamRef.containsKey('statusList')">
${_conditionType_} a.status in
<foreach collection="conditionParamRef.statusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('statusStart') and conditionParamRef.statusStart != null">
${_conditionType_} a.status <![CDATA[ >= ]]> #{${_conditionParam_}.statusStart}
</if>
<if test="conditionParamRef.containsKey('statusEnd') and conditionParamRef.statusEnd != null">
${_conditionType_} a.status <![CDATA[ <= ]]> #{${_conditionParam_}.statusEnd}
</if>
<if test="conditionParamRef.containsKey('customerId')">
<if test="conditionParamRef.customerId != null ">
${_conditionType_} a.customerId = #{${_conditionParam_}.customerId}
</if>
<if test="conditionParamRef.customerId == null">
${_conditionType_} a.customerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerIdList')">
${_conditionType_} a.customerId in
<foreach collection="conditionParamRef.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerIdStart') and conditionParamRef.customerIdStart != null">
${_conditionType_} a.customerId <![CDATA[ >= ]]> #{${_conditionParam_}.customerIdStart}
</if>
<if test="conditionParamRef.containsKey('customerIdEnd') and conditionParamRef.customerIdEnd != null">
${_conditionType_} a.customerId <![CDATA[ <= ]]> #{${_conditionParam_}.customerIdEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createUserId')">
<if test="conditionParamRef.createUserId != null ">
${_conditionType_} a.createUserId = #{${_conditionParam_}.createUserId}
</if>
<if test="conditionParamRef.createUserId == null">
${_conditionType_} a.createUserId is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserIdList')">
${_conditionType_} a.createUserId in
<foreach collection="conditionParamRef.createUserIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createUserIdStart') and conditionParamRef.createUserIdStart != null">
${_conditionType_} a.createUserId <![CDATA[ >= ]]> #{${_conditionParam_}.createUserIdStart}
</if>
<if test="conditionParamRef.containsKey('createUserIdEnd') and conditionParamRef.createUserIdEnd != null">
${_conditionType_} a.createUserId <![CDATA[ <= ]]> #{${_conditionParam_}.createUserIdEnd}
</if>
<if test="conditionParamRef.containsKey('createUserName')">
<if test="conditionParamRef.createUserName != null and conditionParamRef.createUserName != ''">
${_conditionType_} a.createUserName like #{${_conditionParam_}.createUserName}
</if>
<if test="conditionParamRef.createUserName == null">
${_conditionType_} a.createUserName is null
</if>
</if>
<if test="conditionParamRef.containsKey('createUserNameList')">
${_conditionType_} a.createUserName in
<foreach collection="conditionParamRef.createUserNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('lastLoginTime')">
<if test="conditionParamRef.lastLoginTime != null ">
${_conditionType_} a.lastLoginTime = #{${_conditionParam_}.lastLoginTime}
</if>
<if test="conditionParamRef.lastLoginTime == null">
${_conditionType_} a.lastLoginTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('lastLoginTimeStart') and conditionParamRef.lastLoginTimeStart != null and conditionParamRef.lastLoginTimeStart!=''">
${_conditionType_} a.lastLoginTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.lastLoginTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('lastLoginTimeEnd') and conditionParamRef.lastLoginTimeEnd != null and conditionParamRef.lastLoginTimeEnd!=''">
${_conditionType_} a.lastLoginTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.lastLoginTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('lastLoginAddress')">
<if test="conditionParamRef.lastLoginAddress != null and conditionParamRef.lastLoginAddress != ''">
${_conditionType_} a.lastLoginAddress like #{${_conditionParam_}.lastLoginAddress}
</if>
<if test="conditionParamRef.lastLoginAddress == null">
${_conditionType_} a.lastLoginAddress is null
</if>
</if>
<if test="conditionParamRef.containsKey('lastLoginAddressList')">
${_conditionType_} a.lastLoginAddress in
<foreach collection="conditionParamRef.lastLoginAddressList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('lastModPwdTime')">
<if test="conditionParamRef.lastModPwdTime != null ">
${_conditionType_} a.lastModPwdTime = #{${_conditionParam_}.lastModPwdTime}
</if>
<if test="conditionParamRef.lastModPwdTime == null">
${_conditionType_} a.lastModPwdTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('lastModPwdTimeStart') and conditionParamRef.lastModPwdTimeStart != null and conditionParamRef.lastModPwdTimeStart!=''">
${_conditionType_} a.lastModPwdTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.lastModPwdTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('lastModPwdTimeEnd') and conditionParamRef.lastModPwdTimeEnd != null and conditionParamRef.lastModPwdTimeEnd!=''">
${_conditionType_} a.lastModPwdTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.lastModPwdTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('lastModPwdAddr')">
<if test="conditionParamRef.lastModPwdAddr != null and conditionParamRef.lastModPwdAddr != ''">
${_conditionType_} a.lastModPwdAddr like #{${_conditionParam_}.lastModPwdAddr}
</if>
<if test="conditionParamRef.lastModPwdAddr == null">
${_conditionType_} a.lastModPwdAddr is null
</if>
</if>
<if test="conditionParamRef.containsKey('lastModPwdAddrList')">
${_conditionType_} a.lastModPwdAddr in
<foreach collection="conditionParamRef.lastModPwdAddrList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginName')">
a.loginName
<if test='orderCol.loginName != null and "DESC".equalsIgnoreCase(orderCol.loginName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginPwd')">
a.loginPwd
<if test='orderCol.loginPwd != null and "DESC".equalsIgnoreCase(orderCol.loginPwd)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginPwd1')">
a.loginPwd1
<if test='orderCol.loginPwd1 != null and "DESC".equalsIgnoreCase(orderCol.loginPwd1)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginPwd2')">
a.loginPwd2
<if test='orderCol.loginPwd2 != null and "DESC".equalsIgnoreCase(orderCol.loginPwd2)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginPwd3')">
a.loginPwd3
<if test='orderCol.loginPwd3 != null and "DESC".equalsIgnoreCase(orderCol.loginPwd3)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginLimitAddress')">
a.loginLimitAddress
<if test='orderCol.loginLimitAddress != null and "DESC".equalsIgnoreCase(orderCol.loginLimitAddress)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('realName')">
a.realName
<if test='orderCol.realName != null and "DESC".equalsIgnoreCase(orderCol.realName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('mobile')">
a.mobile
<if test='orderCol.mobile != null and "DESC".equalsIgnoreCase(orderCol.mobile)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('phone')">
a.phone
<if test='orderCol.phone != null and "DESC".equalsIgnoreCase(orderCol.phone)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('email')">
a.email
<if test='orderCol.email != null and "DESC".equalsIgnoreCase(orderCol.email)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('qq')">
a.qq
<if test='orderCol.qq != null and "DESC".equalsIgnoreCase(orderCol.qq)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('userType')">
a.userType
<if test='orderCol.userType != null and "DESC".equalsIgnoreCase(orderCol.userType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('siteId')">
a.siteId
<if test='orderCol.siteId != null and "DESC".equalsIgnoreCase(orderCol.siteId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('status')">
a.status
<if test='orderCol.status != null and "DESC".equalsIgnoreCase(orderCol.status)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test='orderCol.customerId != null and "DESC".equalsIgnoreCase(orderCol.customerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserId')">
a.createUserId
<if test='orderCol.createUserId != null and "DESC".equalsIgnoreCase(orderCol.createUserId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createUserName')">
a.createUserName
<if test='orderCol.createUserName != null and "DESC".equalsIgnoreCase(orderCol.createUserName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('lastLoginTime')">
a.lastLoginTime
<if test='orderCol.lastLoginTime != null and "DESC".equalsIgnoreCase(orderCol.lastLoginTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('lastLoginAddress')">
a.lastLoginAddress
<if test='orderCol.lastLoginAddress != null and "DESC".equalsIgnoreCase(orderCol.lastLoginAddress)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('lastModPwdTime')">
a.lastModPwdTime
<if test='orderCol.lastModPwdTime != null and "DESC".equalsIgnoreCase(orderCol.lastModPwdTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('lastModPwdAddr')">
a.lastModPwdAddr
<if test='orderCol.lastModPwdAddr != null and "DESC".equalsIgnoreCase(orderCol.lastModPwdAddr)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.base.system.valid.dao.ibatis.ValidCodeDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ValidCodeEntity" id="ValidCodeEntity-Map">
<result property="id" column="id" />
<result property="code" column="code" />
<result property="url" column="url" />
<result property="mobile" column="mobile" />
<result property="email" column="email" />
<result property="type" column="type" />
<result property="sessionId" column="sessionId" />
<result property="ip" column="ip" />
<result property="createTime" column="createTime" />
<result property="lapseTime" column="lapseTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('code') or colPickMode == 1 and data.containsKey('code')))">
a.code as code,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('url') or colPickMode == 1 and data.containsKey('url')))">
a.url as url,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('mobile') or colPickMode == 1 and data.containsKey('mobile')))">
a.mobile as mobile,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('email') or colPickMode == 1 and data.containsKey('email')))">
a.email as email,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('type') or colPickMode == 1 and data.containsKey('type')))">
a.type as type,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('sessionId') or colPickMode == 1 and data.containsKey('sessionId')))">
a.sessionId as sessionId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('ip') or colPickMode == 1 and data.containsKey('ip')))">
a.ip as ip,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('lapseTime') or colPickMode == 1 and data.containsKey('lapseTime')))">
a.lapseTime as lapseTime,
</if>
</trim>
</sql>
<!-- 新增 -->
<insert id="insert" parameterType="ValidCodeEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_valid_code
(code,url,mobile,email,type,
sessionId,ip,createTime,lapseTime
)VALUES(#{code},#{url},#{mobile},#{email},#{type},
#{sessionId},#{ip},#{createTime},#{lapseTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_valid_code
(code,url,mobile,email,type,
sessionId,ip,createTime,lapseTime
)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.code},#{item.url},#{item.mobile},#{item.email},#{item.type},
#{item.sessionId},#{item.ip},#{item.createTime},#{item.lapseTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_valid_code as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('code')) or (colPickMode==1 and !data.containsKey('code'))">
a.code=#{data.code},
</if>
<if test="(colPickMode==0 and data.containsKey('url')) or (colPickMode==1 and !data.containsKey('url'))">
a.url=#{data.url},
</if>
<if test="(colPickMode==0 and data.containsKey('mobile')) or (colPickMode==1 and !data.containsKey('mobile'))">
a.mobile=#{data.mobile},
</if>
<if test="(colPickMode==0 and data.containsKey('email')) or (colPickMode==1 and !data.containsKey('email'))">
a.email=#{data.email},
</if>
<if test="(colPickMode==0 and data.containsKey('type')) or (colPickMode==1 and !data.containsKey('type'))">
a.type=#{data.type},
</if>
<if test="(colPickMode==0 and data.containsKey('typeIncrement')) or (colPickMode==1 and !data.containsKey('typeIncrement'))">
a.type=ifnull(a.type,0) + #{data.typeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('sessionId')) or (colPickMode==1 and !data.containsKey('sessionId'))">
a.sessionId=#{data.sessionId},
</if>
<if test="(colPickMode==0 and data.containsKey('ip')) or (colPickMode==1 and !data.containsKey('ip'))">
a.ip=#{data.ip},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('lapseTime')) or (colPickMode==1 and !data.containsKey('lapseTime'))">
a.lapseTime=#{data.lapseTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ValidCodeEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_valid_code as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_valid_code as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_valid_code where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_valid_code as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ValidCodeEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_valid_code as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_valid_code as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<if test="condition.containsKey('id')">
<if test="condition.id != null">
and a.id=#{condition.id}
</if>
</if>
<if test="condition.containsKey('id')">
<if test="condition.id != null ">
and a.id = #{condition.id}
</if>
<if test="condition.id == null">
and a.id is null
</if>
</if>
<if test="condition.containsKey('idList')">
and a.id in
<foreach collection="condition.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('idStart') and condition.idStart != null">
<![CDATA[ and a.id >= #{condition.idStart} ]]>
</if>
<if test="condition.containsKey('idEnd') and condition.idEnd != null">
<![CDATA[ and a.id <= #{condition.idEnd} ]]>
</if>
<if test="condition.containsKey('code')">
<if test="condition.code != null and condition.code != ''">
and a.code like #{condition.code}
</if>
<if test="condition.code == null">
and a.code is null
</if>
</if>
<if test="condition.containsKey('codeList')">
and a.code in
<foreach collection="condition.codeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('url')">
<if test="condition.url != null and condition.url != ''">
and a.url like #{condition.url}
</if>
<if test="condition.url == null">
and a.url is null
</if>
</if>
<if test="condition.containsKey('urlList')">
and a.url in
<foreach collection="condition.urlList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('mobile')">
<if test="condition.mobile != null and condition.mobile != ''">
and a.mobile like #{condition.mobile}
</if>
<if test="condition.mobile == null">
and a.mobile is null
</if>
</if>
<if test="condition.containsKey('mobileList')">
and a.mobile in
<foreach collection="condition.mobileList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('email')">
<if test="condition.email != null and condition.email != ''">
and a.email like #{condition.email}
</if>
<if test="condition.email == null">
and a.email is null
</if>
</if>
<if test="condition.containsKey('emailList')">
and a.email in
<foreach collection="condition.emailList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('type')">
<if test="condition.type != null ">
and a.type = #{condition.type}
</if>
<if test="condition.type == null">
and a.type is null
</if>
</if>
<if test="condition.containsKey('typeList')">
and a.type in
<foreach collection="condition.typeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('typeStart') and condition.typeStart != null">
<![CDATA[ and a.type >= #{condition.typeStart} ]]>
</if>
<if test="condition.containsKey('typeEnd') and condition.typeEnd != null">
<![CDATA[ and a.type <= #{condition.typeEnd} ]]>
</if>
<if test="condition.containsKey('sessionId')">
<if test="condition.sessionId != null and condition.sessionId != ''">
and a.sessionId like #{condition.sessionId}
</if>
<if test="condition.sessionId == null">
and a.sessionId is null
</if>
</if>
<if test="condition.containsKey('sessionIdList')">
and a.sessionId in
<foreach collection="condition.sessionIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('ip')">
<if test="condition.ip != null and condition.ip != ''">
and a.ip like #{condition.ip}
</if>
<if test="condition.ip == null">
and a.ip is null
</if>
</if>
<if test="condition.containsKey('ipList')">
and a.ip in
<foreach collection="condition.ipList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="condition.containsKey('createTime')">
<if test="condition.createTime != null ">
and a.createTime = #{condition.createTime}
</if>
<if test="condition.createTime == null">
and a.createTime is null
</if>
</if>
<if test="condition.containsKey('createTimeStart') and condition.createTimeStart != null and condition.createTimeStart!=''">
<![CDATA[ and a.createTime >= STR_TO_DATE(left(concat(#{condition.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('createTimeEnd') and condition.createTimeEnd != null and condition.createTimeEnd!=''">
<![CDATA[ and a.createTime <= STR_TO_DATE(left(concat(#{condition.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('lapseTime')">
<if test="condition.lapseTime != null ">
and a.lapseTime = #{condition.lapseTime}
</if>
<if test="condition.lapseTime == null">
and a.lapseTime is null
</if>
</if>
<if test="condition.containsKey('lapseTimeStart') and condition.lapseTimeStart != null and condition.lapseTimeStart!=''">
<![CDATA[ and a.lapseTime >= STR_TO_DATE(left(concat(#{condition.lapseTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
<if test="condition.containsKey('lapseTimeEnd') and condition.lapseTimeEnd != null and condition.lapseTimeEnd!=''">
<![CDATA[ and a.lapseTime <= STR_TO_DATE(left(concat(#{condition.lapseTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s') ]]>
</if>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test="orderCol.id!= null">
${orderCol.id}
</if>
,
</if>
<if test="orderCol.containsKey('code')">
a.code
<if test="orderCol.code!= null">
${orderCol.code}
</if>
,
</if>
<if test="orderCol.containsKey('url')">
a.url
<if test="orderCol.url!= null">
${orderCol.url}
</if>
,
</if>
<if test="orderCol.containsKey('mobile')">
a.mobile
<if test="orderCol.mobile!= null">
${orderCol.mobile}
</if>
,
</if>
<if test="orderCol.containsKey('email')">
a.email
<if test="orderCol.email!= null">
${orderCol.email}
</if>
,
</if>
<if test="orderCol.containsKey('type')">
a.type
<if test="orderCol.type!= null">
${orderCol.type}
</if>
,
</if>
<if test="orderCol.containsKey('sessionId')">
a.sessionId
<if test="orderCol.sessionId!= null">
${orderCol.sessionId}
</if>
,
</if>
<if test="orderCol.containsKey('ip')">
a.ip
<if test="orderCol.ip!= null">
${orderCol.ip}
</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test="orderCol.createTime!= null">
${orderCol.createTime}
</if>
,
</if>
<if test="orderCol.containsKey('lapseTime')">
a.lapseTime
<if test="orderCol.lapseTime!= null">
${orderCol.lapseTime}
</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.connect.dao.ibatis.ConnectLimitDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ConnectLimitEntity" id="ConnectLimitEntity-Map">
<id property="id" column="id" />
<result property="deviceConnectLimit" column="deviceConnectLimit" />
<result property="customerDeviceMQTTConnectLimit" column="customerDeviceMQTTConnectLimit" />
<result property="deviceConnectRequestLimit" column="deviceConnectRequestLimit" />
<result property="deviceSubNumLimit" column="deviceSubNumLimit" />
<result property="customerDeviceToPlatformRequestLimit" column="customerDeviceToPlatformRequestLimit" />
<result property="customerPlatformToDeviceRequestLimit" column="customerPlatformToDeviceRequestLimit" />
<result property="deviceSubmitRequestQos0Limit" column="deviceSubmitRequestQos0Limit" />
<result property="deviceSubmitRequestQos1Limit" column="deviceSubmitRequestQos1Limit" />
<result property="deviceReveiceMessageLimit" column="deviceReveiceMessageLimit" />
<result property="connectThroughputLimit" column="connectThroughputLimit" />
<result property="messageQoS1StorageMaxLimit" column="messageQoS1StorageMaxLimit" />
<result property="messageMQTTLenghtLimit" column="messageMQTTLenghtLimit" />
<result property="MQTTHearbeatLimit" column="MQTTHearbeatLimit" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceConnectLimit') or colPickMode == 1 and data.containsKey('deviceConnectLimit')))">
a.deviceConnectLimit as deviceConnectLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerDeviceMQTTConnectLimit') or colPickMode == 1 and data.containsKey('customerDeviceMQTTConnectLimit')))">
a.customerDeviceMQTTConnectLimit as customerDeviceMQTTConnectLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceConnectRequestLimit') or colPickMode == 1 and data.containsKey('deviceConnectRequestLimit')))">
a.deviceConnectRequestLimit as deviceConnectRequestLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceSubNumLimit') or colPickMode == 1 and data.containsKey('deviceSubNumLimit')))">
a.deviceSubNumLimit as deviceSubNumLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerDeviceToPlatformRequestLimit') or colPickMode == 1 and data.containsKey('customerDeviceToPlatformRequestLimit')))">
a.customerDeviceToPlatformRequestLimit as customerDeviceToPlatformRequestLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerPlatformToDeviceRequestLimit') or colPickMode == 1 and data.containsKey('customerPlatformToDeviceRequestLimit')))">
a.customerPlatformToDeviceRequestLimit as customerPlatformToDeviceRequestLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceSubmitRequestQos0Limit') or colPickMode == 1 and data.containsKey('deviceSubmitRequestQos0Limit')))">
a.deviceSubmitRequestQos0Limit as deviceSubmitRequestQos0Limit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceSubmitRequestQos1Limit') or colPickMode == 1 and data.containsKey('deviceSubmitRequestQos1Limit')))">
a.deviceSubmitRequestQos1Limit as deviceSubmitRequestQos1Limit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceReveiceMessageLimit') or colPickMode == 1 and data.containsKey('deviceReveiceMessageLimit')))">
a.deviceReveiceMessageLimit as deviceReveiceMessageLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('connectThroughputLimit') or colPickMode == 1 and data.containsKey('connectThroughputLimit')))">
a.connectThroughputLimit as connectThroughputLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('messageQoS1StorageMaxLimit') or colPickMode == 1 and data.containsKey('messageQoS1StorageMaxLimit')))">
a.messageQoS1StorageMaxLimit as messageQoS1StorageMaxLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('messageMQTTLenghtLimit') or colPickMode == 1 and data.containsKey('messageMQTTLenghtLimit')))">
a.messageMQTTLenghtLimit as messageMQTTLenghtLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('MQTTHearbeatLimit') or colPickMode == 1 and data.containsKey('MQTTHearbeatLimit')))">
a.MQTTHearbeatLimit as MQTTHearbeatLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ConnectLimitEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_connect_limit
(deviceConnectLimit,customerDeviceMQTTConnectLimit,deviceConnectRequestLimit,deviceSubNumLimit,customerDeviceToPlatformRequestLimit,customerPlatformToDeviceRequestLimit,deviceSubmitRequestQos0Limit,deviceSubmitRequestQos1Limit,deviceReveiceMessageLimit,connectThroughputLimit,messageQoS1StorageMaxLimit,messageMQTTLenghtLimit,MQTTHearbeatLimit,createTime,updateTime)
VALUES
(#{deviceConnectLimit},#{customerDeviceMQTTConnectLimit},#{deviceConnectRequestLimit},#{deviceSubNumLimit},#{customerDeviceToPlatformRequestLimit},#{customerPlatformToDeviceRequestLimit},#{deviceSubmitRequestQos0Limit},#{deviceSubmitRequestQos1Limit},#{deviceReveiceMessageLimit},#{connectThroughputLimit},#{messageQoS1StorageMaxLimit},#{messageMQTTLenghtLimit},#{MQTTHearbeatLimit},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_connect_limit
(deviceConnectLimit,customerDeviceMQTTConnectLimit,deviceConnectRequestLimit,deviceSubNumLimit,customerDeviceToPlatformRequestLimit,customerPlatformToDeviceRequestLimit,deviceSubmitRequestQos0Limit,deviceSubmitRequestQos1Limit,deviceReveiceMessageLimit,connectThroughputLimit,messageQoS1StorageMaxLimit,messageMQTTLenghtLimit,MQTTHearbeatLimit,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.deviceConnectLimit},#{item.customerDeviceMQTTConnectLimit},#{item.deviceConnectRequestLimit},#{item.deviceSubNumLimit},#{item.customerDeviceToPlatformRequestLimit},#{item.customerPlatformToDeviceRequestLimit},#{item.deviceSubmitRequestQos0Limit},#{item.deviceSubmitRequestQos1Limit},#{item.deviceReveiceMessageLimit},#{item.connectThroughputLimit},#{item.messageQoS1StorageMaxLimit},#{item.messageMQTTLenghtLimit},#{item.MQTTHearbeatLimit},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_connect_limit as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('deviceConnectLimit')) or (colPickMode==1 and !data.containsKey('deviceConnectLimit'))">
a.deviceConnectLimit=#{data.deviceConnectLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceConnectLimitIncrement')) or (colPickMode==1 and !data.containsKey('deviceConnectLimitIncrement'))">
a.deviceConnectLimit=ifnull(a.deviceConnectLimit,0) + #{data.deviceConnectLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('customerDeviceMQTTConnectLimit')) or (colPickMode==1 and !data.containsKey('customerDeviceMQTTConnectLimit'))">
a.customerDeviceMQTTConnectLimit=#{data.customerDeviceMQTTConnectLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('customerDeviceMQTTConnectLimitIncrement')) or (colPickMode==1 and !data.containsKey('customerDeviceMQTTConnectLimitIncrement'))">
a.customerDeviceMQTTConnectLimit=ifnull(a.customerDeviceMQTTConnectLimit,0) + #{data.customerDeviceMQTTConnectLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceConnectRequestLimit')) or (colPickMode==1 and !data.containsKey('deviceConnectRequestLimit'))">
a.deviceConnectRequestLimit=#{data.deviceConnectRequestLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceConnectRequestLimitIncrement')) or (colPickMode==1 and !data.containsKey('deviceConnectRequestLimitIncrement'))">
a.deviceConnectRequestLimit=ifnull(a.deviceConnectRequestLimit,0) + #{data.deviceConnectRequestLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubNumLimit')) or (colPickMode==1 and !data.containsKey('deviceSubNumLimit'))">
a.deviceSubNumLimit=#{data.deviceSubNumLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubNumLimitIncrement')) or (colPickMode==1 and !data.containsKey('deviceSubNumLimitIncrement'))">
a.deviceSubNumLimit=ifnull(a.deviceSubNumLimit,0) + #{data.deviceSubNumLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('customerDeviceToPlatformRequestLimit')) or (colPickMode==1 and !data.containsKey('customerDeviceToPlatformRequestLimit'))">
a.customerDeviceToPlatformRequestLimit=#{data.customerDeviceToPlatformRequestLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('customerDeviceToPlatformRequestLimitIncrement')) or (colPickMode==1 and !data.containsKey('customerDeviceToPlatformRequestLimitIncrement'))">
a.customerDeviceToPlatformRequestLimit=ifnull(a.customerDeviceToPlatformRequestLimit,0) + #{data.customerDeviceToPlatformRequestLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('customerPlatformToDeviceRequestLimit')) or (colPickMode==1 and !data.containsKey('customerPlatformToDeviceRequestLimit'))">
a.customerPlatformToDeviceRequestLimit=#{data.customerPlatformToDeviceRequestLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('customerPlatformToDeviceRequestLimitIncrement')) or (colPickMode==1 and !data.containsKey('customerPlatformToDeviceRequestLimitIncrement'))">
a.customerPlatformToDeviceRequestLimit=ifnull(a.customerPlatformToDeviceRequestLimit,0) + #{data.customerPlatformToDeviceRequestLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubmitRequestQos0Limit')) or (colPickMode==1 and !data.containsKey('deviceSubmitRequestQos0Limit'))">
a.deviceSubmitRequestQos0Limit=#{data.deviceSubmitRequestQos0Limit},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubmitRequestQos0LimitIncrement')) or (colPickMode==1 and !data.containsKey('deviceSubmitRequestQos0LimitIncrement'))">
a.deviceSubmitRequestQos0Limit=ifnull(a.deviceSubmitRequestQos0Limit,0) + #{data.deviceSubmitRequestQos0LimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubmitRequestQos1Limit')) or (colPickMode==1 and !data.containsKey('deviceSubmitRequestQos1Limit'))">
a.deviceSubmitRequestQos1Limit=#{data.deviceSubmitRequestQos1Limit},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubmitRequestQos1LimitIncrement')) or (colPickMode==1 and !data.containsKey('deviceSubmitRequestQos1LimitIncrement'))">
a.deviceSubmitRequestQos1Limit=ifnull(a.deviceSubmitRequestQos1Limit,0) + #{data.deviceSubmitRequestQos1LimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceReveiceMessageLimit')) or (colPickMode==1 and !data.containsKey('deviceReveiceMessageLimit'))">
a.deviceReveiceMessageLimit=#{data.deviceReveiceMessageLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceReveiceMessageLimitIncrement')) or (colPickMode==1 and !data.containsKey('deviceReveiceMessageLimitIncrement'))">
a.deviceReveiceMessageLimit=ifnull(a.deviceReveiceMessageLimit,0) + #{data.deviceReveiceMessageLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('connectThroughputLimit')) or (colPickMode==1 and !data.containsKey('connectThroughputLimit'))">
a.connectThroughputLimit=#{data.connectThroughputLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('connectThroughputLimitIncrement')) or (colPickMode==1 and !data.containsKey('connectThroughputLimitIncrement'))">
a.connectThroughputLimit=ifnull(a.connectThroughputLimit,0) + #{data.connectThroughputLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('messageQoS1StorageMaxLimit')) or (colPickMode==1 and !data.containsKey('messageQoS1StorageMaxLimit'))">
a.messageQoS1StorageMaxLimit=#{data.messageQoS1StorageMaxLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('messageQoS1StorageMaxLimitIncrement')) or (colPickMode==1 and !data.containsKey('messageQoS1StorageMaxLimitIncrement'))">
a.messageQoS1StorageMaxLimit=ifnull(a.messageQoS1StorageMaxLimit,0) + #{data.messageQoS1StorageMaxLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('messageMQTTLenghtLimit')) or (colPickMode==1 and !data.containsKey('messageMQTTLenghtLimit'))">
a.messageMQTTLenghtLimit=#{data.messageMQTTLenghtLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('messageMQTTLenghtLimitIncrement')) or (colPickMode==1 and !data.containsKey('messageMQTTLenghtLimitIncrement'))">
a.messageMQTTLenghtLimit=ifnull(a.messageMQTTLenghtLimit,0) + #{data.messageMQTTLenghtLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('MQTTHearbeatLimit')) or (colPickMode==1 and !data.containsKey('MQTTHearbeatLimit'))">
a.MQTTHearbeatLimit=#{data.MQTTHearbeatLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('MQTTHearbeatLimitIncrement')) or (colPickMode==1 and !data.containsKey('MQTTHearbeatLimitIncrement'))">
a.MQTTHearbeatLimit=ifnull(a.MQTTHearbeatLimit,0) + #{data.MQTTHearbeatLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_connect_limit as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="deviceConnectLimit=(case" suffix="ELSE deviceConnectLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceConnectLimit')) or (colPickMode==1 and !item.containsKey('deviceConnectLimit'))">
when a.id=#{item.id} then #{item.deviceConnectLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceConnectLimitIncrement')) or (colPickMode==1 and !item.containsKey('deviceConnectLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceConnectLimit,0) + #{item.deviceConnectLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="customerDeviceMQTTConnectLimit=(case" suffix="ELSE customerDeviceMQTTConnectLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerDeviceMQTTConnectLimit')) or (colPickMode==1 and !item.containsKey('customerDeviceMQTTConnectLimit'))">
when a.id=#{item.id} then #{item.customerDeviceMQTTConnectLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('customerDeviceMQTTConnectLimitIncrement')) or (colPickMode==1 and !item.containsKey('customerDeviceMQTTConnectLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.customerDeviceMQTTConnectLimit,0) + #{item.customerDeviceMQTTConnectLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceConnectRequestLimit=(case" suffix="ELSE deviceConnectRequestLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceConnectRequestLimit')) or (colPickMode==1 and !item.containsKey('deviceConnectRequestLimit'))">
when a.id=#{item.id} then #{item.deviceConnectRequestLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceConnectRequestLimitIncrement')) or (colPickMode==1 and !item.containsKey('deviceConnectRequestLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceConnectRequestLimit,0) + #{item.deviceConnectRequestLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceSubNumLimit=(case" suffix="ELSE deviceSubNumLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceSubNumLimit')) or (colPickMode==1 and !item.containsKey('deviceSubNumLimit'))">
when a.id=#{item.id} then #{item.deviceSubNumLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceSubNumLimitIncrement')) or (colPickMode==1 and !item.containsKey('deviceSubNumLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceSubNumLimit,0) + #{item.deviceSubNumLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="customerDeviceToPlatformRequestLimit=(case" suffix="ELSE customerDeviceToPlatformRequestLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerDeviceToPlatformRequestLimit')) or (colPickMode==1 and !item.containsKey('customerDeviceToPlatformRequestLimit'))">
when a.id=#{item.id} then #{item.customerDeviceToPlatformRequestLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('customerDeviceToPlatformRequestLimitIncrement')) or (colPickMode==1 and !item.containsKey('customerDeviceToPlatformRequestLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.customerDeviceToPlatformRequestLimit,0) + #{item.customerDeviceToPlatformRequestLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="customerPlatformToDeviceRequestLimit=(case" suffix="ELSE customerPlatformToDeviceRequestLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerPlatformToDeviceRequestLimit')) or (colPickMode==1 and !item.containsKey('customerPlatformToDeviceRequestLimit'))">
when a.id=#{item.id} then #{item.customerPlatformToDeviceRequestLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('customerPlatformToDeviceRequestLimitIncrement')) or (colPickMode==1 and !item.containsKey('customerPlatformToDeviceRequestLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.customerPlatformToDeviceRequestLimit,0) + #{item.customerPlatformToDeviceRequestLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceSubmitRequestQos0Limit=(case" suffix="ELSE deviceSubmitRequestQos0Limit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceSubmitRequestQos0Limit')) or (colPickMode==1 and !item.containsKey('deviceSubmitRequestQos0Limit'))">
when a.id=#{item.id} then #{item.deviceSubmitRequestQos0Limit}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceSubmitRequestQos0LimitIncrement')) or (colPickMode==1 and !item.containsKey('deviceSubmitRequestQos0LimitIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceSubmitRequestQos0Limit,0) + #{item.deviceSubmitRequestQos0LimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceSubmitRequestQos1Limit=(case" suffix="ELSE deviceSubmitRequestQos1Limit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceSubmitRequestQos1Limit')) or (colPickMode==1 and !item.containsKey('deviceSubmitRequestQos1Limit'))">
when a.id=#{item.id} then #{item.deviceSubmitRequestQos1Limit}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceSubmitRequestQos1LimitIncrement')) or (colPickMode==1 and !item.containsKey('deviceSubmitRequestQos1LimitIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceSubmitRequestQos1Limit,0) + #{item.deviceSubmitRequestQos1LimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceReveiceMessageLimit=(case" suffix="ELSE deviceReveiceMessageLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceReveiceMessageLimit')) or (colPickMode==1 and !item.containsKey('deviceReveiceMessageLimit'))">
when a.id=#{item.id} then #{item.deviceReveiceMessageLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceReveiceMessageLimitIncrement')) or (colPickMode==1 and !item.containsKey('deviceReveiceMessageLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceReveiceMessageLimit,0) + #{item.deviceReveiceMessageLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="connectThroughputLimit=(case" suffix="ELSE connectThroughputLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('connectThroughputLimit')) or (colPickMode==1 and !item.containsKey('connectThroughputLimit'))">
when a.id=#{item.id} then #{item.connectThroughputLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('connectThroughputLimitIncrement')) or (colPickMode==1 and !item.containsKey('connectThroughputLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.connectThroughputLimit,0) + #{item.connectThroughputLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="messageQoS1StorageMaxLimit=(case" suffix="ELSE messageQoS1StorageMaxLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('messageQoS1StorageMaxLimit')) or (colPickMode==1 and !item.containsKey('messageQoS1StorageMaxLimit'))">
when a.id=#{item.id} then #{item.messageQoS1StorageMaxLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('messageQoS1StorageMaxLimitIncrement')) or (colPickMode==1 and !item.containsKey('messageQoS1StorageMaxLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.messageQoS1StorageMaxLimit,0) + #{item.messageQoS1StorageMaxLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="messageMQTTLenghtLimit=(case" suffix="ELSE messageMQTTLenghtLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('messageMQTTLenghtLimit')) or (colPickMode==1 and !item.containsKey('messageMQTTLenghtLimit'))">
when a.id=#{item.id} then #{item.messageMQTTLenghtLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('messageMQTTLenghtLimitIncrement')) or (colPickMode==1 and !item.containsKey('messageMQTTLenghtLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.messageMQTTLenghtLimit,0) + #{item.messageMQTTLenghtLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="MQTTHearbeatLimit=(case" suffix="ELSE MQTTHearbeatLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('MQTTHearbeatLimit')) or (colPickMode==1 and !item.containsKey('MQTTHearbeatLimit'))">
when a.id=#{item.id} then #{item.MQTTHearbeatLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('MQTTHearbeatLimitIncrement')) or (colPickMode==1 and !item.containsKey('MQTTHearbeatLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.MQTTHearbeatLimit,0) + #{item.MQTTHearbeatLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ConnectLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_connect_limit as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_connect_limit as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_connect_limit where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_connect_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ConnectLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_connect_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_connect_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('deviceConnectLimit')">
<if test="conditionParamRef.deviceConnectLimit != null ">
${_conditionType_} a.deviceConnectLimit = #{${_conditionParam_}.deviceConnectLimit}
</if>
<if test="conditionParamRef.deviceConnectLimit == null">
${_conditionType_} a.deviceConnectLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceConnectLimitList')">
${_conditionType_} a.deviceConnectLimit in
<foreach collection="conditionParamRef.deviceConnectLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceConnectLimitStart') and conditionParamRef.deviceConnectLimitStart != null">
${_conditionType_} a.deviceConnectLimit <![CDATA[ >= ]]> #{${_conditionParam_}.deviceConnectLimitStart}
</if>
<if test="conditionParamRef.containsKey('deviceConnectLimitEnd') and conditionParamRef.deviceConnectLimitEnd != null">
${_conditionType_} a.deviceConnectLimit <![CDATA[ <= ]]> #{${_conditionParam_}.deviceConnectLimitEnd}
</if>
<if test="conditionParamRef.containsKey('customerDeviceMQTTConnectLimit')">
<if test="conditionParamRef.customerDeviceMQTTConnectLimit != null ">
${_conditionType_} a.customerDeviceMQTTConnectLimit = #{${_conditionParam_}.customerDeviceMQTTConnectLimit}
</if>
<if test="conditionParamRef.customerDeviceMQTTConnectLimit == null">
${_conditionType_} a.customerDeviceMQTTConnectLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerDeviceMQTTConnectLimitList')">
${_conditionType_} a.customerDeviceMQTTConnectLimit in
<foreach collection="conditionParamRef.customerDeviceMQTTConnectLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerDeviceMQTTConnectLimitStart') and conditionParamRef.customerDeviceMQTTConnectLimitStart != null">
${_conditionType_} a.customerDeviceMQTTConnectLimit <![CDATA[ >= ]]> #{${_conditionParam_}.customerDeviceMQTTConnectLimitStart}
</if>
<if test="conditionParamRef.containsKey('customerDeviceMQTTConnectLimitEnd') and conditionParamRef.customerDeviceMQTTConnectLimitEnd != null">
${_conditionType_} a.customerDeviceMQTTConnectLimit <![CDATA[ <= ]]> #{${_conditionParam_}.customerDeviceMQTTConnectLimitEnd}
</if>
<if test="conditionParamRef.containsKey('deviceConnectRequestLimit')">
<if test="conditionParamRef.deviceConnectRequestLimit != null ">
${_conditionType_} a.deviceConnectRequestLimit = #{${_conditionParam_}.deviceConnectRequestLimit}
</if>
<if test="conditionParamRef.deviceConnectRequestLimit == null">
${_conditionType_} a.deviceConnectRequestLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceConnectRequestLimitList')">
${_conditionType_} a.deviceConnectRequestLimit in
<foreach collection="conditionParamRef.deviceConnectRequestLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceConnectRequestLimitStart') and conditionParamRef.deviceConnectRequestLimitStart != null">
${_conditionType_} a.deviceConnectRequestLimit <![CDATA[ >= ]]> #{${_conditionParam_}.deviceConnectRequestLimitStart}
</if>
<if test="conditionParamRef.containsKey('deviceConnectRequestLimitEnd') and conditionParamRef.deviceConnectRequestLimitEnd != null">
${_conditionType_} a.deviceConnectRequestLimit <![CDATA[ <= ]]> #{${_conditionParam_}.deviceConnectRequestLimitEnd}
</if>
<if test="conditionParamRef.containsKey('deviceSubNumLimit')">
<if test="conditionParamRef.deviceSubNumLimit != null ">
${_conditionType_} a.deviceSubNumLimit = #{${_conditionParam_}.deviceSubNumLimit}
</if>
<if test="conditionParamRef.deviceSubNumLimit == null">
${_conditionType_} a.deviceSubNumLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceSubNumLimitList')">
${_conditionType_} a.deviceSubNumLimit in
<foreach collection="conditionParamRef.deviceSubNumLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceSubNumLimitStart') and conditionParamRef.deviceSubNumLimitStart != null">
${_conditionType_} a.deviceSubNumLimit <![CDATA[ >= ]]> #{${_conditionParam_}.deviceSubNumLimitStart}
</if>
<if test="conditionParamRef.containsKey('deviceSubNumLimitEnd') and conditionParamRef.deviceSubNumLimitEnd != null">
${_conditionType_} a.deviceSubNumLimit <![CDATA[ <= ]]> #{${_conditionParam_}.deviceSubNumLimitEnd}
</if>
<if test="conditionParamRef.containsKey('customerDeviceToPlatformRequestLimit')">
<if test="conditionParamRef.customerDeviceToPlatformRequestLimit != null ">
${_conditionType_} a.customerDeviceToPlatformRequestLimit = #{${_conditionParam_}.customerDeviceToPlatformRequestLimit}
</if>
<if test="conditionParamRef.customerDeviceToPlatformRequestLimit == null">
${_conditionType_} a.customerDeviceToPlatformRequestLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerDeviceToPlatformRequestLimitList')">
${_conditionType_} a.customerDeviceToPlatformRequestLimit in
<foreach collection="conditionParamRef.customerDeviceToPlatformRequestLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerDeviceToPlatformRequestLimitStart') and conditionParamRef.customerDeviceToPlatformRequestLimitStart != null">
${_conditionType_} a.customerDeviceToPlatformRequestLimit <![CDATA[ >= ]]> #{${_conditionParam_}.customerDeviceToPlatformRequestLimitStart}
</if>
<if test="conditionParamRef.containsKey('customerDeviceToPlatformRequestLimitEnd') and conditionParamRef.customerDeviceToPlatformRequestLimitEnd != null">
${_conditionType_} a.customerDeviceToPlatformRequestLimit <![CDATA[ <= ]]> #{${_conditionParam_}.customerDeviceToPlatformRequestLimitEnd}
</if>
<if test="conditionParamRef.containsKey('customerPlatformToDeviceRequestLimit')">
<if test="conditionParamRef.customerPlatformToDeviceRequestLimit != null ">
${_conditionType_} a.customerPlatformToDeviceRequestLimit = #{${_conditionParam_}.customerPlatformToDeviceRequestLimit}
</if>
<if test="conditionParamRef.customerPlatformToDeviceRequestLimit == null">
${_conditionType_} a.customerPlatformToDeviceRequestLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerPlatformToDeviceRequestLimitList')">
${_conditionType_} a.customerPlatformToDeviceRequestLimit in
<foreach collection="conditionParamRef.customerPlatformToDeviceRequestLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerPlatformToDeviceRequestLimitStart') and conditionParamRef.customerPlatformToDeviceRequestLimitStart != null">
${_conditionType_} a.customerPlatformToDeviceRequestLimit <![CDATA[ >= ]]> #{${_conditionParam_}.customerPlatformToDeviceRequestLimitStart}
</if>
<if test="conditionParamRef.containsKey('customerPlatformToDeviceRequestLimitEnd') and conditionParamRef.customerPlatformToDeviceRequestLimitEnd != null">
${_conditionType_} a.customerPlatformToDeviceRequestLimit <![CDATA[ <= ]]> #{${_conditionParam_}.customerPlatformToDeviceRequestLimitEnd}
</if>
<if test="conditionParamRef.containsKey('deviceSubmitRequestQos0Limit')">
<if test="conditionParamRef.deviceSubmitRequestQos0Limit != null ">
${_conditionType_} a.deviceSubmitRequestQos0Limit = #{${_conditionParam_}.deviceSubmitRequestQos0Limit}
</if>
<if test="conditionParamRef.deviceSubmitRequestQos0Limit == null">
${_conditionType_} a.deviceSubmitRequestQos0Limit is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceSubmitRequestQos0LimitList')">
${_conditionType_} a.deviceSubmitRequestQos0Limit in
<foreach collection="conditionParamRef.deviceSubmitRequestQos0LimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceSubmitRequestQos0LimitStart') and conditionParamRef.deviceSubmitRequestQos0LimitStart != null">
${_conditionType_} a.deviceSubmitRequestQos0Limit <![CDATA[ >= ]]> #{${_conditionParam_}.deviceSubmitRequestQos0LimitStart}
</if>
<if test="conditionParamRef.containsKey('deviceSubmitRequestQos0LimitEnd') and conditionParamRef.deviceSubmitRequestQos0LimitEnd != null">
${_conditionType_} a.deviceSubmitRequestQos0Limit <![CDATA[ <= ]]> #{${_conditionParam_}.deviceSubmitRequestQos0LimitEnd}
</if>
<if test="conditionParamRef.containsKey('deviceSubmitRequestQos1Limit')">
<if test="conditionParamRef.deviceSubmitRequestQos1Limit != null ">
${_conditionType_} a.deviceSubmitRequestQos1Limit = #{${_conditionParam_}.deviceSubmitRequestQos1Limit}
</if>
<if test="conditionParamRef.deviceSubmitRequestQos1Limit == null">
${_conditionType_} a.deviceSubmitRequestQos1Limit is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceSubmitRequestQos1LimitList')">
${_conditionType_} a.deviceSubmitRequestQos1Limit in
<foreach collection="conditionParamRef.deviceSubmitRequestQos1LimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceSubmitRequestQos1LimitStart') and conditionParamRef.deviceSubmitRequestQos1LimitStart != null">
${_conditionType_} a.deviceSubmitRequestQos1Limit <![CDATA[ >= ]]> #{${_conditionParam_}.deviceSubmitRequestQos1LimitStart}
</if>
<if test="conditionParamRef.containsKey('deviceSubmitRequestQos1LimitEnd') and conditionParamRef.deviceSubmitRequestQos1LimitEnd != null">
${_conditionType_} a.deviceSubmitRequestQos1Limit <![CDATA[ <= ]]> #{${_conditionParam_}.deviceSubmitRequestQos1LimitEnd}
</if>
<if test="conditionParamRef.containsKey('deviceReveiceMessageLimit')">
<if test="conditionParamRef.deviceReveiceMessageLimit != null ">
${_conditionType_} a.deviceReveiceMessageLimit = #{${_conditionParam_}.deviceReveiceMessageLimit}
</if>
<if test="conditionParamRef.deviceReveiceMessageLimit == null">
${_conditionType_} a.deviceReveiceMessageLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceReveiceMessageLimitList')">
${_conditionType_} a.deviceReveiceMessageLimit in
<foreach collection="conditionParamRef.deviceReveiceMessageLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceReveiceMessageLimitStart') and conditionParamRef.deviceReveiceMessageLimitStart != null">
${_conditionType_} a.deviceReveiceMessageLimit <![CDATA[ >= ]]> #{${_conditionParam_}.deviceReveiceMessageLimitStart}
</if>
<if test="conditionParamRef.containsKey('deviceReveiceMessageLimitEnd') and conditionParamRef.deviceReveiceMessageLimitEnd != null">
${_conditionType_} a.deviceReveiceMessageLimit <![CDATA[ <= ]]> #{${_conditionParam_}.deviceReveiceMessageLimitEnd}
</if>
<if test="conditionParamRef.containsKey('connectThroughputLimit')">
<if test="conditionParamRef.connectThroughputLimit != null ">
${_conditionType_} a.connectThroughputLimit = #{${_conditionParam_}.connectThroughputLimit}
</if>
<if test="conditionParamRef.connectThroughputLimit == null">
${_conditionType_} a.connectThroughputLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('connectThroughputLimitList')">
${_conditionType_} a.connectThroughputLimit in
<foreach collection="conditionParamRef.connectThroughputLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('connectThroughputLimitStart') and conditionParamRef.connectThroughputLimitStart != null">
${_conditionType_} a.connectThroughputLimit <![CDATA[ >= ]]> #{${_conditionParam_}.connectThroughputLimitStart}
</if>
<if test="conditionParamRef.containsKey('connectThroughputLimitEnd') and conditionParamRef.connectThroughputLimitEnd != null">
${_conditionType_} a.connectThroughputLimit <![CDATA[ <= ]]> #{${_conditionParam_}.connectThroughputLimitEnd}
</if>
<if test="conditionParamRef.containsKey('messageQoS1StorageMaxLimit')">
<if test="conditionParamRef.messageQoS1StorageMaxLimit != null ">
${_conditionType_} a.messageQoS1StorageMaxLimit = #{${_conditionParam_}.messageQoS1StorageMaxLimit}
</if>
<if test="conditionParamRef.messageQoS1StorageMaxLimit == null">
${_conditionType_} a.messageQoS1StorageMaxLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('messageQoS1StorageMaxLimitList')">
${_conditionType_} a.messageQoS1StorageMaxLimit in
<foreach collection="conditionParamRef.messageQoS1StorageMaxLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('messageQoS1StorageMaxLimitStart') and conditionParamRef.messageQoS1StorageMaxLimitStart != null">
${_conditionType_} a.messageQoS1StorageMaxLimit <![CDATA[ >= ]]> #{${_conditionParam_}.messageQoS1StorageMaxLimitStart}
</if>
<if test="conditionParamRef.containsKey('messageQoS1StorageMaxLimitEnd') and conditionParamRef.messageQoS1StorageMaxLimitEnd != null">
${_conditionType_} a.messageQoS1StorageMaxLimit <![CDATA[ <= ]]> #{${_conditionParam_}.messageQoS1StorageMaxLimitEnd}
</if>
<if test="conditionParamRef.containsKey('messageMQTTLenghtLimit')">
<if test="conditionParamRef.messageMQTTLenghtLimit != null ">
${_conditionType_} a.messageMQTTLenghtLimit = #{${_conditionParam_}.messageMQTTLenghtLimit}
</if>
<if test="conditionParamRef.messageMQTTLenghtLimit == null">
${_conditionType_} a.messageMQTTLenghtLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('messageMQTTLenghtLimitList')">
${_conditionType_} a.messageMQTTLenghtLimit in
<foreach collection="conditionParamRef.messageMQTTLenghtLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('messageMQTTLenghtLimitStart') and conditionParamRef.messageMQTTLenghtLimitStart != null">
${_conditionType_} a.messageMQTTLenghtLimit <![CDATA[ >= ]]> #{${_conditionParam_}.messageMQTTLenghtLimitStart}
</if>
<if test="conditionParamRef.containsKey('messageMQTTLenghtLimitEnd') and conditionParamRef.messageMQTTLenghtLimitEnd != null">
${_conditionType_} a.messageMQTTLenghtLimit <![CDATA[ <= ]]> #{${_conditionParam_}.messageMQTTLenghtLimitEnd}
</if>
<if test="conditionParamRef.containsKey('MQTTHearbeatLimit')">
<if test="conditionParamRef.MQTTHearbeatLimit != null ">
${_conditionType_} a.MQTTHearbeatLimit = #{${_conditionParam_}.MQTTHearbeatLimit}
</if>
<if test="conditionParamRef.MQTTHearbeatLimit == null">
${_conditionType_} a.MQTTHearbeatLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('MQTTHearbeatLimitList')">
${_conditionType_} a.MQTTHearbeatLimit in
<foreach collection="conditionParamRef.MQTTHearbeatLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('MQTTHearbeatLimitStart') and conditionParamRef.MQTTHearbeatLimitStart != null">
${_conditionType_} a.MQTTHearbeatLimit <![CDATA[ >= ]]> #{${_conditionParam_}.MQTTHearbeatLimitStart}
</if>
<if test="conditionParamRef.containsKey('MQTTHearbeatLimitEnd') and conditionParamRef.MQTTHearbeatLimitEnd != null">
${_conditionType_} a.MQTTHearbeatLimit <![CDATA[ <= ]]> #{${_conditionParam_}.MQTTHearbeatLimitEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceConnectLimit')">
a.deviceConnectLimit
<if test='orderCol.deviceConnectLimit != null and "DESC".equalsIgnoreCase(orderCol.deviceConnectLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerDeviceMQTTConnectLimit')">
a.customerDeviceMQTTConnectLimit
<if test='orderCol.customerDeviceMQTTConnectLimit != null and "DESC".equalsIgnoreCase(orderCol.customerDeviceMQTTConnectLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceConnectRequestLimit')">
a.deviceConnectRequestLimit
<if test='orderCol.deviceConnectRequestLimit != null and "DESC".equalsIgnoreCase(orderCol.deviceConnectRequestLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceSubNumLimit')">
a.deviceSubNumLimit
<if test='orderCol.deviceSubNumLimit != null and "DESC".equalsIgnoreCase(orderCol.deviceSubNumLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerDeviceToPlatformRequestLimit')">
a.customerDeviceToPlatformRequestLimit
<if test='orderCol.customerDeviceToPlatformRequestLimit != null and "DESC".equalsIgnoreCase(orderCol.customerDeviceToPlatformRequestLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerPlatformToDeviceRequestLimit')">
a.customerPlatformToDeviceRequestLimit
<if test='orderCol.customerPlatformToDeviceRequestLimit != null and "DESC".equalsIgnoreCase(orderCol.customerPlatformToDeviceRequestLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceSubmitRequestQos0Limit')">
a.deviceSubmitRequestQos0Limit
<if test='orderCol.deviceSubmitRequestQos0Limit != null and "DESC".equalsIgnoreCase(orderCol.deviceSubmitRequestQos0Limit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceSubmitRequestQos1Limit')">
a.deviceSubmitRequestQos1Limit
<if test='orderCol.deviceSubmitRequestQos1Limit != null and "DESC".equalsIgnoreCase(orderCol.deviceSubmitRequestQos1Limit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceReveiceMessageLimit')">
a.deviceReveiceMessageLimit
<if test='orderCol.deviceReveiceMessageLimit != null and "DESC".equalsIgnoreCase(orderCol.deviceReveiceMessageLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('connectThroughputLimit')">
a.connectThroughputLimit
<if test='orderCol.connectThroughputLimit != null and "DESC".equalsIgnoreCase(orderCol.connectThroughputLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('messageQoS1StorageMaxLimit')">
a.messageQoS1StorageMaxLimit
<if test='orderCol.messageQoS1StorageMaxLimit != null and "DESC".equalsIgnoreCase(orderCol.messageQoS1StorageMaxLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('messageMQTTLenghtLimit')">
a.messageMQTTLenghtLimit
<if test='orderCol.messageMQTTLenghtLimit != null and "DESC".equalsIgnoreCase(orderCol.messageMQTTLenghtLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('MQTTHearbeatLimit')">
a.MQTTHearbeatLimit
<if test='orderCol.MQTTHearbeatLimit != null and "DESC".equalsIgnoreCase(orderCol.MQTTHearbeatLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.consumer.dao.ibatis.ConsumerGroupDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ConsumerGroupEntity" id="ConsumerGroupEntity-Map">
<id property="id" column="id" />
<result property="customerId" column="customerId" />
<result property="consumerGroupName" column="consumerGroupName" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('consumerGroupName') or colPickMode == 1 and data.containsKey('consumerGroupName')))">
a.consumerGroupName as consumerGroupName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ConsumerGroupEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_consumer_group
(customerId,consumerGroupName,createTime,updateTime)
VALUES
(#{customerId},#{consumerGroupName},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_consumer_group
(customerId,consumerGroupName,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.customerId},#{item.consumerGroupName},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_consumer_group as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupName')) or (colPickMode==1 and !data.containsKey('consumerGroupName'))">
a.consumerGroupName=#{data.consumerGroupName},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_consumer_group as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="customerId=(case" suffix="ELSE customerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerId')) or (colPickMode==1 and !item.containsKey('customerId'))">
when a.id=#{item.id} then #{item.customerId}
</when>
<when test="(colPickMode==0 and item.containsKey('customerIdIncrement')) or (colPickMode==1 and !item.containsKey('customerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.customerId,0) + #{item.customerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="consumerGroupName=(case" suffix="ELSE consumerGroupName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('consumerGroupName')) or (colPickMode==1 and !item.containsKey('consumerGroupName'))">
when a.id=#{item.id} then #{item.consumerGroupName}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ConsumerGroupEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_consumer_group as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_consumer_group as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_consumer_group where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_consumer_group as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ConsumerGroupEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_consumer_group as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_consumer_group as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('customerId')">
<if test="conditionParamRef.customerId != null ">
${_conditionType_} a.customerId = #{${_conditionParam_}.customerId}
</if>
<if test="conditionParamRef.customerId == null">
${_conditionType_} a.customerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerIdList')">
${_conditionType_} a.customerId in
<foreach collection="conditionParamRef.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerIdStart') and conditionParamRef.customerIdStart != null">
${_conditionType_} a.customerId <![CDATA[ >= ]]> #{${_conditionParam_}.customerIdStart}
</if>
<if test="conditionParamRef.containsKey('customerIdEnd') and conditionParamRef.customerIdEnd != null">
${_conditionType_} a.customerId <![CDATA[ <= ]]> #{${_conditionParam_}.customerIdEnd}
</if>
<if test="conditionParamRef.containsKey('consumerGroupName')">
<if test="conditionParamRef.consumerGroupName != null and conditionParamRef.consumerGroupName != ''">
${_conditionType_} a.consumerGroupName like #{${_conditionParam_}.consumerGroupName}
</if>
<if test="conditionParamRef.consumerGroupName == null">
${_conditionType_} a.consumerGroupName is null
</if>
</if>
<if test="conditionParamRef.containsKey('consumerGroupNameList')">
${_conditionType_} a.consumerGroupName in
<foreach collection="conditionParamRef.consumerGroupNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test='orderCol.customerId != null and "DESC".equalsIgnoreCase(orderCol.customerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('consumerGroupName')">
a.consumerGroupName
<if test='orderCol.consumerGroupName != null and "DESC".equalsIgnoreCase(orderCol.consumerGroupName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.consumer.dao.ibatis.ConsumerSubDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ConsumerSubEntity" id="ConsumerSubEntity-Map">
<id property="id" column="id" />
<result property="customerId" column="customerId" />
<result property="productId" column="productId" />
<result property="consumerGroupId" column="consumerGroupId" />
<result property="pushMessType" column="pushMessType" />
<result property="subType" column="subType" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productId') or colPickMode == 1 and data.containsKey('productId')))">
a.productId as productId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('consumerGroupId') or colPickMode == 1 and data.containsKey('consumerGroupId')))">
a.consumerGroupId as consumerGroupId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('pushMessType') or colPickMode == 1 and data.containsKey('pushMessType')))">
a.pushMessType as pushMessType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('subType') or colPickMode == 1 and data.containsKey('subType')))">
a.subType as subType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ConsumerSubEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_consumer_sub
(customerId,productId,consumerGroupId,pushMessType,subType,createTime,updateTime)
VALUES
(#{customerId},#{productId},#{consumerGroupId},#{pushMessType},#{subType},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_consumer_sub
(customerId,productId,consumerGroupId,pushMessType,subType,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.customerId},#{item.productId},#{item.consumerGroupId},#{item.pushMessType},#{item.subType},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_consumer_sub as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productId')) or (colPickMode==1 and !data.containsKey('productId'))">
a.productId=#{data.productId},
</if>
<if test="(colPickMode==0 and data.containsKey('productIdIncrement')) or (colPickMode==1 and !data.containsKey('productIdIncrement'))">
a.productId=ifnull(a.productId,0) + #{data.productIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupId')) or (colPickMode==1 and !data.containsKey('consumerGroupId'))">
a.consumerGroupId=#{data.consumerGroupId},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupIdIncrement')) or (colPickMode==1 and !data.containsKey('consumerGroupIdIncrement'))">
a.consumerGroupId=ifnull(a.consumerGroupId,0) + #{data.consumerGroupIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('pushMessType')) or (colPickMode==1 and !data.containsKey('pushMessType'))">
a.pushMessType=#{data.pushMessType},
</if>
<if test="(colPickMode==0 and data.containsKey('pushMessTypeIncrement')) or (colPickMode==1 and !data.containsKey('pushMessTypeIncrement'))">
a.pushMessType=ifnull(a.pushMessType,0) + #{data.pushMessTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('subType')) or (colPickMode==1 and !data.containsKey('subType'))">
a.subType=#{data.subType},
</if>
<if test="(colPickMode==0 and data.containsKey('subTypeIncrement')) or (colPickMode==1 and !data.containsKey('subTypeIncrement'))">
a.subType=ifnull(a.subType,0) + #{data.subTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_consumer_sub as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="customerId=(case" suffix="ELSE customerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerId')) or (colPickMode==1 and !item.containsKey('customerId'))">
when a.id=#{item.id} then #{item.customerId}
</when>
<when test="(colPickMode==0 and item.containsKey('customerIdIncrement')) or (colPickMode==1 and !item.containsKey('customerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.customerId,0) + #{item.customerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productId=(case" suffix="ELSE productId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productId')) or (colPickMode==1 and !item.containsKey('productId'))">
when a.id=#{item.id} then #{item.productId}
</when>
<when test="(colPickMode==0 and item.containsKey('productIdIncrement')) or (colPickMode==1 and !item.containsKey('productIdIncrement'))">
when a.id=#{item.id} then ifnull(a.productId,0) + #{item.productIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="consumerGroupId=(case" suffix="ELSE consumerGroupId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('consumerGroupId')) or (colPickMode==1 and !item.containsKey('consumerGroupId'))">
when a.id=#{item.id} then #{item.consumerGroupId}
</when>
<when test="(colPickMode==0 and item.containsKey('consumerGroupIdIncrement')) or (colPickMode==1 and !item.containsKey('consumerGroupIdIncrement'))">
when a.id=#{item.id} then ifnull(a.consumerGroupId,0) + #{item.consumerGroupIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="pushMessType=(case" suffix="ELSE pushMessType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('pushMessType')) or (colPickMode==1 and !item.containsKey('pushMessType'))">
when a.id=#{item.id} then #{item.pushMessType}
</when>
<when test="(colPickMode==0 and item.containsKey('pushMessTypeIncrement')) or (colPickMode==1 and !item.containsKey('pushMessTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.pushMessType,0) + #{item.pushMessTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="subType=(case" suffix="ELSE subType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('subType')) or (colPickMode==1 and !item.containsKey('subType'))">
when a.id=#{item.id} then #{item.subType}
</when>
<when test="(colPickMode==0 and item.containsKey('subTypeIncrement')) or (colPickMode==1 and !item.containsKey('subTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.subType,0) + #{item.subTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ConsumerSubEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_consumer_sub as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_consumer_sub as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_consumer_sub where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_consumer_sub as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ConsumerSubEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_consumer_sub as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_consumer_sub as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('customerId')">
<if test="conditionParamRef.customerId != null ">
${_conditionType_} a.customerId = #{${_conditionParam_}.customerId}
</if>
<if test="conditionParamRef.customerId == null">
${_conditionType_} a.customerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerIdList')">
${_conditionType_} a.customerId in
<foreach collection="conditionParamRef.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerIdStart') and conditionParamRef.customerIdStart != null">
${_conditionType_} a.customerId <![CDATA[ >= ]]> #{${_conditionParam_}.customerIdStart}
</if>
<if test="conditionParamRef.containsKey('customerIdEnd') and conditionParamRef.customerIdEnd != null">
${_conditionType_} a.customerId <![CDATA[ <= ]]> #{${_conditionParam_}.customerIdEnd}
</if>
<if test="conditionParamRef.containsKey('productId')">
<if test="conditionParamRef.productId != null ">
${_conditionType_} a.productId = #{${_conditionParam_}.productId}
</if>
<if test="conditionParamRef.productId == null">
${_conditionType_} a.productId is null
</if>
</if>
<if test="conditionParamRef.containsKey('productIdList')">
${_conditionType_} a.productId in
<foreach collection="conditionParamRef.productIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdStart') and conditionParamRef.productIdStart != null">
${_conditionType_} a.productId <![CDATA[ >= ]]> #{${_conditionParam_}.productIdStart}
</if>
<if test="conditionParamRef.containsKey('productIdEnd') and conditionParamRef.productIdEnd != null">
${_conditionType_} a.productId <![CDATA[ <= ]]> #{${_conditionParam_}.productIdEnd}
</if>
<if test="conditionParamRef.containsKey('consumerGroupId')">
<if test="conditionParamRef.consumerGroupId != null ">
${_conditionType_} a.consumerGroupId = #{${_conditionParam_}.consumerGroupId}
</if>
<if test="conditionParamRef.consumerGroupId == null">
${_conditionType_} a.consumerGroupId is null
</if>
</if>
<if test="conditionParamRef.containsKey('consumerGroupIdList')">
${_conditionType_} a.consumerGroupId in
<foreach collection="conditionParamRef.consumerGroupIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('consumerGroupIdStart') and conditionParamRef.consumerGroupIdStart != null">
${_conditionType_} a.consumerGroupId <![CDATA[ >= ]]> #{${_conditionParam_}.consumerGroupIdStart}
</if>
<if test="conditionParamRef.containsKey('consumerGroupIdEnd') and conditionParamRef.consumerGroupIdEnd != null">
${_conditionType_} a.consumerGroupId <![CDATA[ <= ]]> #{${_conditionParam_}.consumerGroupIdEnd}
</if>
<if test="conditionParamRef.containsKey('pushMessType')">
<if test="conditionParamRef.pushMessType != null ">
${_conditionType_} a.pushMessType = #{${_conditionParam_}.pushMessType}
</if>
<if test="conditionParamRef.pushMessType == null">
${_conditionType_} a.pushMessType is null
</if>
</if>
<if test="conditionParamRef.containsKey('pushMessTypeList')">
${_conditionType_} a.pushMessType in
<foreach collection="conditionParamRef.pushMessTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('pushMessTypeStart') and conditionParamRef.pushMessTypeStart != null">
${_conditionType_} a.pushMessType <![CDATA[ >= ]]> #{${_conditionParam_}.pushMessTypeStart}
</if>
<if test="conditionParamRef.containsKey('pushMessTypeEnd') and conditionParamRef.pushMessTypeEnd != null">
${_conditionType_} a.pushMessType <![CDATA[ <= ]]> #{${_conditionParam_}.pushMessTypeEnd}
</if>
<if test="conditionParamRef.containsKey('subType')">
<if test="conditionParamRef.subType != null ">
${_conditionType_} a.subType = #{${_conditionParam_}.subType}
</if>
<if test="conditionParamRef.subType == null">
${_conditionType_} a.subType is null
</if>
</if>
<if test="conditionParamRef.containsKey('subTypeList')">
${_conditionType_} a.subType in
<foreach collection="conditionParamRef.subTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('subTypeStart') and conditionParamRef.subTypeStart != null">
${_conditionType_} a.subType <![CDATA[ >= ]]> #{${_conditionParam_}.subTypeStart}
</if>
<if test="conditionParamRef.containsKey('subTypeEnd') and conditionParamRef.subTypeEnd != null">
${_conditionType_} a.subType <![CDATA[ <= ]]> #{${_conditionParam_}.subTypeEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test='orderCol.customerId != null and "DESC".equalsIgnoreCase(orderCol.customerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productId')">
a.productId
<if test='orderCol.productId != null and "DESC".equalsIgnoreCase(orderCol.productId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('consumerGroupId')">
a.consumerGroupId
<if test='orderCol.consumerGroupId != null and "DESC".equalsIgnoreCase(orderCol.consumerGroupId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('pushMessType')">
a.pushMessType
<if test='orderCol.pushMessType != null and "DESC".equalsIgnoreCase(orderCol.pushMessType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('subType')">
a.subType
<if test='orderCol.subType != null and "DESC".equalsIgnoreCase(orderCol.subType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.customer.dao.ibatis.CustomerDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="CustomerEntity" id="CustomerEntity-Map">
<id property="id" column="id" />
<result property="loginName" column="loginName" />
<result property="password" column="password" />
<result property="custType" column="custType" />
<result property="tradeId" column="tradeId" />
<result property="custName" column="custName" />
<result property="address" column="address" />
<result property="contactTelphone" column="contactTelphone" />
<result property="status" column="status" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
<result property="accessKey" column="accessKey" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('loginName') or colPickMode == 1 and data.containsKey('loginName')))">
a.loginName as loginName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('password') or colPickMode == 1 and data.containsKey('password')))">
a.password as password,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('custType') or colPickMode == 1 and data.containsKey('custType')))">
a.custType as custType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('tradeId') or colPickMode == 1 and data.containsKey('tradeId')))">
a.tradeId as tradeId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('custName') or colPickMode == 1 and data.containsKey('custName')))">
a.custName as custName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('address') or colPickMode == 1 and data.containsKey('address')))">
a.address as address,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('contactTelphone') or colPickMode == 1 and data.containsKey('contactTelphone')))">
a.contactTelphone as contactTelphone,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('status') or colPickMode == 1 and data.containsKey('status')))">
a.status as status,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('accessKey') or colPickMode == 1 and data.containsKey('accessKey')))">
a.accessKey as accessKey,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="CustomerEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_customer
(loginName,password,custType,tradeId,custName,address,contactTelphone,status,createTime,updateTime,accessKey)
VALUES
(#{loginName},#{password},#{custType},#{tradeId},#{custName},#{address},#{contactTelphone},#{status},#{createTime},#{updateTime},#{accessKey})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_customer
(loginName,password,custType,tradeId,custName,address,contactTelphone,status,createTime,updateTime,accessKey)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.loginName},#{item.password},#{item.custType},#{item.tradeId},#{item.custName},#{item.address},#{item.contactTelphone},#{item.status},#{item.createTime},#{item.updateTime},#{item.accessKey})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_customer as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('loginName')) or (colPickMode==1 and !data.containsKey('loginName'))">
a.loginName=#{data.loginName},
</if>
<if test="(colPickMode==0 and data.containsKey('password')) or (colPickMode==1 and !data.containsKey('password'))">
a.password=#{data.password},
</if>
<if test="(colPickMode==0 and data.containsKey('custType')) or (colPickMode==1 and !data.containsKey('custType'))">
a.custType=#{data.custType},
</if>
<if test="(colPickMode==0 and data.containsKey('custTypeIncrement')) or (colPickMode==1 and !data.containsKey('custTypeIncrement'))">
a.custType=ifnull(a.custType,0) + #{data.custTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('tradeId')) or (colPickMode==1 and !data.containsKey('tradeId'))">
a.tradeId=#{data.tradeId},
</if>
<if test="(colPickMode==0 and data.containsKey('tradeIdIncrement')) or (colPickMode==1 and !data.containsKey('tradeIdIncrement'))">
a.tradeId=ifnull(a.tradeId,0) + #{data.tradeIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('custName')) or (colPickMode==1 and !data.containsKey('custName'))">
a.custName=#{data.custName},
</if>
<if test="(colPickMode==0 and data.containsKey('address')) or (colPickMode==1 and !data.containsKey('address'))">
a.address=#{data.address},
</if>
<if test="(colPickMode==0 and data.containsKey('contactTelphone')) or (colPickMode==1 and !data.containsKey('contactTelphone'))">
a.contactTelphone=#{data.contactTelphone},
</if>
<if test="(colPickMode==0 and data.containsKey('status')) or (colPickMode==1 and !data.containsKey('status'))">
a.status=#{data.status},
</if>
<if test="(colPickMode==0 and data.containsKey('statusIncrement')) or (colPickMode==1 and !data.containsKey('statusIncrement'))">
a.status=ifnull(a.status,0) + #{data.statusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('accessKey')) or (colPickMode==1 and !data.containsKey('accessKey'))">
a.accessKey=#{data.accessKey},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_customer as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="loginName=(case" suffix="ELSE loginName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('loginName')) or (colPickMode==1 and !item.containsKey('loginName'))">
when a.id=#{item.id} then #{item.loginName}
</if>
</foreach>
</trim>
<trim prefix="password=(case" suffix="ELSE password end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('password')) or (colPickMode==1 and !item.containsKey('password'))">
when a.id=#{item.id} then #{item.password}
</if>
</foreach>
</trim>
<trim prefix="custType=(case" suffix="ELSE custType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('custType')) or (colPickMode==1 and !item.containsKey('custType'))">
when a.id=#{item.id} then #{item.custType}
</when>
<when test="(colPickMode==0 and item.containsKey('custTypeIncrement')) or (colPickMode==1 and !item.containsKey('custTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.custType,0) + #{item.custTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="tradeId=(case" suffix="ELSE tradeId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('tradeId')) or (colPickMode==1 and !item.containsKey('tradeId'))">
when a.id=#{item.id} then #{item.tradeId}
</when>
<when test="(colPickMode==0 and item.containsKey('tradeIdIncrement')) or (colPickMode==1 and !item.containsKey('tradeIdIncrement'))">
when a.id=#{item.id} then ifnull(a.tradeId,0) + #{item.tradeIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="custName=(case" suffix="ELSE custName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('custName')) or (colPickMode==1 and !item.containsKey('custName'))">
when a.id=#{item.id} then #{item.custName}
</if>
</foreach>
</trim>
<trim prefix="address=(case" suffix="ELSE address end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('address')) or (colPickMode==1 and !item.containsKey('address'))">
when a.id=#{item.id} then #{item.address}
</if>
</foreach>
</trim>
<trim prefix="contactTelphone=(case" suffix="ELSE contactTelphone end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('contactTelphone')) or (colPickMode==1 and !item.containsKey('contactTelphone'))">
when a.id=#{item.id} then #{item.contactTelphone}
</if>
</foreach>
</trim>
<trim prefix="status=(case" suffix="ELSE status end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('status')) or (colPickMode==1 and !item.containsKey('status'))">
when a.id=#{item.id} then #{item.status}
</when>
<when test="(colPickMode==0 and item.containsKey('statusIncrement')) or (colPickMode==1 and !item.containsKey('statusIncrement'))">
when a.id=#{item.id} then ifnull(a.status,0) + #{item.statusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="accessKey=(case" suffix="ELSE accessKey end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('accessKey')) or (colPickMode==1 and !item.containsKey('accessKey'))">
when a.id=#{item.id} then #{item.accessKey}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="CustomerEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_customer as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_customer as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_customer where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_customer as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="CustomerEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_customer as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_customer as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('loginName')">
<if test="conditionParamRef.loginName != null and conditionParamRef.loginName != ''">
${_conditionType_} a.loginName like #{${_conditionParam_}.loginName}
</if>
<if test="conditionParamRef.loginName == null">
${_conditionType_} a.loginName is null
</if>
</if>
<if test="conditionParamRef.containsKey('loginNameList')">
${_conditionType_} a.loginName in
<foreach collection="conditionParamRef.loginNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('password')">
<if test="conditionParamRef.password != null and conditionParamRef.password != ''">
${_conditionType_} a.password like #{${_conditionParam_}.password}
</if>
<if test="conditionParamRef.password == null">
${_conditionType_} a.password is null
</if>
</if>
<if test="conditionParamRef.containsKey('passwordList')">
${_conditionType_} a.password in
<foreach collection="conditionParamRef.passwordList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('custType')">
<if test="conditionParamRef.custType != null ">
${_conditionType_} a.custType = #{${_conditionParam_}.custType}
</if>
<if test="conditionParamRef.custType == null">
${_conditionType_} a.custType is null
</if>
</if>
<if test="conditionParamRef.containsKey('custTypeList')">
${_conditionType_} a.custType in
<foreach collection="conditionParamRef.custTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('custTypeStart') and conditionParamRef.custTypeStart != null">
${_conditionType_} a.custType <![CDATA[ >= ]]> #{${_conditionParam_}.custTypeStart}
</if>
<if test="conditionParamRef.containsKey('custTypeEnd') and conditionParamRef.custTypeEnd != null">
${_conditionType_} a.custType <![CDATA[ <= ]]> #{${_conditionParam_}.custTypeEnd}
</if>
<if test="conditionParamRef.containsKey('tradeId')">
<if test="conditionParamRef.tradeId != null ">
${_conditionType_} a.tradeId = #{${_conditionParam_}.tradeId}
</if>
<if test="conditionParamRef.tradeId == null">
${_conditionType_} a.tradeId is null
</if>
</if>
<if test="conditionParamRef.containsKey('tradeIdList')">
${_conditionType_} a.tradeId in
<foreach collection="conditionParamRef.tradeIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('tradeIdStart') and conditionParamRef.tradeIdStart != null">
${_conditionType_} a.tradeId <![CDATA[ >= ]]> #{${_conditionParam_}.tradeIdStart}
</if>
<if test="conditionParamRef.containsKey('tradeIdEnd') and conditionParamRef.tradeIdEnd != null">
${_conditionType_} a.tradeId <![CDATA[ <= ]]> #{${_conditionParam_}.tradeIdEnd}
</if>
<if test="conditionParamRef.containsKey('custName')">
<if test="conditionParamRef.custName != null and conditionParamRef.custName != ''">
${_conditionType_} a.custName like #{${_conditionParam_}.custName}
</if>
<if test="conditionParamRef.custName == null">
${_conditionType_} a.custName is null
</if>
</if>
<if test="conditionParamRef.containsKey('custNameList')">
${_conditionType_} a.custName in
<foreach collection="conditionParamRef.custNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('address')">
<if test="conditionParamRef.address != null and conditionParamRef.address != ''">
${_conditionType_} a.address like #{${_conditionParam_}.address}
</if>
<if test="conditionParamRef.address == null">
${_conditionType_} a.address is null
</if>
</if>
<if test="conditionParamRef.containsKey('addressList')">
${_conditionType_} a.address in
<foreach collection="conditionParamRef.addressList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('contactTelphone')">
<if test="conditionParamRef.contactTelphone != null and conditionParamRef.contactTelphone != ''">
${_conditionType_} a.contactTelphone like #{${_conditionParam_}.contactTelphone}
</if>
<if test="conditionParamRef.contactTelphone == null">
${_conditionType_} a.contactTelphone is null
</if>
</if>
<if test="conditionParamRef.containsKey('contactTelphoneList')">
${_conditionType_} a.contactTelphone in
<foreach collection="conditionParamRef.contactTelphoneList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('status')">
<if test="conditionParamRef.status != null ">
${_conditionType_} a.status = #{${_conditionParam_}.status}
</if>
<if test="conditionParamRef.status == null">
${_conditionType_} a.status is null
</if>
</if>
<if test="conditionParamRef.containsKey('statusList')">
${_conditionType_} a.status in
<foreach collection="conditionParamRef.statusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('statusStart') and conditionParamRef.statusStart != null">
${_conditionType_} a.status <![CDATA[ >= ]]> #{${_conditionParam_}.statusStart}
</if>
<if test="conditionParamRef.containsKey('statusEnd') and conditionParamRef.statusEnd != null">
${_conditionType_} a.status <![CDATA[ <= ]]> #{${_conditionParam_}.statusEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('accessKey')">
<if test="conditionParamRef.accessKey != null and conditionParamRef.accessKey != ''">
${_conditionType_} a.accessKey like #{${_conditionParam_}.accessKey}
</if>
<if test="conditionParamRef.accessKey == null">
${_conditionType_} a.accessKey is null
</if>
</if>
<if test="conditionParamRef.containsKey('accessKeyList')">
${_conditionType_} a.accessKey in
<foreach collection="conditionParamRef.accessKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('loginName')">
a.loginName
<if test='orderCol.loginName != null and "DESC".equalsIgnoreCase(orderCol.loginName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('password')">
a.password
<if test='orderCol.password != null and "DESC".equalsIgnoreCase(orderCol.password)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('custType')">
a.custType
<if test='orderCol.custType != null and "DESC".equalsIgnoreCase(orderCol.custType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('tradeId')">
a.tradeId
<if test='orderCol.tradeId != null and "DESC".equalsIgnoreCase(orderCol.tradeId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('custName')">
a.custName
<if test='orderCol.custName != null and "DESC".equalsIgnoreCase(orderCol.custName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('address')">
a.address
<if test='orderCol.address != null and "DESC".equalsIgnoreCase(orderCol.address)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('contactTelphone')">
a.contactTelphone
<if test='orderCol.contactTelphone != null and "DESC".equalsIgnoreCase(orderCol.contactTelphone)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('status')">
a.status
<if test='orderCol.status != null and "DESC".equalsIgnoreCase(orderCol.status)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('accessKey')">
a.accessKey
<if test='orderCol.accessKey != null and "DESC".equalsIgnoreCase(orderCol.accessKey)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.device.dao.ibatis.DeviceLogDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="DeviceLogEntity" id="DeviceLogEntity-Map">
<id property="id" column="id" />
<result property="deviceName" column="deviceName" />
<result property="productKey" column="productKey" />
<result property="logType" column="logType" />
<result property="content" column="content" />
<result property="createTime" column="createTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceName') or colPickMode == 1 and data.containsKey('deviceName')))">
a.deviceName as deviceName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productKey') or colPickMode == 1 and data.containsKey('productKey')))">
a.productKey as productKey,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('logType') or colPickMode == 1 and data.containsKey('logType')))">
a.logType as logType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('content') or colPickMode == 1 and data.containsKey('content')))">
a.content as content,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="DeviceLogEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_device_log
(deviceName,productKey,logType,content,createTime)
VALUES
(#{deviceName},#{productKey},#{logType},#{content},#{createTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_device_log
(deviceName,productKey,logType,content,createTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.deviceName},#{item.productKey},#{item.logType},#{item.content},#{item.createTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_device_log as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('deviceName')) or (colPickMode==1 and !data.containsKey('deviceName'))">
a.deviceName=#{data.deviceName},
</if>
<if test="(colPickMode==0 and data.containsKey('productKey')) or (colPickMode==1 and !data.containsKey('productKey'))">
a.productKey=#{data.productKey},
</if>
<if test="(colPickMode==0 and data.containsKey('logType')) or (colPickMode==1 and !data.containsKey('logType'))">
a.logType=#{data.logType},
</if>
<if test="(colPickMode==0 and data.containsKey('logTypeIncrement')) or (colPickMode==1 and !data.containsKey('logTypeIncrement'))">
a.logType=ifnull(a.logType,0) + #{data.logTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('content')) or (colPickMode==1 and !data.containsKey('content'))">
a.content=#{data.content},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_device_log as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="deviceName=(case" suffix="ELSE deviceName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceName')) or (colPickMode==1 and !item.containsKey('deviceName'))">
when a.id=#{item.id} then #{item.deviceName}
</if>
</foreach>
</trim>
<trim prefix="productKey=(case" suffix="ELSE productKey end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productKey')) or (colPickMode==1 and !item.containsKey('productKey'))">
when a.id=#{item.id} then #{item.productKey}
</if>
</foreach>
</trim>
<trim prefix="logType=(case" suffix="ELSE logType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('logType')) or (colPickMode==1 and !item.containsKey('logType'))">
when a.id=#{item.id} then #{item.logType}
</when>
<when test="(colPickMode==0 and item.containsKey('logTypeIncrement')) or (colPickMode==1 and !item.containsKey('logTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.logType,0) + #{item.logTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="content=(case" suffix="ELSE content end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('content')) or (colPickMode==1 and !item.containsKey('content'))">
when a.id=#{item.id} then #{item.content}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="DeviceLogEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_log as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_device_log as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_device_log where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_device_log as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="DeviceLogEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_log as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_device_log as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('deviceName')">
<if test="conditionParamRef.deviceName != null and conditionParamRef.deviceName != ''">
${_conditionType_} a.deviceName like #{${_conditionParam_}.deviceName}
</if>
<if test="conditionParamRef.deviceName == null">
${_conditionType_} a.deviceName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceNameList')">
${_conditionType_} a.deviceName in
<foreach collection="conditionParamRef.deviceNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productKey')">
<if test="conditionParamRef.productKey != null and conditionParamRef.productKey != ''">
${_conditionType_} a.productKey like #{${_conditionParam_}.productKey}
</if>
<if test="conditionParamRef.productKey == null">
${_conditionType_} a.productKey is null
</if>
</if>
<if test="conditionParamRef.containsKey('productKeyList')">
${_conditionType_} a.productKey in
<foreach collection="conditionParamRef.productKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('logType')">
<if test="conditionParamRef.logType != null ">
${_conditionType_} a.logType = #{${_conditionParam_}.logType}
</if>
<if test="conditionParamRef.logType == null">
${_conditionType_} a.logType is null
</if>
</if>
<if test="conditionParamRef.containsKey('logTypeList')">
${_conditionType_} a.logType in
<foreach collection="conditionParamRef.logTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('logTypeStart') and conditionParamRef.logTypeStart != null">
${_conditionType_} a.logType <![CDATA[ >= ]]> #{${_conditionParam_}.logTypeStart}
</if>
<if test="conditionParamRef.containsKey('logTypeEnd') and conditionParamRef.logTypeEnd != null">
${_conditionType_} a.logType <![CDATA[ <= ]]> #{${_conditionParam_}.logTypeEnd}
</if>
<if test="conditionParamRef.containsKey('content')">
<if test="conditionParamRef.content != null and conditionParamRef.content != ''">
${_conditionType_} a.content like #{${_conditionParam_}.content}
</if>
<if test="conditionParamRef.content == null">
${_conditionType_} a.content is null
</if>
</if>
<if test="conditionParamRef.containsKey('contentList')">
${_conditionType_} a.content in
<foreach collection="conditionParamRef.contentList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceName')">
a.deviceName
<if test='orderCol.deviceName != null and "DESC".equalsIgnoreCase(orderCol.deviceName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productKey')">
a.productKey
<if test='orderCol.productKey != null and "DESC".equalsIgnoreCase(orderCol.productKey)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('logType')">
a.logType
<if test='orderCol.logType != null and "DESC".equalsIgnoreCase(orderCol.logType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('content')">
a.content
<if test='orderCol.content != null and "DESC".equalsIgnoreCase(orderCol.content)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.device.dao.ibatis.DeviceDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="DeviceEntity" id="DeviceEntity-Map">
<id property="id" column="id" />
<result property="customerId" column="customerId" />
<result property="productId" column="productId" />
<result property="deviceName" column="deviceName" />
<result property="deviceRemark" column="deviceRemark" />
<result property="deviceSecret" column="deviceSecret" />
<result property="productKey" column="productKey" />
<result property="connectStatus" column="connectStatus" />
<result property="useStatus" column="useStatus" />
<result property="onlineTime" column="onlineTime" />
<result property="offlineTime" column="offlineTime" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productId') or colPickMode == 1 and data.containsKey('productId')))">
a.productId as productId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceName') or colPickMode == 1 and data.containsKey('deviceName')))">
a.deviceName as deviceName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceRemark') or colPickMode == 1 and data.containsKey('deviceRemark')))">
a.deviceRemark as deviceRemark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceSecret') or colPickMode == 1 and data.containsKey('deviceSecret')))">
a.deviceSecret as deviceSecret,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productKey') or colPickMode == 1 and data.containsKey('productKey')))">
a.productKey as productKey,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('connectStatus') or colPickMode == 1 and data.containsKey('connectStatus')))">
a.connectStatus as connectStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('useStatus') or colPickMode == 1 and data.containsKey('useStatus')))">
a.useStatus as useStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('onlineTime') or colPickMode == 1 and data.containsKey('onlineTime')))">
a.onlineTime as onlineTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('offlineTime') or colPickMode == 1 and data.containsKey('offlineTime')))">
a.offlineTime as offlineTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="DeviceEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_device
(customerId,productId,deviceName,deviceRemark,deviceSecret,productKey,connectStatus,useStatus,onlineTime,offlineTime,createTime,updateTime)
VALUES
(#{customerId},#{productId},#{deviceName},#{deviceRemark},#{deviceSecret},#{productKey},#{connectStatus},#{useStatus},#{onlineTime},#{offlineTime},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_device
(customerId,productId,deviceName,deviceRemark,deviceSecret,productKey,connectStatus,useStatus,onlineTime,offlineTime,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.customerId},#{item.productId},#{item.deviceName},#{item.deviceRemark},#{item.deviceSecret},#{item.productKey},#{item.connectStatus},#{item.useStatus},#{item.onlineTime},#{item.offlineTime},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_device as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productId')) or (colPickMode==1 and !data.containsKey('productId'))">
a.productId=#{data.productId},
</if>
<if test="(colPickMode==0 and data.containsKey('productIdIncrement')) or (colPickMode==1 and !data.containsKey('productIdIncrement'))">
a.productId=ifnull(a.productId,0) + #{data.productIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceName')) or (colPickMode==1 and !data.containsKey('deviceName'))">
a.deviceName=#{data.deviceName},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceRemark')) or (colPickMode==1 and !data.containsKey('deviceRemark'))">
a.deviceRemark=#{data.deviceRemark},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSecret')) or (colPickMode==1 and !data.containsKey('deviceSecret'))">
a.deviceSecret=#{data.deviceSecret},
</if>
<if test="(colPickMode==0 and data.containsKey('productKey')) or (colPickMode==1 and !data.containsKey('productKey'))">
a.productKey=#{data.productKey},
</if>
<if test="(colPickMode==0 and data.containsKey('connectStatus')) or (colPickMode==1 and !data.containsKey('connectStatus'))">
a.connectStatus=#{data.connectStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('connectStatusIncrement')) or (colPickMode==1 and !data.containsKey('connectStatusIncrement'))">
a.connectStatus=ifnull(a.connectStatus,0) + #{data.connectStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('useStatus')) or (colPickMode==1 and !data.containsKey('useStatus'))">
a.useStatus=#{data.useStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('useStatusIncrement')) or (colPickMode==1 and !data.containsKey('useStatusIncrement'))">
a.useStatus=ifnull(a.useStatus,0) + #{data.useStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('onlineTime')) or (colPickMode==1 and !data.containsKey('onlineTime'))">
a.onlineTime=#{data.onlineTime},
</if>
<if test="(colPickMode==0 and data.containsKey('offlineTime')) or (colPickMode==1 and !data.containsKey('offlineTime'))">
a.offlineTime=#{data.offlineTime},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_device as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="customerId=(case" suffix="ELSE customerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerId')) or (colPickMode==1 and !item.containsKey('customerId'))">
when a.id=#{item.id} then #{item.customerId}
</when>
<when test="(colPickMode==0 and item.containsKey('customerIdIncrement')) or (colPickMode==1 and !item.containsKey('customerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.customerId,0) + #{item.customerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productId=(case" suffix="ELSE productId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productId')) or (colPickMode==1 and !item.containsKey('productId'))">
when a.id=#{item.id} then #{item.productId}
</when>
<when test="(colPickMode==0 and item.containsKey('productIdIncrement')) or (colPickMode==1 and !item.containsKey('productIdIncrement'))">
when a.id=#{item.id} then ifnull(a.productId,0) + #{item.productIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceName=(case" suffix="ELSE deviceName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceName')) or (colPickMode==1 and !item.containsKey('deviceName'))">
when a.id=#{item.id} then #{item.deviceName}
</if>
</foreach>
</trim>
<trim prefix="deviceRemark=(case" suffix="ELSE deviceRemark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceRemark')) or (colPickMode==1 and !item.containsKey('deviceRemark'))">
when a.id=#{item.id} then #{item.deviceRemark}
</if>
</foreach>
</trim>
<trim prefix="deviceSecret=(case" suffix="ELSE deviceSecret end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceSecret')) or (colPickMode==1 and !item.containsKey('deviceSecret'))">
when a.id=#{item.id} then #{item.deviceSecret}
</if>
</foreach>
</trim>
<trim prefix="productKey=(case" suffix="ELSE productKey end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productKey')) or (colPickMode==1 and !item.containsKey('productKey'))">
when a.id=#{item.id} then #{item.productKey}
</if>
</foreach>
</trim>
<trim prefix="connectStatus=(case" suffix="ELSE connectStatus end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('connectStatus')) or (colPickMode==1 and !item.containsKey('connectStatus'))">
when a.id=#{item.id} then #{item.connectStatus}
</when>
<when test="(colPickMode==0 and item.containsKey('connectStatusIncrement')) or (colPickMode==1 and !item.containsKey('connectStatusIncrement'))">
when a.id=#{item.id} then ifnull(a.connectStatus,0) + #{item.connectStatusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="useStatus=(case" suffix="ELSE useStatus end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('useStatus')) or (colPickMode==1 and !item.containsKey('useStatus'))">
when a.id=#{item.id} then #{item.useStatus}
</when>
<when test="(colPickMode==0 and item.containsKey('useStatusIncrement')) or (colPickMode==1 and !item.containsKey('useStatusIncrement'))">
when a.id=#{item.id} then ifnull(a.useStatus,0) + #{item.useStatusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="onlineTime=(case" suffix="ELSE onlineTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('onlineTime')) or (colPickMode==1 and !item.containsKey('onlineTime'))">
when a.id=#{item.id} then #{item.onlineTime}
</if>
</foreach>
</trim>
<trim prefix="offlineTime=(case" suffix="ELSE offlineTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('offlineTime')) or (colPickMode==1 and !item.containsKey('offlineTime'))">
when a.id=#{item.id} then #{item.offlineTime}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="DeviceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_device as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_device where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_device as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="DeviceEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_device as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('customerId')">
<if test="conditionParamRef.customerId != null ">
${_conditionType_} a.customerId = #{${_conditionParam_}.customerId}
</if>
<if test="conditionParamRef.customerId == null">
${_conditionType_} a.customerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerIdList')">
${_conditionType_} a.customerId in
<foreach collection="conditionParamRef.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerIdStart') and conditionParamRef.customerIdStart != null">
${_conditionType_} a.customerId <![CDATA[ >= ]]> #{${_conditionParam_}.customerIdStart}
</if>
<if test="conditionParamRef.containsKey('customerIdEnd') and conditionParamRef.customerIdEnd != null">
${_conditionType_} a.customerId <![CDATA[ <= ]]> #{${_conditionParam_}.customerIdEnd}
</if>
<if test="conditionParamRef.containsKey('productId')">
<if test="conditionParamRef.productId != null ">
${_conditionType_} a.productId = #{${_conditionParam_}.productId}
</if>
<if test="conditionParamRef.productId == null">
${_conditionType_} a.productId is null
</if>
</if>
<if test="conditionParamRef.containsKey('productIdList')">
${_conditionType_} a.productId in
<foreach collection="conditionParamRef.productIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdStart') and conditionParamRef.productIdStart != null">
${_conditionType_} a.productId <![CDATA[ >= ]]> #{${_conditionParam_}.productIdStart}
</if>
<if test="conditionParamRef.containsKey('productIdEnd') and conditionParamRef.productIdEnd != null">
${_conditionType_} a.productId <![CDATA[ <= ]]> #{${_conditionParam_}.productIdEnd}
</if>
<if test="conditionParamRef.containsKey('deviceName')">
<if test="conditionParamRef.deviceName != null and conditionParamRef.deviceName != ''">
${_conditionType_} a.deviceName like #{${_conditionParam_}.deviceName}
</if>
<if test="conditionParamRef.deviceName == null">
${_conditionType_} a.deviceName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceNameList')">
${_conditionType_} a.deviceName in
<foreach collection="conditionParamRef.deviceNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceRemark')">
<if test="conditionParamRef.deviceRemark != null and conditionParamRef.deviceRemark != ''">
${_conditionType_} a.deviceRemark like #{${_conditionParam_}.deviceRemark}
</if>
<if test="conditionParamRef.deviceRemark == null">
${_conditionType_} a.deviceRemark is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceRemarkList')">
${_conditionType_} a.deviceRemark in
<foreach collection="conditionParamRef.deviceRemarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceSecret')">
<if test="conditionParamRef.deviceSecret != null and conditionParamRef.deviceSecret != ''">
${_conditionType_} a.deviceSecret like #{${_conditionParam_}.deviceSecret}
</if>
<if test="conditionParamRef.deviceSecret == null">
${_conditionType_} a.deviceSecret is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceSecretList')">
${_conditionType_} a.deviceSecret in
<foreach collection="conditionParamRef.deviceSecretList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productKey')">
<if test="conditionParamRef.productKey != null and conditionParamRef.productKey != ''">
${_conditionType_} a.productKey like #{${_conditionParam_}.productKey}
</if>
<if test="conditionParamRef.productKey == null">
${_conditionType_} a.productKey is null
</if>
</if>
<if test="conditionParamRef.containsKey('productKeyList')">
${_conditionType_} a.productKey in
<foreach collection="conditionParamRef.productKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('connectStatus')">
<if test="conditionParamRef.connectStatus != null ">
${_conditionType_} a.connectStatus = #{${_conditionParam_}.connectStatus}
</if>
<if test="conditionParamRef.connectStatus == null">
${_conditionType_} a.connectStatus is null
</if>
</if>
<if test="conditionParamRef.containsKey('connectStatusList')">
${_conditionType_} a.connectStatus in
<foreach collection="conditionParamRef.connectStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('connectStatusStart') and conditionParamRef.connectStatusStart != null">
${_conditionType_} a.connectStatus <![CDATA[ >= ]]> #{${_conditionParam_}.connectStatusStart}
</if>
<if test="conditionParamRef.containsKey('connectStatusEnd') and conditionParamRef.connectStatusEnd != null">
${_conditionType_} a.connectStatus <![CDATA[ <= ]]> #{${_conditionParam_}.connectStatusEnd}
</if>
<if test="conditionParamRef.containsKey('useStatus')">
<if test="conditionParamRef.useStatus != null ">
${_conditionType_} a.useStatus = #{${_conditionParam_}.useStatus}
</if>
<if test="conditionParamRef.useStatus == null">
${_conditionType_} a.useStatus is null
</if>
</if>
<if test="conditionParamRef.containsKey('useStatusList')">
${_conditionType_} a.useStatus in
<foreach collection="conditionParamRef.useStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('useStatusStart') and conditionParamRef.useStatusStart != null">
${_conditionType_} a.useStatus <![CDATA[ >= ]]> #{${_conditionParam_}.useStatusStart}
</if>
<if test="conditionParamRef.containsKey('useStatusEnd') and conditionParamRef.useStatusEnd != null">
${_conditionType_} a.useStatus <![CDATA[ <= ]]> #{${_conditionParam_}.useStatusEnd}
</if>
<if test="conditionParamRef.containsKey('onlineTime')">
<if test="conditionParamRef.onlineTime != null ">
${_conditionType_} a.onlineTime = #{${_conditionParam_}.onlineTime}
</if>
<if test="conditionParamRef.onlineTime == null">
${_conditionType_} a.onlineTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('onlineTimeStart') and conditionParamRef.onlineTimeStart != null and conditionParamRef.onlineTimeStart!=''">
${_conditionType_} a.onlineTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.onlineTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('onlineTimeEnd') and conditionParamRef.onlineTimeEnd != null and conditionParamRef.onlineTimeEnd!=''">
${_conditionType_} a.onlineTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.onlineTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('offlineTime')">
<if test="conditionParamRef.offlineTime != null ">
${_conditionType_} a.offlineTime = #{${_conditionParam_}.offlineTime}
</if>
<if test="conditionParamRef.offlineTime == null">
${_conditionType_} a.offlineTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('offlineTimeStart') and conditionParamRef.offlineTimeStart != null and conditionParamRef.offlineTimeStart!=''">
${_conditionType_} a.offlineTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.offlineTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('offlineTimeEnd') and conditionParamRef.offlineTimeEnd != null and conditionParamRef.offlineTimeEnd!=''">
${_conditionType_} a.offlineTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.offlineTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test='orderCol.customerId != null and "DESC".equalsIgnoreCase(orderCol.customerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productId')">
a.productId
<if test='orderCol.productId != null and "DESC".equalsIgnoreCase(orderCol.productId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceName')">
a.deviceName
<if test='orderCol.deviceName != null and "DESC".equalsIgnoreCase(orderCol.deviceName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceRemark')">
a.deviceRemark
<if test='orderCol.deviceRemark != null and "DESC".equalsIgnoreCase(orderCol.deviceRemark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceSecret')">
a.deviceSecret
<if test='orderCol.deviceSecret != null and "DESC".equalsIgnoreCase(orderCol.deviceSecret)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productKey')">
a.productKey
<if test='orderCol.productKey != null and "DESC".equalsIgnoreCase(orderCol.productKey)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('connectStatus')">
a.connectStatus
<if test='orderCol.connectStatus != null and "DESC".equalsIgnoreCase(orderCol.connectStatus)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('useStatus')">
a.useStatus
<if test='orderCol.useStatus != null and "DESC".equalsIgnoreCase(orderCol.useStatus)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('onlineTime')">
a.onlineTime
<if test='orderCol.onlineTime != null and "DESC".equalsIgnoreCase(orderCol.onlineTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('offlineTime')">
a.offlineTime
<if test='orderCol.offlineTime != null and "DESC".equalsIgnoreCase(orderCol.offlineTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.device.dao.ibatis.DeviceTopicDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="DeviceTopicEntity" id="DeviceTopicEntity-Map">
<id property="id" column="id" />
<result property="customerId" column="customerId" />
<result property="productId" column="productId" />
<result property="deviceTopicHandle" column="deviceTopicHandle" />
<result property="topic" column="topic" />
<result property="deviceTopicRemark" column="deviceTopicRemark" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
<result property="deviceId" column="deviceId" />
<result property="deviceName" column="deviceName" />
<result property="qos" column="qos" />
<result property="productKey" column="productKey" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productId') or colPickMode == 1 and data.containsKey('productId')))">
a.productId as productId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceTopicHandle') or colPickMode == 1 and data.containsKey('deviceTopicHandle')))">
a.deviceTopicHandle as deviceTopicHandle,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('topic') or colPickMode == 1 and data.containsKey('topic')))">
a.topic as topic,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceTopicRemark') or colPickMode == 1 and data.containsKey('deviceTopicRemark')))">
a.deviceTopicRemark as deviceTopicRemark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceId') or colPickMode == 1 and data.containsKey('deviceId')))">
a.deviceId as deviceId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceName') or colPickMode == 1 and data.containsKey('deviceName')))">
a.deviceName as deviceName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('qos') or colPickMode == 1 and data.containsKey('qos')))">
a.qos as qos,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productKey') or colPickMode == 1 and data.containsKey('productKey')))">
a.productKey as productKey,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="DeviceTopicEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_device_topic
(customerId,productId,deviceTopicHandle,topic,deviceTopicRemark,createTime,updateTime,deviceId,deviceName,qos,productKey)
VALUES
(#{customerId},#{productId},#{deviceTopicHandle},#{topic},#{deviceTopicRemark},#{createTime},#{updateTime},#{deviceId},#{deviceName},#{qos},#{productKey})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_device_topic
(customerId,productId,deviceTopicHandle,topic,deviceTopicRemark,createTime,updateTime,deviceId,deviceName,qos,productKey)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.customerId},#{item.productId},#{item.deviceTopicHandle},#{item.topic},#{item.deviceTopicRemark},#{item.createTime},#{item.updateTime},#{item.deviceId},#{item.deviceName},#{item.qos},#{item.productKey})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_device_topic as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productId')) or (colPickMode==1 and !data.containsKey('productId'))">
a.productId=#{data.productId},
</if>
<if test="(colPickMode==0 and data.containsKey('productIdIncrement')) or (colPickMode==1 and !data.containsKey('productIdIncrement'))">
a.productId=ifnull(a.productId,0) + #{data.productIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceTopicHandle')) or (colPickMode==1 and !data.containsKey('deviceTopicHandle'))">
a.deviceTopicHandle=#{data.deviceTopicHandle},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceTopicHandleIncrement')) or (colPickMode==1 and !data.containsKey('deviceTopicHandleIncrement'))">
a.deviceTopicHandle=ifnull(a.deviceTopicHandle,0) + #{data.deviceTopicHandleIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('topic')) or (colPickMode==1 and !data.containsKey('topic'))">
a.topic=#{data.topic},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceTopicRemark')) or (colPickMode==1 and !data.containsKey('deviceTopicRemark'))">
a.deviceTopicRemark=#{data.deviceTopicRemark},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceId')) or (colPickMode==1 and !data.containsKey('deviceId'))">
a.deviceId=#{data.deviceId},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceIdIncrement')) or (colPickMode==1 and !data.containsKey('deviceIdIncrement'))">
a.deviceId=ifnull(a.deviceId,0) + #{data.deviceIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceName')) or (colPickMode==1 and !data.containsKey('deviceName'))">
a.deviceName=#{data.deviceName},
</if>
<if test="(colPickMode==0 and data.containsKey('qos')) or (colPickMode==1 and !data.containsKey('qos'))">
a.qos=#{data.qos},
</if>
<if test="(colPickMode==0 and data.containsKey('qosIncrement')) or (colPickMode==1 and !data.containsKey('qosIncrement'))">
a.qos=ifnull(a.qos,0) + #{data.qosIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productKey')) or (colPickMode==1 and !data.containsKey('productKey'))">
a.productKey=#{data.productKey},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_device_topic as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="customerId=(case" suffix="ELSE customerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerId')) or (colPickMode==1 and !item.containsKey('customerId'))">
when a.id=#{item.id} then #{item.customerId}
</when>
<when test="(colPickMode==0 and item.containsKey('customerIdIncrement')) or (colPickMode==1 and !item.containsKey('customerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.customerId,0) + #{item.customerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productId=(case" suffix="ELSE productId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productId')) or (colPickMode==1 and !item.containsKey('productId'))">
when a.id=#{item.id} then #{item.productId}
</when>
<when test="(colPickMode==0 and item.containsKey('productIdIncrement')) or (colPickMode==1 and !item.containsKey('productIdIncrement'))">
when a.id=#{item.id} then ifnull(a.productId,0) + #{item.productIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceTopicHandle=(case" suffix="ELSE deviceTopicHandle end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceTopicHandle')) or (colPickMode==1 and !item.containsKey('deviceTopicHandle'))">
when a.id=#{item.id} then #{item.deviceTopicHandle}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceTopicHandleIncrement')) or (colPickMode==1 and !item.containsKey('deviceTopicHandleIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceTopicHandle,0) + #{item.deviceTopicHandleIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="topic=(case" suffix="ELSE topic end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('topic')) or (colPickMode==1 and !item.containsKey('topic'))">
when a.id=#{item.id} then #{item.topic}
</if>
</foreach>
</trim>
<trim prefix="deviceTopicRemark=(case" suffix="ELSE deviceTopicRemark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceTopicRemark')) or (colPickMode==1 and !item.containsKey('deviceTopicRemark'))">
when a.id=#{item.id} then #{item.deviceTopicRemark}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="deviceId=(case" suffix="ELSE deviceId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceId')) or (colPickMode==1 and !item.containsKey('deviceId'))">
when a.id=#{item.id} then #{item.deviceId}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceIdIncrement')) or (colPickMode==1 and !item.containsKey('deviceIdIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceId,0) + #{item.deviceIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceName=(case" suffix="ELSE deviceName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('deviceName')) or (colPickMode==1 and !item.containsKey('deviceName'))">
when a.id=#{item.id} then #{item.deviceName}
</if>
</foreach>
</trim>
<trim prefix="qos=(case" suffix="ELSE qos end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('qos')) or (colPickMode==1 and !item.containsKey('qos'))">
when a.id=#{item.id} then #{item.qos}
</when>
<when test="(colPickMode==0 and item.containsKey('qosIncrement')) or (colPickMode==1 and !item.containsKey('qosIncrement'))">
when a.id=#{item.id} then ifnull(a.qos,0) + #{item.qosIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productKey=(case" suffix="ELSE productKey end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productKey')) or (colPickMode==1 and !item.containsKey('productKey'))">
when a.id=#{item.id} then #{item.productKey}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="DeviceTopicEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_topic as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_device_topic as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_device_topic where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_device_topic as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="DeviceTopicEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_device_topic as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_device_topic as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('customerId')">
<if test="conditionParamRef.customerId != null ">
${_conditionType_} a.customerId = #{${_conditionParam_}.customerId}
</if>
<if test="conditionParamRef.customerId == null">
${_conditionType_} a.customerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerIdList')">
${_conditionType_} a.customerId in
<foreach collection="conditionParamRef.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerIdStart') and conditionParamRef.customerIdStart != null">
${_conditionType_} a.customerId <![CDATA[ >= ]]> #{${_conditionParam_}.customerIdStart}
</if>
<if test="conditionParamRef.containsKey('customerIdEnd') and conditionParamRef.customerIdEnd != null">
${_conditionType_} a.customerId <![CDATA[ <= ]]> #{${_conditionParam_}.customerIdEnd}
</if>
<if test="conditionParamRef.containsKey('productId')">
<if test="conditionParamRef.productId != null ">
${_conditionType_} a.productId = #{${_conditionParam_}.productId}
</if>
<if test="conditionParamRef.productId == null">
${_conditionType_} a.productId is null
</if>
</if>
<if test="conditionParamRef.containsKey('productIdList')">
${_conditionType_} a.productId in
<foreach collection="conditionParamRef.productIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdStart') and conditionParamRef.productIdStart != null">
${_conditionType_} a.productId <![CDATA[ >= ]]> #{${_conditionParam_}.productIdStart}
</if>
<if test="conditionParamRef.containsKey('productIdEnd') and conditionParamRef.productIdEnd != null">
${_conditionType_} a.productId <![CDATA[ <= ]]> #{${_conditionParam_}.productIdEnd}
</if>
<if test="conditionParamRef.containsKey('deviceTopicHandle')">
<if test="conditionParamRef.deviceTopicHandle != null ">
${_conditionType_} a.deviceTopicHandle = #{${_conditionParam_}.deviceTopicHandle}
</if>
<if test="conditionParamRef.deviceTopicHandle == null">
${_conditionType_} a.deviceTopicHandle is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceTopicHandleList')">
${_conditionType_} a.deviceTopicHandle in
<foreach collection="conditionParamRef.deviceTopicHandleList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceTopicHandleStart') and conditionParamRef.deviceTopicHandleStart != null">
${_conditionType_} a.deviceTopicHandle <![CDATA[ >= ]]> #{${_conditionParam_}.deviceTopicHandleStart}
</if>
<if test="conditionParamRef.containsKey('deviceTopicHandleEnd') and conditionParamRef.deviceTopicHandleEnd != null">
${_conditionType_} a.deviceTopicHandle <![CDATA[ <= ]]> #{${_conditionParam_}.deviceTopicHandleEnd}
</if>
<if test="conditionParamRef.containsKey('topic')">
<if test="conditionParamRef.topic != null and conditionParamRef.topic != ''">
${_conditionType_} a.topic like #{${_conditionParam_}.topic}
</if>
<if test="conditionParamRef.topic == null">
${_conditionType_} a.topic is null
</if>
</if>
<if test="conditionParamRef.containsKey('topicList')">
${_conditionType_} a.topic in
<foreach collection="conditionParamRef.topicList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceTopicRemark')">
<if test="conditionParamRef.deviceTopicRemark != null and conditionParamRef.deviceTopicRemark != ''">
${_conditionType_} a.deviceTopicRemark like #{${_conditionParam_}.deviceTopicRemark}
</if>
<if test="conditionParamRef.deviceTopicRemark == null">
${_conditionType_} a.deviceTopicRemark is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceTopicRemarkList')">
${_conditionType_} a.deviceTopicRemark in
<foreach collection="conditionParamRef.deviceTopicRemarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('deviceId')">
<if test="conditionParamRef.deviceId != null ">
${_conditionType_} a.deviceId = #{${_conditionParam_}.deviceId}
</if>
<if test="conditionParamRef.deviceId == null">
${_conditionType_} a.deviceId is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceIdList')">
${_conditionType_} a.deviceId in
<foreach collection="conditionParamRef.deviceIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceIdStart') and conditionParamRef.deviceIdStart != null">
${_conditionType_} a.deviceId <![CDATA[ >= ]]> #{${_conditionParam_}.deviceIdStart}
</if>
<if test="conditionParamRef.containsKey('deviceIdEnd') and conditionParamRef.deviceIdEnd != null">
${_conditionType_} a.deviceId <![CDATA[ <= ]]> #{${_conditionParam_}.deviceIdEnd}
</if>
<if test="conditionParamRef.containsKey('deviceName')">
<if test="conditionParamRef.deviceName != null and conditionParamRef.deviceName != ''">
${_conditionType_} a.deviceName like #{${_conditionParam_}.deviceName}
</if>
<if test="conditionParamRef.deviceName == null">
${_conditionType_} a.deviceName is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceNameList')">
${_conditionType_} a.deviceName in
<foreach collection="conditionParamRef.deviceNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('qos')">
<if test="conditionParamRef.qos != null ">
${_conditionType_} a.qos = #{${_conditionParam_}.qos}
</if>
<if test="conditionParamRef.qos == null">
${_conditionType_} a.qos is null
</if>
</if>
<if test="conditionParamRef.containsKey('qosList')">
${_conditionType_} a.qos in
<foreach collection="conditionParamRef.qosList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('qosStart') and conditionParamRef.qosStart != null">
${_conditionType_} a.qos <![CDATA[ >= ]]> #{${_conditionParam_}.qosStart}
</if>
<if test="conditionParamRef.containsKey('qosEnd') and conditionParamRef.qosEnd != null">
${_conditionType_} a.qos <![CDATA[ <= ]]> #{${_conditionParam_}.qosEnd}
</if>
<if test="conditionParamRef.containsKey('productKey')">
<if test="conditionParamRef.productKey != null and conditionParamRef.productKey != ''">
${_conditionType_} a.productKey like #{${_conditionParam_}.productKey}
</if>
<if test="conditionParamRef.productKey == null">
${_conditionType_} a.productKey is null
</if>
</if>
<if test="conditionParamRef.containsKey('productKeyList')">
${_conditionType_} a.productKey in
<foreach collection="conditionParamRef.productKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test='orderCol.customerId != null and "DESC".equalsIgnoreCase(orderCol.customerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productId')">
a.productId
<if test='orderCol.productId != null and "DESC".equalsIgnoreCase(orderCol.productId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceTopicHandle')">
a.deviceTopicHandle
<if test='orderCol.deviceTopicHandle != null and "DESC".equalsIgnoreCase(orderCol.deviceTopicHandle)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('topic')">
a.topic
<if test='orderCol.topic != null and "DESC".equalsIgnoreCase(orderCol.topic)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceTopicRemark')">
a.deviceTopicRemark
<if test='orderCol.deviceTopicRemark != null and "DESC".equalsIgnoreCase(orderCol.deviceTopicRemark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceId')">
a.deviceId
<if test='orderCol.deviceId != null and "DESC".equalsIgnoreCase(orderCol.deviceId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceName')">
a.deviceName
<if test='orderCol.deviceName != null and "DESC".equalsIgnoreCase(orderCol.deviceName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('qos')">
a.qos
<if test='orderCol.qos != null and "DESC".equalsIgnoreCase(orderCol.qos)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productKey')">
a.productKey
<if test='orderCol.productKey != null and "DESC".equalsIgnoreCase(orderCol.productKey)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.product.dao.ibatis.ProductDeviceLimitDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ProductDeviceLimitEntity" id="ProductDeviceLimitEntity-Map">
<id property="id" column="id" />
<result property="productLabelNum" column="productLabelNum" />
<result property="deviceLabelNum" column="deviceLabelNum" />
<result property="productNum" column="productNum" />
<result property="productDeviceNum" column="productDeviceNum" />
<result property="customerDeviceNum" column="customerDeviceNum" />
<result property="gateChildrenDeviceNum" column="gateChildrenDeviceNum" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productLabelNum') or colPickMode == 1 and data.containsKey('productLabelNum')))">
a.productLabelNum as productLabelNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceLabelNum') or colPickMode == 1 and data.containsKey('deviceLabelNum')))">
a.deviceLabelNum as deviceLabelNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productNum') or colPickMode == 1 and data.containsKey('productNum')))">
a.productNum as productNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productDeviceNum') or colPickMode == 1 and data.containsKey('productDeviceNum')))">
a.productDeviceNum as productDeviceNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerDeviceNum') or colPickMode == 1 and data.containsKey('customerDeviceNum')))">
a.customerDeviceNum as customerDeviceNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('gateChildrenDeviceNum') or colPickMode == 1 and data.containsKey('gateChildrenDeviceNum')))">
a.gateChildrenDeviceNum as gateChildrenDeviceNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ProductDeviceLimitEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_product_device_limit
(productLabelNum,deviceLabelNum,productNum,productDeviceNum,customerDeviceNum,gateChildrenDeviceNum,createTime,updateTime)
VALUES
(#{productLabelNum},#{deviceLabelNum},#{productNum},#{productDeviceNum},#{customerDeviceNum},#{gateChildrenDeviceNum},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_product_device_limit
(productLabelNum,deviceLabelNum,productNum,productDeviceNum,customerDeviceNum,gateChildrenDeviceNum,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.productLabelNum},#{item.deviceLabelNum},#{item.productNum},#{item.productDeviceNum},#{item.customerDeviceNum},#{item.gateChildrenDeviceNum},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_product_device_limit as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('productLabelNum')) or (colPickMode==1 and !data.containsKey('productLabelNum'))">
a.productLabelNum=#{data.productLabelNum},
</if>
<if test="(colPickMode==0 and data.containsKey('productLabelNumIncrement')) or (colPickMode==1 and !data.containsKey('productLabelNumIncrement'))">
a.productLabelNum=ifnull(a.productLabelNum,0) + #{data.productLabelNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceLabelNum')) or (colPickMode==1 and !data.containsKey('deviceLabelNum'))">
a.deviceLabelNum=#{data.deviceLabelNum},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceLabelNumIncrement')) or (colPickMode==1 and !data.containsKey('deviceLabelNumIncrement'))">
a.deviceLabelNum=ifnull(a.deviceLabelNum,0) + #{data.deviceLabelNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productNum')) or (colPickMode==1 and !data.containsKey('productNum'))">
a.productNum=#{data.productNum},
</if>
<if test="(colPickMode==0 and data.containsKey('productNumIncrement')) or (colPickMode==1 and !data.containsKey('productNumIncrement'))">
a.productNum=ifnull(a.productNum,0) + #{data.productNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productDeviceNum')) or (colPickMode==1 and !data.containsKey('productDeviceNum'))">
a.productDeviceNum=#{data.productDeviceNum},
</if>
<if test="(colPickMode==0 and data.containsKey('productDeviceNumIncrement')) or (colPickMode==1 and !data.containsKey('productDeviceNumIncrement'))">
a.productDeviceNum=ifnull(a.productDeviceNum,0) + #{data.productDeviceNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('customerDeviceNum')) or (colPickMode==1 and !data.containsKey('customerDeviceNum'))">
a.customerDeviceNum=#{data.customerDeviceNum},
</if>
<if test="(colPickMode==0 and data.containsKey('customerDeviceNumIncrement')) or (colPickMode==1 and !data.containsKey('customerDeviceNumIncrement'))">
a.customerDeviceNum=ifnull(a.customerDeviceNum,0) + #{data.customerDeviceNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('gateChildrenDeviceNum')) or (colPickMode==1 and !data.containsKey('gateChildrenDeviceNum'))">
a.gateChildrenDeviceNum=#{data.gateChildrenDeviceNum},
</if>
<if test="(colPickMode==0 and data.containsKey('gateChildrenDeviceNumIncrement')) or (colPickMode==1 and !data.containsKey('gateChildrenDeviceNumIncrement'))">
a.gateChildrenDeviceNum=ifnull(a.gateChildrenDeviceNum,0) + #{data.gateChildrenDeviceNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_product_device_limit as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="productLabelNum=(case" suffix="ELSE productLabelNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productLabelNum')) or (colPickMode==1 and !item.containsKey('productLabelNum'))">
when a.id=#{item.id} then #{item.productLabelNum}
</when>
<when test="(colPickMode==0 and item.containsKey('productLabelNumIncrement')) or (colPickMode==1 and !item.containsKey('productLabelNumIncrement'))">
when a.id=#{item.id} then ifnull(a.productLabelNum,0) + #{item.productLabelNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceLabelNum=(case" suffix="ELSE deviceLabelNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceLabelNum')) or (colPickMode==1 and !item.containsKey('deviceLabelNum'))">
when a.id=#{item.id} then #{item.deviceLabelNum}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceLabelNumIncrement')) or (colPickMode==1 and !item.containsKey('deviceLabelNumIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceLabelNum,0) + #{item.deviceLabelNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productNum=(case" suffix="ELSE productNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productNum')) or (colPickMode==1 and !item.containsKey('productNum'))">
when a.id=#{item.id} then #{item.productNum}
</when>
<when test="(colPickMode==0 and item.containsKey('productNumIncrement')) or (colPickMode==1 and !item.containsKey('productNumIncrement'))">
when a.id=#{item.id} then ifnull(a.productNum,0) + #{item.productNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productDeviceNum=(case" suffix="ELSE productDeviceNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productDeviceNum')) or (colPickMode==1 and !item.containsKey('productDeviceNum'))">
when a.id=#{item.id} then #{item.productDeviceNum}
</when>
<when test="(colPickMode==0 and item.containsKey('productDeviceNumIncrement')) or (colPickMode==1 and !item.containsKey('productDeviceNumIncrement'))">
when a.id=#{item.id} then ifnull(a.productDeviceNum,0) + #{item.productDeviceNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="customerDeviceNum=(case" suffix="ELSE customerDeviceNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerDeviceNum')) or (colPickMode==1 and !item.containsKey('customerDeviceNum'))">
when a.id=#{item.id} then #{item.customerDeviceNum}
</when>
<when test="(colPickMode==0 and item.containsKey('customerDeviceNumIncrement')) or (colPickMode==1 and !item.containsKey('customerDeviceNumIncrement'))">
when a.id=#{item.id} then ifnull(a.customerDeviceNum,0) + #{item.customerDeviceNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="gateChildrenDeviceNum=(case" suffix="ELSE gateChildrenDeviceNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('gateChildrenDeviceNum')) or (colPickMode==1 and !item.containsKey('gateChildrenDeviceNum'))">
when a.id=#{item.id} then #{item.gateChildrenDeviceNum}
</when>
<when test="(colPickMode==0 and item.containsKey('gateChildrenDeviceNumIncrement')) or (colPickMode==1 and !item.containsKey('gateChildrenDeviceNumIncrement'))">
when a.id=#{item.id} then ifnull(a.gateChildrenDeviceNum,0) + #{item.gateChildrenDeviceNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ProductDeviceLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_device_limit as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_product_device_limit as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_product_device_limit where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_product_device_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ProductDeviceLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_device_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_product_device_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('productLabelNum')">
<if test="conditionParamRef.productLabelNum != null ">
${_conditionType_} a.productLabelNum = #{${_conditionParam_}.productLabelNum}
</if>
<if test="conditionParamRef.productLabelNum == null">
${_conditionType_} a.productLabelNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('productLabelNumList')">
${_conditionType_} a.productLabelNum in
<foreach collection="conditionParamRef.productLabelNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productLabelNumStart') and conditionParamRef.productLabelNumStart != null">
${_conditionType_} a.productLabelNum <![CDATA[ >= ]]> #{${_conditionParam_}.productLabelNumStart}
</if>
<if test="conditionParamRef.containsKey('productLabelNumEnd') and conditionParamRef.productLabelNumEnd != null">
${_conditionType_} a.productLabelNum <![CDATA[ <= ]]> #{${_conditionParam_}.productLabelNumEnd}
</if>
<if test="conditionParamRef.containsKey('deviceLabelNum')">
<if test="conditionParamRef.deviceLabelNum != null ">
${_conditionType_} a.deviceLabelNum = #{${_conditionParam_}.deviceLabelNum}
</if>
<if test="conditionParamRef.deviceLabelNum == null">
${_conditionType_} a.deviceLabelNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceLabelNumList')">
${_conditionType_} a.deviceLabelNum in
<foreach collection="conditionParamRef.deviceLabelNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceLabelNumStart') and conditionParamRef.deviceLabelNumStart != null">
${_conditionType_} a.deviceLabelNum <![CDATA[ >= ]]> #{${_conditionParam_}.deviceLabelNumStart}
</if>
<if test="conditionParamRef.containsKey('deviceLabelNumEnd') and conditionParamRef.deviceLabelNumEnd != null">
${_conditionType_} a.deviceLabelNum <![CDATA[ <= ]]> #{${_conditionParam_}.deviceLabelNumEnd}
</if>
<if test="conditionParamRef.containsKey('productNum')">
<if test="conditionParamRef.productNum != null ">
${_conditionType_} a.productNum = #{${_conditionParam_}.productNum}
</if>
<if test="conditionParamRef.productNum == null">
${_conditionType_} a.productNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('productNumList')">
${_conditionType_} a.productNum in
<foreach collection="conditionParamRef.productNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productNumStart') and conditionParamRef.productNumStart != null">
${_conditionType_} a.productNum <![CDATA[ >= ]]> #{${_conditionParam_}.productNumStart}
</if>
<if test="conditionParamRef.containsKey('productNumEnd') and conditionParamRef.productNumEnd != null">
${_conditionType_} a.productNum <![CDATA[ <= ]]> #{${_conditionParam_}.productNumEnd}
</if>
<if test="conditionParamRef.containsKey('productDeviceNum')">
<if test="conditionParamRef.productDeviceNum != null ">
${_conditionType_} a.productDeviceNum = #{${_conditionParam_}.productDeviceNum}
</if>
<if test="conditionParamRef.productDeviceNum == null">
${_conditionType_} a.productDeviceNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('productDeviceNumList')">
${_conditionType_} a.productDeviceNum in
<foreach collection="conditionParamRef.productDeviceNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productDeviceNumStart') and conditionParamRef.productDeviceNumStart != null">
${_conditionType_} a.productDeviceNum <![CDATA[ >= ]]> #{${_conditionParam_}.productDeviceNumStart}
</if>
<if test="conditionParamRef.containsKey('productDeviceNumEnd') and conditionParamRef.productDeviceNumEnd != null">
${_conditionType_} a.productDeviceNum <![CDATA[ <= ]]> #{${_conditionParam_}.productDeviceNumEnd}
</if>
<if test="conditionParamRef.containsKey('customerDeviceNum')">
<if test="conditionParamRef.customerDeviceNum != null ">
${_conditionType_} a.customerDeviceNum = #{${_conditionParam_}.customerDeviceNum}
</if>
<if test="conditionParamRef.customerDeviceNum == null">
${_conditionType_} a.customerDeviceNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerDeviceNumList')">
${_conditionType_} a.customerDeviceNum in
<foreach collection="conditionParamRef.customerDeviceNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerDeviceNumStart') and conditionParamRef.customerDeviceNumStart != null">
${_conditionType_} a.customerDeviceNum <![CDATA[ >= ]]> #{${_conditionParam_}.customerDeviceNumStart}
</if>
<if test="conditionParamRef.containsKey('customerDeviceNumEnd') and conditionParamRef.customerDeviceNumEnd != null">
${_conditionType_} a.customerDeviceNum <![CDATA[ <= ]]> #{${_conditionParam_}.customerDeviceNumEnd}
</if>
<if test="conditionParamRef.containsKey('gateChildrenDeviceNum')">
<if test="conditionParamRef.gateChildrenDeviceNum != null ">
${_conditionType_} a.gateChildrenDeviceNum = #{${_conditionParam_}.gateChildrenDeviceNum}
</if>
<if test="conditionParamRef.gateChildrenDeviceNum == null">
${_conditionType_} a.gateChildrenDeviceNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('gateChildrenDeviceNumList')">
${_conditionType_} a.gateChildrenDeviceNum in
<foreach collection="conditionParamRef.gateChildrenDeviceNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('gateChildrenDeviceNumStart') and conditionParamRef.gateChildrenDeviceNumStart != null">
${_conditionType_} a.gateChildrenDeviceNum <![CDATA[ >= ]]> #{${_conditionParam_}.gateChildrenDeviceNumStart}
</if>
<if test="conditionParamRef.containsKey('gateChildrenDeviceNumEnd') and conditionParamRef.gateChildrenDeviceNumEnd != null">
${_conditionType_} a.gateChildrenDeviceNum <![CDATA[ <= ]]> #{${_conditionParam_}.gateChildrenDeviceNumEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productLabelNum')">
a.productLabelNum
<if test='orderCol.productLabelNum != null and "DESC".equalsIgnoreCase(orderCol.productLabelNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceLabelNum')">
a.deviceLabelNum
<if test='orderCol.deviceLabelNum != null and "DESC".equalsIgnoreCase(orderCol.deviceLabelNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productNum')">
a.productNum
<if test='orderCol.productNum != null and "DESC".equalsIgnoreCase(orderCol.productNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productDeviceNum')">
a.productDeviceNum
<if test='orderCol.productDeviceNum != null and "DESC".equalsIgnoreCase(orderCol.productDeviceNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerDeviceNum')">
a.customerDeviceNum
<if test='orderCol.customerDeviceNum != null and "DESC".equalsIgnoreCase(orderCol.customerDeviceNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('gateChildrenDeviceNum')">
a.gateChildrenDeviceNum
<if test='orderCol.gateChildrenDeviceNum != null and "DESC".equalsIgnoreCase(orderCol.gateChildrenDeviceNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.product.dao.ibatis.ProductFunctionItemDetailDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ProductFunctionItemDetailEntity" id="ProductFunctionItemDetailEntity-Map">
<id property="id" column="id" />
<result property="dataType" column="dataType" />
<result property="dataTypeDetail" column="dataTypeDetail" />
<result property="parameterName" column="parameterName" />
<result property="detailIdentifier" column="detailIdentifier" />
<result property="parameterType" column="parameterType" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
<result property="productId" column="productId" />
<result property="productKey" column="productKey" />
<result property="functionItemId" column="functionItemId" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('dataType') or colPickMode == 1 and data.containsKey('dataType')))">
a.dataType as dataType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('dataTypeDetail') or colPickMode == 1 and data.containsKey('dataTypeDetail')))">
a.dataTypeDetail as dataTypeDetail,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('parameterName') or colPickMode == 1 and data.containsKey('parameterName')))">
a.parameterName as parameterName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('detailIdentifier') or colPickMode == 1 and data.containsKey('detailIdentifier')))">
a.detailIdentifier as detailIdentifier,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('parameterType') or colPickMode == 1 and data.containsKey('parameterType')))">
a.parameterType as parameterType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productId') or colPickMode == 1 and data.containsKey('productId')))">
a.productId as productId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productKey') or colPickMode == 1 and data.containsKey('productKey')))">
a.productKey as productKey,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('functionItemId') or colPickMode == 1 and data.containsKey('functionItemId')))">
a.functionItemId as functionItemId,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ProductFunctionItemDetailEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_product_function_item_detail
(dataType,dataTypeDetail,parameterName,detailIdentifier,parameterType,createTime,updateTime,productId,productKey,functionItemId)
VALUES
(#{dataType},#{dataTypeDetail},#{parameterName},#{detailIdentifier},#{parameterType},#{createTime},#{updateTime},#{productId},#{productKey},#{functionItemId})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_product_function_item_detail
(dataType,dataTypeDetail,parameterName,detailIdentifier,parameterType,createTime,updateTime,productId,productKey,functionItemId)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.dataType},#{item.dataTypeDetail},#{item.parameterName},#{item.detailIdentifier},#{item.parameterType},#{item.createTime},#{item.updateTime},#{item.productId},#{item.productKey},#{item.functionItemId})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_product_function_item_detail as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('dataType')) or (colPickMode==1 and !data.containsKey('dataType'))">
a.dataType=#{data.dataType},
</if>
<if test="(colPickMode==0 and data.containsKey('dataTypeIncrement')) or (colPickMode==1 and !data.containsKey('dataTypeIncrement'))">
a.dataType=ifnull(a.dataType,0) + #{data.dataTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('dataTypeDetail')) or (colPickMode==1 and !data.containsKey('dataTypeDetail'))">
a.dataTypeDetail=#{data.dataTypeDetail},
</if>
<if test="(colPickMode==0 and data.containsKey('parameterName')) or (colPickMode==1 and !data.containsKey('parameterName'))">
a.parameterName=#{data.parameterName},
</if>
<if test="(colPickMode==0 and data.containsKey('detailIdentifier')) or (colPickMode==1 and !data.containsKey('detailIdentifier'))">
a.detailIdentifier=#{data.detailIdentifier},
</if>
<if test="(colPickMode==0 and data.containsKey('parameterType')) or (colPickMode==1 and !data.containsKey('parameterType'))">
a.parameterType=#{data.parameterType},
</if>
<if test="(colPickMode==0 and data.containsKey('parameterTypeIncrement')) or (colPickMode==1 and !data.containsKey('parameterTypeIncrement'))">
a.parameterType=ifnull(a.parameterType,0) + #{data.parameterTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('productId')) or (colPickMode==1 and !data.containsKey('productId'))">
a.productId=#{data.productId},
</if>
<if test="(colPickMode==0 and data.containsKey('productIdIncrement')) or (colPickMode==1 and !data.containsKey('productIdIncrement'))">
a.productId=ifnull(a.productId,0) + #{data.productIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productKey')) or (colPickMode==1 and !data.containsKey('productKey'))">
a.productKey=#{data.productKey},
</if>
<if test="(colPickMode==0 and data.containsKey('functionItemId')) or (colPickMode==1 and !data.containsKey('functionItemId'))">
a.functionItemId=#{data.functionItemId},
</if>
<if test="(colPickMode==0 and data.containsKey('functionItemIdIncrement')) or (colPickMode==1 and !data.containsKey('functionItemIdIncrement'))">
a.functionItemId=ifnull(a.functionItemId,0) + #{data.functionItemIdIncrement},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_product_function_item_detail as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="dataType=(case" suffix="ELSE dataType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('dataType')) or (colPickMode==1 and !item.containsKey('dataType'))">
when a.id=#{item.id} then #{item.dataType}
</when>
<when test="(colPickMode==0 and item.containsKey('dataTypeIncrement')) or (colPickMode==1 and !item.containsKey('dataTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.dataType,0) + #{item.dataTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="dataTypeDetail=(case" suffix="ELSE dataTypeDetail end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('dataTypeDetail')) or (colPickMode==1 and !item.containsKey('dataTypeDetail'))">
when a.id=#{item.id} then #{item.dataTypeDetail}
</if>
</foreach>
</trim>
<trim prefix="parameterName=(case" suffix="ELSE parameterName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('parameterName')) or (colPickMode==1 and !item.containsKey('parameterName'))">
when a.id=#{item.id} then #{item.parameterName}
</if>
</foreach>
</trim>
<trim prefix="detailIdentifier=(case" suffix="ELSE detailIdentifier end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('detailIdentifier')) or (colPickMode==1 and !item.containsKey('detailIdentifier'))">
when a.id=#{item.id} then #{item.detailIdentifier}
</if>
</foreach>
</trim>
<trim prefix="parameterType=(case" suffix="ELSE parameterType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('parameterType')) or (colPickMode==1 and !item.containsKey('parameterType'))">
when a.id=#{item.id} then #{item.parameterType}
</when>
<when test="(colPickMode==0 and item.containsKey('parameterTypeIncrement')) or (colPickMode==1 and !item.containsKey('parameterTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.parameterType,0) + #{item.parameterTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="productId=(case" suffix="ELSE productId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productId')) or (colPickMode==1 and !item.containsKey('productId'))">
when a.id=#{item.id} then #{item.productId}
</when>
<when test="(colPickMode==0 and item.containsKey('productIdIncrement')) or (colPickMode==1 and !item.containsKey('productIdIncrement'))">
when a.id=#{item.id} then ifnull(a.productId,0) + #{item.productIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productKey=(case" suffix="ELSE productKey end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productKey')) or (colPickMode==1 and !item.containsKey('productKey'))">
when a.id=#{item.id} then #{item.productKey}
</if>
</foreach>
</trim>
<trim prefix="functionItemId=(case" suffix="ELSE functionItemId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('functionItemId')) or (colPickMode==1 and !item.containsKey('functionItemId'))">
when a.id=#{item.id} then #{item.functionItemId}
</when>
<when test="(colPickMode==0 and item.containsKey('functionItemIdIncrement')) or (colPickMode==1 and !item.containsKey('functionItemIdIncrement'))">
when a.id=#{item.id} then ifnull(a.functionItemId,0) + #{item.functionItemIdIncrement}
</when>
</choose>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ProductFunctionItemDetailEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_function_item_detail as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_product_function_item_detail as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_product_function_item_detail where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_product_function_item_detail as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ProductFunctionItemDetailEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_function_item_detail as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_product_function_item_detail as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('dataType')">
<if test="conditionParamRef.dataType != null ">
${_conditionType_} a.dataType = #{${_conditionParam_}.dataType}
</if>
<if test="conditionParamRef.dataType == null">
${_conditionType_} a.dataType is null
</if>
</if>
<if test="conditionParamRef.containsKey('dataTypeList')">
${_conditionType_} a.dataType in
<foreach collection="conditionParamRef.dataTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dataTypeStart') and conditionParamRef.dataTypeStart != null">
${_conditionType_} a.dataType <![CDATA[ >= ]]> #{${_conditionParam_}.dataTypeStart}
</if>
<if test="conditionParamRef.containsKey('dataTypeEnd') and conditionParamRef.dataTypeEnd != null">
${_conditionType_} a.dataType <![CDATA[ <= ]]> #{${_conditionParam_}.dataTypeEnd}
</if>
<if test="conditionParamRef.containsKey('dataTypeDetail')">
<if test="conditionParamRef.dataTypeDetail != null and conditionParamRef.dataTypeDetail != ''">
${_conditionType_} a.dataTypeDetail like #{${_conditionParam_}.dataTypeDetail}
</if>
<if test="conditionParamRef.dataTypeDetail == null">
${_conditionType_} a.dataTypeDetail is null
</if>
</if>
<if test="conditionParamRef.containsKey('dataTypeDetailList')">
${_conditionType_} a.dataTypeDetail in
<foreach collection="conditionParamRef.dataTypeDetailList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('parameterName')">
<if test="conditionParamRef.parameterName != null and conditionParamRef.parameterName != ''">
${_conditionType_} a.parameterName like #{${_conditionParam_}.parameterName}
</if>
<if test="conditionParamRef.parameterName == null">
${_conditionType_} a.parameterName is null
</if>
</if>
<if test="conditionParamRef.containsKey('parameterNameList')">
${_conditionType_} a.parameterName in
<foreach collection="conditionParamRef.parameterNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('detailIdentifier')">
<if test="conditionParamRef.detailIdentifier != null and conditionParamRef.detailIdentifier != ''">
${_conditionType_} a.detailIdentifier like #{${_conditionParam_}.detailIdentifier}
</if>
<if test="conditionParamRef.detailIdentifier == null">
${_conditionType_} a.detailIdentifier is null
</if>
</if>
<if test="conditionParamRef.containsKey('detailIdentifierList')">
${_conditionType_} a.detailIdentifier in
<foreach collection="conditionParamRef.detailIdentifierList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('parameterType')">
<if test="conditionParamRef.parameterType != null ">
${_conditionType_} a.parameterType = #{${_conditionParam_}.parameterType}
</if>
<if test="conditionParamRef.parameterType == null">
${_conditionType_} a.parameterType is null
</if>
</if>
<if test="conditionParamRef.containsKey('parameterTypeList')">
${_conditionType_} a.parameterType in
<foreach collection="conditionParamRef.parameterTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('parameterTypeStart') and conditionParamRef.parameterTypeStart != null">
${_conditionType_} a.parameterType <![CDATA[ >= ]]> #{${_conditionParam_}.parameterTypeStart}
</if>
<if test="conditionParamRef.containsKey('parameterTypeEnd') and conditionParamRef.parameterTypeEnd != null">
${_conditionType_} a.parameterType <![CDATA[ <= ]]> #{${_conditionParam_}.parameterTypeEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('productId')">
<if test="conditionParamRef.productId != null ">
${_conditionType_} a.productId = #{${_conditionParam_}.productId}
</if>
<if test="conditionParamRef.productId == null">
${_conditionType_} a.productId is null
</if>
</if>
<if test="conditionParamRef.containsKey('productIdList')">
${_conditionType_} a.productId in
<foreach collection="conditionParamRef.productIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdStart') and conditionParamRef.productIdStart != null">
${_conditionType_} a.productId <![CDATA[ >= ]]> #{${_conditionParam_}.productIdStart}
</if>
<if test="conditionParamRef.containsKey('productIdEnd') and conditionParamRef.productIdEnd != null">
${_conditionType_} a.productId <![CDATA[ <= ]]> #{${_conditionParam_}.productIdEnd}
</if>
<if test="conditionParamRef.containsKey('productKey')">
<if test="conditionParamRef.productKey != null and conditionParamRef.productKey != ''">
${_conditionType_} a.productKey like #{${_conditionParam_}.productKey}
</if>
<if test="conditionParamRef.productKey == null">
${_conditionType_} a.productKey is null
</if>
</if>
<if test="conditionParamRef.containsKey('productKeyList')">
${_conditionType_} a.productKey in
<foreach collection="conditionParamRef.productKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('functionItemId')">
<if test="conditionParamRef.functionItemId != null ">
${_conditionType_} a.functionItemId = #{${_conditionParam_}.functionItemId}
</if>
<if test="conditionParamRef.functionItemId == null">
${_conditionType_} a.functionItemId is null
</if>
</if>
<if test="conditionParamRef.containsKey('functionItemIdList')">
${_conditionType_} a.functionItemId in
<foreach collection="conditionParamRef.functionItemIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('functionItemIdStart') and conditionParamRef.functionItemIdStart != null">
${_conditionType_} a.functionItemId <![CDATA[ >= ]]> #{${_conditionParam_}.functionItemIdStart}
</if>
<if test="conditionParamRef.containsKey('functionItemIdEnd') and conditionParamRef.functionItemIdEnd != null">
${_conditionType_} a.functionItemId <![CDATA[ <= ]]> #{${_conditionParam_}.functionItemIdEnd}
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('dataType')">
a.dataType
<if test='orderCol.dataType != null and "DESC".equalsIgnoreCase(orderCol.dataType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('dataTypeDetail')">
a.dataTypeDetail
<if test='orderCol.dataTypeDetail != null and "DESC".equalsIgnoreCase(orderCol.dataTypeDetail)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('parameterName')">
a.parameterName
<if test='orderCol.parameterName != null and "DESC".equalsIgnoreCase(orderCol.parameterName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('detailIdentifier')">
a.detailIdentifier
<if test='orderCol.detailIdentifier != null and "DESC".equalsIgnoreCase(orderCol.detailIdentifier)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('parameterType')">
a.parameterType
<if test='orderCol.parameterType != null and "DESC".equalsIgnoreCase(orderCol.parameterType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productId')">
a.productId
<if test='orderCol.productId != null and "DESC".equalsIgnoreCase(orderCol.productId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productKey')">
a.productKey
<if test='orderCol.productKey != null and "DESC".equalsIgnoreCase(orderCol.productKey)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('functionItemId')">
a.functionItemId
<if test='orderCol.functionItemId != null and "DESC".equalsIgnoreCase(orderCol.functionItemId)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.product.dao.ibatis.ProductFunctionItemDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ProductFunctionItemEntity" id="ProductFunctionItemEntity-Map">
<id property="id" column="id" />
<result property="functionName" column="functionName" />
<result property="functionIdentifier" column="functionIdentifier" />
<result property="eventType" column="eventType" />
<result property="readOrWrite" column="readOrWrite" />
<result property="invokingType" column="invokingType" />
<result property="productFunctionType" column="productFunctionType" />
<result property="productId" column="productId" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
<result property="productKey" column="productKey" />
<result property="customerId" column="customerId" />
<result property="productFunctionStatus" column="productFunctionStatus" />
<result property="productFunctionMethod" column="productFunctionMethod" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('functionName') or colPickMode == 1 and data.containsKey('functionName')))">
a.functionName as functionName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('functionIdentifier') or colPickMode == 1 and data.containsKey('functionIdentifier')))">
a.functionIdentifier as functionIdentifier,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('eventType') or colPickMode == 1 and data.containsKey('eventType')))">
a.eventType as eventType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('readOrWrite') or colPickMode == 1 and data.containsKey('readOrWrite')))">
a.readOrWrite as readOrWrite,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('invokingType') or colPickMode == 1 and data.containsKey('invokingType')))">
a.invokingType as invokingType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productFunctionType') or colPickMode == 1 and data.containsKey('productFunctionType')))">
a.productFunctionType as productFunctionType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productId') or colPickMode == 1 and data.containsKey('productId')))">
a.productId as productId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productKey') or colPickMode == 1 and data.containsKey('productKey')))">
a.productKey as productKey,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productFunctionStatus') or colPickMode == 1 and data.containsKey('productFunctionStatus')))">
a.productFunctionStatus as productFunctionStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productFunctionMethod') or colPickMode == 1 and data.containsKey('productFunctionMethod')))">
a.productFunctionMethod as productFunctionMethod,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ProductFunctionItemEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_product_function_item
(functionName,functionIdentifier,eventType,readOrWrite,invokingType,productFunctionType,productId,createTime,updateTime,productKey,customerId,productFunctionStatus,productFunctionMethod)
VALUES
(#{functionName},#{functionIdentifier},#{eventType},#{readOrWrite},#{invokingType},#{productFunctionType},#{productId},#{createTime},#{updateTime},#{productKey},#{customerId},#{productFunctionStatus},#{productFunctionMethod})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_product_function_item
(functionName,functionIdentifier,eventType,readOrWrite,invokingType,productFunctionType,productId,createTime,updateTime,productKey,customerId,productFunctionStatus,productFunctionMethod)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.functionName},#{item.functionIdentifier},#{item.eventType},#{item.readOrWrite},#{item.invokingType},#{item.productFunctionType},#{item.productId},#{item.createTime},#{item.updateTime},#{item.productKey},#{item.customerId},#{item.productFunctionStatus},#{item.productFunctionMethod})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_product_function_item as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('functionName')) or (colPickMode==1 and !data.containsKey('functionName'))">
a.functionName=#{data.functionName},
</if>
<if test="(colPickMode==0 and data.containsKey('functionIdentifier')) or (colPickMode==1 and !data.containsKey('functionIdentifier'))">
a.functionIdentifier=#{data.functionIdentifier},
</if>
<if test="(colPickMode==0 and data.containsKey('eventType')) or (colPickMode==1 and !data.containsKey('eventType'))">
a.eventType=#{data.eventType},
</if>
<if test="(colPickMode==0 and data.containsKey('eventTypeIncrement')) or (colPickMode==1 and !data.containsKey('eventTypeIncrement'))">
a.eventType=ifnull(a.eventType,0) + #{data.eventTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('readOrWrite')) or (colPickMode==1 and !data.containsKey('readOrWrite'))">
a.readOrWrite=#{data.readOrWrite},
</if>
<if test="(colPickMode==0 and data.containsKey('readOrWriteIncrement')) or (colPickMode==1 and !data.containsKey('readOrWriteIncrement'))">
a.readOrWrite=ifnull(a.readOrWrite,0) + #{data.readOrWriteIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('invokingType')) or (colPickMode==1 and !data.containsKey('invokingType'))">
a.invokingType=#{data.invokingType},
</if>
<if test="(colPickMode==0 and data.containsKey('invokingTypeIncrement')) or (colPickMode==1 and !data.containsKey('invokingTypeIncrement'))">
a.invokingType=ifnull(a.invokingType,0) + #{data.invokingTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productFunctionType')) or (colPickMode==1 and !data.containsKey('productFunctionType'))">
a.productFunctionType=#{data.productFunctionType},
</if>
<if test="(colPickMode==0 and data.containsKey('productFunctionTypeIncrement')) or (colPickMode==1 and !data.containsKey('productFunctionTypeIncrement'))">
a.productFunctionType=ifnull(a.productFunctionType,0) + #{data.productFunctionTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productId')) or (colPickMode==1 and !data.containsKey('productId'))">
a.productId=#{data.productId},
</if>
<if test="(colPickMode==0 and data.containsKey('productIdIncrement')) or (colPickMode==1 and !data.containsKey('productIdIncrement'))">
a.productId=ifnull(a.productId,0) + #{data.productIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('productKey')) or (colPickMode==1 and !data.containsKey('productKey'))">
a.productKey=#{data.productKey},
</if>
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productFunctionStatus')) or (colPickMode==1 and !data.containsKey('productFunctionStatus'))">
a.productFunctionStatus=#{data.productFunctionStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('productFunctionStatusIncrement')) or (colPickMode==1 and !data.containsKey('productFunctionStatusIncrement'))">
a.productFunctionStatus=ifnull(a.productFunctionStatus,0) + #{data.productFunctionStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productFunctionMethod')) or (colPickMode==1 and !data.containsKey('productFunctionMethod'))">
a.productFunctionMethod=#{data.productFunctionMethod},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_product_function_item as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="functionName=(case" suffix="ELSE functionName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('functionName')) or (colPickMode==1 and !item.containsKey('functionName'))">
when a.id=#{item.id} then #{item.functionName}
</if>
</foreach>
</trim>
<trim prefix="functionIdentifier=(case" suffix="ELSE functionIdentifier end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('functionIdentifier')) or (colPickMode==1 and !item.containsKey('functionIdentifier'))">
when a.id=#{item.id} then #{item.functionIdentifier}
</if>
</foreach>
</trim>
<trim prefix="eventType=(case" suffix="ELSE eventType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('eventType')) or (colPickMode==1 and !item.containsKey('eventType'))">
when a.id=#{item.id} then #{item.eventType}
</when>
<when test="(colPickMode==0 and item.containsKey('eventTypeIncrement')) or (colPickMode==1 and !item.containsKey('eventTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.eventType,0) + #{item.eventTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="readOrWrite=(case" suffix="ELSE readOrWrite end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('readOrWrite')) or (colPickMode==1 and !item.containsKey('readOrWrite'))">
when a.id=#{item.id} then #{item.readOrWrite}
</when>
<when test="(colPickMode==0 and item.containsKey('readOrWriteIncrement')) or (colPickMode==1 and !item.containsKey('readOrWriteIncrement'))">
when a.id=#{item.id} then ifnull(a.readOrWrite,0) + #{item.readOrWriteIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="invokingType=(case" suffix="ELSE invokingType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('invokingType')) or (colPickMode==1 and !item.containsKey('invokingType'))">
when a.id=#{item.id} then #{item.invokingType}
</when>
<when test="(colPickMode==0 and item.containsKey('invokingTypeIncrement')) or (colPickMode==1 and !item.containsKey('invokingTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.invokingType,0) + #{item.invokingTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productFunctionType=(case" suffix="ELSE productFunctionType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productFunctionType')) or (colPickMode==1 and !item.containsKey('productFunctionType'))">
when a.id=#{item.id} then #{item.productFunctionType}
</when>
<when test="(colPickMode==0 and item.containsKey('productFunctionTypeIncrement')) or (colPickMode==1 and !item.containsKey('productFunctionTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.productFunctionType,0) + #{item.productFunctionTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productId=(case" suffix="ELSE productId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productId')) or (colPickMode==1 and !item.containsKey('productId'))">
when a.id=#{item.id} then #{item.productId}
</when>
<when test="(colPickMode==0 and item.containsKey('productIdIncrement')) or (colPickMode==1 and !item.containsKey('productIdIncrement'))">
when a.id=#{item.id} then ifnull(a.productId,0) + #{item.productIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="productKey=(case" suffix="ELSE productKey end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productKey')) or (colPickMode==1 and !item.containsKey('productKey'))">
when a.id=#{item.id} then #{item.productKey}
</if>
</foreach>
</trim>
<trim prefix="customerId=(case" suffix="ELSE customerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerId')) or (colPickMode==1 and !item.containsKey('customerId'))">
when a.id=#{item.id} then #{item.customerId}
</when>
<when test="(colPickMode==0 and item.containsKey('customerIdIncrement')) or (colPickMode==1 and !item.containsKey('customerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.customerId,0) + #{item.customerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productFunctionStatus=(case" suffix="ELSE productFunctionStatus end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productFunctionStatus')) or (colPickMode==1 and !item.containsKey('productFunctionStatus'))">
when a.id=#{item.id} then #{item.productFunctionStatus}
</when>
<when test="(colPickMode==0 and item.containsKey('productFunctionStatusIncrement')) or (colPickMode==1 and !item.containsKey('productFunctionStatusIncrement'))">
when a.id=#{item.id} then ifnull(a.productFunctionStatus,0) + #{item.productFunctionStatusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productFunctionMethod=(case" suffix="ELSE productFunctionMethod end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productFunctionMethod')) or (colPickMode==1 and !item.containsKey('productFunctionMethod'))">
when a.id=#{item.id} then #{item.productFunctionMethod}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ProductFunctionItemEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_function_item as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_product_function_item as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_product_function_item where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_product_function_item as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ProductFunctionItemEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_function_item as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_product_function_item as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('functionName')">
<if test="conditionParamRef.functionName != null and conditionParamRef.functionName != ''">
${_conditionType_} a.functionName like #{${_conditionParam_}.functionName}
</if>
<if test="conditionParamRef.functionName == null">
${_conditionType_} a.functionName is null
</if>
</if>
<if test="conditionParamRef.containsKey('functionNameList')">
${_conditionType_} a.functionName in
<foreach collection="conditionParamRef.functionNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('functionIdentifier')">
<if test="conditionParamRef.functionIdentifier != null and conditionParamRef.functionIdentifier != ''">
${_conditionType_} a.functionIdentifier like #{${_conditionParam_}.functionIdentifier}
</if>
<if test="conditionParamRef.functionIdentifier == null">
${_conditionType_} a.functionIdentifier is null
</if>
</if>
<if test="conditionParamRef.containsKey('functionIdentifierList')">
${_conditionType_} a.functionIdentifier in
<foreach collection="conditionParamRef.functionIdentifierList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('eventType')">
<if test="conditionParamRef.eventType != null ">
${_conditionType_} a.eventType = #{${_conditionParam_}.eventType}
</if>
<if test="conditionParamRef.eventType == null">
${_conditionType_} a.eventType is null
</if>
</if>
<if test="conditionParamRef.containsKey('eventTypeList')">
${_conditionType_} a.eventType in
<foreach collection="conditionParamRef.eventTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('eventTypeStart') and conditionParamRef.eventTypeStart != null">
${_conditionType_} a.eventType <![CDATA[ >= ]]> #{${_conditionParam_}.eventTypeStart}
</if>
<if test="conditionParamRef.containsKey('eventTypeEnd') and conditionParamRef.eventTypeEnd != null">
${_conditionType_} a.eventType <![CDATA[ <= ]]> #{${_conditionParam_}.eventTypeEnd}
</if>
<if test="conditionParamRef.containsKey('readOrWrite')">
<if test="conditionParamRef.readOrWrite != null ">
${_conditionType_} a.readOrWrite = #{${_conditionParam_}.readOrWrite}
</if>
<if test="conditionParamRef.readOrWrite == null">
${_conditionType_} a.readOrWrite is null
</if>
</if>
<if test="conditionParamRef.containsKey('readOrWriteList')">
${_conditionType_} a.readOrWrite in
<foreach collection="conditionParamRef.readOrWriteList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('readOrWriteStart') and conditionParamRef.readOrWriteStart != null">
${_conditionType_} a.readOrWrite <![CDATA[ >= ]]> #{${_conditionParam_}.readOrWriteStart}
</if>
<if test="conditionParamRef.containsKey('readOrWriteEnd') and conditionParamRef.readOrWriteEnd != null">
${_conditionType_} a.readOrWrite <![CDATA[ <= ]]> #{${_conditionParam_}.readOrWriteEnd}
</if>
<if test="conditionParamRef.containsKey('invokingType')">
<if test="conditionParamRef.invokingType != null ">
${_conditionType_} a.invokingType = #{${_conditionParam_}.invokingType}
</if>
<if test="conditionParamRef.invokingType == null">
${_conditionType_} a.invokingType is null
</if>
</if>
<if test="conditionParamRef.containsKey('invokingTypeList')">
${_conditionType_} a.invokingType in
<foreach collection="conditionParamRef.invokingTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('invokingTypeStart') and conditionParamRef.invokingTypeStart != null">
${_conditionType_} a.invokingType <![CDATA[ >= ]]> #{${_conditionParam_}.invokingTypeStart}
</if>
<if test="conditionParamRef.containsKey('invokingTypeEnd') and conditionParamRef.invokingTypeEnd != null">
${_conditionType_} a.invokingType <![CDATA[ <= ]]> #{${_conditionParam_}.invokingTypeEnd}
</if>
<if test="conditionParamRef.containsKey('productFunctionType')">
<if test="conditionParamRef.productFunctionType != null ">
${_conditionType_} a.productFunctionType = #{${_conditionParam_}.productFunctionType}
</if>
<if test="conditionParamRef.productFunctionType == null">
${_conditionType_} a.productFunctionType is null
</if>
</if>
<if test="conditionParamRef.containsKey('productFunctionTypeList')">
${_conditionType_} a.productFunctionType in
<foreach collection="conditionParamRef.productFunctionTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productFunctionTypeStart') and conditionParamRef.productFunctionTypeStart != null">
${_conditionType_} a.productFunctionType <![CDATA[ >= ]]> #{${_conditionParam_}.productFunctionTypeStart}
</if>
<if test="conditionParamRef.containsKey('productFunctionTypeEnd') and conditionParamRef.productFunctionTypeEnd != null">
${_conditionType_} a.productFunctionType <![CDATA[ <= ]]> #{${_conditionParam_}.productFunctionTypeEnd}
</if>
<if test="conditionParamRef.containsKey('productId')">
<if test="conditionParamRef.productId != null ">
${_conditionType_} a.productId = #{${_conditionParam_}.productId}
</if>
<if test="conditionParamRef.productId == null">
${_conditionType_} a.productId is null
</if>
</if>
<if test="conditionParamRef.containsKey('productIdList')">
${_conditionType_} a.productId in
<foreach collection="conditionParamRef.productIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdStart') and conditionParamRef.productIdStart != null">
${_conditionType_} a.productId <![CDATA[ >= ]]> #{${_conditionParam_}.productIdStart}
</if>
<if test="conditionParamRef.containsKey('productIdEnd') and conditionParamRef.productIdEnd != null">
${_conditionType_} a.productId <![CDATA[ <= ]]> #{${_conditionParam_}.productIdEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('productKey')">
<if test="conditionParamRef.productKey != null and conditionParamRef.productKey != ''">
${_conditionType_} a.productKey like #{${_conditionParam_}.productKey}
</if>
<if test="conditionParamRef.productKey == null">
${_conditionType_} a.productKey is null
</if>
</if>
<if test="conditionParamRef.containsKey('productKeyList')">
${_conditionType_} a.productKey in
<foreach collection="conditionParamRef.productKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerId')">
<if test="conditionParamRef.customerId != null ">
${_conditionType_} a.customerId = #{${_conditionParam_}.customerId}
</if>
<if test="conditionParamRef.customerId == null">
${_conditionType_} a.customerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerIdList')">
${_conditionType_} a.customerId in
<foreach collection="conditionParamRef.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerIdStart') and conditionParamRef.customerIdStart != null">
${_conditionType_} a.customerId <![CDATA[ >= ]]> #{${_conditionParam_}.customerIdStart}
</if>
<if test="conditionParamRef.containsKey('customerIdEnd') and conditionParamRef.customerIdEnd != null">
${_conditionType_} a.customerId <![CDATA[ <= ]]> #{${_conditionParam_}.customerIdEnd}
</if>
<if test="conditionParamRef.containsKey('productFunctionStatus')">
<if test="conditionParamRef.productFunctionStatus != null ">
${_conditionType_} a.productFunctionStatus = #{${_conditionParam_}.productFunctionStatus}
</if>
<if test="conditionParamRef.productFunctionStatus == null">
${_conditionType_} a.productFunctionStatus is null
</if>
</if>
<if test="conditionParamRef.containsKey('productFunctionStatusList')">
${_conditionType_} a.productFunctionStatus in
<foreach collection="conditionParamRef.productFunctionStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productFunctionStatusStart') and conditionParamRef.productFunctionStatusStart != null">
${_conditionType_} a.productFunctionStatus <![CDATA[ >= ]]> #{${_conditionParam_}.productFunctionStatusStart}
</if>
<if test="conditionParamRef.containsKey('productFunctionStatusEnd') and conditionParamRef.productFunctionStatusEnd != null">
${_conditionType_} a.productFunctionStatus <![CDATA[ <= ]]> #{${_conditionParam_}.productFunctionStatusEnd}
</if>
<if test="conditionParamRef.containsKey('productFunctionMethod')">
<if test="conditionParamRef.productFunctionMethod != null and conditionParamRef.productFunctionMethod != ''">
${_conditionType_} a.productFunctionMethod like #{${_conditionParam_}.productFunctionMethod}
</if>
<if test="conditionParamRef.productFunctionMethod == null">
${_conditionType_} a.productFunctionMethod is null
</if>
</if>
<if test="conditionParamRef.containsKey('productFunctionMethodList')">
${_conditionType_} a.productFunctionMethod in
<foreach collection="conditionParamRef.productFunctionMethodList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('functionName')">
a.functionName
<if test='orderCol.functionName != null and "DESC".equalsIgnoreCase(orderCol.functionName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('functionIdentifier')">
a.functionIdentifier
<if test='orderCol.functionIdentifier != null and "DESC".equalsIgnoreCase(orderCol.functionIdentifier)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('eventType')">
a.eventType
<if test='orderCol.eventType != null and "DESC".equalsIgnoreCase(orderCol.eventType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('readOrWrite')">
a.readOrWrite
<if test='orderCol.readOrWrite != null and "DESC".equalsIgnoreCase(orderCol.readOrWrite)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('invokingType')">
a.invokingType
<if test='orderCol.invokingType != null and "DESC".equalsIgnoreCase(orderCol.invokingType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productFunctionType')">
a.productFunctionType
<if test='orderCol.productFunctionType != null and "DESC".equalsIgnoreCase(orderCol.productFunctionType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productId')">
a.productId
<if test='orderCol.productId != null and "DESC".equalsIgnoreCase(orderCol.productId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productKey')">
a.productKey
<if test='orderCol.productKey != null and "DESC".equalsIgnoreCase(orderCol.productKey)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test='orderCol.customerId != null and "DESC".equalsIgnoreCase(orderCol.customerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productFunctionStatus')">
a.productFunctionStatus
<if test='orderCol.productFunctionStatus != null and "DESC".equalsIgnoreCase(orderCol.productFunctionStatus)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productFunctionMethod')">
a.productFunctionMethod
<if test='orderCol.productFunctionMethod != null and "DESC".equalsIgnoreCase(orderCol.productFunctionMethod)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.product.dao.ibatis.ProductDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ProductEntity" id="ProductEntity-Map">
<id property="id" column="id" />
<result property="customerId" column="customerId" />
<result property="productName" column="productName" />
<result property="productType" column="productType" />
<result property="nodeType" column="nodeType" />
<result property="connGateProtocol" column="connGateProtocol" />
<result property="networkType" column="networkType" />
<result property="networkProof" column="networkProof" />
<result property="dataType" column="dataType" />
<result property="checkType" column="checkType" />
<result property="authType" column="authType" />
<result property="productRemark" column="productRemark" />
<result property="productKey" column="productKey" />
<result property="productStatus" column="productStatus" />
<result property="productTSL" column="productTSL" />
<result property="qos" column="qos" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productName') or colPickMode == 1 and data.containsKey('productName')))">
a.productName as productName,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productType') or colPickMode == 1 and data.containsKey('productType')))">
a.productType as productType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('nodeType') or colPickMode == 1 and data.containsKey('nodeType')))">
a.nodeType as nodeType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('connGateProtocol') or colPickMode == 1 and data.containsKey('connGateProtocol')))">
a.connGateProtocol as connGateProtocol,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('networkType') or colPickMode == 1 and data.containsKey('networkType')))">
a.networkType as networkType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('networkProof') or colPickMode == 1 and data.containsKey('networkProof')))">
a.networkProof as networkProof,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('dataType') or colPickMode == 1 and data.containsKey('dataType')))">
a.dataType as dataType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('checkType') or colPickMode == 1 and data.containsKey('checkType')))">
a.checkType as checkType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('authType') or colPickMode == 1 and data.containsKey('authType')))">
a.authType as authType,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productRemark') or colPickMode == 1 and data.containsKey('productRemark')))">
a.productRemark as productRemark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productKey') or colPickMode == 1 and data.containsKey('productKey')))">
a.productKey as productKey,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productStatus') or colPickMode == 1 and data.containsKey('productStatus')))">
a.productStatus as productStatus,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productTSL') or colPickMode == 1 and data.containsKey('productTSL')))">
a.productTSL as productTSL,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('qos') or colPickMode == 1 and data.containsKey('qos')))">
a.qos as qos,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ProductEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_product
(customerId,productName,productType,nodeType,connGateProtocol,networkType,networkProof,dataType,checkType,authType,productRemark,productKey,productStatus,productTSL,qos,createTime,updateTime)
VALUES
(#{customerId},#{productName},#{productType},#{nodeType},#{connGateProtocol},#{networkType},#{networkProof},#{dataType},#{checkType},#{authType},#{productRemark},#{productKey},#{productStatus},#{productTSL},#{qos},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_product
(customerId,productName,productType,nodeType,connGateProtocol,networkType,networkProof,dataType,checkType,authType,productRemark,productKey,productStatus,productTSL,qos,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.customerId},#{item.productName},#{item.productType},#{item.nodeType},#{item.connGateProtocol},#{item.networkType},#{item.networkProof},#{item.dataType},#{item.checkType},#{item.authType},#{item.productRemark},#{item.productKey},#{item.productStatus},#{item.productTSL},#{item.qos},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_product as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productName')) or (colPickMode==1 and !data.containsKey('productName'))">
a.productName=#{data.productName},
</if>
<if test="(colPickMode==0 and data.containsKey('productType')) or (colPickMode==1 and !data.containsKey('productType'))">
a.productType=#{data.productType},
</if>
<if test="(colPickMode==0 and data.containsKey('productTypeIncrement')) or (colPickMode==1 and !data.containsKey('productTypeIncrement'))">
a.productType=ifnull(a.productType,0) + #{data.productTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('nodeType')) or (colPickMode==1 and !data.containsKey('nodeType'))">
a.nodeType=#{data.nodeType},
</if>
<if test="(colPickMode==0 and data.containsKey('nodeTypeIncrement')) or (colPickMode==1 and !data.containsKey('nodeTypeIncrement'))">
a.nodeType=ifnull(a.nodeType,0) + #{data.nodeTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('connGateProtocol')) or (colPickMode==1 and !data.containsKey('connGateProtocol'))">
a.connGateProtocol=#{data.connGateProtocol},
</if>
<if test="(colPickMode==0 and data.containsKey('connGateProtocolIncrement')) or (colPickMode==1 and !data.containsKey('connGateProtocolIncrement'))">
a.connGateProtocol=ifnull(a.connGateProtocol,0) + #{data.connGateProtocolIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('networkType')) or (colPickMode==1 and !data.containsKey('networkType'))">
a.networkType=#{data.networkType},
</if>
<if test="(colPickMode==0 and data.containsKey('networkTypeIncrement')) or (colPickMode==1 and !data.containsKey('networkTypeIncrement'))">
a.networkType=ifnull(a.networkType,0) + #{data.networkTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('networkProof')) or (colPickMode==1 and !data.containsKey('networkProof'))">
a.networkProof=#{data.networkProof},
</if>
<if test="(colPickMode==0 and data.containsKey('dataType')) or (colPickMode==1 and !data.containsKey('dataType'))">
a.dataType=#{data.dataType},
</if>
<if test="(colPickMode==0 and data.containsKey('dataTypeIncrement')) or (colPickMode==1 and !data.containsKey('dataTypeIncrement'))">
a.dataType=ifnull(a.dataType,0) + #{data.dataTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('checkType')) or (colPickMode==1 and !data.containsKey('checkType'))">
a.checkType=#{data.checkType},
</if>
<if test="(colPickMode==0 and data.containsKey('checkTypeIncrement')) or (colPickMode==1 and !data.containsKey('checkTypeIncrement'))">
a.checkType=ifnull(a.checkType,0) + #{data.checkTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('authType')) or (colPickMode==1 and !data.containsKey('authType'))">
a.authType=#{data.authType},
</if>
<if test="(colPickMode==0 and data.containsKey('authTypeIncrement')) or (colPickMode==1 and !data.containsKey('authTypeIncrement'))">
a.authType=ifnull(a.authType,0) + #{data.authTypeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productRemark')) or (colPickMode==1 and !data.containsKey('productRemark'))">
a.productRemark=#{data.productRemark},
</if>
<if test="(colPickMode==0 and data.containsKey('productKey')) or (colPickMode==1 and !data.containsKey('productKey'))">
a.productKey=#{data.productKey},
</if>
<if test="(colPickMode==0 and data.containsKey('productStatus')) or (colPickMode==1 and !data.containsKey('productStatus'))">
a.productStatus=#{data.productStatus},
</if>
<if test="(colPickMode==0 and data.containsKey('productStatusIncrement')) or (colPickMode==1 and !data.containsKey('productStatusIncrement'))">
a.productStatus=ifnull(a.productStatus,0) + #{data.productStatusIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productTSL')) or (colPickMode==1 and !data.containsKey('productTSL'))">
a.productTSL=#{data.productTSL},
</if>
<if test="(colPickMode==0 and data.containsKey('qos')) or (colPickMode==1 and !data.containsKey('qos'))">
a.qos=#{data.qos},
</if>
<if test="(colPickMode==0 and data.containsKey('qosIncrement')) or (colPickMode==1 and !data.containsKey('qosIncrement'))">
a.qos=ifnull(a.qos,0) + #{data.qosIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_product as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="customerId=(case" suffix="ELSE customerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerId')) or (colPickMode==1 and !item.containsKey('customerId'))">
when a.id=#{item.id} then #{item.customerId}
</when>
<when test="(colPickMode==0 and item.containsKey('customerIdIncrement')) or (colPickMode==1 and !item.containsKey('customerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.customerId,0) + #{item.customerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productName=(case" suffix="ELSE productName end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productName')) or (colPickMode==1 and !item.containsKey('productName'))">
when a.id=#{item.id} then #{item.productName}
</if>
</foreach>
</trim>
<trim prefix="productType=(case" suffix="ELSE productType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productType')) or (colPickMode==1 and !item.containsKey('productType'))">
when a.id=#{item.id} then #{item.productType}
</when>
<when test="(colPickMode==0 and item.containsKey('productTypeIncrement')) or (colPickMode==1 and !item.containsKey('productTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.productType,0) + #{item.productTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="nodeType=(case" suffix="ELSE nodeType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('nodeType')) or (colPickMode==1 and !item.containsKey('nodeType'))">
when a.id=#{item.id} then #{item.nodeType}
</when>
<when test="(colPickMode==0 and item.containsKey('nodeTypeIncrement')) or (colPickMode==1 and !item.containsKey('nodeTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.nodeType,0) + #{item.nodeTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="connGateProtocol=(case" suffix="ELSE connGateProtocol end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('connGateProtocol')) or (colPickMode==1 and !item.containsKey('connGateProtocol'))">
when a.id=#{item.id} then #{item.connGateProtocol}
</when>
<when test="(colPickMode==0 and item.containsKey('connGateProtocolIncrement')) or (colPickMode==1 and !item.containsKey('connGateProtocolIncrement'))">
when a.id=#{item.id} then ifnull(a.connGateProtocol,0) + #{item.connGateProtocolIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="networkType=(case" suffix="ELSE networkType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('networkType')) or (colPickMode==1 and !item.containsKey('networkType'))">
when a.id=#{item.id} then #{item.networkType}
</when>
<when test="(colPickMode==0 and item.containsKey('networkTypeIncrement')) or (colPickMode==1 and !item.containsKey('networkTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.networkType,0) + #{item.networkTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="networkProof=(case" suffix="ELSE networkProof end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('networkProof')) or (colPickMode==1 and !item.containsKey('networkProof'))">
when a.id=#{item.id} then #{item.networkProof}
</if>
</foreach>
</trim>
<trim prefix="dataType=(case" suffix="ELSE dataType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('dataType')) or (colPickMode==1 and !item.containsKey('dataType'))">
when a.id=#{item.id} then #{item.dataType}
</when>
<when test="(colPickMode==0 and item.containsKey('dataTypeIncrement')) or (colPickMode==1 and !item.containsKey('dataTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.dataType,0) + #{item.dataTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="checkType=(case" suffix="ELSE checkType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('checkType')) or (colPickMode==1 and !item.containsKey('checkType'))">
when a.id=#{item.id} then #{item.checkType}
</when>
<when test="(colPickMode==0 and item.containsKey('checkTypeIncrement')) or (colPickMode==1 and !item.containsKey('checkTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.checkType,0) + #{item.checkTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="authType=(case" suffix="ELSE authType end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('authType')) or (colPickMode==1 and !item.containsKey('authType'))">
when a.id=#{item.id} then #{item.authType}
</when>
<when test="(colPickMode==0 and item.containsKey('authTypeIncrement')) or (colPickMode==1 and !item.containsKey('authTypeIncrement'))">
when a.id=#{item.id} then ifnull(a.authType,0) + #{item.authTypeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productRemark=(case" suffix="ELSE productRemark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productRemark')) or (colPickMode==1 and !item.containsKey('productRemark'))">
when a.id=#{item.id} then #{item.productRemark}
</if>
</foreach>
</trim>
<trim prefix="productKey=(case" suffix="ELSE productKey end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productKey')) or (colPickMode==1 and !item.containsKey('productKey'))">
when a.id=#{item.id} then #{item.productKey}
</if>
</foreach>
</trim>
<trim prefix="productStatus=(case" suffix="ELSE productStatus end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productStatus')) or (colPickMode==1 and !item.containsKey('productStatus'))">
when a.id=#{item.id} then #{item.productStatus}
</when>
<when test="(colPickMode==0 and item.containsKey('productStatusIncrement')) or (colPickMode==1 and !item.containsKey('productStatusIncrement'))">
when a.id=#{item.id} then ifnull(a.productStatus,0) + #{item.productStatusIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productTSL=(case" suffix="ELSE productTSL end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productTSL')) or (colPickMode==1 and !item.containsKey('productTSL'))">
when a.id=#{item.id} then #{item.productTSL}
</if>
</foreach>
</trim>
<trim prefix="qos=(case" suffix="ELSE qos end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('qos')) or (colPickMode==1 and !item.containsKey('qos'))">
when a.id=#{item.id} then #{item.qos}
</when>
<when test="(colPickMode==0 and item.containsKey('qosIncrement')) or (colPickMode==1 and !item.containsKey('qosIncrement'))">
when a.id=#{item.id} then ifnull(a.qos,0) + #{item.qosIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ProductEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_product as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_product where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_product as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ProductEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_product as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('customerId')">
<if test="conditionParamRef.customerId != null ">
${_conditionType_} a.customerId = #{${_conditionParam_}.customerId}
</if>
<if test="conditionParamRef.customerId == null">
${_conditionType_} a.customerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerIdList')">
${_conditionType_} a.customerId in
<foreach collection="conditionParamRef.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerIdStart') and conditionParamRef.customerIdStart != null">
${_conditionType_} a.customerId <![CDATA[ >= ]]> #{${_conditionParam_}.customerIdStart}
</if>
<if test="conditionParamRef.containsKey('customerIdEnd') and conditionParamRef.customerIdEnd != null">
${_conditionType_} a.customerId <![CDATA[ <= ]]> #{${_conditionParam_}.customerIdEnd}
</if>
<if test="conditionParamRef.containsKey('productName')">
<if test="conditionParamRef.productName != null and conditionParamRef.productName != ''">
${_conditionType_} a.productName like #{${_conditionParam_}.productName}
</if>
<if test="conditionParamRef.productName == null">
${_conditionType_} a.productName is null
</if>
</if>
<if test="conditionParamRef.containsKey('productNameList')">
${_conditionType_} a.productName in
<foreach collection="conditionParamRef.productNameList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productType')">
<if test="conditionParamRef.productType != null ">
${_conditionType_} a.productType = #{${_conditionParam_}.productType}
</if>
<if test="conditionParamRef.productType == null">
${_conditionType_} a.productType is null
</if>
</if>
<if test="conditionParamRef.containsKey('productTypeList')">
${_conditionType_} a.productType in
<foreach collection="conditionParamRef.productTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productTypeStart') and conditionParamRef.productTypeStart != null">
${_conditionType_} a.productType <![CDATA[ >= ]]> #{${_conditionParam_}.productTypeStart}
</if>
<if test="conditionParamRef.containsKey('productTypeEnd') and conditionParamRef.productTypeEnd != null">
${_conditionType_} a.productType <![CDATA[ <= ]]> #{${_conditionParam_}.productTypeEnd}
</if>
<if test="conditionParamRef.containsKey('nodeType')">
<if test="conditionParamRef.nodeType != null ">
${_conditionType_} a.nodeType = #{${_conditionParam_}.nodeType}
</if>
<if test="conditionParamRef.nodeType == null">
${_conditionType_} a.nodeType is null
</if>
</if>
<if test="conditionParamRef.containsKey('nodeTypeList')">
${_conditionType_} a.nodeType in
<foreach collection="conditionParamRef.nodeTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('nodeTypeStart') and conditionParamRef.nodeTypeStart != null">
${_conditionType_} a.nodeType <![CDATA[ >= ]]> #{${_conditionParam_}.nodeTypeStart}
</if>
<if test="conditionParamRef.containsKey('nodeTypeEnd') and conditionParamRef.nodeTypeEnd != null">
${_conditionType_} a.nodeType <![CDATA[ <= ]]> #{${_conditionParam_}.nodeTypeEnd}
</if>
<if test="conditionParamRef.containsKey('connGateProtocol')">
<if test="conditionParamRef.connGateProtocol != null ">
${_conditionType_} a.connGateProtocol = #{${_conditionParam_}.connGateProtocol}
</if>
<if test="conditionParamRef.connGateProtocol == null">
${_conditionType_} a.connGateProtocol is null
</if>
</if>
<if test="conditionParamRef.containsKey('connGateProtocolList')">
${_conditionType_} a.connGateProtocol in
<foreach collection="conditionParamRef.connGateProtocolList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('connGateProtocolStart') and conditionParamRef.connGateProtocolStart != null">
${_conditionType_} a.connGateProtocol <![CDATA[ >= ]]> #{${_conditionParam_}.connGateProtocolStart}
</if>
<if test="conditionParamRef.containsKey('connGateProtocolEnd') and conditionParamRef.connGateProtocolEnd != null">
${_conditionType_} a.connGateProtocol <![CDATA[ <= ]]> #{${_conditionParam_}.connGateProtocolEnd}
</if>
<if test="conditionParamRef.containsKey('networkType')">
<if test="conditionParamRef.networkType != null ">
${_conditionType_} a.networkType = #{${_conditionParam_}.networkType}
</if>
<if test="conditionParamRef.networkType == null">
${_conditionType_} a.networkType is null
</if>
</if>
<if test="conditionParamRef.containsKey('networkTypeList')">
${_conditionType_} a.networkType in
<foreach collection="conditionParamRef.networkTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('networkTypeStart') and conditionParamRef.networkTypeStart != null">
${_conditionType_} a.networkType <![CDATA[ >= ]]> #{${_conditionParam_}.networkTypeStart}
</if>
<if test="conditionParamRef.containsKey('networkTypeEnd') and conditionParamRef.networkTypeEnd != null">
${_conditionType_} a.networkType <![CDATA[ <= ]]> #{${_conditionParam_}.networkTypeEnd}
</if>
<if test="conditionParamRef.containsKey('networkProof')">
<if test="conditionParamRef.networkProof != null and conditionParamRef.networkProof != ''">
${_conditionType_} a.networkProof like #{${_conditionParam_}.networkProof}
</if>
<if test="conditionParamRef.networkProof == null">
${_conditionType_} a.networkProof is null
</if>
</if>
<if test="conditionParamRef.containsKey('networkProofList')">
${_conditionType_} a.networkProof in
<foreach collection="conditionParamRef.networkProofList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dataType')">
<if test="conditionParamRef.dataType != null ">
${_conditionType_} a.dataType = #{${_conditionParam_}.dataType}
</if>
<if test="conditionParamRef.dataType == null">
${_conditionType_} a.dataType is null
</if>
</if>
<if test="conditionParamRef.containsKey('dataTypeList')">
${_conditionType_} a.dataType in
<foreach collection="conditionParamRef.dataTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('dataTypeStart') and conditionParamRef.dataTypeStart != null">
${_conditionType_} a.dataType <![CDATA[ >= ]]> #{${_conditionParam_}.dataTypeStart}
</if>
<if test="conditionParamRef.containsKey('dataTypeEnd') and conditionParamRef.dataTypeEnd != null">
${_conditionType_} a.dataType <![CDATA[ <= ]]> #{${_conditionParam_}.dataTypeEnd}
</if>
<if test="conditionParamRef.containsKey('checkType')">
<if test="conditionParamRef.checkType != null ">
${_conditionType_} a.checkType = #{${_conditionParam_}.checkType}
</if>
<if test="conditionParamRef.checkType == null">
${_conditionType_} a.checkType is null
</if>
</if>
<if test="conditionParamRef.containsKey('checkTypeList')">
${_conditionType_} a.checkType in
<foreach collection="conditionParamRef.checkTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('checkTypeStart') and conditionParamRef.checkTypeStart != null">
${_conditionType_} a.checkType <![CDATA[ >= ]]> #{${_conditionParam_}.checkTypeStart}
</if>
<if test="conditionParamRef.containsKey('checkTypeEnd') and conditionParamRef.checkTypeEnd != null">
${_conditionType_} a.checkType <![CDATA[ <= ]]> #{${_conditionParam_}.checkTypeEnd}
</if>
<if test="conditionParamRef.containsKey('authType')">
<if test="conditionParamRef.authType != null ">
${_conditionType_} a.authType = #{${_conditionParam_}.authType}
</if>
<if test="conditionParamRef.authType == null">
${_conditionType_} a.authType is null
</if>
</if>
<if test="conditionParamRef.containsKey('authTypeList')">
${_conditionType_} a.authType in
<foreach collection="conditionParamRef.authTypeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('authTypeStart') and conditionParamRef.authTypeStart != null">
${_conditionType_} a.authType <![CDATA[ >= ]]> #{${_conditionParam_}.authTypeStart}
</if>
<if test="conditionParamRef.containsKey('authTypeEnd') and conditionParamRef.authTypeEnd != null">
${_conditionType_} a.authType <![CDATA[ <= ]]> #{${_conditionParam_}.authTypeEnd}
</if>
<if test="conditionParamRef.containsKey('productRemark')">
<if test="conditionParamRef.productRemark != null and conditionParamRef.productRemark != ''">
${_conditionType_} a.productRemark like #{${_conditionParam_}.productRemark}
</if>
<if test="conditionParamRef.productRemark == null">
${_conditionType_} a.productRemark is null
</if>
</if>
<if test="conditionParamRef.containsKey('productRemarkList')">
${_conditionType_} a.productRemark in
<foreach collection="conditionParamRef.productRemarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productKey')">
<if test="conditionParamRef.productKey != null and conditionParamRef.productKey != ''">
${_conditionType_} a.productKey like #{${_conditionParam_}.productKey}
</if>
<if test="conditionParamRef.productKey == null">
${_conditionType_} a.productKey is null
</if>
</if>
<if test="conditionParamRef.containsKey('productKeyList')">
${_conditionType_} a.productKey in
<foreach collection="conditionParamRef.productKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productStatus')">
<if test="conditionParamRef.productStatus != null ">
${_conditionType_} a.productStatus = #{${_conditionParam_}.productStatus}
</if>
<if test="conditionParamRef.productStatus == null">
${_conditionType_} a.productStatus is null
</if>
</if>
<if test="conditionParamRef.containsKey('productStatusList')">
${_conditionType_} a.productStatus in
<foreach collection="conditionParamRef.productStatusList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productStatusStart') and conditionParamRef.productStatusStart != null">
${_conditionType_} a.productStatus <![CDATA[ >= ]]> #{${_conditionParam_}.productStatusStart}
</if>
<if test="conditionParamRef.containsKey('productStatusEnd') and conditionParamRef.productStatusEnd != null">
${_conditionType_} a.productStatus <![CDATA[ <= ]]> #{${_conditionParam_}.productStatusEnd}
</if>
<if test="conditionParamRef.containsKey('productTSL')">
<if test="conditionParamRef.productTSL != null and conditionParamRef.productTSL != ''">
${_conditionType_} a.productTSL like #{${_conditionParam_}.productTSL}
</if>
<if test="conditionParamRef.productTSL == null">
${_conditionType_} a.productTSL is null
</if>
</if>
<if test="conditionParamRef.containsKey('productTSLList')">
${_conditionType_} a.productTSL in
<foreach collection="conditionParamRef.productTSLList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('qos')">
<if test="conditionParamRef.qos != null ">
${_conditionType_} a.qos = #{${_conditionParam_}.qos}
</if>
<if test="conditionParamRef.qos == null">
${_conditionType_} a.qos is null
</if>
</if>
<if test="conditionParamRef.containsKey('qosList')">
${_conditionType_} a.qos in
<foreach collection="conditionParamRef.qosList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('qosStart') and conditionParamRef.qosStart != null">
${_conditionType_} a.qos <![CDATA[ >= ]]> #{${_conditionParam_}.qosStart}
</if>
<if test="conditionParamRef.containsKey('qosEnd') and conditionParamRef.qosEnd != null">
${_conditionType_} a.qos <![CDATA[ <= ]]> #{${_conditionParam_}.qosEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test='orderCol.customerId != null and "DESC".equalsIgnoreCase(orderCol.customerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productName')">
a.productName
<if test='orderCol.productName != null and "DESC".equalsIgnoreCase(orderCol.productName)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productType')">
a.productType
<if test='orderCol.productType != null and "DESC".equalsIgnoreCase(orderCol.productType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('nodeType')">
a.nodeType
<if test='orderCol.nodeType != null and "DESC".equalsIgnoreCase(orderCol.nodeType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('connGateProtocol')">
a.connGateProtocol
<if test='orderCol.connGateProtocol != null and "DESC".equalsIgnoreCase(orderCol.connGateProtocol)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('networkType')">
a.networkType
<if test='orderCol.networkType != null and "DESC".equalsIgnoreCase(orderCol.networkType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('networkProof')">
a.networkProof
<if test='orderCol.networkProof != null and "DESC".equalsIgnoreCase(orderCol.networkProof)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('dataType')">
a.dataType
<if test='orderCol.dataType != null and "DESC".equalsIgnoreCase(orderCol.dataType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('checkType')">
a.checkType
<if test='orderCol.checkType != null and "DESC".equalsIgnoreCase(orderCol.checkType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('authType')">
a.authType
<if test='orderCol.authType != null and "DESC".equalsIgnoreCase(orderCol.authType)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productRemark')">
a.productRemark
<if test='orderCol.productRemark != null and "DESC".equalsIgnoreCase(orderCol.productRemark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productKey')">
a.productKey
<if test='orderCol.productKey != null and "DESC".equalsIgnoreCase(orderCol.productKey)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productStatus')">
a.productStatus
<if test='orderCol.productStatus != null and "DESC".equalsIgnoreCase(orderCol.productStatus)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productTSL')">
a.productTSL
<if test='orderCol.productTSL != null and "DESC".equalsIgnoreCase(orderCol.productTSL)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('qos')">
a.qos
<if test='orderCol.qos != null and "DESC".equalsIgnoreCase(orderCol.qos)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.product.dao.ibatis.ProductTopicLimitDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ProductTopicLimitEntity" id="ProductTopicLimitEntity-Map">
<id property="id" column="id" />
<result property="productCreateTopicNumLimit" column="productCreateTopicNumLimit" />
<result property="topicTopLimit" column="topicTopLimit" />
<result property="deviceSubRequestMaxNumLimit" column="deviceSubRequestMaxNumLimit" />
<result property="deviceSubOrUnSubTimeLimit" column="deviceSubOrUnSubTimeLimit" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productCreateTopicNumLimit') or colPickMode == 1 and data.containsKey('productCreateTopicNumLimit')))">
a.productCreateTopicNumLimit as productCreateTopicNumLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('topicTopLimit') or colPickMode == 1 and data.containsKey('topicTopLimit')))">
a.topicTopLimit as topicTopLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceSubRequestMaxNumLimit') or colPickMode == 1 and data.containsKey('deviceSubRequestMaxNumLimit')))">
a.deviceSubRequestMaxNumLimit as deviceSubRequestMaxNumLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceSubOrUnSubTimeLimit') or colPickMode == 1 and data.containsKey('deviceSubOrUnSubTimeLimit')))">
a.deviceSubOrUnSubTimeLimit as deviceSubOrUnSubTimeLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ProductTopicLimitEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_product_topic_limit
(productCreateTopicNumLimit,topicTopLimit,deviceSubRequestMaxNumLimit,deviceSubOrUnSubTimeLimit,createTime,updateTime)
VALUES
(#{productCreateTopicNumLimit},#{topicTopLimit},#{deviceSubRequestMaxNumLimit},#{deviceSubOrUnSubTimeLimit},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_product_topic_limit
(productCreateTopicNumLimit,topicTopLimit,deviceSubRequestMaxNumLimit,deviceSubOrUnSubTimeLimit,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.productCreateTopicNumLimit},#{item.topicTopLimit},#{item.deviceSubRequestMaxNumLimit},#{item.deviceSubOrUnSubTimeLimit},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_product_topic_limit as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('productCreateTopicNumLimit')) or (colPickMode==1 and !data.containsKey('productCreateTopicNumLimit'))">
a.productCreateTopicNumLimit=#{data.productCreateTopicNumLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('productCreateTopicNumLimitIncrement')) or (colPickMode==1 and !data.containsKey('productCreateTopicNumLimitIncrement'))">
a.productCreateTopicNumLimit=ifnull(a.productCreateTopicNumLimit,0) + #{data.productCreateTopicNumLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('topicTopLimit')) or (colPickMode==1 and !data.containsKey('topicTopLimit'))">
a.topicTopLimit=#{data.topicTopLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('topicTopLimitIncrement')) or (colPickMode==1 and !data.containsKey('topicTopLimitIncrement'))">
a.topicTopLimit=ifnull(a.topicTopLimit,0) + #{data.topicTopLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubRequestMaxNumLimit')) or (colPickMode==1 and !data.containsKey('deviceSubRequestMaxNumLimit'))">
a.deviceSubRequestMaxNumLimit=#{data.deviceSubRequestMaxNumLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubRequestMaxNumLimitIncrement')) or (colPickMode==1 and !data.containsKey('deviceSubRequestMaxNumLimitIncrement'))">
a.deviceSubRequestMaxNumLimit=ifnull(a.deviceSubRequestMaxNumLimit,0) + #{data.deviceSubRequestMaxNumLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubOrUnSubTimeLimit')) or (colPickMode==1 and !data.containsKey('deviceSubOrUnSubTimeLimit'))">
a.deviceSubOrUnSubTimeLimit=#{data.deviceSubOrUnSubTimeLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceSubOrUnSubTimeLimitIncrement')) or (colPickMode==1 and !data.containsKey('deviceSubOrUnSubTimeLimitIncrement'))">
a.deviceSubOrUnSubTimeLimit=ifnull(a.deviceSubOrUnSubTimeLimit,0) + #{data.deviceSubOrUnSubTimeLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_product_topic_limit as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="productCreateTopicNumLimit=(case" suffix="ELSE productCreateTopicNumLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productCreateTopicNumLimit')) or (colPickMode==1 and !item.containsKey('productCreateTopicNumLimit'))">
when a.id=#{item.id} then #{item.productCreateTopicNumLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('productCreateTopicNumLimitIncrement')) or (colPickMode==1 and !item.containsKey('productCreateTopicNumLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.productCreateTopicNumLimit,0) + #{item.productCreateTopicNumLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="topicTopLimit=(case" suffix="ELSE topicTopLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('topicTopLimit')) or (colPickMode==1 and !item.containsKey('topicTopLimit'))">
when a.id=#{item.id} then #{item.topicTopLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('topicTopLimitIncrement')) or (colPickMode==1 and !item.containsKey('topicTopLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.topicTopLimit,0) + #{item.topicTopLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceSubRequestMaxNumLimit=(case" suffix="ELSE deviceSubRequestMaxNumLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceSubRequestMaxNumLimit')) or (colPickMode==1 and !item.containsKey('deviceSubRequestMaxNumLimit'))">
when a.id=#{item.id} then #{item.deviceSubRequestMaxNumLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceSubRequestMaxNumLimitIncrement')) or (colPickMode==1 and !item.containsKey('deviceSubRequestMaxNumLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceSubRequestMaxNumLimit,0) + #{item.deviceSubRequestMaxNumLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceSubOrUnSubTimeLimit=(case" suffix="ELSE deviceSubOrUnSubTimeLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceSubOrUnSubTimeLimit')) or (colPickMode==1 and !item.containsKey('deviceSubOrUnSubTimeLimit'))">
when a.id=#{item.id} then #{item.deviceSubOrUnSubTimeLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceSubOrUnSubTimeLimitIncrement')) or (colPickMode==1 and !item.containsKey('deviceSubOrUnSubTimeLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceSubOrUnSubTimeLimit,0) + #{item.deviceSubOrUnSubTimeLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ProductTopicLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_topic_limit as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_product_topic_limit as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_product_topic_limit where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_product_topic_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ProductTopicLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_topic_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_product_topic_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('productCreateTopicNumLimit')">
<if test="conditionParamRef.productCreateTopicNumLimit != null ">
${_conditionType_} a.productCreateTopicNumLimit = #{${_conditionParam_}.productCreateTopicNumLimit}
</if>
<if test="conditionParamRef.productCreateTopicNumLimit == null">
${_conditionType_} a.productCreateTopicNumLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('productCreateTopicNumLimitList')">
${_conditionType_} a.productCreateTopicNumLimit in
<foreach collection="conditionParamRef.productCreateTopicNumLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productCreateTopicNumLimitStart') and conditionParamRef.productCreateTopicNumLimitStart != null">
${_conditionType_} a.productCreateTopicNumLimit <![CDATA[ >= ]]> #{${_conditionParam_}.productCreateTopicNumLimitStart}
</if>
<if test="conditionParamRef.containsKey('productCreateTopicNumLimitEnd') and conditionParamRef.productCreateTopicNumLimitEnd != null">
${_conditionType_} a.productCreateTopicNumLimit <![CDATA[ <= ]]> #{${_conditionParam_}.productCreateTopicNumLimitEnd}
</if>
<if test="conditionParamRef.containsKey('topicTopLimit')">
<if test="conditionParamRef.topicTopLimit != null ">
${_conditionType_} a.topicTopLimit = #{${_conditionParam_}.topicTopLimit}
</if>
<if test="conditionParamRef.topicTopLimit == null">
${_conditionType_} a.topicTopLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('topicTopLimitList')">
${_conditionType_} a.topicTopLimit in
<foreach collection="conditionParamRef.topicTopLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('topicTopLimitStart') and conditionParamRef.topicTopLimitStart != null">
${_conditionType_} a.topicTopLimit <![CDATA[ >= ]]> #{${_conditionParam_}.topicTopLimitStart}
</if>
<if test="conditionParamRef.containsKey('topicTopLimitEnd') and conditionParamRef.topicTopLimitEnd != null">
${_conditionType_} a.topicTopLimit <![CDATA[ <= ]]> #{${_conditionParam_}.topicTopLimitEnd}
</if>
<if test="conditionParamRef.containsKey('deviceSubRequestMaxNumLimit')">
<if test="conditionParamRef.deviceSubRequestMaxNumLimit != null ">
${_conditionType_} a.deviceSubRequestMaxNumLimit = #{${_conditionParam_}.deviceSubRequestMaxNumLimit}
</if>
<if test="conditionParamRef.deviceSubRequestMaxNumLimit == null">
${_conditionType_} a.deviceSubRequestMaxNumLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceSubRequestMaxNumLimitList')">
${_conditionType_} a.deviceSubRequestMaxNumLimit in
<foreach collection="conditionParamRef.deviceSubRequestMaxNumLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceSubRequestMaxNumLimitStart') and conditionParamRef.deviceSubRequestMaxNumLimitStart != null">
${_conditionType_} a.deviceSubRequestMaxNumLimit <![CDATA[ >= ]]> #{${_conditionParam_}.deviceSubRequestMaxNumLimitStart}
</if>
<if test="conditionParamRef.containsKey('deviceSubRequestMaxNumLimitEnd') and conditionParamRef.deviceSubRequestMaxNumLimitEnd != null">
${_conditionType_} a.deviceSubRequestMaxNumLimit <![CDATA[ <= ]]> #{${_conditionParam_}.deviceSubRequestMaxNumLimitEnd}
</if>
<if test="conditionParamRef.containsKey('deviceSubOrUnSubTimeLimit')">
<if test="conditionParamRef.deviceSubOrUnSubTimeLimit != null ">
${_conditionType_} a.deviceSubOrUnSubTimeLimit = #{${_conditionParam_}.deviceSubOrUnSubTimeLimit}
</if>
<if test="conditionParamRef.deviceSubOrUnSubTimeLimit == null">
${_conditionType_} a.deviceSubOrUnSubTimeLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceSubOrUnSubTimeLimitList')">
${_conditionType_} a.deviceSubOrUnSubTimeLimit in
<foreach collection="conditionParamRef.deviceSubOrUnSubTimeLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceSubOrUnSubTimeLimitStart') and conditionParamRef.deviceSubOrUnSubTimeLimitStart != null">
${_conditionType_} a.deviceSubOrUnSubTimeLimit <![CDATA[ >= ]]> #{${_conditionParam_}.deviceSubOrUnSubTimeLimitStart}
</if>
<if test="conditionParamRef.containsKey('deviceSubOrUnSubTimeLimitEnd') and conditionParamRef.deviceSubOrUnSubTimeLimitEnd != null">
${_conditionType_} a.deviceSubOrUnSubTimeLimit <![CDATA[ <= ]]> #{${_conditionParam_}.deviceSubOrUnSubTimeLimitEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productCreateTopicNumLimit')">
a.productCreateTopicNumLimit
<if test='orderCol.productCreateTopicNumLimit != null and "DESC".equalsIgnoreCase(orderCol.productCreateTopicNumLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('topicTopLimit')">
a.topicTopLimit
<if test='orderCol.topicTopLimit != null and "DESC".equalsIgnoreCase(orderCol.topicTopLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceSubRequestMaxNumLimit')">
a.deviceSubRequestMaxNumLimit
<if test='orderCol.deviceSubRequestMaxNumLimit != null and "DESC".equalsIgnoreCase(orderCol.deviceSubRequestMaxNumLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceSubOrUnSubTimeLimit')">
a.deviceSubOrUnSubTimeLimit
<if test='orderCol.deviceSubOrUnSubTimeLimit != null and "DESC".equalsIgnoreCase(orderCol.deviceSubOrUnSubTimeLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.product.dao.ibatis.ProductTopicDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ProductTopicEntity" id="ProductTopicEntity-Map">
<id property="id" column="id" />
<result property="customerId" column="customerId" />
<result property="productId" column="productId" />
<result property="deviceTopicHandle" column="deviceTopicHandle" />
<result property="topic" column="topic" />
<result property="productTopicRemark" column="productTopicRemark" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
<result property="qos" column="qos" />
<result property="productKey" column="productKey" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerId') or colPickMode == 1 and data.containsKey('customerId')))">
a.customerId as customerId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productId') or colPickMode == 1 and data.containsKey('productId')))">
a.productId as productId,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('deviceTopicHandle') or colPickMode == 1 and data.containsKey('deviceTopicHandle')))">
a.deviceTopicHandle as deviceTopicHandle,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('topic') or colPickMode == 1 and data.containsKey('topic')))">
a.topic as topic,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productTopicRemark') or colPickMode == 1 and data.containsKey('productTopicRemark')))">
a.productTopicRemark as productTopicRemark,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('qos') or colPickMode == 1 and data.containsKey('qos')))">
a.qos as qos,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productKey') or colPickMode == 1 and data.containsKey('productKey')))">
a.productKey as productKey,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ProductTopicEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_product_topic
(customerId,productId,deviceTopicHandle,topic,productTopicRemark,createTime,updateTime,qos,productKey)
VALUES
(#{customerId},#{productId},#{deviceTopicHandle},#{topic},#{productTopicRemark},#{createTime},#{updateTime},#{qos},#{productKey})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_product_topic
(customerId,productId,deviceTopicHandle,topic,productTopicRemark,createTime,updateTime,qos,productKey)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.customerId},#{item.productId},#{item.deviceTopicHandle},#{item.topic},#{item.productTopicRemark},#{item.createTime},#{item.updateTime},#{item.qos},#{item.productKey})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_product_topic as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('customerId')) or (colPickMode==1 and !data.containsKey('customerId'))">
a.customerId=#{data.customerId},
</if>
<if test="(colPickMode==0 and data.containsKey('customerIdIncrement')) or (colPickMode==1 and !data.containsKey('customerIdIncrement'))">
a.customerId=ifnull(a.customerId,0) + #{data.customerIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productId')) or (colPickMode==1 and !data.containsKey('productId'))">
a.productId=#{data.productId},
</if>
<if test="(colPickMode==0 and data.containsKey('productIdIncrement')) or (colPickMode==1 and !data.containsKey('productIdIncrement'))">
a.productId=ifnull(a.productId,0) + #{data.productIdIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceTopicHandle')) or (colPickMode==1 and !data.containsKey('deviceTopicHandle'))">
a.deviceTopicHandle=#{data.deviceTopicHandle},
</if>
<if test="(colPickMode==0 and data.containsKey('deviceTopicHandleIncrement')) or (colPickMode==1 and !data.containsKey('deviceTopicHandleIncrement'))">
a.deviceTopicHandle=ifnull(a.deviceTopicHandle,0) + #{data.deviceTopicHandleIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('topic')) or (colPickMode==1 and !data.containsKey('topic'))">
a.topic=#{data.topic},
</if>
<if test="(colPickMode==0 and data.containsKey('productTopicRemark')) or (colPickMode==1 and !data.containsKey('productTopicRemark'))">
a.productTopicRemark=#{data.productTopicRemark},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
<if test="(colPickMode==0 and data.containsKey('qos')) or (colPickMode==1 and !data.containsKey('qos'))">
a.qos=#{data.qos},
</if>
<if test="(colPickMode==0 and data.containsKey('qosIncrement')) or (colPickMode==1 and !data.containsKey('qosIncrement'))">
a.qos=ifnull(a.qos,0) + #{data.qosIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productKey')) or (colPickMode==1 and !data.containsKey('productKey'))">
a.productKey=#{data.productKey},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_product_topic as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="customerId=(case" suffix="ELSE customerId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerId')) or (colPickMode==1 and !item.containsKey('customerId'))">
when a.id=#{item.id} then #{item.customerId}
</when>
<when test="(colPickMode==0 and item.containsKey('customerIdIncrement')) or (colPickMode==1 and !item.containsKey('customerIdIncrement'))">
when a.id=#{item.id} then ifnull(a.customerId,0) + #{item.customerIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productId=(case" suffix="ELSE productId end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productId')) or (colPickMode==1 and !item.containsKey('productId'))">
when a.id=#{item.id} then #{item.productId}
</when>
<when test="(colPickMode==0 and item.containsKey('productIdIncrement')) or (colPickMode==1 and !item.containsKey('productIdIncrement'))">
when a.id=#{item.id} then ifnull(a.productId,0) + #{item.productIdIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="deviceTopicHandle=(case" suffix="ELSE deviceTopicHandle end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('deviceTopicHandle')) or (colPickMode==1 and !item.containsKey('deviceTopicHandle'))">
when a.id=#{item.id} then #{item.deviceTopicHandle}
</when>
<when test="(colPickMode==0 and item.containsKey('deviceTopicHandleIncrement')) or (colPickMode==1 and !item.containsKey('deviceTopicHandleIncrement'))">
when a.id=#{item.id} then ifnull(a.deviceTopicHandle,0) + #{item.deviceTopicHandleIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="topic=(case" suffix="ELSE topic end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('topic')) or (colPickMode==1 and !item.containsKey('topic'))">
when a.id=#{item.id} then #{item.topic}
</if>
</foreach>
</trim>
<trim prefix="productTopicRemark=(case" suffix="ELSE productTopicRemark end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productTopicRemark')) or (colPickMode==1 and !item.containsKey('productTopicRemark'))">
when a.id=#{item.id} then #{item.productTopicRemark}
</if>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
<trim prefix="qos=(case" suffix="ELSE qos end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('qos')) or (colPickMode==1 and !item.containsKey('qos'))">
when a.id=#{item.id} then #{item.qos}
</when>
<when test="(colPickMode==0 and item.containsKey('qosIncrement')) or (colPickMode==1 and !item.containsKey('qosIncrement'))">
when a.id=#{item.id} then ifnull(a.qos,0) + #{item.qosIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productKey=(case" suffix="ELSE productKey end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('productKey')) or (colPickMode==1 and !item.containsKey('productKey'))">
when a.id=#{item.id} then #{item.productKey}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ProductTopicEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_topic as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_product_topic as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_product_topic where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_product_topic as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ProductTopicEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_topic as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_product_topic as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('customerId')">
<if test="conditionParamRef.customerId != null ">
${_conditionType_} a.customerId = #{${_conditionParam_}.customerId}
</if>
<if test="conditionParamRef.customerId == null">
${_conditionType_} a.customerId is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerIdList')">
${_conditionType_} a.customerId in
<foreach collection="conditionParamRef.customerIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerIdStart') and conditionParamRef.customerIdStart != null">
${_conditionType_} a.customerId <![CDATA[ >= ]]> #{${_conditionParam_}.customerIdStart}
</if>
<if test="conditionParamRef.containsKey('customerIdEnd') and conditionParamRef.customerIdEnd != null">
${_conditionType_} a.customerId <![CDATA[ <= ]]> #{${_conditionParam_}.customerIdEnd}
</if>
<if test="conditionParamRef.containsKey('productId')">
<if test="conditionParamRef.productId != null ">
${_conditionType_} a.productId = #{${_conditionParam_}.productId}
</if>
<if test="conditionParamRef.productId == null">
${_conditionType_} a.productId is null
</if>
</if>
<if test="conditionParamRef.containsKey('productIdList')">
${_conditionType_} a.productId in
<foreach collection="conditionParamRef.productIdList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productIdStart') and conditionParamRef.productIdStart != null">
${_conditionType_} a.productId <![CDATA[ >= ]]> #{${_conditionParam_}.productIdStart}
</if>
<if test="conditionParamRef.containsKey('productIdEnd') and conditionParamRef.productIdEnd != null">
${_conditionType_} a.productId <![CDATA[ <= ]]> #{${_conditionParam_}.productIdEnd}
</if>
<if test="conditionParamRef.containsKey('deviceTopicHandle')">
<if test="conditionParamRef.deviceTopicHandle != null ">
${_conditionType_} a.deviceTopicHandle = #{${_conditionParam_}.deviceTopicHandle}
</if>
<if test="conditionParamRef.deviceTopicHandle == null">
${_conditionType_} a.deviceTopicHandle is null
</if>
</if>
<if test="conditionParamRef.containsKey('deviceTopicHandleList')">
${_conditionType_} a.deviceTopicHandle in
<foreach collection="conditionParamRef.deviceTopicHandleList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('deviceTopicHandleStart') and conditionParamRef.deviceTopicHandleStart != null">
${_conditionType_} a.deviceTopicHandle <![CDATA[ >= ]]> #{${_conditionParam_}.deviceTopicHandleStart}
</if>
<if test="conditionParamRef.containsKey('deviceTopicHandleEnd') and conditionParamRef.deviceTopicHandleEnd != null">
${_conditionType_} a.deviceTopicHandle <![CDATA[ <= ]]> #{${_conditionParam_}.deviceTopicHandleEnd}
</if>
<if test="conditionParamRef.containsKey('topic')">
<if test="conditionParamRef.topic != null and conditionParamRef.topic != ''">
${_conditionType_} a.topic like #{${_conditionParam_}.topic}
</if>
<if test="conditionParamRef.topic == null">
${_conditionType_} a.topic is null
</if>
</if>
<if test="conditionParamRef.containsKey('topicList')">
${_conditionType_} a.topic in
<foreach collection="conditionParamRef.topicList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productTopicRemark')">
<if test="conditionParamRef.productTopicRemark != null and conditionParamRef.productTopicRemark != ''">
${_conditionType_} a.productTopicRemark like #{${_conditionParam_}.productTopicRemark}
</if>
<if test="conditionParamRef.productTopicRemark == null">
${_conditionType_} a.productTopicRemark is null
</if>
</if>
<if test="conditionParamRef.containsKey('productTopicRemarkList')">
${_conditionType_} a.productTopicRemark in
<foreach collection="conditionParamRef.productTopicRemarkList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('qos')">
<if test="conditionParamRef.qos != null ">
${_conditionType_} a.qos = #{${_conditionParam_}.qos}
</if>
<if test="conditionParamRef.qos == null">
${_conditionType_} a.qos is null
</if>
</if>
<if test="conditionParamRef.containsKey('qosList')">
${_conditionType_} a.qos in
<foreach collection="conditionParamRef.qosList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('qosStart') and conditionParamRef.qosStart != null">
${_conditionType_} a.qos <![CDATA[ >= ]]> #{${_conditionParam_}.qosStart}
</if>
<if test="conditionParamRef.containsKey('qosEnd') and conditionParamRef.qosEnd != null">
${_conditionType_} a.qos <![CDATA[ <= ]]> #{${_conditionParam_}.qosEnd}
</if>
<if test="conditionParamRef.containsKey('productKey')">
<if test="conditionParamRef.productKey != null and conditionParamRef.productKey != ''">
${_conditionType_} a.productKey like #{${_conditionParam_}.productKey}
</if>
<if test="conditionParamRef.productKey == null">
${_conditionType_} a.productKey is null
</if>
</if>
<if test="conditionParamRef.containsKey('productKeyList')">
${_conditionType_} a.productKey in
<foreach collection="conditionParamRef.productKeyList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerId')">
a.customerId
<if test='orderCol.customerId != null and "DESC".equalsIgnoreCase(orderCol.customerId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productId')">
a.productId
<if test='orderCol.productId != null and "DESC".equalsIgnoreCase(orderCol.productId)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('deviceTopicHandle')">
a.deviceTopicHandle
<if test='orderCol.deviceTopicHandle != null and "DESC".equalsIgnoreCase(orderCol.deviceTopicHandle)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('topic')">
a.topic
<if test='orderCol.topic != null and "DESC".equalsIgnoreCase(orderCol.topic)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productTopicRemark')">
a.productTopicRemark
<if test='orderCol.productTopicRemark != null and "DESC".equalsIgnoreCase(orderCol.productTopicRemark)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('qos')">
a.qos
<if test='orderCol.qos != null and "DESC".equalsIgnoreCase(orderCol.qos)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productKey')">
a.productKey
<if test='orderCol.productKey != null and "DESC".equalsIgnoreCase(orderCol.productKey)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.product.dao.ibatis.ProductTslLimitDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ProductTslLimitEntity" id="ProductTslLimitEntity-Map">
<id property="id" column="id" />
<result property="productTSLNum" column="productTSLNum" />
<result property="TSLFunctionNum" column="TSLFunctionNum" />
<result property="TSLStructParameterNum" column="TSLStructParameterNum" />
<result property="TSLDataTpyeEnumNum" column="TSLDataTpyeEnumNum" />
<result property="TSLDataTpyeTextLength" column="TSLDataTpyeTextLength" />
<result property="TSLDataTpyeArrayNum" column="TSLDataTpyeArrayNum" />
<result property="TSLServiceEventParameterNum" column="TSLServiceEventParameterNum" />
<result property="TSLServiceInParameterNum" column="TSLServiceInParameterNum" />
<result property="TSLServiceOutParameterNum" column="TSLServiceOutParameterNum" />
<result property="TSLEventOutParameterNum" column="TSLEventOutParameterNum" />
<result property="TSLDraftVersionNum" column="TSLDraftVersionNum" />
<result property="TSLExportJsonFileSize" column="TSLExportJsonFileSize" />
<result property="TSLExportMoreJsonFileSize" column="TSLExportMoreJsonFileSize" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productTSLNum') or colPickMode == 1 and data.containsKey('productTSLNum')))">
a.productTSLNum as productTSLNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLFunctionNum') or colPickMode == 1 and data.containsKey('TSLFunctionNum')))">
a.TSLFunctionNum as TSLFunctionNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLStructParameterNum') or colPickMode == 1 and data.containsKey('TSLStructParameterNum')))">
a.TSLStructParameterNum as TSLStructParameterNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLDataTpyeEnumNum') or colPickMode == 1 and data.containsKey('TSLDataTpyeEnumNum')))">
a.TSLDataTpyeEnumNum as TSLDataTpyeEnumNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLDataTpyeTextLength') or colPickMode == 1 and data.containsKey('TSLDataTpyeTextLength')))">
a.TSLDataTpyeTextLength as TSLDataTpyeTextLength,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLDataTpyeArrayNum') or colPickMode == 1 and data.containsKey('TSLDataTpyeArrayNum')))">
a.TSLDataTpyeArrayNum as TSLDataTpyeArrayNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLServiceEventParameterNum') or colPickMode == 1 and data.containsKey('TSLServiceEventParameterNum')))">
a.TSLServiceEventParameterNum as TSLServiceEventParameterNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLServiceInParameterNum') or colPickMode == 1 and data.containsKey('TSLServiceInParameterNum')))">
a.TSLServiceInParameterNum as TSLServiceInParameterNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLServiceOutParameterNum') or colPickMode == 1 and data.containsKey('TSLServiceOutParameterNum')))">
a.TSLServiceOutParameterNum as TSLServiceOutParameterNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLEventOutParameterNum') or colPickMode == 1 and data.containsKey('TSLEventOutParameterNum')))">
a.TSLEventOutParameterNum as TSLEventOutParameterNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLDraftVersionNum') or colPickMode == 1 and data.containsKey('TSLDraftVersionNum')))">
a.TSLDraftVersionNum as TSLDraftVersionNum,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLExportJsonFileSize') or colPickMode == 1 and data.containsKey('TSLExportJsonFileSize')))">
a.TSLExportJsonFileSize as TSLExportJsonFileSize,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('TSLExportMoreJsonFileSize') or colPickMode == 1 and data.containsKey('TSLExportMoreJsonFileSize')))">
a.TSLExportMoreJsonFileSize as TSLExportMoreJsonFileSize,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ProductTslLimitEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_product_tsl_limit
(productTSLNum,TSLFunctionNum,TSLStructParameterNum,TSLDataTpyeEnumNum,TSLDataTpyeTextLength,TSLDataTpyeArrayNum,TSLServiceEventParameterNum,TSLServiceInParameterNum,TSLServiceOutParameterNum,TSLEventOutParameterNum,TSLDraftVersionNum,TSLExportJsonFileSize,TSLExportMoreJsonFileSize,createTime,updateTime)
VALUES
(#{productTSLNum},#{TSLFunctionNum},#{TSLStructParameterNum},#{TSLDataTpyeEnumNum},#{TSLDataTpyeTextLength},#{TSLDataTpyeArrayNum},#{TSLServiceEventParameterNum},#{TSLServiceInParameterNum},#{TSLServiceOutParameterNum},#{TSLEventOutParameterNum},#{TSLDraftVersionNum},#{TSLExportJsonFileSize},#{TSLExportMoreJsonFileSize},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_product_tsl_limit
(productTSLNum,TSLFunctionNum,TSLStructParameterNum,TSLDataTpyeEnumNum,TSLDataTpyeTextLength,TSLDataTpyeArrayNum,TSLServiceEventParameterNum,TSLServiceInParameterNum,TSLServiceOutParameterNum,TSLEventOutParameterNum,TSLDraftVersionNum,TSLExportJsonFileSize,TSLExportMoreJsonFileSize,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.productTSLNum},#{item.TSLFunctionNum},#{item.TSLStructParameterNum},#{item.TSLDataTpyeEnumNum},#{item.TSLDataTpyeTextLength},#{item.TSLDataTpyeArrayNum},#{item.TSLServiceEventParameterNum},#{item.TSLServiceInParameterNum},#{item.TSLServiceOutParameterNum},#{item.TSLEventOutParameterNum},#{item.TSLDraftVersionNum},#{item.TSLExportJsonFileSize},#{item.TSLExportMoreJsonFileSize},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_product_tsl_limit as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('productTSLNum')) or (colPickMode==1 and !data.containsKey('productTSLNum'))">
a.productTSLNum=#{data.productTSLNum},
</if>
<if test="(colPickMode==0 and data.containsKey('productTSLNumIncrement')) or (colPickMode==1 and !data.containsKey('productTSLNumIncrement'))">
a.productTSLNum=ifnull(a.productTSLNum,0) + #{data.productTSLNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLFunctionNum')) or (colPickMode==1 and !data.containsKey('TSLFunctionNum'))">
a.TSLFunctionNum=#{data.TSLFunctionNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLFunctionNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLFunctionNumIncrement'))">
a.TSLFunctionNum=ifnull(a.TSLFunctionNum,0) + #{data.TSLFunctionNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLStructParameterNum')) or (colPickMode==1 and !data.containsKey('TSLStructParameterNum'))">
a.TSLStructParameterNum=#{data.TSLStructParameterNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLStructParameterNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLStructParameterNumIncrement'))">
a.TSLStructParameterNum=ifnull(a.TSLStructParameterNum,0) + #{data.TSLStructParameterNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLDataTpyeEnumNum')) or (colPickMode==1 and !data.containsKey('TSLDataTpyeEnumNum'))">
a.TSLDataTpyeEnumNum=#{data.TSLDataTpyeEnumNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLDataTpyeEnumNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLDataTpyeEnumNumIncrement'))">
a.TSLDataTpyeEnumNum=ifnull(a.TSLDataTpyeEnumNum,0) + #{data.TSLDataTpyeEnumNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLDataTpyeTextLength')) or (colPickMode==1 and !data.containsKey('TSLDataTpyeTextLength'))">
a.TSLDataTpyeTextLength=#{data.TSLDataTpyeTextLength},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLDataTpyeTextLengthIncrement')) or (colPickMode==1 and !data.containsKey('TSLDataTpyeTextLengthIncrement'))">
a.TSLDataTpyeTextLength=ifnull(a.TSLDataTpyeTextLength,0) + #{data.TSLDataTpyeTextLengthIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLDataTpyeArrayNum')) or (colPickMode==1 and !data.containsKey('TSLDataTpyeArrayNum'))">
a.TSLDataTpyeArrayNum=#{data.TSLDataTpyeArrayNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLDataTpyeArrayNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLDataTpyeArrayNumIncrement'))">
a.TSLDataTpyeArrayNum=ifnull(a.TSLDataTpyeArrayNum,0) + #{data.TSLDataTpyeArrayNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLServiceEventParameterNum')) or (colPickMode==1 and !data.containsKey('TSLServiceEventParameterNum'))">
a.TSLServiceEventParameterNum=#{data.TSLServiceEventParameterNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLServiceEventParameterNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLServiceEventParameterNumIncrement'))">
a.TSLServiceEventParameterNum=ifnull(a.TSLServiceEventParameterNum,0) + #{data.TSLServiceEventParameterNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLServiceInParameterNum')) or (colPickMode==1 and !data.containsKey('TSLServiceInParameterNum'))">
a.TSLServiceInParameterNum=#{data.TSLServiceInParameterNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLServiceInParameterNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLServiceInParameterNumIncrement'))">
a.TSLServiceInParameterNum=ifnull(a.TSLServiceInParameterNum,0) + #{data.TSLServiceInParameterNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLServiceOutParameterNum')) or (colPickMode==1 and !data.containsKey('TSLServiceOutParameterNum'))">
a.TSLServiceOutParameterNum=#{data.TSLServiceOutParameterNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLServiceOutParameterNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLServiceOutParameterNumIncrement'))">
a.TSLServiceOutParameterNum=ifnull(a.TSLServiceOutParameterNum,0) + #{data.TSLServiceOutParameterNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLEventOutParameterNum')) or (colPickMode==1 and !data.containsKey('TSLEventOutParameterNum'))">
a.TSLEventOutParameterNum=#{data.TSLEventOutParameterNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLEventOutParameterNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLEventOutParameterNumIncrement'))">
a.TSLEventOutParameterNum=ifnull(a.TSLEventOutParameterNum,0) + #{data.TSLEventOutParameterNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLDraftVersionNum')) or (colPickMode==1 and !data.containsKey('TSLDraftVersionNum'))">
a.TSLDraftVersionNum=#{data.TSLDraftVersionNum},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLDraftVersionNumIncrement')) or (colPickMode==1 and !data.containsKey('TSLDraftVersionNumIncrement'))">
a.TSLDraftVersionNum=ifnull(a.TSLDraftVersionNum,0) + #{data.TSLDraftVersionNumIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLExportJsonFileSize')) or (colPickMode==1 and !data.containsKey('TSLExportJsonFileSize'))">
a.TSLExportJsonFileSize=#{data.TSLExportJsonFileSize},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLExportJsonFileSizeIncrement')) or (colPickMode==1 and !data.containsKey('TSLExportJsonFileSizeIncrement'))">
a.TSLExportJsonFileSize=ifnull(a.TSLExportJsonFileSize,0) + #{data.TSLExportJsonFileSizeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLExportMoreJsonFileSize')) or (colPickMode==1 and !data.containsKey('TSLExportMoreJsonFileSize'))">
a.TSLExportMoreJsonFileSize=#{data.TSLExportMoreJsonFileSize},
</if>
<if test="(colPickMode==0 and data.containsKey('TSLExportMoreJsonFileSizeIncrement')) or (colPickMode==1 and !data.containsKey('TSLExportMoreJsonFileSizeIncrement'))">
a.TSLExportMoreJsonFileSize=ifnull(a.TSLExportMoreJsonFileSize,0) + #{data.TSLExportMoreJsonFileSizeIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_product_tsl_limit as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="productTSLNum=(case" suffix="ELSE productTSLNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productTSLNum')) or (colPickMode==1 and !item.containsKey('productTSLNum'))">
when a.id=#{item.id} then #{item.productTSLNum}
</when>
<when test="(colPickMode==0 and item.containsKey('productTSLNumIncrement')) or (colPickMode==1 and !item.containsKey('productTSLNumIncrement'))">
when a.id=#{item.id} then ifnull(a.productTSLNum,0) + #{item.productTSLNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLFunctionNum=(case" suffix="ELSE TSLFunctionNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLFunctionNum')) or (colPickMode==1 and !item.containsKey('TSLFunctionNum'))">
when a.id=#{item.id} then #{item.TSLFunctionNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLFunctionNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLFunctionNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLFunctionNum,0) + #{item.TSLFunctionNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLStructParameterNum=(case" suffix="ELSE TSLStructParameterNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLStructParameterNum')) or (colPickMode==1 and !item.containsKey('TSLStructParameterNum'))">
when a.id=#{item.id} then #{item.TSLStructParameterNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLStructParameterNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLStructParameterNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLStructParameterNum,0) + #{item.TSLStructParameterNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLDataTpyeEnumNum=(case" suffix="ELSE TSLDataTpyeEnumNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLDataTpyeEnumNum')) or (colPickMode==1 and !item.containsKey('TSLDataTpyeEnumNum'))">
when a.id=#{item.id} then #{item.TSLDataTpyeEnumNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLDataTpyeEnumNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLDataTpyeEnumNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLDataTpyeEnumNum,0) + #{item.TSLDataTpyeEnumNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLDataTpyeTextLength=(case" suffix="ELSE TSLDataTpyeTextLength end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLDataTpyeTextLength')) or (colPickMode==1 and !item.containsKey('TSLDataTpyeTextLength'))">
when a.id=#{item.id} then #{item.TSLDataTpyeTextLength}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLDataTpyeTextLengthIncrement')) or (colPickMode==1 and !item.containsKey('TSLDataTpyeTextLengthIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLDataTpyeTextLength,0) + #{item.TSLDataTpyeTextLengthIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLDataTpyeArrayNum=(case" suffix="ELSE TSLDataTpyeArrayNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLDataTpyeArrayNum')) or (colPickMode==1 and !item.containsKey('TSLDataTpyeArrayNum'))">
when a.id=#{item.id} then #{item.TSLDataTpyeArrayNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLDataTpyeArrayNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLDataTpyeArrayNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLDataTpyeArrayNum,0) + #{item.TSLDataTpyeArrayNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLServiceEventParameterNum=(case" suffix="ELSE TSLServiceEventParameterNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLServiceEventParameterNum')) or (colPickMode==1 and !item.containsKey('TSLServiceEventParameterNum'))">
when a.id=#{item.id} then #{item.TSLServiceEventParameterNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLServiceEventParameterNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLServiceEventParameterNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLServiceEventParameterNum,0) + #{item.TSLServiceEventParameterNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLServiceInParameterNum=(case" suffix="ELSE TSLServiceInParameterNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLServiceInParameterNum')) or (colPickMode==1 and !item.containsKey('TSLServiceInParameterNum'))">
when a.id=#{item.id} then #{item.TSLServiceInParameterNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLServiceInParameterNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLServiceInParameterNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLServiceInParameterNum,0) + #{item.TSLServiceInParameterNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLServiceOutParameterNum=(case" suffix="ELSE TSLServiceOutParameterNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLServiceOutParameterNum')) or (colPickMode==1 and !item.containsKey('TSLServiceOutParameterNum'))">
when a.id=#{item.id} then #{item.TSLServiceOutParameterNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLServiceOutParameterNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLServiceOutParameterNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLServiceOutParameterNum,0) + #{item.TSLServiceOutParameterNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLEventOutParameterNum=(case" suffix="ELSE TSLEventOutParameterNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLEventOutParameterNum')) or (colPickMode==1 and !item.containsKey('TSLEventOutParameterNum'))">
when a.id=#{item.id} then #{item.TSLEventOutParameterNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLEventOutParameterNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLEventOutParameterNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLEventOutParameterNum,0) + #{item.TSLEventOutParameterNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLDraftVersionNum=(case" suffix="ELSE TSLDraftVersionNum end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLDraftVersionNum')) or (colPickMode==1 and !item.containsKey('TSLDraftVersionNum'))">
when a.id=#{item.id} then #{item.TSLDraftVersionNum}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLDraftVersionNumIncrement')) or (colPickMode==1 and !item.containsKey('TSLDraftVersionNumIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLDraftVersionNum,0) + #{item.TSLDraftVersionNumIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLExportJsonFileSize=(case" suffix="ELSE TSLExportJsonFileSize end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLExportJsonFileSize')) or (colPickMode==1 and !item.containsKey('TSLExportJsonFileSize'))">
when a.id=#{item.id} then #{item.TSLExportJsonFileSize}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLExportJsonFileSizeIncrement')) or (colPickMode==1 and !item.containsKey('TSLExportJsonFileSizeIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLExportJsonFileSize,0) + #{item.TSLExportJsonFileSizeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="TSLExportMoreJsonFileSize=(case" suffix="ELSE TSLExportMoreJsonFileSize end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('TSLExportMoreJsonFileSize')) or (colPickMode==1 and !item.containsKey('TSLExportMoreJsonFileSize'))">
when a.id=#{item.id} then #{item.TSLExportMoreJsonFileSize}
</when>
<when test="(colPickMode==0 and item.containsKey('TSLExportMoreJsonFileSizeIncrement')) or (colPickMode==1 and !item.containsKey('TSLExportMoreJsonFileSizeIncrement'))">
when a.id=#{item.id} then ifnull(a.TSLExportMoreJsonFileSize,0) + #{item.TSLExportMoreJsonFileSizeIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ProductTslLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_tsl_limit as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_product_tsl_limit as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_product_tsl_limit where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_product_tsl_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ProductTslLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_product_tsl_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_product_tsl_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('productTSLNum')">
<if test="conditionParamRef.productTSLNum != null ">
${_conditionType_} a.productTSLNum = #{${_conditionParam_}.productTSLNum}
</if>
<if test="conditionParamRef.productTSLNum == null">
${_conditionType_} a.productTSLNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('productTSLNumList')">
${_conditionType_} a.productTSLNum in
<foreach collection="conditionParamRef.productTSLNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productTSLNumStart') and conditionParamRef.productTSLNumStart != null">
${_conditionType_} a.productTSLNum <![CDATA[ >= ]]> #{${_conditionParam_}.productTSLNumStart}
</if>
<if test="conditionParamRef.containsKey('productTSLNumEnd') and conditionParamRef.productTSLNumEnd != null">
${_conditionType_} a.productTSLNum <![CDATA[ <= ]]> #{${_conditionParam_}.productTSLNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLFunctionNum')">
<if test="conditionParamRef.TSLFunctionNum != null ">
${_conditionType_} a.TSLFunctionNum = #{${_conditionParam_}.TSLFunctionNum}
</if>
<if test="conditionParamRef.TSLFunctionNum == null">
${_conditionType_} a.TSLFunctionNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLFunctionNumList')">
${_conditionType_} a.TSLFunctionNum in
<foreach collection="conditionParamRef.TSLFunctionNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLFunctionNumStart') and conditionParamRef.TSLFunctionNumStart != null">
${_conditionType_} a.TSLFunctionNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLFunctionNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLFunctionNumEnd') and conditionParamRef.TSLFunctionNumEnd != null">
${_conditionType_} a.TSLFunctionNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLFunctionNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLStructParameterNum')">
<if test="conditionParamRef.TSLStructParameterNum != null ">
${_conditionType_} a.TSLStructParameterNum = #{${_conditionParam_}.TSLStructParameterNum}
</if>
<if test="conditionParamRef.TSLStructParameterNum == null">
${_conditionType_} a.TSLStructParameterNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLStructParameterNumList')">
${_conditionType_} a.TSLStructParameterNum in
<foreach collection="conditionParamRef.TSLStructParameterNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLStructParameterNumStart') and conditionParamRef.TSLStructParameterNumStart != null">
${_conditionType_} a.TSLStructParameterNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLStructParameterNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLStructParameterNumEnd') and conditionParamRef.TSLStructParameterNumEnd != null">
${_conditionType_} a.TSLStructParameterNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLStructParameterNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeEnumNum')">
<if test="conditionParamRef.TSLDataTpyeEnumNum != null ">
${_conditionType_} a.TSLDataTpyeEnumNum = #{${_conditionParam_}.TSLDataTpyeEnumNum}
</if>
<if test="conditionParamRef.TSLDataTpyeEnumNum == null">
${_conditionType_} a.TSLDataTpyeEnumNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeEnumNumList')">
${_conditionType_} a.TSLDataTpyeEnumNum in
<foreach collection="conditionParamRef.TSLDataTpyeEnumNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeEnumNumStart') and conditionParamRef.TSLDataTpyeEnumNumStart != null">
${_conditionType_} a.TSLDataTpyeEnumNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLDataTpyeEnumNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeEnumNumEnd') and conditionParamRef.TSLDataTpyeEnumNumEnd != null">
${_conditionType_} a.TSLDataTpyeEnumNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLDataTpyeEnumNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeTextLength')">
<if test="conditionParamRef.TSLDataTpyeTextLength != null ">
${_conditionType_} a.TSLDataTpyeTextLength = #{${_conditionParam_}.TSLDataTpyeTextLength}
</if>
<if test="conditionParamRef.TSLDataTpyeTextLength == null">
${_conditionType_} a.TSLDataTpyeTextLength is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeTextLengthList')">
${_conditionType_} a.TSLDataTpyeTextLength in
<foreach collection="conditionParamRef.TSLDataTpyeTextLengthList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeTextLengthStart') and conditionParamRef.TSLDataTpyeTextLengthStart != null">
${_conditionType_} a.TSLDataTpyeTextLength <![CDATA[ >= ]]> #{${_conditionParam_}.TSLDataTpyeTextLengthStart}
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeTextLengthEnd') and conditionParamRef.TSLDataTpyeTextLengthEnd != null">
${_conditionType_} a.TSLDataTpyeTextLength <![CDATA[ <= ]]> #{${_conditionParam_}.TSLDataTpyeTextLengthEnd}
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeArrayNum')">
<if test="conditionParamRef.TSLDataTpyeArrayNum != null ">
${_conditionType_} a.TSLDataTpyeArrayNum = #{${_conditionParam_}.TSLDataTpyeArrayNum}
</if>
<if test="conditionParamRef.TSLDataTpyeArrayNum == null">
${_conditionType_} a.TSLDataTpyeArrayNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeArrayNumList')">
${_conditionType_} a.TSLDataTpyeArrayNum in
<foreach collection="conditionParamRef.TSLDataTpyeArrayNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeArrayNumStart') and conditionParamRef.TSLDataTpyeArrayNumStart != null">
${_conditionType_} a.TSLDataTpyeArrayNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLDataTpyeArrayNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLDataTpyeArrayNumEnd') and conditionParamRef.TSLDataTpyeArrayNumEnd != null">
${_conditionType_} a.TSLDataTpyeArrayNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLDataTpyeArrayNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLServiceEventParameterNum')">
<if test="conditionParamRef.TSLServiceEventParameterNum != null ">
${_conditionType_} a.TSLServiceEventParameterNum = #{${_conditionParam_}.TSLServiceEventParameterNum}
</if>
<if test="conditionParamRef.TSLServiceEventParameterNum == null">
${_conditionType_} a.TSLServiceEventParameterNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLServiceEventParameterNumList')">
${_conditionType_} a.TSLServiceEventParameterNum in
<foreach collection="conditionParamRef.TSLServiceEventParameterNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLServiceEventParameterNumStart') and conditionParamRef.TSLServiceEventParameterNumStart != null">
${_conditionType_} a.TSLServiceEventParameterNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLServiceEventParameterNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLServiceEventParameterNumEnd') and conditionParamRef.TSLServiceEventParameterNumEnd != null">
${_conditionType_} a.TSLServiceEventParameterNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLServiceEventParameterNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLServiceInParameterNum')">
<if test="conditionParamRef.TSLServiceInParameterNum != null ">
${_conditionType_} a.TSLServiceInParameterNum = #{${_conditionParam_}.TSLServiceInParameterNum}
</if>
<if test="conditionParamRef.TSLServiceInParameterNum == null">
${_conditionType_} a.TSLServiceInParameterNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLServiceInParameterNumList')">
${_conditionType_} a.TSLServiceInParameterNum in
<foreach collection="conditionParamRef.TSLServiceInParameterNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLServiceInParameterNumStart') and conditionParamRef.TSLServiceInParameterNumStart != null">
${_conditionType_} a.TSLServiceInParameterNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLServiceInParameterNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLServiceInParameterNumEnd') and conditionParamRef.TSLServiceInParameterNumEnd != null">
${_conditionType_} a.TSLServiceInParameterNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLServiceInParameterNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLServiceOutParameterNum')">
<if test="conditionParamRef.TSLServiceOutParameterNum != null ">
${_conditionType_} a.TSLServiceOutParameterNum = #{${_conditionParam_}.TSLServiceOutParameterNum}
</if>
<if test="conditionParamRef.TSLServiceOutParameterNum == null">
${_conditionType_} a.TSLServiceOutParameterNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLServiceOutParameterNumList')">
${_conditionType_} a.TSLServiceOutParameterNum in
<foreach collection="conditionParamRef.TSLServiceOutParameterNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLServiceOutParameterNumStart') and conditionParamRef.TSLServiceOutParameterNumStart != null">
${_conditionType_} a.TSLServiceOutParameterNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLServiceOutParameterNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLServiceOutParameterNumEnd') and conditionParamRef.TSLServiceOutParameterNumEnd != null">
${_conditionType_} a.TSLServiceOutParameterNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLServiceOutParameterNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLEventOutParameterNum')">
<if test="conditionParamRef.TSLEventOutParameterNum != null ">
${_conditionType_} a.TSLEventOutParameterNum = #{${_conditionParam_}.TSLEventOutParameterNum}
</if>
<if test="conditionParamRef.TSLEventOutParameterNum == null">
${_conditionType_} a.TSLEventOutParameterNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLEventOutParameterNumList')">
${_conditionType_} a.TSLEventOutParameterNum in
<foreach collection="conditionParamRef.TSLEventOutParameterNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLEventOutParameterNumStart') and conditionParamRef.TSLEventOutParameterNumStart != null">
${_conditionType_} a.TSLEventOutParameterNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLEventOutParameterNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLEventOutParameterNumEnd') and conditionParamRef.TSLEventOutParameterNumEnd != null">
${_conditionType_} a.TSLEventOutParameterNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLEventOutParameterNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLDraftVersionNum')">
<if test="conditionParamRef.TSLDraftVersionNum != null ">
${_conditionType_} a.TSLDraftVersionNum = #{${_conditionParam_}.TSLDraftVersionNum}
</if>
<if test="conditionParamRef.TSLDraftVersionNum == null">
${_conditionType_} a.TSLDraftVersionNum is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLDraftVersionNumList')">
${_conditionType_} a.TSLDraftVersionNum in
<foreach collection="conditionParamRef.TSLDraftVersionNumList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLDraftVersionNumStart') and conditionParamRef.TSLDraftVersionNumStart != null">
${_conditionType_} a.TSLDraftVersionNum <![CDATA[ >= ]]> #{${_conditionParam_}.TSLDraftVersionNumStart}
</if>
<if test="conditionParamRef.containsKey('TSLDraftVersionNumEnd') and conditionParamRef.TSLDraftVersionNumEnd != null">
${_conditionType_} a.TSLDraftVersionNum <![CDATA[ <= ]]> #{${_conditionParam_}.TSLDraftVersionNumEnd}
</if>
<if test="conditionParamRef.containsKey('TSLExportJsonFileSize')">
<if test="conditionParamRef.TSLExportJsonFileSize != null ">
${_conditionType_} a.TSLExportJsonFileSize = #{${_conditionParam_}.TSLExportJsonFileSize}
</if>
<if test="conditionParamRef.TSLExportJsonFileSize == null">
${_conditionType_} a.TSLExportJsonFileSize is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLExportJsonFileSizeList')">
${_conditionType_} a.TSLExportJsonFileSize in
<foreach collection="conditionParamRef.TSLExportJsonFileSizeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLExportJsonFileSizeStart') and conditionParamRef.TSLExportJsonFileSizeStart != null">
${_conditionType_} a.TSLExportJsonFileSize <![CDATA[ >= ]]> #{${_conditionParam_}.TSLExportJsonFileSizeStart}
</if>
<if test="conditionParamRef.containsKey('TSLExportJsonFileSizeEnd') and conditionParamRef.TSLExportJsonFileSizeEnd != null">
${_conditionType_} a.TSLExportJsonFileSize <![CDATA[ <= ]]> #{${_conditionParam_}.TSLExportJsonFileSizeEnd}
</if>
<if test="conditionParamRef.containsKey('TSLExportMoreJsonFileSize')">
<if test="conditionParamRef.TSLExportMoreJsonFileSize != null ">
${_conditionType_} a.TSLExportMoreJsonFileSize = #{${_conditionParam_}.TSLExportMoreJsonFileSize}
</if>
<if test="conditionParamRef.TSLExportMoreJsonFileSize == null">
${_conditionType_} a.TSLExportMoreJsonFileSize is null
</if>
</if>
<if test="conditionParamRef.containsKey('TSLExportMoreJsonFileSizeList')">
${_conditionType_} a.TSLExportMoreJsonFileSize in
<foreach collection="conditionParamRef.TSLExportMoreJsonFileSizeList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('TSLExportMoreJsonFileSizeStart') and conditionParamRef.TSLExportMoreJsonFileSizeStart != null">
${_conditionType_} a.TSLExportMoreJsonFileSize <![CDATA[ >= ]]> #{${_conditionParam_}.TSLExportMoreJsonFileSizeStart}
</if>
<if test="conditionParamRef.containsKey('TSLExportMoreJsonFileSizeEnd') and conditionParamRef.TSLExportMoreJsonFileSizeEnd != null">
${_conditionType_} a.TSLExportMoreJsonFileSize <![CDATA[ <= ]]> #{${_conditionParam_}.TSLExportMoreJsonFileSizeEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productTSLNum')">
a.productTSLNum
<if test='orderCol.productTSLNum != null and "DESC".equalsIgnoreCase(orderCol.productTSLNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLFunctionNum')">
a.TSLFunctionNum
<if test='orderCol.TSLFunctionNum != null and "DESC".equalsIgnoreCase(orderCol.TSLFunctionNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLStructParameterNum')">
a.TSLStructParameterNum
<if test='orderCol.TSLStructParameterNum != null and "DESC".equalsIgnoreCase(orderCol.TSLStructParameterNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLDataTpyeEnumNum')">
a.TSLDataTpyeEnumNum
<if test='orderCol.TSLDataTpyeEnumNum != null and "DESC".equalsIgnoreCase(orderCol.TSLDataTpyeEnumNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLDataTpyeTextLength')">
a.TSLDataTpyeTextLength
<if test='orderCol.TSLDataTpyeTextLength != null and "DESC".equalsIgnoreCase(orderCol.TSLDataTpyeTextLength)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLDataTpyeArrayNum')">
a.TSLDataTpyeArrayNum
<if test='orderCol.TSLDataTpyeArrayNum != null and "DESC".equalsIgnoreCase(orderCol.TSLDataTpyeArrayNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLServiceEventParameterNum')">
a.TSLServiceEventParameterNum
<if test='orderCol.TSLServiceEventParameterNum != null and "DESC".equalsIgnoreCase(orderCol.TSLServiceEventParameterNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLServiceInParameterNum')">
a.TSLServiceInParameterNum
<if test='orderCol.TSLServiceInParameterNum != null and "DESC".equalsIgnoreCase(orderCol.TSLServiceInParameterNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLServiceOutParameterNum')">
a.TSLServiceOutParameterNum
<if test='orderCol.TSLServiceOutParameterNum != null and "DESC".equalsIgnoreCase(orderCol.TSLServiceOutParameterNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLEventOutParameterNum')">
a.TSLEventOutParameterNum
<if test='orderCol.TSLEventOutParameterNum != null and "DESC".equalsIgnoreCase(orderCol.TSLEventOutParameterNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLDraftVersionNum')">
a.TSLDraftVersionNum
<if test='orderCol.TSLDraftVersionNum != null and "DESC".equalsIgnoreCase(orderCol.TSLDraftVersionNum)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLExportJsonFileSize')">
a.TSLExportJsonFileSize
<if test='orderCol.TSLExportJsonFileSize != null and "DESC".equalsIgnoreCase(orderCol.TSLExportJsonFileSize)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('TSLExportMoreJsonFileSize')">
a.TSLExportMoreJsonFileSize
<if test='orderCol.TSLExportMoreJsonFileSize != null and "DESC".equalsIgnoreCase(orderCol.TSLExportMoreJsonFileSize)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"mybatis-3-mapper.dtd">
<mapper namespace="com.mortals.xhx.module.service.dao.ibatis.ServiceSubAmqpLimitDaoImpl">
<!-- 字段和属性映射 -->
<resultMap type="ServiceSubAmqpLimitEntity" id="ServiceSubAmqpLimitEntity-Map">
<id property="id" column="id" />
<result property="authTimeout" column="authTimeout" />
<result property="messageTimeout" column="messageTimeout" />
<result property="consumerGroupMessageStorageMaxLimit" column="consumerGroupMessageStorageMaxLimit" />
<result property="messageStorageTimeLimit" column="messageStorageTimeLimit" />
<result property="pushMessageLimit" column="pushMessageLimit" />
<result property="pushHeapUpMessageLimit" column="pushHeapUpMessageLimit" />
<result property="productConsumerGroupNumLimit" column="productConsumerGroupNumLimit" />
<result property="consumerGroupProductNumLimit" column="consumerGroupProductNumLimit" />
<result property="customerConsumerGroupNumLimit" column="customerConsumerGroupNumLimit" />
<result property="consumerGroupHaveConsumerNumLimit" column="consumerGroupHaveConsumerNumLimit" />
<result property="consumerGroupConsumerConNumLimit" column="consumerGroupConsumerConNumLimit" />
<result property="createTime" column="createTime" />
<result property="updateTime" column="updateTime" />
</resultMap>
<!-- 表所有列 -->
<sql id="_columns">
<trim suffixOverrides="," suffix="">
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('id') or colPickMode == 1 and data.containsKey('id')))">
a.id as id,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('authTimeout') or colPickMode == 1 and data.containsKey('authTimeout')))">
a.authTimeout as authTimeout,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('messageTimeout') or colPickMode == 1 and data.containsKey('messageTimeout')))">
a.messageTimeout as messageTimeout,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('consumerGroupMessageStorageMaxLimit') or colPickMode == 1 and data.containsKey('consumerGroupMessageStorageMaxLimit')))">
a.consumerGroupMessageStorageMaxLimit as consumerGroupMessageStorageMaxLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('messageStorageTimeLimit') or colPickMode == 1 and data.containsKey('messageStorageTimeLimit')))">
a.messageStorageTimeLimit as messageStorageTimeLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('pushMessageLimit') or colPickMode == 1 and data.containsKey('pushMessageLimit')))">
a.pushMessageLimit as pushMessageLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('pushHeapUpMessageLimit') or colPickMode == 1 and data.containsKey('pushHeapUpMessageLimit')))">
a.pushHeapUpMessageLimit as pushHeapUpMessageLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('productConsumerGroupNumLimit') or colPickMode == 1 and data.containsKey('productConsumerGroupNumLimit')))">
a.productConsumerGroupNumLimit as productConsumerGroupNumLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('consumerGroupProductNumLimit') or colPickMode == 1 and data.containsKey('consumerGroupProductNumLimit')))">
a.consumerGroupProductNumLimit as consumerGroupProductNumLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('customerConsumerGroupNumLimit') or colPickMode == 1 and data.containsKey('customerConsumerGroupNumLimit')))">
a.customerConsumerGroupNumLimit as customerConsumerGroupNumLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('consumerGroupHaveConsumerNumLimit') or colPickMode == 1 and data.containsKey('consumerGroupHaveConsumerNumLimit')))">
a.consumerGroupHaveConsumerNumLimit as consumerGroupHaveConsumerNumLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('consumerGroupConsumerConNumLimit') or colPickMode == 1 and data.containsKey('consumerGroupConsumerConNumLimit')))">
a.consumerGroupConsumerConNumLimit as consumerGroupConsumerConNumLimit,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('createTime') or colPickMode == 1 and data.containsKey('createTime')))">
a.createTime as createTime,
</if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('updateTime') or colPickMode == 1 and data.containsKey('updateTime')))">
a.updateTime as updateTime,
</if>
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="ServiceSubAmqpLimitEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_xhx_service_sub_amqp_limit
(authTimeout,messageTimeout,consumerGroupMessageStorageMaxLimit,messageStorageTimeLimit,pushMessageLimit,pushHeapUpMessageLimit,productConsumerGroupNumLimit,consumerGroupProductNumLimit,customerConsumerGroupNumLimit,consumerGroupHaveConsumerNumLimit,consumerGroupConsumerConNumLimit,createTime,updateTime)
VALUES
(#{authTimeout},#{messageTimeout},#{consumerGroupMessageStorageMaxLimit},#{messageStorageTimeLimit},#{pushMessageLimit},#{pushHeapUpMessageLimit},#{productConsumerGroupNumLimit},#{consumerGroupProductNumLimit},#{customerConsumerGroupNumLimit},#{consumerGroupHaveConsumerNumLimit},#{consumerGroupConsumerConNumLimit},#{createTime},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto">
insert into mortals_xhx_service_sub_amqp_limit
(authTimeout,messageTimeout,consumerGroupMessageStorageMaxLimit,messageStorageTimeLimit,pushMessageLimit,pushHeapUpMessageLimit,productConsumerGroupNumLimit,consumerGroupProductNumLimit,customerConsumerGroupNumLimit,consumerGroupHaveConsumerNumLimit,consumerGroupConsumerConNumLimit,createTime,updateTime)
VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.authTimeout},#{item.messageTimeout},#{item.consumerGroupMessageStorageMaxLimit},#{item.messageStorageTimeLimit},#{item.pushMessageLimit},#{item.pushHeapUpMessageLimit},#{item.productConsumerGroupNumLimit},#{item.consumerGroupProductNumLimit},#{item.customerConsumerGroupNumLimit},#{item.consumerGroupHaveConsumerNumLimit},#{item.consumerGroupConsumerConNumLimit},#{item.createTime},#{item.updateTime})
</foreach>
</insert>
<!-- 根据ParamDto更新 -->
<update id="update" parameterType="paramDto">
update mortals_xhx_service_sub_amqp_limit as a
set
<trim suffixOverrides="," suffix="">
<if test="(colPickMode==0 and data.containsKey('authTimeout')) or (colPickMode==1 and !data.containsKey('authTimeout'))">
a.authTimeout=#{data.authTimeout},
</if>
<if test="(colPickMode==0 and data.containsKey('authTimeoutIncrement')) or (colPickMode==1 and !data.containsKey('authTimeoutIncrement'))">
a.authTimeout=ifnull(a.authTimeout,0) + #{data.authTimeoutIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('messageTimeout')) or (colPickMode==1 and !data.containsKey('messageTimeout'))">
a.messageTimeout=#{data.messageTimeout},
</if>
<if test="(colPickMode==0 and data.containsKey('messageTimeoutIncrement')) or (colPickMode==1 and !data.containsKey('messageTimeoutIncrement'))">
a.messageTimeout=ifnull(a.messageTimeout,0) + #{data.messageTimeoutIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupMessageStorageMaxLimit')) or (colPickMode==1 and !data.containsKey('consumerGroupMessageStorageMaxLimit'))">
a.consumerGroupMessageStorageMaxLimit=#{data.consumerGroupMessageStorageMaxLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupMessageStorageMaxLimitIncrement')) or (colPickMode==1 and !data.containsKey('consumerGroupMessageStorageMaxLimitIncrement'))">
a.consumerGroupMessageStorageMaxLimit=ifnull(a.consumerGroupMessageStorageMaxLimit,0) + #{data.consumerGroupMessageStorageMaxLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('messageStorageTimeLimit')) or (colPickMode==1 and !data.containsKey('messageStorageTimeLimit'))">
a.messageStorageTimeLimit=#{data.messageStorageTimeLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('messageStorageTimeLimitIncrement')) or (colPickMode==1 and !data.containsKey('messageStorageTimeLimitIncrement'))">
a.messageStorageTimeLimit=ifnull(a.messageStorageTimeLimit,0) + #{data.messageStorageTimeLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('pushMessageLimit')) or (colPickMode==1 and !data.containsKey('pushMessageLimit'))">
a.pushMessageLimit=#{data.pushMessageLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('pushMessageLimitIncrement')) or (colPickMode==1 and !data.containsKey('pushMessageLimitIncrement'))">
a.pushMessageLimit=ifnull(a.pushMessageLimit,0) + #{data.pushMessageLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('pushHeapUpMessageLimit')) or (colPickMode==1 and !data.containsKey('pushHeapUpMessageLimit'))">
a.pushHeapUpMessageLimit=#{data.pushHeapUpMessageLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('pushHeapUpMessageLimitIncrement')) or (colPickMode==1 and !data.containsKey('pushHeapUpMessageLimitIncrement'))">
a.pushHeapUpMessageLimit=ifnull(a.pushHeapUpMessageLimit,0) + #{data.pushHeapUpMessageLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('productConsumerGroupNumLimit')) or (colPickMode==1 and !data.containsKey('productConsumerGroupNumLimit'))">
a.productConsumerGroupNumLimit=#{data.productConsumerGroupNumLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('productConsumerGroupNumLimitIncrement')) or (colPickMode==1 and !data.containsKey('productConsumerGroupNumLimitIncrement'))">
a.productConsumerGroupNumLimit=ifnull(a.productConsumerGroupNumLimit,0) + #{data.productConsumerGroupNumLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupProductNumLimit')) or (colPickMode==1 and !data.containsKey('consumerGroupProductNumLimit'))">
a.consumerGroupProductNumLimit=#{data.consumerGroupProductNumLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupProductNumLimitIncrement')) or (colPickMode==1 and !data.containsKey('consumerGroupProductNumLimitIncrement'))">
a.consumerGroupProductNumLimit=ifnull(a.consumerGroupProductNumLimit,0) + #{data.consumerGroupProductNumLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('customerConsumerGroupNumLimit')) or (colPickMode==1 and !data.containsKey('customerConsumerGroupNumLimit'))">
a.customerConsumerGroupNumLimit=#{data.customerConsumerGroupNumLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('customerConsumerGroupNumLimitIncrement')) or (colPickMode==1 and !data.containsKey('customerConsumerGroupNumLimitIncrement'))">
a.customerConsumerGroupNumLimit=ifnull(a.customerConsumerGroupNumLimit,0) + #{data.customerConsumerGroupNumLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupHaveConsumerNumLimit')) or (colPickMode==1 and !data.containsKey('consumerGroupHaveConsumerNumLimit'))">
a.consumerGroupHaveConsumerNumLimit=#{data.consumerGroupHaveConsumerNumLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupHaveConsumerNumLimitIncrement')) or (colPickMode==1 and !data.containsKey('consumerGroupHaveConsumerNumLimitIncrement'))">
a.consumerGroupHaveConsumerNumLimit=ifnull(a.consumerGroupHaveConsumerNumLimit,0) + #{data.consumerGroupHaveConsumerNumLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupConsumerConNumLimit')) or (colPickMode==1 and !data.containsKey('consumerGroupConsumerConNumLimit'))">
a.consumerGroupConsumerConNumLimit=#{data.consumerGroupConsumerConNumLimit},
</if>
<if test="(colPickMode==0 and data.containsKey('consumerGroupConsumerConNumLimitIncrement')) or (colPickMode==1 and !data.containsKey('consumerGroupConsumerConNumLimitIncrement'))">
a.consumerGroupConsumerConNumLimit=ifnull(a.consumerGroupConsumerConNumLimit,0) + #{data.consumerGroupConsumerConNumLimitIncrement},
</if>
<if test="(colPickMode==0 and data.containsKey('createTime')) or (colPickMode==1 and !data.containsKey('createTime'))">
a.createTime=#{data.createTime},
</if>
<if test="(colPickMode==0 and data.containsKey('updateTime')) or (colPickMode==1 and !data.containsKey('updateTime'))">
a.updateTime=#{data.updateTime},
</if>
</trim>
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</update>
<!-- 批量更新 -->
<update id="updateBatch" parameterType="paramDto">
update mortals_xhx_service_sub_amqp_limit as a
<trim prefix="set" suffixOverrides=",">
<trim prefix="authTimeout=(case" suffix="ELSE authTimeout end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('authTimeout')) or (colPickMode==1 and !item.containsKey('authTimeout'))">
when a.id=#{item.id} then #{item.authTimeout}
</when>
<when test="(colPickMode==0 and item.containsKey('authTimeoutIncrement')) or (colPickMode==1 and !item.containsKey('authTimeoutIncrement'))">
when a.id=#{item.id} then ifnull(a.authTimeout,0) + #{item.authTimeoutIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="messageTimeout=(case" suffix="ELSE messageTimeout end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('messageTimeout')) or (colPickMode==1 and !item.containsKey('messageTimeout'))">
when a.id=#{item.id} then #{item.messageTimeout}
</when>
<when test="(colPickMode==0 and item.containsKey('messageTimeoutIncrement')) or (colPickMode==1 and !item.containsKey('messageTimeoutIncrement'))">
when a.id=#{item.id} then ifnull(a.messageTimeout,0) + #{item.messageTimeoutIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="consumerGroupMessageStorageMaxLimit=(case" suffix="ELSE consumerGroupMessageStorageMaxLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('consumerGroupMessageStorageMaxLimit')) or (colPickMode==1 and !item.containsKey('consumerGroupMessageStorageMaxLimit'))">
when a.id=#{item.id} then #{item.consumerGroupMessageStorageMaxLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('consumerGroupMessageStorageMaxLimitIncrement')) or (colPickMode==1 and !item.containsKey('consumerGroupMessageStorageMaxLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.consumerGroupMessageStorageMaxLimit,0) + #{item.consumerGroupMessageStorageMaxLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="messageStorageTimeLimit=(case" suffix="ELSE messageStorageTimeLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('messageStorageTimeLimit')) or (colPickMode==1 and !item.containsKey('messageStorageTimeLimit'))">
when a.id=#{item.id} then #{item.messageStorageTimeLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('messageStorageTimeLimitIncrement')) or (colPickMode==1 and !item.containsKey('messageStorageTimeLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.messageStorageTimeLimit,0) + #{item.messageStorageTimeLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="pushMessageLimit=(case" suffix="ELSE pushMessageLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('pushMessageLimit')) or (colPickMode==1 and !item.containsKey('pushMessageLimit'))">
when a.id=#{item.id} then #{item.pushMessageLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('pushMessageLimitIncrement')) or (colPickMode==1 and !item.containsKey('pushMessageLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.pushMessageLimit,0) + #{item.pushMessageLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="pushHeapUpMessageLimit=(case" suffix="ELSE pushHeapUpMessageLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('pushHeapUpMessageLimit')) or (colPickMode==1 and !item.containsKey('pushHeapUpMessageLimit'))">
when a.id=#{item.id} then #{item.pushHeapUpMessageLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('pushHeapUpMessageLimitIncrement')) or (colPickMode==1 and !item.containsKey('pushHeapUpMessageLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.pushHeapUpMessageLimit,0) + #{item.pushHeapUpMessageLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="productConsumerGroupNumLimit=(case" suffix="ELSE productConsumerGroupNumLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('productConsumerGroupNumLimit')) or (colPickMode==1 and !item.containsKey('productConsumerGroupNumLimit'))">
when a.id=#{item.id} then #{item.productConsumerGroupNumLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('productConsumerGroupNumLimitIncrement')) or (colPickMode==1 and !item.containsKey('productConsumerGroupNumLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.productConsumerGroupNumLimit,0) + #{item.productConsumerGroupNumLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="consumerGroupProductNumLimit=(case" suffix="ELSE consumerGroupProductNumLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('consumerGroupProductNumLimit')) or (colPickMode==1 and !item.containsKey('consumerGroupProductNumLimit'))">
when a.id=#{item.id} then #{item.consumerGroupProductNumLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('consumerGroupProductNumLimitIncrement')) or (colPickMode==1 and !item.containsKey('consumerGroupProductNumLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.consumerGroupProductNumLimit,0) + #{item.consumerGroupProductNumLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="customerConsumerGroupNumLimit=(case" suffix="ELSE customerConsumerGroupNumLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('customerConsumerGroupNumLimit')) or (colPickMode==1 and !item.containsKey('customerConsumerGroupNumLimit'))">
when a.id=#{item.id} then #{item.customerConsumerGroupNumLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('customerConsumerGroupNumLimitIncrement')) or (colPickMode==1 and !item.containsKey('customerConsumerGroupNumLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.customerConsumerGroupNumLimit,0) + #{item.customerConsumerGroupNumLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="consumerGroupHaveConsumerNumLimit=(case" suffix="ELSE consumerGroupHaveConsumerNumLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('consumerGroupHaveConsumerNumLimit')) or (colPickMode==1 and !item.containsKey('consumerGroupHaveConsumerNumLimit'))">
when a.id=#{item.id} then #{item.consumerGroupHaveConsumerNumLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('consumerGroupHaveConsumerNumLimitIncrement')) or (colPickMode==1 and !item.containsKey('consumerGroupHaveConsumerNumLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.consumerGroupHaveConsumerNumLimit,0) + #{item.consumerGroupHaveConsumerNumLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="consumerGroupConsumerConNumLimit=(case" suffix="ELSE consumerGroupConsumerConNumLimit end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('consumerGroupConsumerConNumLimit')) or (colPickMode==1 and !item.containsKey('consumerGroupConsumerConNumLimit'))">
when a.id=#{item.id} then #{item.consumerGroupConsumerConNumLimit}
</when>
<when test="(colPickMode==0 and item.containsKey('consumerGroupConsumerConNumLimitIncrement')) or (colPickMode==1 and !item.containsKey('consumerGroupConsumerConNumLimitIncrement'))">
when a.id=#{item.id} then ifnull(a.consumerGroupConsumerConNumLimit,0) + #{item.consumerGroupConsumerConNumLimitIncrement}
</when>
</choose>
</foreach>
</trim>
<trim prefix="createTime=(case" suffix="ELSE createTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('createTime')) or (colPickMode==1 and !item.containsKey('createTime'))">
when a.id=#{item.id} then #{item.createTime}
</if>
</foreach>
</trim>
<trim prefix="updateTime=(case" suffix="ELSE updateTime end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<if test="(colPickMode==0 and item.containsKey('updateTime')) or (colPickMode==1 and !item.containsKey('updateTime'))">
when a.id=#{item.id} then #{item.updateTime}
</if>
</foreach>
</trim>
</trim>
where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<!-- 根据主健查询 -->
<select id="getByKey" parameterType="paramDto" resultMap="ServiceSubAmqpLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_service_sub_amqp_limit as a
where a.id=#{condition.id}
</select>
<!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_xhx_service_sub_amqp_limit as a where a.id=#{condition.id}
</delete>
<!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys">
delete from mortals_xhx_service_sub_amqp_limit where id in
<foreach collection="array" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
<!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto">
delete a.* from mortals_xhx_service_sub_amqp_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</delete>
<!-- 获取列表 -->
<select id="getList" parameterType="paramDto" resultMap="ServiceSubAmqpLimitEntity-Map">
select <include refid="_columns"/>
from mortals_xhx_service_sub_amqp_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
<include refid="_orderCols_"/>
</select>
<!-- 获取 -->
<select id="getListCount" parameterType="paramDto" resultType="int">
select count(1)
from mortals_xhx_service_sub_amqp_limit as a
<trim suffixOverrides="where" suffix="">
where
<trim prefixOverrides="and" prefix="">
<include refid="_condition_"/>
</trim>
</trim>
</select>
<!-- 条件映射 -->
<sql id="_condition_">
<if test="condition != null and !condition.isEmpty()">
<!-- 条件映射-普通条件 -->
<include refid="_condition_param_">
<property name="_conditionParam_" value="condition"/>
<property name="_conditionType_" value="and"/>
</include>
<!-- 条件映射-集合之间使用AND,集合中元素使用OR-(list[0].1 or list[0].2) and (list[1].3 or list[1].4) -->
<if test="condition.containsKey('andConditionList') and !condition.andConditionList.isEmpty()">
and
<foreach collection="condition.andConditionList" open="(" close=")" index="index" item="andCondition" separator=" and ">
<trim prefixOverrides="or" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="andCondition"/>
<property name="_conditionType_" value="or"/>
</include>
</trim>
</foreach>
</if>
<!-- 条件映射-集合之间使用OR,集合中元素使用AND-(list[0].1 and list[0].2) or (list[1].3 and list[1].4) -->
<if test="condition.containsKey('orConditionList') and !condition.orConditionList.isEmpty()">
and
<foreach collection="condition.orConditionList" open="(" close=")" index="index" item="orCondition" separator=" or ">
<trim prefixOverrides="and" prefix="(" suffix=")">
<include refid="_condition_param_">
<property name="_conditionParam_" value="orCondition"/>
<property name="_conditionType_" value="and"/>
</include>
</trim>
</foreach>
</if>
</if>
</sql>
<!-- 条件映射-代参数 -->
<sql id="_condition_param_">
<bind name="conditionParamRef" value="${_conditionParam_}"/>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null">
${_conditionType_} a.id=#{${_conditionParam_}.id}
</if>
</if>
<if test="conditionParamRef.containsKey('id')">
<if test="conditionParamRef.id != null ">
${_conditionType_} a.id = #{${_conditionParam_}.id}
</if>
<if test="conditionParamRef.id == null">
${_conditionType_} a.id is null
</if>
</if>
<if test="conditionParamRef.containsKey('idList')">
${_conditionType_} a.id in
<foreach collection="conditionParamRef.idList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('idStart') and conditionParamRef.idStart != null">
${_conditionType_} a.id <![CDATA[ >= ]]> #{${_conditionParam_}.idStart}
</if>
<if test="conditionParamRef.containsKey('idEnd') and conditionParamRef.idEnd != null">
${_conditionType_} a.id <![CDATA[ <= ]]> #{${_conditionParam_}.idEnd}
</if>
<if test="conditionParamRef.containsKey('authTimeout')">
<if test="conditionParamRef.authTimeout != null ">
${_conditionType_} a.authTimeout = #{${_conditionParam_}.authTimeout}
</if>
<if test="conditionParamRef.authTimeout == null">
${_conditionType_} a.authTimeout is null
</if>
</if>
<if test="conditionParamRef.containsKey('authTimeoutList')">
${_conditionType_} a.authTimeout in
<foreach collection="conditionParamRef.authTimeoutList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('authTimeoutStart') and conditionParamRef.authTimeoutStart != null">
${_conditionType_} a.authTimeout <![CDATA[ >= ]]> #{${_conditionParam_}.authTimeoutStart}
</if>
<if test="conditionParamRef.containsKey('authTimeoutEnd') and conditionParamRef.authTimeoutEnd != null">
${_conditionType_} a.authTimeout <![CDATA[ <= ]]> #{${_conditionParam_}.authTimeoutEnd}
</if>
<if test="conditionParamRef.containsKey('messageTimeout')">
<if test="conditionParamRef.messageTimeout != null ">
${_conditionType_} a.messageTimeout = #{${_conditionParam_}.messageTimeout}
</if>
<if test="conditionParamRef.messageTimeout == null">
${_conditionType_} a.messageTimeout is null
</if>
</if>
<if test="conditionParamRef.containsKey('messageTimeoutList')">
${_conditionType_} a.messageTimeout in
<foreach collection="conditionParamRef.messageTimeoutList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('messageTimeoutStart') and conditionParamRef.messageTimeoutStart != null">
${_conditionType_} a.messageTimeout <![CDATA[ >= ]]> #{${_conditionParam_}.messageTimeoutStart}
</if>
<if test="conditionParamRef.containsKey('messageTimeoutEnd') and conditionParamRef.messageTimeoutEnd != null">
${_conditionType_} a.messageTimeout <![CDATA[ <= ]]> #{${_conditionParam_}.messageTimeoutEnd}
</if>
<if test="conditionParamRef.containsKey('consumerGroupMessageStorageMaxLimit')">
<if test="conditionParamRef.consumerGroupMessageStorageMaxLimit != null ">
${_conditionType_} a.consumerGroupMessageStorageMaxLimit = #{${_conditionParam_}.consumerGroupMessageStorageMaxLimit}
</if>
<if test="conditionParamRef.consumerGroupMessageStorageMaxLimit == null">
${_conditionType_} a.consumerGroupMessageStorageMaxLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('consumerGroupMessageStorageMaxLimitList')">
${_conditionType_} a.consumerGroupMessageStorageMaxLimit in
<foreach collection="conditionParamRef.consumerGroupMessageStorageMaxLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('consumerGroupMessageStorageMaxLimitStart') and conditionParamRef.consumerGroupMessageStorageMaxLimitStart != null">
${_conditionType_} a.consumerGroupMessageStorageMaxLimit <![CDATA[ >= ]]> #{${_conditionParam_}.consumerGroupMessageStorageMaxLimitStart}
</if>
<if test="conditionParamRef.containsKey('consumerGroupMessageStorageMaxLimitEnd') and conditionParamRef.consumerGroupMessageStorageMaxLimitEnd != null">
${_conditionType_} a.consumerGroupMessageStorageMaxLimit <![CDATA[ <= ]]> #{${_conditionParam_}.consumerGroupMessageStorageMaxLimitEnd}
</if>
<if test="conditionParamRef.containsKey('messageStorageTimeLimit')">
<if test="conditionParamRef.messageStorageTimeLimit != null ">
${_conditionType_} a.messageStorageTimeLimit = #{${_conditionParam_}.messageStorageTimeLimit}
</if>
<if test="conditionParamRef.messageStorageTimeLimit == null">
${_conditionType_} a.messageStorageTimeLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('messageStorageTimeLimitList')">
${_conditionType_} a.messageStorageTimeLimit in
<foreach collection="conditionParamRef.messageStorageTimeLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('messageStorageTimeLimitStart') and conditionParamRef.messageStorageTimeLimitStart != null">
${_conditionType_} a.messageStorageTimeLimit <![CDATA[ >= ]]> #{${_conditionParam_}.messageStorageTimeLimitStart}
</if>
<if test="conditionParamRef.containsKey('messageStorageTimeLimitEnd') and conditionParamRef.messageStorageTimeLimitEnd != null">
${_conditionType_} a.messageStorageTimeLimit <![CDATA[ <= ]]> #{${_conditionParam_}.messageStorageTimeLimitEnd}
</if>
<if test="conditionParamRef.containsKey('pushMessageLimit')">
<if test="conditionParamRef.pushMessageLimit != null ">
${_conditionType_} a.pushMessageLimit = #{${_conditionParam_}.pushMessageLimit}
</if>
<if test="conditionParamRef.pushMessageLimit == null">
${_conditionType_} a.pushMessageLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('pushMessageLimitList')">
${_conditionType_} a.pushMessageLimit in
<foreach collection="conditionParamRef.pushMessageLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('pushMessageLimitStart') and conditionParamRef.pushMessageLimitStart != null">
${_conditionType_} a.pushMessageLimit <![CDATA[ >= ]]> #{${_conditionParam_}.pushMessageLimitStart}
</if>
<if test="conditionParamRef.containsKey('pushMessageLimitEnd') and conditionParamRef.pushMessageLimitEnd != null">
${_conditionType_} a.pushMessageLimit <![CDATA[ <= ]]> #{${_conditionParam_}.pushMessageLimitEnd}
</if>
<if test="conditionParamRef.containsKey('pushHeapUpMessageLimit')">
<if test="conditionParamRef.pushHeapUpMessageLimit != null ">
${_conditionType_} a.pushHeapUpMessageLimit = #{${_conditionParam_}.pushHeapUpMessageLimit}
</if>
<if test="conditionParamRef.pushHeapUpMessageLimit == null">
${_conditionType_} a.pushHeapUpMessageLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('pushHeapUpMessageLimitList')">
${_conditionType_} a.pushHeapUpMessageLimit in
<foreach collection="conditionParamRef.pushHeapUpMessageLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('pushHeapUpMessageLimitStart') and conditionParamRef.pushHeapUpMessageLimitStart != null">
${_conditionType_} a.pushHeapUpMessageLimit <![CDATA[ >= ]]> #{${_conditionParam_}.pushHeapUpMessageLimitStart}
</if>
<if test="conditionParamRef.containsKey('pushHeapUpMessageLimitEnd') and conditionParamRef.pushHeapUpMessageLimitEnd != null">
${_conditionType_} a.pushHeapUpMessageLimit <![CDATA[ <= ]]> #{${_conditionParam_}.pushHeapUpMessageLimitEnd}
</if>
<if test="conditionParamRef.containsKey('productConsumerGroupNumLimit')">
<if test="conditionParamRef.productConsumerGroupNumLimit != null ">
${_conditionType_} a.productConsumerGroupNumLimit = #{${_conditionParam_}.productConsumerGroupNumLimit}
</if>
<if test="conditionParamRef.productConsumerGroupNumLimit == null">
${_conditionType_} a.productConsumerGroupNumLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('productConsumerGroupNumLimitList')">
${_conditionType_} a.productConsumerGroupNumLimit in
<foreach collection="conditionParamRef.productConsumerGroupNumLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('productConsumerGroupNumLimitStart') and conditionParamRef.productConsumerGroupNumLimitStart != null">
${_conditionType_} a.productConsumerGroupNumLimit <![CDATA[ >= ]]> #{${_conditionParam_}.productConsumerGroupNumLimitStart}
</if>
<if test="conditionParamRef.containsKey('productConsumerGroupNumLimitEnd') and conditionParamRef.productConsumerGroupNumLimitEnd != null">
${_conditionType_} a.productConsumerGroupNumLimit <![CDATA[ <= ]]> #{${_conditionParam_}.productConsumerGroupNumLimitEnd}
</if>
<if test="conditionParamRef.containsKey('consumerGroupProductNumLimit')">
<if test="conditionParamRef.consumerGroupProductNumLimit != null ">
${_conditionType_} a.consumerGroupProductNumLimit = #{${_conditionParam_}.consumerGroupProductNumLimit}
</if>
<if test="conditionParamRef.consumerGroupProductNumLimit == null">
${_conditionType_} a.consumerGroupProductNumLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('consumerGroupProductNumLimitList')">
${_conditionType_} a.consumerGroupProductNumLimit in
<foreach collection="conditionParamRef.consumerGroupProductNumLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('consumerGroupProductNumLimitStart') and conditionParamRef.consumerGroupProductNumLimitStart != null">
${_conditionType_} a.consumerGroupProductNumLimit <![CDATA[ >= ]]> #{${_conditionParam_}.consumerGroupProductNumLimitStart}
</if>
<if test="conditionParamRef.containsKey('consumerGroupProductNumLimitEnd') and conditionParamRef.consumerGroupProductNumLimitEnd != null">
${_conditionType_} a.consumerGroupProductNumLimit <![CDATA[ <= ]]> #{${_conditionParam_}.consumerGroupProductNumLimitEnd}
</if>
<if test="conditionParamRef.containsKey('customerConsumerGroupNumLimit')">
<if test="conditionParamRef.customerConsumerGroupNumLimit != null ">
${_conditionType_} a.customerConsumerGroupNumLimit = #{${_conditionParam_}.customerConsumerGroupNumLimit}
</if>
<if test="conditionParamRef.customerConsumerGroupNumLimit == null">
${_conditionType_} a.customerConsumerGroupNumLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('customerConsumerGroupNumLimitList')">
${_conditionType_} a.customerConsumerGroupNumLimit in
<foreach collection="conditionParamRef.customerConsumerGroupNumLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('customerConsumerGroupNumLimitStart') and conditionParamRef.customerConsumerGroupNumLimitStart != null">
${_conditionType_} a.customerConsumerGroupNumLimit <![CDATA[ >= ]]> #{${_conditionParam_}.customerConsumerGroupNumLimitStart}
</if>
<if test="conditionParamRef.containsKey('customerConsumerGroupNumLimitEnd') and conditionParamRef.customerConsumerGroupNumLimitEnd != null">
${_conditionType_} a.customerConsumerGroupNumLimit <![CDATA[ <= ]]> #{${_conditionParam_}.customerConsumerGroupNumLimitEnd}
</if>
<if test="conditionParamRef.containsKey('consumerGroupHaveConsumerNumLimit')">
<if test="conditionParamRef.consumerGroupHaveConsumerNumLimit != null ">
${_conditionType_} a.consumerGroupHaveConsumerNumLimit = #{${_conditionParam_}.consumerGroupHaveConsumerNumLimit}
</if>
<if test="conditionParamRef.consumerGroupHaveConsumerNumLimit == null">
${_conditionType_} a.consumerGroupHaveConsumerNumLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('consumerGroupHaveConsumerNumLimitList')">
${_conditionType_} a.consumerGroupHaveConsumerNumLimit in
<foreach collection="conditionParamRef.consumerGroupHaveConsumerNumLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('consumerGroupHaveConsumerNumLimitStart') and conditionParamRef.consumerGroupHaveConsumerNumLimitStart != null">
${_conditionType_} a.consumerGroupHaveConsumerNumLimit <![CDATA[ >= ]]> #{${_conditionParam_}.consumerGroupHaveConsumerNumLimitStart}
</if>
<if test="conditionParamRef.containsKey('consumerGroupHaveConsumerNumLimitEnd') and conditionParamRef.consumerGroupHaveConsumerNumLimitEnd != null">
${_conditionType_} a.consumerGroupHaveConsumerNumLimit <![CDATA[ <= ]]> #{${_conditionParam_}.consumerGroupHaveConsumerNumLimitEnd}
</if>
<if test="conditionParamRef.containsKey('consumerGroupConsumerConNumLimit')">
<if test="conditionParamRef.consumerGroupConsumerConNumLimit != null ">
${_conditionType_} a.consumerGroupConsumerConNumLimit = #{${_conditionParam_}.consumerGroupConsumerConNumLimit}
</if>
<if test="conditionParamRef.consumerGroupConsumerConNumLimit == null">
${_conditionType_} a.consumerGroupConsumerConNumLimit is null
</if>
</if>
<if test="conditionParamRef.containsKey('consumerGroupConsumerConNumLimitList')">
${_conditionType_} a.consumerGroupConsumerConNumLimit in
<foreach collection="conditionParamRef.consumerGroupConsumerConNumLimitList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('consumerGroupConsumerConNumLimitStart') and conditionParamRef.consumerGroupConsumerConNumLimitStart != null">
${_conditionType_} a.consumerGroupConsumerConNumLimit <![CDATA[ >= ]]> #{${_conditionParam_}.consumerGroupConsumerConNumLimitStart}
</if>
<if test="conditionParamRef.containsKey('consumerGroupConsumerConNumLimitEnd') and conditionParamRef.consumerGroupConsumerConNumLimitEnd != null">
${_conditionType_} a.consumerGroupConsumerConNumLimit <![CDATA[ <= ]]> #{${_conditionParam_}.consumerGroupConsumerConNumLimitEnd}
</if>
<if test="conditionParamRef.containsKey('createTime')">
<if test="conditionParamRef.createTime != null ">
${_conditionType_} a.createTime = #{${_conditionParam_}.createTime}
</if>
<if test="conditionParamRef.createTime == null">
${_conditionType_} a.createTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('createTimeStart') and conditionParamRef.createTimeStart != null and conditionParamRef.createTimeStart!=''">
${_conditionType_} a.createTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('createTimeEnd') and conditionParamRef.createTimeEnd != null and conditionParamRef.createTimeEnd!=''">
${_conditionType_} a.createTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.createTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTime')">
<if test="conditionParamRef.updateTime != null ">
${_conditionType_} a.updateTime = #{${_conditionParam_}.updateTime}
</if>
<if test="conditionParamRef.updateTime == null">
${_conditionType_} a.updateTime is null
</if>
</if>
<if test="conditionParamRef.containsKey('updateTimeStart') and conditionParamRef.updateTimeStart != null and conditionParamRef.updateTimeStart!=''">
${_conditionType_} a.updateTime <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
</if>
<if test="conditionParamRef.containsKey('updateTimeEnd') and conditionParamRef.updateTimeEnd != null and conditionParamRef.updateTimeEnd!=''">
${_conditionType_} a.updateTime <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{${_conditionParam_}.updateTimeEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
</if>
</sql>
<sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
${item.colName} ${item.sortKind}
</foreach>
</trim>
</if>
<if test="(orderColList == null or orderColList.isEmpty()) and orderCol != null and !orderCol.isEmpty()">
order by
<trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')">
a.id
<if test='orderCol.id != null and "DESC".equalsIgnoreCase(orderCol.id)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('authTimeout')">
a.authTimeout
<if test='orderCol.authTimeout != null and "DESC".equalsIgnoreCase(orderCol.authTimeout)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('messageTimeout')">
a.messageTimeout
<if test='orderCol.messageTimeout != null and "DESC".equalsIgnoreCase(orderCol.messageTimeout)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('consumerGroupMessageStorageMaxLimit')">
a.consumerGroupMessageStorageMaxLimit
<if test='orderCol.consumerGroupMessageStorageMaxLimit != null and "DESC".equalsIgnoreCase(orderCol.consumerGroupMessageStorageMaxLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('messageStorageTimeLimit')">
a.messageStorageTimeLimit
<if test='orderCol.messageStorageTimeLimit != null and "DESC".equalsIgnoreCase(orderCol.messageStorageTimeLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('pushMessageLimit')">
a.pushMessageLimit
<if test='orderCol.pushMessageLimit != null and "DESC".equalsIgnoreCase(orderCol.pushMessageLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('pushHeapUpMessageLimit')">
a.pushHeapUpMessageLimit
<if test='orderCol.pushHeapUpMessageLimit != null and "DESC".equalsIgnoreCase(orderCol.pushHeapUpMessageLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('productConsumerGroupNumLimit')">
a.productConsumerGroupNumLimit
<if test='orderCol.productConsumerGroupNumLimit != null and "DESC".equalsIgnoreCase(orderCol.productConsumerGroupNumLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('consumerGroupProductNumLimit')">
a.consumerGroupProductNumLimit
<if test='orderCol.consumerGroupProductNumLimit != null and "DESC".equalsIgnoreCase(orderCol.consumerGroupProductNumLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('customerConsumerGroupNumLimit')">
a.customerConsumerGroupNumLimit
<if test='orderCol.customerConsumerGroupNumLimit != null and "DESC".equalsIgnoreCase(orderCol.customerConsumerGroupNumLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('consumerGroupHaveConsumerNumLimit')">
a.consumerGroupHaveConsumerNumLimit
<if test='orderCol.consumerGroupHaveConsumerNumLimit != null and "DESC".equalsIgnoreCase(orderCol.consumerGroupHaveConsumerNumLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('consumerGroupConsumerConNumLimit')">
a.consumerGroupConsumerConNumLimit
<if test='orderCol.consumerGroupConsumerConNumLimit != null and "DESC".equalsIgnoreCase(orderCol.consumerGroupConsumerConNumLimit)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('createTime')">
a.createTime
<if test='orderCol.createTime != null and "DESC".equalsIgnoreCase(orderCol.createTime)'>DESC</if>
,
</if>
<if test="orderCol.containsKey('updateTime')">
a.updateTime
<if test='orderCol.updateTime != null and "DESC".equalsIgnoreCase(orderCol.updateTime)'>DESC</if>
,
</if>
</trim>
</if>
</sql>
<sql id="_group_by_">
<if test="groupList != null and !groupList.isEmpty()">
GROUP BY
<trim suffixOverrides="," suffix="">
<foreach collection="groupList" open="" close="" index="index" item="item" separator=",">
${item}
</foreach>
</trim>
</if>
</sql>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment