审核门店
This commit is contained in:
@@ -3564,7 +3564,7 @@ func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err
|
|||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
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 {
|
if len(storeAudits) > 0 {
|
||||||
return fmt.Errorf("您已申请过入驻,请不要重复申请!")
|
return fmt.Errorf("您已申请过入驻,请不要重复申请!")
|
||||||
}
|
}
|
||||||
@@ -3572,3 +3572,63 @@ func CreateStoreAudit(ctx *jxcontext.Context, storeAudit *model.StoreAudit) (err
|
|||||||
dao.CreateEntity(db, storeAudit)
|
dao.CreateEntity(db, storeAudit)
|
||||||
return err
|
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
|
||||||
|
}
|
||||||
|
|||||||
@@ -838,7 +838,7 @@ func GetStorePushClient(db *DaoDB, storeID int, cID string) (storePushClient []*
|
|||||||
return storePushClient, err
|
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 := `
|
sql := `
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM store_audit
|
FROM store_audit
|
||||||
@@ -847,9 +847,9 @@ func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAud
|
|||||||
sqlParams := []interface{}{
|
sqlParams := []interface{}{
|
||||||
utils.DefaultTimeValue,
|
utils.DefaultTimeValue,
|
||||||
}
|
}
|
||||||
if auditStatus != model.StoreStatusAll {
|
if len(auditStatuss) > 0 {
|
||||||
sql += " AND audit_status = ?"
|
sql += " AND audit_status IN (" + GenQuestionMarks(len(auditStatuss)) + ")"
|
||||||
sqlParams = append(sqlParams, auditStatus)
|
sqlParams = append(sqlParams, auditStatuss)
|
||||||
}
|
}
|
||||||
if userID != "" {
|
if userID != "" {
|
||||||
sql += " AND user_id = ?"
|
sql += " AND user_id = ?"
|
||||||
@@ -865,3 +865,49 @@ func GetStoreAudit(db *DaoDB, auditStatus int, userID, keyword string) (storeAud
|
|||||||
}
|
}
|
||||||
return storeAudit, err
|
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
|
||||||
|
}
|
||||||
|
|||||||
@@ -743,6 +743,7 @@ type StoreAudit struct {
|
|||||||
|
|
||||||
UserID string `orm:"column(user_id);size(32)" json:"userID"` //谁发起的审核就把谁添加到这个门店里
|
UserID string `orm:"column(user_id);size(32)" json:"userID"` //谁发起的审核就把谁添加到这个门店里
|
||||||
AuditStatus int `json:"auditStatus"` //0是待审核,1是通过,-1是不通过
|
AuditStatus int `json:"auditStatus"` //0是待审核,1是通过,-1是不通过
|
||||||
|
Remark string `orm:"size(255)" json:"remark"` //不通过原因
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*StoreAudit) TableUnique() [][]string {
|
func (*StoreAudit) TableUnique() [][]string {
|
||||||
|
|||||||
@@ -857,3 +857,49 @@ func (c *StoreController) CreateStoreAudit() {
|
|||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @Title 获取用户申请门店审核
|
||||||
|
// @Description 获取用户申请门店审核
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Param applyTimeStart query string false "申请开始时间"
|
||||||
|
// @Param applyTimeEnd query string false "申请结束时间"
|
||||||
|
// @Param auditTimeStart query string false "审核开始时间"
|
||||||
|
// @Param auditTimeEnd query string false "审核结束时间"
|
||||||
|
// @Param name query string false "审核人"
|
||||||
|
// @Param statuss query string false "审核状态"
|
||||||
|
// @Param keyword query string true "关键字"
|
||||||
|
// @Param offset query int false "门店列表起始序号(以0开始,缺省为0)"
|
||||||
|
// @Param pageSize query int false "门店列表页大小(缺省为50,-1表示全部)"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /GetStoreAudit [get]
|
||||||
|
func (c *StoreController) GetStoreAudit() {
|
||||||
|
c.callGetStoreAudit(func(params *tStoreGetStoreAuditParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
var (
|
||||||
|
statuss []int
|
||||||
|
)
|
||||||
|
if err = jxutils.Strings2Objs(params.Statuss, &statuss); err != nil {
|
||||||
|
return retVal, "", err
|
||||||
|
}
|
||||||
|
retVal, err = cms.GetStoreAudit(params.Ctx, statuss, params.Keyword, params.ApplyTimeStart, params.ApplyTimeEnd, params.AuditTimeStart, params.AuditTimeEnd, params.PageSize, params.Offset)
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// @Title 门店审核
|
||||||
|
// @Description 门店审核
|
||||||
|
// @Param token header string true "认证token"
|
||||||
|
// @Param payload fomData string true "json数据,storeaudit对象"
|
||||||
|
// @Param status formData int false "审核标志,1通过,-1 不通过"
|
||||||
|
// @Success 200 {object} controllers.CallResult
|
||||||
|
// @Failure 200 {object} controllers.CallResult
|
||||||
|
// @router /StoreAudit [post]
|
||||||
|
func (c *StoreController) StoreAudit() {
|
||||||
|
c.callStoreAudit(func(params *tStoreStoreAuditParams) (retVal interface{}, errCode string, err error) {
|
||||||
|
var stores []*model.StoreAudit
|
||||||
|
if err = utils.UnmarshalUseNumber([]byte(params.Payload), stores); err == nil {
|
||||||
|
// err = cms.CreateStoreAudit(params.Ctx, store)
|
||||||
|
}
|
||||||
|
return retVal, "", err
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|||||||
@@ -1881,6 +1881,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "GetStoreAudit",
|
||||||
|
Router: `/GetStoreAudit`,
|
||||||
|
AllowHTTPMethods: []string{"get"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "GetStoreCategoryMap",
|
Method: "GetStoreCategoryMap",
|
||||||
@@ -1998,6 +2007,15 @@ func init() {
|
|||||||
Filters: nil,
|
Filters: nil,
|
||||||
Params: nil})
|
Params: nil})
|
||||||
|
|
||||||
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
|
beego.ControllerComments{
|
||||||
|
Method: "StoreAudit",
|
||||||
|
Router: `/StoreAudit`,
|
||||||
|
AllowHTTPMethods: []string{"post"},
|
||||||
|
MethodParams: param.Make(),
|
||||||
|
Filters: nil,
|
||||||
|
Params: nil})
|
||||||
|
|
||||||
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreController"],
|
||||||
beego.ControllerComments{
|
beego.ControllerComments{
|
||||||
Method: "SyncJdStore",
|
Method: "SyncJdStore",
|
||||||
|
|||||||
Reference in New Issue
Block a user