合伙人申请

master
kanade 3 years ago
parent fe2406d5f7
commit 00a77807ae

@ -58,10 +58,17 @@ func (r *registerUser) UserAdd(c *gin.Context, login *user.Login, info *user.Inf
}
rd := fmt.Sprintf("%06v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(1000000))
nickname := "瑞库客" + mobile[7:]
if info != nil && info.Level > 0 {
level = info.Level
parentID = info.ParentID
rootID = info.RootID
nickname = info.Nickname
}
*info = user.Information{
ID: lastId,
AncestorID: 1,
Nickname: "瑞库客" + mobile[7:],
Nickname: nickname,
Mobile: mobile,
Birthday: formatime.NewSecondFrom(define.DefaultBirthday),
HeadImgUrl: define.DefaultHeadImage,

@ -1,25 +0,0 @@
package company
import (
"github.com/gin-gonic/gin"
"recook/internal/back"
"recook/internal/v2/logic/wxapp/company"
"recook/tools"
)
type Company struct {
}
// Add @Title 添加合伙人
func (*Company) Add(c *gin.Context) {
var args company.CompanyInfo
if err := tools.Params(&args, c); err != nil {
back.Fail(c, err.Error())
return
}
if err := company.CompanyLogic.Add(args); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}

@ -0,0 +1,33 @@
package copartner
import (
"github.com/gin-gonic/gin"
"recook/internal/back"
"recook/internal/v2/logic/wxapp/copartner"
"recook/tools"
)
type Company struct {
}
type argsCompanyAdd struct {
InviteNo string `binding:"required" label:"邀请码"` // 邀请码
copartner.CompanyInfo
}
// Add @Title 添加合伙人
func (*Company) Add(c *gin.Context) {
var args argsCompanyAdd
if err := tools.Params(&args, c); err != nil {
back.Fail(c, err.Error())
return
}
if err := copartner.CopartnerLogic.Very(args.InviteNo); err != nil {
back.Fail(c, err.Error())
return
}
if err := copartner.CompanyLogic.Add(args.CompanyInfo); err != nil {
back.Fail(c, err.Error())
} else {
back.Suc(c, "ok", "")
}
}

@ -0,0 +1,28 @@
package copartner
import (
"github.com/gin-gonic/gin"
"recook/internal/v2/lib/back"
"recook/internal/v2/logic/wxapp/copartner"
"recook/tools"
)
type Copartner struct {
}
type argsCopartnerCode struct {
InviteNo string `binding:"required" label:"邀请码"` // 邀请码
}
// Very @Title 验证邀请码
func (*Copartner) Very(c *gin.Context) {
var args argsCopartnerCode
if err := tools.Params(&args, c); err != nil {
back.Fail(c, err.Error())
return
}
if err := copartner.CopartnerLogic.Very(args.InviteNo); err != nil {
back.Fail(c, err.Error())
return
}
back.Suc(c, "ok", "")
}

@ -0,0 +1,52 @@
package copartner
import (
"git.oa00.com/go/mysql"
"github.com/gin-gonic/gin"
"recook/internal/model/user"
service "recook/internal/service/app"
"recook/internal/v2/lib/back"
"recook/internal/v2/logic/wxapp/copartner"
"recook/tools"
)
type Personal struct {
}
type argsPersonalAdd struct {
Phone string `binding:"required,len=11,startswith=1" label:"手机号"`
Nickname string `binding:"required" label:"昵称"`
InviteNo string `binding:"required" label:"邀请码"`
}
// Add @Title 添加合伙人
func (*Personal) Add(c *gin.Context) {
args := argsPersonalAdd{}
err := tools.Params(&args, c)
if err != nil {
back.Fail(c, err.Error())
return
}
if err := copartner.CopartnerLogic.Very(args.InviteNo); err != nil {
back.Fail(c, err.Error())
return
}
information := user.Information{Mobile: args.Phone}
mysql.Db.Where(&information).First(&information)
if information.ID > 0 {
back.Fail(c, "手机号已存在")
return
}
// 从手机注册时用户邀请码默认为id时6的用户邀请码为NXR0L3
// p.InvitationNo = "NXR0L3"
// 根据 不同的码 去调用不同的 下级规则
// 获取用户角色等级
registerUser := service.NewRegisterUser()
// 开始添加用户
information.Nickname = args.Nickname
information.Level = 10
if err := registerUser.UserAdd(c, &user.Login{}, &information, args.Phone); err != nil {
back.Fail(c, "提交失败")
return
}
back.Suc(c, "操作成功", nil)
}

@ -4,8 +4,8 @@ import (
"errors"
"git.oa00.com/go/mysql"
"recook/internal/libs/bean"
"recook/internal/model/user"
"recook/internal/v2/logic/command"
"recook/internal/v2/model"
"time"
)
@ -14,7 +14,7 @@ var InviteLogic = &inviteLogic{}
type inviteLogic struct {
}
type inviteItem struct {
Id int64 `json:"id"`
Id uint `json:"id"`
Code string `json:"code"`
CreateTime int64 `json:"create_time"`
EndTime int64 `json:"end_time"`
@ -23,16 +23,16 @@ type inviteItem struct {
// Lists @Title 返回邀请码列表
func (i *inviteLogic) Lists(page bean.Page) (lists []inviteItem, total int64) {
lists = []inviteItem{}
var inviteCodes []user.InviteCode
var inviteCodes []model.TopCode
mysql.Db.Model(&inviteCodes).Count(&total)
if page.HasPage(total) {
mysql.Db.Offset(page.GetStart()).Limit(page.Limit).Find(&inviteCodes)
for _, inviteCode := range inviteCodes {
lists = append(lists, inviteItem{
Id: inviteCode.ID,
Code: inviteCode.InviterCode,
CreateTime: inviteCode.CreatedAt.Unix(),
EndTime: inviteCode.ExpiredAt.Unix(),
Id: inviteCode.Id,
Code: inviteCode.Code,
CreateTime: inviteCode.CreatedTime.Unix(),
EndTime: inviteCode.EndTime.Unix(),
})
}
}
@ -46,10 +46,10 @@ func (i *inviteLogic) Gen(nowTime string) error {
if err != nil {
return errors.New("时间格式错误")
}
inviete := user.InviteCode{
InviterCode: random,
CreatedAt: time.Now(),
ExpiredAt: location,
inviete := model.TopCode{
Code: random,
CreatedTime: time.Now(),
EndTime: location,
}
if mysql.Db.Create(&inviete).Error != nil {
return errors.New("生成失败")
@ -59,7 +59,7 @@ func (i *inviteLogic) Gen(nowTime string) error {
// Cancellation @Title 作废邀请码
func (i *inviteLogic) Cancellation(inviteId int64) error {
inviete := user.InviteCode{}
inviete := model.TopCode{}
if mysql.Db.Where("id = ?", inviteId).First(&inviete).Error != nil {
return errors.New("邀请码不存在")
}

@ -1,4 +1,4 @@
package company
package copartner
import (
"errors"
@ -16,7 +16,6 @@ var CompanyLogic = &companyLogic{}
type companyLogic struct {
}
type CompanyInfo struct {
PcType uint //个人或者企业 0 == 个人 1 == 企业
Phone string `binding:"required,len=11,startswith=1" label:"手机号"` //手机号
NikeName string `binding:"required" label:"昵称"` //昵称
BusinessLicense string `binding:"required" label:"印业执照"` //营业执照

@ -0,0 +1,25 @@
package copartner
import (
"errors"
"git.oa00.com/go/mysql"
"recook/internal/v2/model"
"time"
)
var CopartnerLogic = &copartnerLogic{}
type copartnerLogic struct {
}
// Very @Title 验证邀请码
func (*copartnerLogic) Very(inviteNo string) error {
topCode := model.TopCode{Code: inviteNo}
if mysql.Db.Where(&topCode).First(&topCode).Error != nil {
return errors.New("邀请码不存在")
}
if topCode.EndTime.Before(time.Now()) {
return errors.New("邀请码过期")
}
return nil
}

@ -0,0 +1,10 @@
package copartner
var PersonalLogic = &personalLogic{}
type personalLogic struct {
}
// Add @Title 添加合伙人-个人
func (*personalLogic) Add(phone, nickname string) {
}

@ -1,4 +1,4 @@
package user
package model
import "time"

@ -0,0 +1,17 @@
package model
import (
"time"
)
type TopCode struct {
Id uint `gorm:"column:id;primary_key" json:"id"`
Code string `gorm:"column:code" json:"code"`
CreatedTime time.Time `gorm:"column:created_time" json:"createdTime"`
EndTime time.Time `gorm:"column:end_time" json:"endTime"`
UserId uint `gorm:"column:user_id" json:"userId"`
}
func (r *TopCode) TableName() string {
return "recook_user_top_code"
}

@ -2,7 +2,7 @@ package router
import (
"github.com/gin-gonic/gin"
"recook/internal/v2/controller/wxapp/company"
"recook/internal/v2/controller/wxapp/copartner"
"recook/internal/v2/router/middleware"
)
@ -10,11 +10,19 @@ import (
func routerWxapp(wxappRouter *gin.RouterGroup) {
authorize := middleware.AppAuthorize()
companyRouter := wxappRouter.Group("company", authorize)
copartnerRouter := wxappRouter.Group("copartner", authorize)
{
companyController := company.Company{}
copartnerController := copartner.Copartner{}
{
companyRouter.POST("add", companyController.Add) //wxapp添加合伙人
copartnerRouter.POST("copartner/very", copartnerController.Very) //wxapp添加合伙人-公司
}
companyController := copartner.Company{}
{
copartnerRouter.POST("company/add", companyController.Add) //wxapp添加合伙人-公司
}
personalController := copartner.Personal{}
{
copartnerRouter.POST("personal/add", personalController.Add) // wxapp添加合伙人-个人
}
}
}

Loading…
Cancel
Save