From 73169746c9309d4197deb0d3b2672731f5622580 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 5 Aug 2019 09:38:48 +0800 Subject: [PATCH 1/6] + user2/GetUsers --- business/jxstore/cms/cms.go | 5 +++-- business/jxstore/cms/user2.go | 4 ++++ business/model/dao/dao_user2.go | 25 +++++++++++++++++++++++++ business/model/new_config.go | 8 ++++---- business/model/user.go | 11 ++++++++++- controllers/cms_user2.go | 17 +++++++++++++++++ routers/commentsRouter_controllers.go | 9 +++++++++ 7 files changed, 72 insertions(+), 7 deletions(-) diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index f90d7750d..b81c5ae47 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -85,8 +85,9 @@ func InitServiceInfo(version string, buildTime time.Time, gitCommit string) { "actStatusName": model.ActStatusName, "actCreateTypeName": model.ActCreateTypeName, "storeAuditStatusName": model.StoreAuditStatusName, - "configTypeList": model.ConfigTypeList, + "configTypeName": model.ConfigTypeName, "autoSaleAt": "20:45:00", + "userTypeName": model.UserTypeName, }, } Init() @@ -216,7 +217,7 @@ func checkConfig(configType, value string) (err error) { } } default: - err = fmt.Errorf("当前只支持配置:%s, 传入的配置类型:%s", utils.Format4Output(model.ConfigTypeList, true), configType) + err = fmt.Errorf("当前只支持配置:%s, 传入的配置类型:%s", utils.Format4Output(model.ConfigTypeName, true), configType) } return err } diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index 4c97b0106..0bb557a2d 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -152,3 +152,7 @@ func OnDingDingMsg(msg map[string]interface{}) (callbackResponse *dingdingapi.Ca } return api.DingDingAPI.Err2CallbackResponse(nil) } + +func GetUsers(ctx *jxcontext.Context, userType int, userID2, mobile, userName string) (userList []*model.User, err error) { + return dao.GetUsers(dao.GetDB(), userType, userID2, mobile, userName) +} diff --git a/business/model/dao/dao_user2.go b/business/model/dao/dao_user2.go index eb84544d8..51ed8c4c8 100644 --- a/business/model/dao/dao_user2.go +++ b/business/model/dao/dao_user2.go @@ -22,3 +22,28 @@ func GetUserByID(db *DaoDB, fieldName, fieldValue string) (user *model.User, err err = GetRow(db, &user, sql, sqlParams...) return user, err } + +func GetUsers(db *DaoDB, userType int, userID2, mobile, userName string) (userList []*model.User, err error) { + sql := ` + SELECT * + FROM user t1 + WHERE t1.deleted_at = ? AND t1.type & ? <> 0` + sqlParams := []interface{}{ + utils.DefaultTimeValue, + userType, + } + if userID2 != "" { + sql += " AND t1.user_id2 = ?" + sqlParams = append(sqlParams, userID2) + } + if mobile != "" { + sql += " AND t1.mobile = ?" + sqlParams = append(sqlParams, mobile) + } + if userName != "" { + sql += " AND t1.name LIKE ?" + sqlParams = append(sqlParams, "%"+userName+"%") + } + err = GetRows(db, &userList, sql, sqlParams...) + return userList, err +} diff --git a/business/model/new_config.go b/business/model/new_config.go index 663664d48..bcac93e60 100644 --- a/business/model/new_config.go +++ b/business/model/new_config.go @@ -7,10 +7,10 @@ const ( ) var ( - ConfigTypeList = []string{ - ConfigTypeSys, - ConfigTypePricePack, - ConfigTypeBank, + ConfigTypeName = map[string]string{ + ConfigTypeSys: "系统", + ConfigTypePricePack: "价格包", + ConfigTypeBank: "银行", } ) diff --git a/business/model/user.go b/business/model/user.go index 3d52ff027..99349af90 100644 --- a/business/model/user.go +++ b/business/model/user.go @@ -12,6 +12,15 @@ const ( UserTypeBoss = 8 ) +var ( + UserTypeName = map[int]string{ + UserTypeConsumer: "消费者", + UserTypeStoreBoss: "门店老板", + UserTypeOperator: "运营", + UserTypeBoss: "老板", + } +) + type User struct { ModelIDCULD UserID string `orm:"size(48);column(user_id)" json:"userID"` // 内部唯一标识 @@ -20,7 +29,7 @@ type User struct { Mobile string `orm:"size(32)" json:"mobile"` Email string `orm:"size(32);index" json:"email"` Status int8 `json:"status"` - Type int8 // 用户类型 + Type int8 `json:"type"` // 用户类型 IDCardNo string `orm:"size(18);column(id_card_no)" json:"idCardNo"` // 身份证号 } diff --git a/controllers/cms_user2.go b/controllers/cms_user2.go index e605dfc80..e435af5eb 100644 --- a/controllers/cms_user2.go +++ b/controllers/cms_user2.go @@ -50,3 +50,20 @@ func (c *User2Controller) GetBindAuthInfo() { return retVal, "", err }) } + +// @Title 得到用户列表 +// @Description 得到用户列表 +// @Param token header string true "认证token" +// @Param userType query int true "用户类型" +// @Param userID2 query string faslse "用户id2" +// @Param mobile query string faslse "用户手机,必须全匹配" +// @Param userName query string faslse "用户名,可以部分匹配" +// @Success 200 {object} controllers.CallResult +// @Failure 200 {object} controllers.CallResult +// @router /GetUsers [get] +func (c *User2Controller) GetUsers() { + c.callGetUsers(func(params *tUser2GetUsersParams) (retVal interface{}, errCode string, err error) { + retVal, err = cms.GetUsers(params.Ctx, params.UserType, params.UserID2, params.Mobile, params.UserName) + return retVal, "", err + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 1a31eaca4..d09946bff 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -1717,6 +1717,15 @@ func init() { Filters: nil, Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"], + beego.ControllerComments{ + Method: "GetUsers", + Router: `/GetUsers`, + AllowHTTPMethods: []string{"get"}, + MethodParams: param.Make(), + Filters: nil, + Params: nil}) + beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:User2Controller"], beego.ControllerComments{ Method: "RegisterUser", From c20f7bb3603ee530aac3e05ccc9fe0a7d2b1ea18 Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 5 Aug 2019 10:49:17 +0800 Subject: [PATCH 2/6] - buildCacheKey to buildCacheKey4Verify --- business/auth2/authprovider/defauther.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/business/auth2/authprovider/defauther.go b/business/auth2/authprovider/defauther.go index 0d21db160..599a4393e 100644 --- a/business/auth2/authprovider/defauther.go +++ b/business/auth2/authprovider/defauther.go @@ -103,18 +103,18 @@ func (a *DefAuther) UnionFindAuthBind(curAuthType string, unionAuthTypeList []st // cache相关 func (a *DefAuther) SaveVerifyCode(keyID, verifyCode string) { - api.Cacher.Set(a.buildCacheKey(keyID), verifyCode, DefVerifyCodeDuration) + api.Cacher.Set(a.buildCacheKey4Verify(keyID), verifyCode, DefVerifyCodeDuration) } func (a *DefAuther) LoadVerifyCode(keyID string) (verifyCode string) { - if value := api.Cacher.Get(a.buildCacheKey(keyID)); value != nil { + if value := api.Cacher.Get(a.buildCacheKey4Verify(keyID)); value != nil { return value.(string) } return "" } func (a *DefAuther) DeleteVerifyCode(keyID string) { - api.Cacher.Del(a.buildCacheKey(keyID)) + api.Cacher.Del(a.buildCacheKey4Verify(keyID)) } // cache相关 @@ -136,7 +136,7 @@ func (a *DefAuther) VerifyCode(keyID, verifyCode string) (isSame bool) { return isSame } -func (a *DefAuther) buildCacheKey(keyID string) string { +func (a *DefAuther) buildCacheKey4Verify(keyID string) string { return strings.Join([]string{ VerifyCodeHeader, VerifyCodeVer, From f9b578f0ae70c3cc2807e9d35203daed8a70fe2c Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 5 Aug 2019 12:25:29 +0800 Subject: [PATCH 3/6] =?UTF-8?q?-=20=E9=97=A8=E5=BA=97=E5=95=86=E5=93=81?= =?UTF-8?q?=E5=8F=AF=E5=94=AE=E6=97=B6=E6=9B=B4=E6=96=B0=E5=BA=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/sync_store_sku.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 128715311..438be2c54 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -298,6 +298,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo if model.IsSyncStatusUpdate(sku.StoreSkuSyncStatus) && singleStoreHandler != nil { updateList = append(updateList, calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) } else { + isAddedStock := false if model.IsSyncStatusPrice(sku.StoreSkuSyncStatus) { bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) priceList = append(priceList, bareSku) @@ -307,6 +308,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo bareSku = storeSkuSyncInfo2Bare(sku) } stockList = append(stockList, bareSku) + isAddedStock = true } if model.IsSyncStatusSale(sku.StoreSkuSyncStatus) { if bareSku == nil { @@ -314,6 +316,10 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo } if sku.MergedStatus == model.SkuStatusNormal { onlineList = append(onlineList, bareSku) + if !isAddedStock { + stockList = append(stockList, bareSku) + isAddedStock = true + } } else { offlineList = append(offlineList, bareSku) } From b0b4e67e21f373832c215af572b5364ffa5e769b Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 5 Aug 2019 12:52:23 +0800 Subject: [PATCH 4/6] - up --- business/jxstore/cms/sync_store_sku.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index 438be2c54..ee73a7359 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -303,13 +303,13 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) priceList = append(priceList, bareSku) } - if model.IsSyncStatusUpdate(sku.StoreSkuSyncStatus) && singleStoreHandler == nil { - if bareSku == nil { - bareSku = storeSkuSyncInfo2Bare(sku) - } - stockList = append(stockList, bareSku) - isAddedStock = true - } + // if model.IsSyncStatusUpdate(sku.StoreSkuSyncStatus) && singleStoreHandler == nil { + // if bareSku == nil { + // bareSku = storeSkuSyncInfo2Bare(sku) + // } + // stockList = append(stockList, bareSku) + // isAddedStock = true + // } if model.IsSyncStatusSale(sku.StoreSkuSyncStatus) { if bareSku == nil { bareSku = storeSkuSyncInfo2Bare(sku) From e820abf686e28350dbe3d3effd99889594624add Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 5 Aug 2019 14:55:34 +0800 Subject: [PATCH 5/6] =?UTF-8?q?-=20checkConfig=E6=B7=BB=E5=8A=A0=E5=8F=82?= =?UTF-8?q?=E6=95=B0key?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/cms/cms.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/business/jxstore/cms/cms.go b/business/jxstore/cms/cms.go index b81c5ae47..9a4a8799e 100644 --- a/business/jxstore/cms/cms.go +++ b/business/jxstore/cms/cms.go @@ -201,7 +201,7 @@ func SendMsg2Somebody(ctx *jxcontext.Context, mobileNum, verifyCode, msgType, ms return err } -func checkConfig(configType, value string) (err error) { +func checkConfig(configType, key, value string) (err error) { switch configType { case model.ConfigTypePricePack: if value != "" { @@ -212,8 +212,8 @@ func checkConfig(configType, value string) (err error) { } case model.ConfigTypeBank: if value != "" { - if model.BankName[value] == "" { - err = fmt.Errorf("些银行代码:%s不支持,请联系开发", value) + if model.BankName[key] == "" { + err = fmt.Errorf("此银行代码:%s不支持,请联系开发", value) } } default: @@ -223,7 +223,7 @@ func checkConfig(configType, value string) (err error) { } func AddConfig(ctx *jxcontext.Context, key, configType, value string) (err error) { - if err = checkConfig(configType, value); err != nil { + if err = checkConfig(configType, key, value); err != nil { return err } @@ -238,7 +238,7 @@ func AddConfig(ctx *jxcontext.Context, key, configType, value string) (err error } func DeleteConfig(ctx *jxcontext.Context, key, configType string) (err error) { - if err = checkConfig(configType, ""); err != nil { + if err = checkConfig(configType, key, ""); err != nil { return err } switch configType { @@ -267,7 +267,7 @@ func UpdateConfig(ctx *jxcontext.Context, key, configType, value string) (err er if key == "" { return fmt.Errorf("修改配置必须给定key") } - if err = checkConfig(configType, value); err != nil { + if err = checkConfig(configType, key, value); err != nil { return err } From a6ef8e44270acf00eaba373e42c8cce824f72fde Mon Sep 17 00:00:00 2001 From: gazebo Date: Mon, 5 Aug 2019 15:10:13 +0800 Subject: [PATCH 6/6] - ren StoreSkuExt.BindStatus to StoreSkuExt.StoreSkuStatus --- business/jxstore/cms/store_sku.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/business/jxstore/cms/store_sku.go b/business/jxstore/cms/store_sku.go index 6b587a43c..ac6fe8820 100644 --- a/business/jxstore/cms/store_sku.go +++ b/business/jxstore/cms/store_sku.go @@ -51,7 +51,7 @@ type StoreSkuExt struct { SubStoreID int `orm:"column(sub_store_id)" json:"subStoreID"` BindPrice int `json:"price"` // 单位为分,不用int64的原因是这里不需要累加 UnitPrice int `json:"unitPrice"` // 这个是一斤的门店商品价,放在这里的原因是避免额外增加一张store sku_name表,逻辑上要保证同一SKU NAME中的所有SKU这个字段的数据一致 - BindStatus int `json:"storeSkuStatus"` + StoreSkuStatus int `json:"storeSkuStatus"` EbaiID int64 `orm:"column(ebai_id);index" json:"ebaiID"` MtwmID int64 `orm:"column(mtwm_id)" json:"mtwmID"` // 这个也不是必须的,只是为了DAO取数据语句一致