123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221 |
- package service
- import (
- "context"
- "fmt"
- "math/rand"
- "strconv"
- "time"
- "youngee_b_api/db"
- "youngee_b_api/model/gorm_model"
- "youngee_b_api/model/http_model"
- "github.com/issue9/conv"
- log "github.com/sirupsen/logrus"
- )
- var Enterprise *enterprise
- type enterprise struct {
- }
- func (*enterprise) CreateEnterpriseUser(ctx context.Context, newEnterprise http_model.RegisterRequest) (*http_model.RegisterData, error) {
- user := gorm_model.YounggeeUser{
- Phone: newEnterprise.Phone,
- User: "1001",
- Username: newEnterprise.BusinessName,
- Password: "1001",
- RealName: newEnterprise.RealName,
- Role: "3",
- Email: newEnterprise.Email,
- LastLoginTime: time.Now().UTC().Local(),
- }
- userId, err := db.CreateUser(ctx, user)
- if err != nil {
- log.Infof("[CreateEnterpriseUser] fail,err:%+v", err)
- return nil, err
- } else {
- rand.Seed(time.Now().UnixNano())
- th := strconv.Itoa(time.Now().Hour())
- tm := strconv.Itoa(time.Now().Minute())
- if len(tm) < 2 {
- tm = "0" + tm
- }
- if len(th) < 2 {
- th = "0" + th
- }
- //ShowEnterpriseID := "1" + th + tm + conv.MustString(rand.Intn(10000-1000)+1000
- ShowEnterpriseID := "1" + th + tm + fmt.Sprintf("%04v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000))
- enterprise := &gorm_model.Enterprise{
- EnterpriseID: ShowEnterpriseID,
- Industry: newEnterprise.Industry,
- BusinessName: newEnterprise.BusinessName,
- UserID: *userId,
- Balance: 0,
- FrozenBalance: 0,
- AvailableBalance: 0,
- }
- enterpriseId, err := db.CreateEnterprise(ctx, *enterprise)
- if err != nil {
- log.Infof("[CreateEnterpriseUser] fail,err:%+v", err)
- return nil, err
- }
- res := &http_model.RegisterData{
- EnterpriseId: *enterpriseId,
- UserID: *userId,
- }
- return res, nil
- }
- }
- func (*enterprise) CreateEnterprise(ctx context.Context, phone string) (*http_model.RegisterData, error) {
- userInfo := gorm_model.YounggeeUser{
- Phone: phone,
- User: "1001",
- Username: phone,
- Password: "1001",
- RealName: "",
- Role: "3",
- Email: "",
- LastLoginTime: time.Now().UTC().Local(),
- }
- userId, createUserErr := db.CreateUser(ctx, userInfo)
- if createUserErr != nil {
- log.Infof("[CreateEnterpriseUser] fail,err:%+v", createUserErr)
- return nil, createUserErr
- } else {
- rand.Seed(time.Now().UnixNano())
- th := conv.MustString(time.Now().Hour())
- tm := conv.MustString(time.Now().Minute())
- if len(tm) < 2 {
- tm = "0" + tm
- }
- if len(tm) < 2 {
- th = "0" + th
- }
- ShowEnterpriseID := "1" + th + tm + conv.MustString(rand.Intn(10000-1000)+1000)
- enterpriseInfo := &gorm_model.Enterprise{
- EnterpriseID: ShowEnterpriseID,
- Industry: 1,
- BusinessName: phone,
- UserID: *userId,
- Balance: 0,
- FrozenBalance: 0,
- AvailableBalance: 0,
- Phone: phone,
- }
- enterpriseId, createEnterpriseErr := db.CreateEnterprise(ctx, *enterpriseInfo)
- if createEnterpriseErr != nil {
- log.Infof("[CreateEnterpriseUser] fail,err:%+v", createEnterpriseErr)
- return nil, createEnterpriseErr
- }
- res := &http_model.RegisterData{
- EnterpriseId: *enterpriseId,
- UserID: *userId,
- }
- return res, nil
- }
- }
- // GetEnterpriseAccountInfo 查询商家账号信息
- func (*enterprise) GetEnterpriseAccountInfo(ctx context.Context, req *http_model.GetAccountInfoRequest) (*http_model.GetAccountInfoData, error) {
- var enterpriseUserInfo *http_model.GetAccountInfoData
- enterpriseUserInfo = &http_model.GetAccountInfoData{}
- if req.SubAccountId == 0 {
- // 1. 商家主账号
- enterpriseInfo, enterpriseInfoErr := db.GetEnterpriseByEnterpriseID(ctx, req.EnterpriseId)
- if enterpriseInfoErr != nil {
- log.Infof("[GetSupplierAccountInfo] fail,err:%+v", enterpriseInfoErr)
- return nil, enterpriseInfoErr
- }
- if enterpriseInfo != nil {
- enterpriseUserInfo.EnterpriseName = enterpriseInfo.EnterpriseName
- enterpriseUserInfo.Type = 1
- enterpriseUserInfo.Avatar = enterpriseInfo.Avatar
- enterpriseUserInfo.Phone = enterpriseInfo.Phone
- }
- } else {
- // 2. 商家子账号
- subAccountInfo, subAccountInfoErr := db.FindSubAccountById(ctx, req.SubAccountId)
- if subAccountInfoErr != nil {
- log.Infof("[GetSupplierAccountInfo] fail,err:%+v", subAccountInfoErr)
- return nil, subAccountInfoErr
- }
- if subAccountInfo != nil {
- enterpriseUserInfo.SubAccountName = subAccountInfo.SubAccountName
- enterpriseUserInfo.Type = 2
- enterpriseUserInfo.Avatar = subAccountInfo.Avatar
- enterpriseUserInfo.Phone = subAccountInfo.PhoneNumber
- jobInfo, jobInfoErr := db.FindJobByJobId(ctx, subAccountInfo.JobId)
- if jobInfoErr != nil {
- log.Infof("[GetSupplierAccountInfo] fail,err:%+v", jobInfoErr)
- return nil, subAccountInfoErr
- }
- if jobInfo != nil {
- enterpriseUserInfo.JobName = jobInfo.JobName
- }
- }
- }
- return enterpriseUserInfo, nil
- }
- // GetEnterpriseReviewInfo 查询商家认证信息
- func (*enterprise) GetEnterpriseReviewInfo(ctx context.Context, req *http_model.GetReviewInfoRequest) (*http_model.GetReviewInfoData, error) {
- var enterpriseUserInfo *http_model.GetReviewInfoData
- enterpriseUserInfo = &http_model.GetReviewInfoData{}
- enterpriseInfo, enterpriseInfoErr := db.GetEnterpriseByEnterpriseID(ctx, req.EnterpriseId)
- if enterpriseInfoErr != nil {
- log.Infof("[GetEnterpriseByEnterpriseID] fail,err:%+v", enterpriseInfoErr)
- return nil, enterpriseInfoErr
- }
- if enterpriseInfo != nil {
- enterpriseUserInfo.ReviewType = 1
- if enterpriseInfo.AuthStatus == 1 {
- enterpriseUserInfo.ReviewStatus = 2
- } else {
- enterpriseUserInfo.ReviewStatus = 1
- }
- enterpriseUserInfo.BusinessLicense = enterpriseInfo.BusinessLicense
- enterpriseUserInfo.USCI = enterpriseInfo.Usci
- enterpriseUserInfo.CompanyName = enterpriseInfo.BusinessName
- }
- return enterpriseUserInfo, nil
- }
- // GetEnterpriseContactInfo 查询商家联系方式
- func (*enterprise) GetEnterpriseContactInfo(ctx context.Context, req *http_model.GetContactInfoRequest) (*http_model.GetContactInfoData, error) {
- var contactInfo *http_model.GetContactInfoData
- contactInfo = &http_model.GetContactInfoData{}
- // 1. 商家主账号
- if req.SubAccountId == 0 {
- enterpriseInfo, enterpriseInfoErr := db.GetEnterpriseByEnterpriseID(ctx, req.EnterpriseId)
- if enterpriseInfoErr != nil {
- log.Infof("[enterpriseInfoErr] fail,err:%+v", enterpriseInfoErr)
- return nil, enterpriseInfoErr
- }
- if enterpriseInfo != nil {
- contactInfo.ContactPhone = enterpriseInfo.ContactPhone
- contactInfo.WechatQRCode = enterpriseInfo.WechatQrCode
- contactInfo.WechatNumber = enterpriseInfo.WechatNumber
- }
- } else {
- // 2. 商家子账号
- subAccountInfo, subAccountInfoErr := db.FindSubAccountById(ctx, req.SubAccountId)
- if subAccountInfoErr != nil {
- log.Infof("[GetSupplierContactInfo] fail,err:%+v", subAccountInfoErr)
- return nil, subAccountInfoErr
- }
- if subAccountInfo != nil {
- contactInfo.ContactPhone = subAccountInfo.ContactPhone
- contactInfo.WechatQRCode = subAccountInfo.WechatQRCode
- contactInfo.WechatNumber = subAccountInfo.WechatNumber
- }
- }
- return contactInfo, nil
- }
|