Accept Merge Request #171: (su -> mark)

Merge Request: 操作日志增加错误相关,通错误返回平台名
Created By: @苏尹岚
Accepted By: @苏尹岚
URL: https://rosydev.coding.net/p/jx-callback/d/jx-callback/git/merge/171
This commit is contained in:
苏尹岚
2020-02-03 14:15:55 +08:00
14 changed files with 109 additions and 67 deletions

View File

@@ -1,6 +1,7 @@
package dao
import (
"strings"
"time"
"git.rosy.net.cn/baseapi/utils"
@@ -40,15 +41,25 @@ func DeleteOperateEvent(db *DaoDB, deleteTime time.Time) (err error) {
return err
}
func GetOperateEvents(db *DaoDB, name string, apiFunctions []string, operateTypes, skuIDs, storeIDs []int, fromTime, toTime time.Time, offset, pageSize int) (operateEventExt []*OperateEventExt, totalCount int, err error) {
func GetOperateEvents(db *DaoDB, name string, apiFunctions []string, operateTypes, skuIDs, storeIDs []int, fromTime, toTime time.Time, keyword string, errType, offset, pageSize int) (operateEventExt []*OperateEventExt, totalCount int, err error) {
sql := `
SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, c.name
FROM operate_event a
LEFT JOIN operate_event_detail b ON a.access_uuid = b.access_uuid
`
if len(operateTypes) > 0 || len(skuIDs) > 0 || len(storeIDs) > 0 || keyword != "" {
sql += " LEFT JOIN operate_event_detail b ON a.access_uuid = b.access_uuid"
}
sql += `
LEFT JOIN user c ON c.user_id = a.user_id
WHERE 1=1
WHERE 1=1
`
sqlParams := []interface{}{}
if errType == 1 {
sql += " AND a.err_msg = ''"
}
if errType == -1 {
sql += " AND a.err_msg <> ''"
}
if name != "" {
sql += " AND c.name LIKE ?"
sqlParams = append(sqlParams, "%"+name+"%")
@@ -77,6 +88,21 @@ func GetOperateEvents(db *DaoDB, name string, apiFunctions []string, operateType
sql += " AND b.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
sqlParams = append(sqlParams, storeIDs)
}
if keyword != "" {
sql += " AND ("
var apiList []string
for k, v := range model.ApiFunctionName {
if strings.Contains(v, keyword) {
apiList = append(apiList, k)
}
}
if len(apiList) > 0 {
sql += "a.api_function IN (" + GenQuestionMarks(len(apiList)) + ") OR"
sqlParams = append(sqlParams, apiList)
}
sql += " a.err_msg LIKE ? OR b.thing_id LIKE ? OR b.store_id LIKE ? OR c.name LIKE ?)"
sqlParams = append(sqlParams, "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%")
}
sql += `
ORDER BY a.created_at DESC
LIMIT ? OFFSET ?