diff --git a/internal/v2/logic/manage/jyy/app.go b/internal/v2/logic/manage/jyy/app.go index 111333e..fea57a8 100644 --- a/internal/v2/logic/manage/jyy/app.go +++ b/internal/v2/logic/manage/jyy/app.go @@ -7,6 +7,7 @@ import ( "recook/internal/define" "recook/internal/libs/bean" "recook/internal/service/baseCode" + "recook/internal/v2/model/company" "recook/internal/v2/model/recook/user" "strings" "time" @@ -19,9 +20,11 @@ import ( type AppUserReq struct { bean.Page AppUserInfo - Start string `json:"start"` - End string `json:"end"` - Kind uint `json:"kind"` + Start string `json:"start"` + End string `json:"end"` + Kind uint `json:"kind"` + TaxBillType string `json:"taxBillType"` + IsEnterprise uint `json:"isEnterprise"` // 1公司 2 个人 } type AppUserInfo struct { @@ -30,6 +33,7 @@ type AppUserInfo struct { Level uint `json:"level"` IsOffline bool `json:"is_offline"` CreatedAt formatime.Second `json:"created_at"` + TaxType string `json:"tax_type"` IsEnterprise bool `json:"is_enterprise"` } @@ -59,22 +63,33 @@ func (o logic) AppUser(args AppUserReq) (res []AppUserInfo, total int64, err err query = query.Where("level = 2 and is_offline = 0") case 4: // vip店铺 query = query.Where("level = 2 and is_offline = 1") - case 5: // 子公司 + case 5: // 合伙人 query = query.Where("level = 10") } } + if args.TaxType != "" { + query = query.Where("id in (?)", mysql.Db.Select("user_id").Model(&company.Info{}).Where("tax_type = ?", args.TaxType)) + } + if args.IsEnterprise != 0 { // 判断公司还是个人 + if args.IsEnterprise == 1 { + query = query.Where("is_enterprise = ? ", args.IsEnterprise) + } else { + query = query.Where("is_enterprise = ? ", 0) + } + } } query.Count(&total) var temp []user.RecookUserInfoModel - query.Offset(args.GetStart()).Limit(args.GetLimit()).Find(&temp) + query.Preload("CompanyInfo").Offset(args.GetStart()).Limit(args.GetLimit()).Find(&temp) for _, v := range temp { res = append(res, AppUserInfo{ Mobile: v.Mobile, Nickname: v.Nickname, Level: uint(v.Level), IsOffline: v.IsOffline, - IsEnterprise: v.IsEnterprise, CreatedAt: v.CreatedAt, + TaxType: v.CompanyInfo.TaxType, + IsEnterprise: v.IsEnterprise, }) } return diff --git a/internal/v2/logic/wxapp/copartner/company.go b/internal/v2/logic/wxapp/copartner/company.go index 31076f3..ed729a5 100644 --- a/internal/v2/logic/wxapp/copartner/company.go +++ b/internal/v2/logic/wxapp/copartner/company.go @@ -37,12 +37,6 @@ func (c *companyLogic) Add(data CompanyInfo) error { if userInfoModel.Id > 0 { return fmt.Errorf("手机已存在") } - userInfo := user.RecookUserInfoModel{Nickname: data.NikeName} - mysql.Db.Where(&userInfo).First(&userInfoModel) - - if userInfo.Id > 0 { - return fmt.Errorf("昵称已存在") - } companyInfo := company.Info{ ShopName: data.NikeName, Mobile: data.Phone, diff --git a/internal/v2/model/recook/user/recookUserInfo.go b/internal/v2/model/recook/user/recookUserInfo.go index c4d22ed..e210b8f 100644 --- a/internal/v2/model/recook/user/recookUserInfo.go +++ b/internal/v2/model/recook/user/recookUserInfo.go @@ -3,6 +3,7 @@ package user import ( "recook/internal/model/user" "recook/internal/v2/lib/db" + "recook/internal/v2/model/company" manage "recook/internal/v2/model/recook/order" "github.com/golangkit/formatime" @@ -38,8 +39,9 @@ type RecookUserInfoModel struct { InvitationNo string Identifier string RootID uint - IsOffline bool `json:"is_offline"` - IsEnterprise bool `json:"is_enterprise"` + IsOffline bool `json:"is_offline"` + IsEnterprise bool `json:"is_enterprise"` + CompanyInfo company.Info `gorm:"foreignKey:UserID"` } // TableName sets the insert table name for this struct type diff --git a/internal/v2/router/manage.go b/internal/v2/router/manage.go index b204efd..177a69c 100644 --- a/internal/v2/router/manage.go +++ b/internal/v2/router/manage.go @@ -829,7 +829,7 @@ func routerManage(manageRouter *gin.RouterGroup) { { proxy := jyy.Proxy{} { - appUserRouter.POST("user", proxy.User) + appUserRouter.POST("user", proxy.User) // 查询用户列表 appUserRouter.POST("vip", proxy.Vip) } }