feat:完善信息,增加socket
This commit is contained in:
@ -88,14 +88,14 @@ func (*Manage) CompanyForm(c *gin.Context) {
|
||||
func (*Manage) CompanyExamine(c *gin.Context) {
|
||||
form := &struct {
|
||||
manageExamineForm
|
||||
Kind int `json:"kind" form:"kind" binding:"required"`
|
||||
Kind int `json:"kind" form:"kind"`
|
||||
}{}
|
||||
if err := api.Bind(form)(c); err != nil {
|
||||
api.APIFailure(err.(error))(c)
|
||||
return
|
||||
}
|
||||
form.Identity = config.TenantUserIdentityForCompany
|
||||
err := form.handle(api.GetSession()(c).(*session.Admin), map[string]interface{}{"kind": form.Kind})
|
||||
err := form.handle(api.GetSession()(c).(*session.Admin), nil)
|
||||
api.APIResponse(err)(c)
|
||||
}
|
||||
|
||||
|
@ -27,8 +27,9 @@ type (
|
||||
}
|
||||
// CompanyDetail 公司企业详细信息
|
||||
CompanyDetail struct {
|
||||
ID string `json:"id"`
|
||||
TenantID string `json:"tenant_id"`
|
||||
ID string `json:"id"`
|
||||
TenantID string `json:"tenant_id"`
|
||||
InvitedCode string `json:"invited_code"`
|
||||
*model2.ManageCompany
|
||||
Industrys []*config.Industry `json:"industrys"`
|
||||
Keywords []string `json:"keywords"`
|
||||
@ -60,7 +61,7 @@ func (c *Company) Instance(tenantID uint64, name string, status int, page, pageS
|
||||
}
|
||||
var count int64
|
||||
|
||||
out, err := mManageCompany.Companys(page, pageSize, &count)
|
||||
out, err := mManageCompany.Companys(page, pageSize, &count, where...)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -117,6 +118,7 @@ func (c *Company) Form(params *BasicParams, other *config.IdentityForCompany) er
|
||||
}
|
||||
}
|
||||
mManageCompany.TenantID = c.TenantID
|
||||
mManageCompany.Kind = model2.ManageCompanyKind(other.Kind)
|
||||
mManageCompany.Image = model2.Image{Image: params.Image}
|
||||
mManageCompany.Area = model2.Area{
|
||||
Province: params.Area.Province, City: params.Area.City, District: params.Area.District, Address: params.Area.Address,
|
||||
@ -172,10 +174,12 @@ func (c *Company) Detail(id uint64) (*CompanyDetail, error) {
|
||||
return &CompanyDetail{
|
||||
ID: out.GetEncodeID(),
|
||||
TenantID: out.GetEncodeTenantID(),
|
||||
InvitedCode: (&model2.Model{ID: out.InviterID}).GetEncodeID(),
|
||||
ManageCompany: out.ManageCompany,
|
||||
Industrys: _industrys,
|
||||
Keywords: out.GetKeywordAttribute(),
|
||||
Area: out.FormatBasic(),
|
||||
Directions: out.GetDirectionAttribute(),
|
||||
//Area: out.FormatBasic(),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
1
app/api/admin/controller/manage/equipment.go
Normal file
1
app/api/admin/controller/manage/equipment.go
Normal file
@ -0,0 +1 @@
|
||||
package manage
|
@ -185,12 +185,14 @@ func (c *Examine) Launch(id uint64, identity, status int, remark string, params
|
||||
}
|
||||
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
||||
values := map[string]interface{}{
|
||||
//"examine_status": status,
|
||||
"examine_status": status,
|
||||
"examine_remark": remark, "updated_at": time.Now()}
|
||||
|
||||
if identity == config.TenantUserIdentityForCompany {
|
||||
for k, v := range params {
|
||||
values[k] = v
|
||||
if params != nil && len(params) > 0 {
|
||||
if identity == config.TenantUserIdentityForCompany {
|
||||
for k, v := range params {
|
||||
values[k] = v
|
||||
}
|
||||
}
|
||||
}
|
||||
if err = model2.Updates(data.IModel, values, tx); err != nil {
|
||||
|
@ -29,7 +29,7 @@ type (
|
||||
// ManageCompanyDetail 公司企业信息
|
||||
ManageCompanyDetail struct {
|
||||
*model.ManageCompany
|
||||
model.Area
|
||||
//model.Area
|
||||
}
|
||||
)
|
||||
|
||||
@ -37,7 +37,7 @@ type (
|
||||
func (m *ManageCompany) Company(id uint64) (*ManageCompanyDetail, error) {
|
||||
db := orm.GetDB().Table(m.TableName()+" AS c").
|
||||
Select("c.*").
|
||||
Joins(fmt.Sprintf("LEFT JOIN %s AS t ON c.tenant_id = t.id", model.NewSysTenant().TableName())).
|
||||
//Joins(fmt.Sprintf("LEFT JOIN %s AS t ON c.tenant_id = t.id", model.NewSysTenant().TableName())).
|
||||
Where("c.id = ?", id)
|
||||
|
||||
out := new(ManageCompanyDetail)
|
||||
|
@ -51,7 +51,7 @@ func (c *Instance) Login() InstanceLoginCallback {
|
||||
_session.Identity = params.Identity
|
||||
_session.SelectIdentity = params.SelectIdentity
|
||||
|
||||
service.Publish(config.EventForRedisHashProduce, config.RedisKeyForAccountEnterprise, _session.UIDToString(), _session)
|
||||
service.Publish(config.EventForRedisHashProduce, config.RedisKeyForAccountEnterprise, _session.GetStringUID(), _session)
|
||||
|
||||
return &InstanceLoginReturn{Token: token, TokenEffectTime: utils.StringToInt(config.SystemConfig[config.SysTokenEffectTime])}
|
||||
}
|
||||
|
@ -4,7 +4,6 @@ import (
|
||||
"SciencesServer/app/api/enterprise/model"
|
||||
model2 "SciencesServer/app/common/model"
|
||||
"SciencesServer/app/handle"
|
||||
"SciencesServer/config"
|
||||
"SciencesServer/serve/orm"
|
||||
"SciencesServer/utils"
|
||||
"errors"
|
||||
@ -99,7 +98,7 @@ func loginForSmsCaptcha(params *LoginParams, tenantID uint64) (*InstanceLoginPar
|
||||
RETURNS:
|
||||
return &InstanceLoginParams{
|
||||
UID: mUserInstance.UUID,
|
||||
Avatar: mUserInstance.GetAvatarAttribute(config.SystemConfig[config.SysImageDomain]), Name: mUserInstance.Name, Mobile: mUserInstance.Mobile,
|
||||
Avatar: mUserInstance.Avatar, Name: mUserInstance.Name, Mobile: mUserInstance.Mobile,
|
||||
Vip: mUserInstance.Vip, VipStatus: mUserInstance.VipStatus(), VipDeadline: mUserInstance.VipDeadline,
|
||||
Currency: mUserAssets.Currency, Identity: mUserInstance.Identity, SelectIdentity: mUserIdentity.Identity,
|
||||
Status: mUserInstance.Status,
|
||||
@ -139,7 +138,7 @@ func loginForPassword(params *LoginParams, tenantID uint64) (*InstanceLoginParam
|
||||
}
|
||||
return &InstanceLoginParams{
|
||||
UID: mUserInstance.UUID,
|
||||
Avatar: mUserInstance.GetAvatarAttribute(config.SystemConfig[config.SysImageDomain]), Name: mUserInstance.Name, Mobile: mUserInstance.Mobile,
|
||||
Avatar: mUserInstance.Avatar, Name: mUserInstance.Name, Mobile: mUserInstance.Mobile,
|
||||
Vip: mUserInstance.Vip, VipStatus: mUserInstance.VipStatus(), VipDeadline: mUserInstance.VipDeadline,
|
||||
Currency: mUserAssets.Currency, Identity: mUserInstance.Identity, SelectIdentity: mUserIdentity.Identity,
|
||||
Status: mUserInstance.Status,
|
||||
|
@ -2,14 +2,9 @@ package manage
|
||||
|
||||
import (
|
||||
"SciencesServer/app/api/enterprise/model"
|
||||
"SciencesServer/app/basic/config"
|
||||
"SciencesServer/app/basic/controller"
|
||||
model2 "SciencesServer/app/common/model"
|
||||
"SciencesServer/app/service"
|
||||
"SciencesServer/app/session"
|
||||
config2 "SciencesServer/config"
|
||||
"errors"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// Company 公司信息
|
||||
@ -102,53 +97,6 @@ func (c *Company) Product(id uint64, page, pageSize int) ([]*CompanyProductInfo,
|
||||
return list, nil
|
||||
}
|
||||
|
||||
// Match 匹配信息
|
||||
func (c *Company) Match(title string, industrys, keywords []string) (*controller.ReturnPages, error) {
|
||||
params := strings.Join([]string{
|
||||
title, strings.Join(industrys, ","), strings.Join(keywords, ","),
|
||||
}, ",")
|
||||
manage := service.NewESManage(
|
||||
service.WithManageIdentity(config.TenantUserIdentityForCompany),
|
||||
)
|
||||
out, count, err := manage.Search(0, 0, map[string]interface{}{
|
||||
"title": params, "industry": params, "keyword": params, "research": params,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
ids := make([]uint64, 0)
|
||||
|
||||
for _, v := range out.([]interface{}) {
|
||||
val := v.(*service.ESManage)
|
||||
ids = append(ids, val.ID)
|
||||
}
|
||||
mManageCompany := model.NewManageCompany()
|
||||
|
||||
companys := make([]*model2.ManageCompany, 0)
|
||||
|
||||
if err := model2.ScanFields(mManageCompany.ManageCompany, &companys, []string{"id", "kind", "name", "image", "url", "keyword"},
|
||||
&model2.ModelWhereOrder{
|
||||
Where: model2.NewWhereIn("id", ids),
|
||||
Order: model2.NewOrder("id", model2.OrderModeToDesc),
|
||||
}, &model2.ModelWhereOrder{
|
||||
Where: model2.NewWhere("examine_status", model2.ExamineStatusForAgree),
|
||||
}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
list := make([]*CompanyMatchInfo, 0)
|
||||
|
||||
for _, v := range companys {
|
||||
list = append(list, &CompanyMatchInfo{
|
||||
ID: v.GetEncodeID(), Kind: v.Kind, Name: v.Name,
|
||||
Image: v.Image.Analysis(config2.SystemConfig[config2.SysImageDomain]),
|
||||
Url: v.Url,
|
||||
Keywords: v.GetKeywordAttribute(),
|
||||
})
|
||||
}
|
||||
return &controller.ReturnPages{Data: list, Count: count}, nil
|
||||
}
|
||||
|
||||
func NewCompany() CompanyHandle {
|
||||
return func(session *session.Enterprise) *Company {
|
||||
return &Company{
|
||||
|
@ -82,6 +82,7 @@ func (c *Company) Launch(params *BasicParams, inviterID uint64, other *config.Id
|
||||
}
|
||||
mManageCompany.TenantID = c.tenantID
|
||||
mManageCompany.InviterID = inviterID
|
||||
mManageCompany.Kind = model2.ManageCompanyKind(other.Kind)
|
||||
mManageCompany.Name = params.Name
|
||||
mManageCompany.Code = params.Code
|
||||
mManageCompany.Image = model2.Image{Image: params.Image}
|
||||
|
@ -235,7 +235,7 @@ func (c *Identity) Switch(identity int) error {
|
||||
}
|
||||
}
|
||||
c.SelectIdentity = identity
|
||||
service.Publish(config2.EventForAccountLoginProduce, config2.RedisKeyForAccountEnterprise, c.UIDToString(), c.Enterprise)
|
||||
service.Publish(config2.EventForAccountLoginProduce, config2.RedisKeyForAccountEnterprise, c.GetStringUID(), c.Enterprise)
|
||||
return nil
|
||||
}
|
||||
return errors.New("操作错误,无效的身份信息")
|
||||
|
@ -5,6 +5,7 @@ import (
|
||||
model2 "SciencesServer/app/common/model"
|
||||
"SciencesServer/app/handle"
|
||||
"SciencesServer/app/session"
|
||||
"SciencesServer/config"
|
||||
"SciencesServer/utils"
|
||||
"errors"
|
||||
"time"
|
||||
@ -36,11 +37,13 @@ type (
|
||||
|
||||
// Info 基本信息
|
||||
func (c *Instance) Info() *InstanceInfo {
|
||||
out := &InstanceInfo{Avatar: c.Avatar, Name: c.Name,
|
||||
out := &InstanceInfo{
|
||||
Name: c.Name,
|
||||
Avatar: (&model2.UserInstance{Avatar: c.Avatar}).GetAvatarAttribute(config.SystemConfig[config.SysImageDomain]),
|
||||
Currency: c.Currency,
|
||||
Identity: c.Identity,
|
||||
SelectIdentity: c.SelectIdentity}
|
||||
|
||||
SelectIdentity: c.SelectIdentity,
|
||||
}
|
||||
if c.IsVip() {
|
||||
out.Vip = c.Vip
|
||||
out.VipDays = utils.DiffTimeDays(time.Now(), c.VipDeadline)
|
||||
|
@ -48,7 +48,7 @@ func (m *UserIdentity) Expert(page, pageSize int, count *int64, where ...*model.
|
||||
|
||||
// LastChooseInfo 最后一次选中的信息
|
||||
func (m *UserIdentity) LastChooseInfo(uid uint64) error {
|
||||
_, err := model.FirstField(m.UserIdentity, []string{"id", "uuid", "identity"},
|
||||
_, err := model.FirstField(m.UserIdentity, []string{"id", "identity"},
|
||||
model.NewWhere("uid", uid),
|
||||
model.NewWhere("is_selected", model.UserIdentitySelectedForYes))
|
||||
return err
|
||||
|
@ -148,7 +148,7 @@ func paper(uids []uint64, page, pageSize int) (*controller.ReturnPages, error) {
|
||||
|
||||
var count int64
|
||||
|
||||
if err := model2.PagesFields(mTechnologyPaper.TechnologyPaper, &out, []string{"id", "title", "ext", "author", "keyword"},
|
||||
if err := model2.PagesFields(mTechnologyPaper.TechnologyPaper, &out, []string{"id", "title", "ext", "author", "keyword", "remark", "publish_at"},
|
||||
page, pageSize, &count, &model2.ModelWhereOrder{
|
||||
Where: model2.NewWhereIn("uid", uids),
|
||||
Order: model2.NewOrder("id", model2.OrderModeToDesc),
|
||||
@ -234,7 +234,7 @@ func cooperateDetail(id uint64) (*CooperateDetailInfo, error) {
|
||||
|
||||
papers := make([]*model2.TechnologyPaper, 0)
|
||||
|
||||
if err = model2.ScanFields(mTechnologyPaper.TechnologyPaper, &papers, []string{"id", "title", "ext", "keyword"},
|
||||
if err = model2.ScanFields(mTechnologyPaper.TechnologyPaper, &papers, []string{"id", "title", "ext", "keyword", "remark", "publish_at"},
|
||||
&model2.ModelWhereOrder{
|
||||
Where: model2.NewWhereIn("id", strings.Split(mManageCooperateEnterprise.Paper, ",")),
|
||||
Order: model2.NewOrder("id", model2.OrderModeToDesc),
|
||||
@ -244,6 +244,7 @@ func cooperateDetail(id uint64) (*CooperateDetailInfo, error) {
|
||||
for _, v := range papers {
|
||||
out.Paper = append(out.Paper, &technology.PaperInfo{
|
||||
ID: v.GetEncodeID(), Title: v.Title, Ext: v.Ext, Keywords: v.GetKeywordAttribute(),
|
||||
Remark: v.Remark, PublishAt: v.PublishAt,
|
||||
})
|
||||
}
|
||||
return out, nil
|
||||
|
@ -1,12 +1,16 @@
|
||||
package technology
|
||||
|
||||
import "time"
|
||||
|
||||
type Paper struct{}
|
||||
|
||||
type (
|
||||
PaperInfo struct {
|
||||
ID string `json:"id"`
|
||||
Title string `json:"title"`
|
||||
Ext string `json:"ext"`
|
||||
Keywords []string `json:"keywords"`
|
||||
ID string `json:"id"`
|
||||
Title string `json:"title"`
|
||||
Ext string `json:"ext"`
|
||||
Keywords []string `json:"keywords"`
|
||||
Remark string `json:"remark"`
|
||||
PublishAt time.Time `json:"publish_at"`
|
||||
}
|
||||
)
|
||||
|
Reference in New Issue
Block a user