You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.8 KiB
72 lines
2.8 KiB
package copartner
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"git.oa00.com/go/mysql"
|
|
"github.com/golangkit/formatime"
|
|
"github.com/shopspring/decimal"
|
|
"gorm.io/gorm"
|
|
"recook/internal/v2/model/company"
|
|
"recook/internal/v2/model/recook/user"
|
|
)
|
|
|
|
var CompanyLogic = &companyLogic{}
|
|
|
|
type companyLogic struct {
|
|
}
|
|
type CompanyInfo struct {
|
|
Phone string `binding:"required,len=11,startswith=1" label:"手机号"` //手机号
|
|
NikeName string `binding:"required" label:"昵称"` //昵称
|
|
BusinessLicense string `binding:"required" label:"印业执照"` //营业执照
|
|
TaxPhoto string `label:"一般纳税人传的照片"` //一般纳税人传的照片
|
|
CorporationName string `binding:"required" label:"企业名"` //企业名
|
|
TaxBillType string `binding:"required" label:"纳税类型"` //纳税类型
|
|
Taxpayer string `binding:"required" label:"纳税识别号"` //纳税识别号
|
|
OpeningBank string `binding:"required" label:"开户行"` //开户行
|
|
BankAccount string `binding:"required" label:"银行账户"` //银行账户
|
|
MakeTax decimal.Decimal `binding:"required" label:"开票税率"` //开票税率
|
|
Linkman string `binding:"required" label:"联系人"` //联系人
|
|
ContractMobile string `binding:"required" label:"联系人手机号"` //联系人手机号
|
|
}
|
|
|
|
// Add @Title 添加合伙人
|
|
func (c *companyLogic) Add(data CompanyInfo) error {
|
|
userInfoModel := user.RecookUserInfoModel{Mobile: data.Phone}
|
|
mysql.Db.Where(&userInfoModel).First(&userInfoModel)
|
|
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,
|
|
BusinessPhoto: data.BusinessLicense,
|
|
TaxBank: data.OpeningBank,
|
|
TaxAccount: data.BankAccount,
|
|
Tax: data.MakeTax,
|
|
TaxType: data.TaxBillType,
|
|
ContractMobile: data.ContractMobile,
|
|
TaxNumber: data.Taxpayer,
|
|
ContractName: data.Linkman,
|
|
CompanyName: data.CorporationName,
|
|
State: company.Wait,
|
|
CreatedAt: formatime.NewSecondNow(),
|
|
}
|
|
if data.TaxBillType == "一般纳税人" {
|
|
companyInfo.TaxPhoto = data.TaxPhoto
|
|
}
|
|
|
|
return mysql.Db.Transaction(func(tx *gorm.DB) error {
|
|
if tx.Create(&companyInfo).Error != nil {
|
|
return errors.New("提交失败")
|
|
}
|
|
return nil
|
|
})
|
|
}
|