diff --git a/start-service/bootstrap-xm.sh b/start-service/bootstrap-xm.sh
new file mode 100644
index 00000000..5a767beb
--- /dev/null
+++ b/start-service/bootstrap-xm.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+######################################################################################
+### xm starter
+### cyc 20190221
+###
+###
+#####################################################################################
+cd ..
+
+
+SERVICE_NAME=xm
+MVERSION=M
+SVERSION="2.0.0-RELEASE"
+PROFILES=prod
+
+echo "将启动${SERVICE_NAME} 主版本${MVERSION} 子版本号${SVERSION} 配置文件${PROFILES}"
+
+if [ ! -d "./start-service/pid" ];then
+ mkdir ./start-service/pid
+fi
+
+# 清理进程
+if [ -f "./start-service/pid/${SERVICE_NAME}.pid" ];then
+ PID=$(cat "./start-service/pid/${SERVICE_NAME}.pid")
+ kill -9 ${PID}
+ echo "成功停止服务${SERVICE_NAME}"
+fi
+
+
+# 执行启动程序
+echo "启动服务${SERVICE_NAME}"
+
+JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+
+# 单体应用
+nohup ${JAVA_HOME}/bin/java -server -Xms512m -Xmx512m -Dfile.encoding=UTF-8 -jar ./lib/${SERVICE_NAME}-bootstrap-${SVERSION}.jar --spring.profiles.active=${PROFILES} >/dev/null 2>&1 &
+
+# cloud应用
+#nohup ${JAVA_HOME}/bin/java -server -Xms512m -Xmx512m -Dfile.encoding=UTF-8 -jar ./lib/${SERVICE_NAME}-cloud-bootstrap-${SVERSION}.jar --spring.profiles.active=${PROFILES} >/dev/null 2>&1 &
+
+# 记录进程号
+echo $! > ./start-service/pid/${SERVICE_NAME}.pid
+
+echo "启动服务成功!!!!!!!! pid $!"
diff --git a/xm-core/src/main/java/com/xm/core/mapper/XmProductMapper.xml b/xm-core/src/main/java/com/xm/core/mapper/XmProductMapper.xml
index f7d828f4..45b16636 100644
--- a/xm-core/src/main/java/com/xm/core/mapper/XmProductMapper.xml
+++ b/xm-core/src/main/java/com/xm/core/mapper/XmProductMapper.xml
@@ -66,8 +66,13 @@
inner join xm_product_project_link ppl on res.id=ppl.product_id and ppl.project_id=#{ext.linkProjectId}
+ ${@com.mdp.Util@trimWhere(ew.customSqlSegment)}
+
+ ${@com.mdp.Util@trimOrderBy(ew.customSqlSegment,'')}
+
+ ${@com.mdp.Util@trimGroupBy(ew.customSqlSegment,'')}
order by ppl.seq asc