Browse Source

随机分配盲票

chunping 3 years ago
parent
commit
c02435960b

+ 4 - 2
mp-framework/src/main/java/com/qs/mp/framework/web/exception/GlobalExceptionHandler.java

@@ -1,5 +1,7 @@
 package com.qs.mp.framework.web.exception;
 
+import com.qs.mp.common.utils.LogUtil;
+import com.qs.mp.common.utils.http.HttpHelper;
 import javax.servlet.http.HttpServletRequest;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -17,7 +19,7 @@ import com.qs.mp.common.utils.StringUtils;
 
 /**
  * 全局异常处理器
- * 
+ *
  * @author ygp
  */
 @RestControllerAdvice
@@ -66,7 +68,7 @@ public class GlobalExceptionHandler
     public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request)
     {
         String requestURI = request.getRequestURI();
-        log.error("请求地址'{}',发生未知异常.", requestURI, e);
+        LogUtil.error(log, e, "请求地址:{0},请求参数:{1}发生未知异常.", new Object[]{requestURI, HttpHelper.getBodyString(request)});
         return AjaxResult.error(e.getMessage());
     }
 

+ 5 - 4
mp-service/src/main/resources/mapper/admin/TicketMapper.xml

@@ -25,10 +25,11 @@
     </sql>
 
     <select id="getRandOne" resultMap="BaseResultMap">
-        select *
-        from mp_ticket
-        ${ew.customSqlSegment}
-        order by rand() limit 1
+        select t1.*
+        from mp_ticket  as t1
+            JOIN  (SELECT ROUND(RAND() * (SELECT MAX(ticket_id) FROM mp_ticket ${ew.customSqlSegment} )) AS id) AS t2
+        WHERE t1.ticket_id >= t2.id
+        ORDER BY t1.ticket_id LIMIT 1;
     </select>
 
     <select id="listTicket" resultMap="BaseResultMap">