操作日志记录(beta)-门店商品
This commit is contained in:
@@ -106,9 +106,10 @@ var (
|
||||
}
|
||||
|
||||
OperateTypeName = map[int]string{
|
||||
OperateAdd: "新增",
|
||||
OperateUpdate: "修改",
|
||||
OperateDelete: "删除",
|
||||
OperateAdd: "新增",
|
||||
OperateUpdate: "修改",
|
||||
OperateDelete: "删除",
|
||||
OperateCopyStoreSkus: "复制门店商品",
|
||||
}
|
||||
|
||||
ThingTypeName = map[int]string{
|
||||
@@ -118,6 +119,12 @@ var (
|
||||
ThingTypeStore: "门店",
|
||||
}
|
||||
|
||||
ApiFunctionName = map[string]string{
|
||||
"UpdateStoresSkus": "门店商品管理",
|
||||
"UpdateStoresSkusSale": "门店商品可售状态修改",
|
||||
"CopyStoreSkus": "京西门店商品复制到京西",
|
||||
}
|
||||
|
||||
MultiStoresVendorMap = map[int]int{
|
||||
VendorIDJD: 1,
|
||||
VendorIDMTWM: 0,
|
||||
@@ -255,9 +262,10 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
OperateAdd = 1 //新增操作
|
||||
OperateUpdate = 2 //修改操作
|
||||
OperateDelete = 4 //删除操作
|
||||
OperateAdd = 2 //新增操作
|
||||
OperateUpdate = 1 //修改操作
|
||||
OperateDelete = 4 //删除操作
|
||||
OperateCopyStoreSkus = 3 //复制门店商品
|
||||
)
|
||||
|
||||
const (
|
||||
|
||||
101
business/model/dao/event.go
Normal file
101
business/model/dao/event.go
Normal file
@@ -0,0 +1,101 @@
|
||||
package dao
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
)
|
||||
|
||||
type OperateEventExt struct {
|
||||
model.OperateEvent
|
||||
Detail []*model.OperateEventDetail
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
func DeleteOperateEventDetail(db *DaoDB, deleteTime time.Time) (err error) {
|
||||
sql := `
|
||||
DELETE FROM a
|
||||
USING operate_event_detail a,operate_event b
|
||||
WHERE a.access_uuid = b.access_uuid
|
||||
AND b.created_at < ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
deleteTime,
|
||||
}
|
||||
_, err = ExecuteSQL(db, sql, sqlParams...)
|
||||
return err
|
||||
}
|
||||
|
||||
func DeleteOperateEvent(db *DaoDB, deleteTime time.Time) (err error) {
|
||||
sql := `
|
||||
DELETE FROM operate_event
|
||||
WHERE created_at < ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
deleteTime,
|
||||
}
|
||||
_, err = ExecuteSQL(db, sql, sqlParams...)
|
||||
return err
|
||||
}
|
||||
|
||||
func GetOperateEvents(db *DaoDB, apiFunction, name string, operateType int, skuIDs, storeIDs []int, fromTime, toTime time.Time, 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
|
||||
LEFT JOIN user c ON c.user_id = a.user_id
|
||||
WHERE 1=1
|
||||
`
|
||||
sqlParams := []interface{}{}
|
||||
if name != "" {
|
||||
sql += " AND c.name LIKE ?"
|
||||
sqlParams = append(sqlParams, "%"+name+"%")
|
||||
}
|
||||
if !utils.IsTimeZero(fromTime) {
|
||||
sql += " AND a.created_at >= ?"
|
||||
sqlParams = append(sqlParams, fromTime)
|
||||
}
|
||||
if !utils.IsTimeZero(toTime) {
|
||||
sql += " AND a.created_at <= ?"
|
||||
sqlParams = append(sqlParams, toTime)
|
||||
}
|
||||
if apiFunction != "" {
|
||||
sql += " AND a.api_function = ?"
|
||||
sqlParams = append(sqlParams, apiFunction)
|
||||
}
|
||||
if operateType != 0 {
|
||||
sql += " AND b.operate_type = ?"
|
||||
sqlParams = append(sqlParams, operateType)
|
||||
}
|
||||
if len(skuIDs) > 0 {
|
||||
sql += " AND b.thing_id IN (" + GenQuestionMarks(len(skuIDs)) + ")"
|
||||
sqlParams = append(sqlParams, skuIDs)
|
||||
}
|
||||
if len(storeIDs) > 0 {
|
||||
sql += " AND b.store_id IN (" + GenQuestionMarks(len(storeIDs)) + ")"
|
||||
sqlParams = append(sqlParams, storeIDs)
|
||||
}
|
||||
sql += " LIMIT ? OFFSET ?"
|
||||
sqlParams = append(sqlParams, pageSize, offset)
|
||||
Begin(db)
|
||||
defer Commit(db)
|
||||
if err = GetRows(db, &operateEventExt, sql, sqlParams...); err == nil {
|
||||
totalCount = GetLastTotalRowCount(db)
|
||||
}
|
||||
for _, v := range operateEventExt {
|
||||
var details []*model.OperateEventDetail
|
||||
sql := `
|
||||
SELECT *
|
||||
FROM operate_event_detail
|
||||
WHERE access_uuid = ?
|
||||
`
|
||||
sqlParams := []interface{}{
|
||||
v.AccessUUID,
|
||||
}
|
||||
err = GetRows(db, &details, sql, sqlParams...)
|
||||
v.Detail = details
|
||||
}
|
||||
return operateEventExt, totalCount, err
|
||||
}
|
||||
@@ -24,8 +24,8 @@ type OperateEventDetail struct {
|
||||
ThingType int `json:"thingType"` //各字段类型
|
||||
StoreID int `orm:"column(store_id)" json:"storeID"`
|
||||
AccessUUID string `orm:"column(access_uuid)" json:"accessUUID"`
|
||||
BeforeData string `orm:"size(255)" json:"beforeData"`
|
||||
AfterData string `orm:"size(255)" json:"afterData"`
|
||||
BeforeData string `orm:"size(3200)" json:"beforeData"`
|
||||
AfterData string `orm:"size(3200)" json:"afterData"`
|
||||
}
|
||||
|
||||
func (v *OperateEventDetail) TableIndex() [][]string {
|
||||
|
||||
Reference in New Issue
Block a user