审核门店

This commit is contained in:
苏尹岚
2020-09-16 14:32:26 +08:00
parent f4796bb9cd
commit 8b1eda705c
5 changed files with 176 additions and 5 deletions

View File

@@ -3564,7 +3564,7 @@ func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err
var (
db = dao.GetDB()
)
storeAudits, err := dao.GetStoreAudit(db, model.StoreAuditStatusOnline, storeAudit.UserID, "")
storeAudits, err := dao.GetStoreAudit(db, []int{model.StoreAuditStatusOnline}, storeAudit.UserID, "")
if len(storeAudits) > 0 {
return fmt.Errorf("您已申请过入驻,请不要重复申请!")
}
@@ -3572,3 +3572,63 @@ func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err
dao.CreateEntity(db, storeAudit)
return err
}
func GetStoreAudit(ctx *jxcontext.Context, statuss []int, keyword, applyTimeStart, applyTimeEnd, auditTimeStart, auditTimeEnd string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
var (
applyTimeStartp, applyTimeEndp, auditTimeStartp, auditTimeEndp time.Time
db = dao.GetDB()
)
if applyTimeStart != "" {
applyTimeStartp = utils.Str2Time(applyTimeStart)
}
if applyTimeEnd != "" {
applyTimeEndp = utils.Str2Time(applyTimeEnd)
}
if auditTimeStart != "" {
auditTimeStartp = utils.Str2Time(auditTimeStart)
}
if auditTimeEnd != "" {
auditTimeEndp = utils.Str2Time(auditTimeEnd)
}
pagedInfo, err = dao.GetStoreAuditPage(db, statuss, keyword, applyTimeStartp, applyTimeEndp, auditTimeStartp, auditTimeEndp, pageSize, offset)
return pagedInfo, err
}
func StoreAudit(ctx *jxcontext.Context, storeAudits []*model.StoreAudit, status int) (err error) {
db := dao.GetDB()
if status == model.StoreAuditStatusOnline {
return fmt.Errorf("审核标志不正确!")
}
task := tasksch.NewParallelTask("StoreAudit", tasksch.NewParallelConfig().SetParallelCount(5).SetIsContinueWhenError(true), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
storeAudit := batchItemList[0].(*model.StoreAudit)
storeAudits, err := dao.GetStoreAudit(db, []int{model.StoreAuditStatusOnline}, storeAudit.UserID, "")
if len(storeAudits) == 0 || err != nil {
return retVal, fmt.Errorf("未查询到待审核信息!")
}
if len(storeAudits) > 1 {
return retVal, fmt.Errorf("查询到该用户的待审核信息大于1条userID: [%s]", storeAudit.UserID)
}
//审核通过
if status == model.StoreAuditStatusCreated {
storeAudits[0].AuditStatus = model.StoreAuditStatusCreated
//添加门店
// CreateStore(ctx, storeExt, ctx.GetUserName())
} else if status == model.StoreAuditStatusRejected {
storeAudits[0].Status = model.StoreAuditStatusRejected
} else {
return retVal, fmt.Errorf("审核标志不正确!")
}
storeAudits[0].LastOperator = ctx.GetUserName()
storeAudits[0].Remark = storeAudit.Remark
_, err = dao.UpdateEntity(db, storeAudits[0], "UserID", "Status", "Remark")
//是否推送app消息
if err == nil {
}
return retVal, err
}, storeAudits)
tasksch.HandleTask(task, nil, true).Run()
task.GetID()
return err
}

View File

@@ -838,7 +838,7 @@ func GetStorePushClient(db *DaoDB, storeID int, cID string) (storePushClient []*
return storePushClient, err
}
func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAudit []*model.StoreAudit, err error) {
func GetStoreAudit(db *DaoDB, auditStatuss []int, userID, keyword string) (storeAudit []*model.StoreAudit, err error) {
sql := `
SELECT *
FROM store_audit
@@ -847,9 +847,9 @@ func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAud
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if auditStatus != model.StoreStatusAll {
sql += " AND audit_status = ?"
sqlParams = append(sqlParams, auditStatus)
if len(auditStatuss) > 0 {
sql += " AND audit_status IN (" + GenQuestionMarks(len(auditStatuss)) + ")"
sqlParams = append(sqlParams, auditStatuss)
}
if userID != "" {
sql += " AND user_id = ?"
@@ -865,3 +865,49 @@ func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAud
}
return storeAudit, err
}
type tStoreAudit struct {
model.StoreAudit
UserName string `json:"userName"`
}
func GetStoreAuditPage(db *DaoDB, statuss []int, keyword string, applyTimeStart, applyTimeEnd, auditTimeStart, auditTimeEnd time.Time, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
var requestList []*tStoreAudit
sql := `
SELECT SQL_CALC_FOUND_ROWS DISTINCT a.*, b.name user_name
FROM store_audit a
JOIN user b ON b.user_id = a.user_id
WHERE a.deleted_at = ?
`
sqlParams := []interface{}{
utils.DefaultTimeValue,
}
if len(statuss) > 0 {
sql += " AND a.audit_status IN (" + GenQuestionMarks(len(statuss)) + ")"
sqlParams = append(sqlParams, statuss)
}
if applyTimeStart != utils.ZeroTimeValue && applyTimeEnd != utils.ZeroTimeValue {
sql += " AND a.created_at BETWEEN ? AND ?"
sqlParams = append(sqlParams, applyTimeStart, applyTimeEnd)
}
if auditTimeStart != utils.ZeroTimeValue && auditTimeEnd != utils.ZeroTimeValue {
sql += " AND a.updated_at BETWEEN ? AND ?"
sqlParams = append(sqlParams, auditTimeStart, auditTimeEnd)
}
if keyword != "" {
sql += " AND (a.user_id LIKE ? OR a.name LIKE ? OR a.tel1 LIKE ? OR a.tel2 LIKE ? OR a.address LIKE ?)"
sqlParams = append(sqlParams, "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%", "%"+keyword+"%")
}
sql += " ORDER BY a.updated_at LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
if err = GetRows(db, &requestList, sql, sqlParams...); err == nil {
return &model.PagedInfo{
TotalCount: GetLastTotalRowCount(db),
Data: requestList,
}, nil
}
return pagedInfo, err
}

View File

@@ -743,6 +743,7 @@ type StoreAudit struct {
UserID string `orm:"column(user_id);size(32)" json:"userID"` //谁发起的审核就把谁添加到这个门店里
AuditStatus int `json:"auditStatus"` //0是待审核1是通过-1是不通过
Remark string `orm:"size(255)" json:"remark"` //不通过原因
}
func (*StoreAudit) TableUnique() [][]string {