feat:优化项目信息
This commit is contained in:
@ -47,7 +47,7 @@ var loginHandle = map[LoginMode]func(*LoginParams, uint64) (*InstanceLoginParams
|
||||
// loginForSmsCaptcha 短信验证码登陆
|
||||
func loginForSmsCaptcha(params *LoginParams, tenantID uint64) (*InstanceLoginParams, error) {
|
||||
if !utils.ValidateMobile(params.Captcha.Mobile) {
|
||||
return nil, errors.New("操作错误,手机号码格式异常")
|
||||
return nil, errors.New("手机号码格式异常")
|
||||
}
|
||||
pass, err := handle.NewCaptcha().Validate(&handle.CaptchaSms{
|
||||
Mobile: params.Captcha.Mobile, Captcha: params.Captcha.Captcha,
|
||||
@ -55,14 +55,14 @@ func loginForSmsCaptcha(params *LoginParams, tenantID uint64) (*InstanceLoginPar
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !pass {
|
||||
return nil, errors.New("操作错误,验证码错误或已过期")
|
||||
return nil, errors.New("验证码错误或已过期")
|
||||
}
|
||||
var isExist bool
|
||||
// 查询账号信息
|
||||
mUserInstance := model.NewUserInstance()
|
||||
|
||||
if isExist, err = model2.FirstField(mUserInstance.UserInstance, []string{"id", "uuid", "avatar", "name", "mobile",
|
||||
"identity", "is_vip", "vip_deadline", "status"},
|
||||
"identity", "vip", "vip_deadline", "status"},
|
||||
model2.NewWhere("mobile", params.Captcha.Mobile)); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -75,7 +75,6 @@ func loginForSmsCaptcha(params *LoginParams, tenantID uint64) (*InstanceLoginPar
|
||||
if err = mUserIdentity.LastChooseInfo(mUserInstance.UUID); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if mUserAssets, err = model.NewUserAssets().Assets(mUserInstance.UUID); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -113,7 +112,7 @@ func loginForPassword(params *LoginParams, tenantID uint64) (*InstanceLoginParam
|
||||
mUserInstance := model.NewUserInstance()
|
||||
|
||||
isExist, err := model2.FirstField(mUserInstance.UserInstance, []string{"id", "uuid", "name", "avatar", "mobile",
|
||||
"identity", "is_vip", "vip_deadline", "password", "salt", "status"},
|
||||
"identity", "vip", "vip_deadline", "password", "salt", "status"},
|
||||
model2.NewWhere("mobile", params.Password.Account))
|
||||
|
||||
if err != nil {
|
||||
|
@ -1,7 +1,7 @@
|
||||
package account
|
||||
|
||||
import (
|
||||
model3 "SciencesServer/app/api/enterprise/model"
|
||||
"SciencesServer/app/api/enterprise/model"
|
||||
model2 "SciencesServer/app/common/model"
|
||||
"SciencesServer/app/handle"
|
||||
"SciencesServer/serve/orm"
|
||||
@ -40,6 +40,9 @@ func (c *RegisterParams) checkUserExist(mUserInstance *model2.UserInstance, tena
|
||||
|
||||
// Launch 发起注册
|
||||
func (c *Register) Launch(params *RegisterParams) (*InstanceLoginReturn, error) {
|
||||
if !utils.ValidateMobile(params.Mobile) {
|
||||
return nil, errors.New("手机号码错误")
|
||||
}
|
||||
// 验证密码
|
||||
if !params.checkPassword() {
|
||||
return nil, errors.New("两次密码不一致")
|
||||
@ -53,7 +56,7 @@ func (c *Register) Launch(params *RegisterParams) (*InstanceLoginReturn, error)
|
||||
return nil, errors.New("验证码错误或已过期")
|
||||
}
|
||||
// 验证账号信息
|
||||
mUserInstance := model3.NewUserInstance()
|
||||
mUserInstance := model.NewUserInstance()
|
||||
|
||||
if pass, err = params.checkUserExist(mUserInstance.UserInstance, c.tenantID); err != nil {
|
||||
return nil, err
|
||||
@ -64,7 +67,6 @@ func (c *Register) Launch(params *RegisterParams) (*InstanceLoginReturn, error)
|
||||
params.Name = params.Mobile
|
||||
}
|
||||
mUserInstance.Source = model2.UserInstanceSourceForLocal
|
||||
mUserInstance.Password = utils.GetRandomString(12)
|
||||
mUserInstance.Mobile = params.Mobile
|
||||
mUserInstance.Name = params.Name
|
||||
mUserInstance.Password = params.Password
|
||||
|
140
app/api/enterprise/controller/order/instance.go
Normal file
140
app/api/enterprise/controller/order/instance.go
Normal file
@ -0,0 +1,140 @@
|
||||
package order
|
||||
|
||||
import (
|
||||
"SciencesServer/app/api/enterprise/model"
|
||||
"SciencesServer/app/basic/controller"
|
||||
model2 "SciencesServer/app/common/model"
|
||||
"SciencesServer/app/session"
|
||||
"SciencesServer/serve/orm"
|
||||
"SciencesServer/utils"
|
||||
"errors"
|
||||
"gorm.io/gorm"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Instance 订单信息
|
||||
type Instance struct {
|
||||
*session.Enterprise
|
||||
tenantID uint64
|
||||
}
|
||||
|
||||
type InstanceHandle func(session *session.Enterprise, tenantID uint64) *Instance
|
||||
|
||||
// InstanceInfo 订单信息
|
||||
type InstanceInfo struct {
|
||||
ID string `json:"id"`
|
||||
*model2.OrderInstance
|
||||
}
|
||||
|
||||
// Index 首页信息
|
||||
func (c *Instance) Index(orderNo, status string, page, pageSize int) (*controller.ReturnPages, error) {
|
||||
mOrderInstance := model.NewOrderInstance()
|
||||
|
||||
out := make([]*model2.OrderInstance, 0)
|
||||
|
||||
where := []*model2.ModelWhereOrder{
|
||||
&model2.ModelWhereOrder{
|
||||
Where: model2.NewWhere("uid", c.UID),
|
||||
Order: model2.NewOrder("id", model2.OrderModeToDesc),
|
||||
}}
|
||||
|
||||
if orderNo != "" {
|
||||
where = append(where, &model2.ModelWhereOrder{
|
||||
Where: model2.NewWhereLike("order_no", orderNo),
|
||||
})
|
||||
}
|
||||
// 因int默认0,所以用string传递参数
|
||||
if status != "" {
|
||||
where = append(where, &model2.ModelWhereOrder{
|
||||
Where: model2.NewWhereLike("status", utils.StringToInt(status)),
|
||||
})
|
||||
}
|
||||
var count int64
|
||||
|
||||
if err := model2.Pages(mOrderInstance.OrderInstance, &out, page, pageSize, &count, where...); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
list := make([]*InstanceInfo, 0)
|
||||
|
||||
for _, v := range out {
|
||||
list = append(list, &InstanceInfo{
|
||||
ID: v.GetEncodeID(), OrderInstance: v,
|
||||
})
|
||||
}
|
||||
return &controller.ReturnPages{Data: list, Count: count}, nil
|
||||
}
|
||||
|
||||
// Cancel 订单取消
|
||||
func (c *Instance) Cancel(id uint64, remark string) error {
|
||||
mOrderInstance := model.NewOrderInstance()
|
||||
mOrderInstance.ID = id
|
||||
|
||||
isExist, err := model2.FirstField(mOrderInstance.OrderInstance, []string{"id", "uid", "status"})
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
} else if !isExist {
|
||||
return errors.New("操作错误,订单信息不存在或已被删除")
|
||||
} else if mOrderInstance.UID != c.UID {
|
||||
return errors.New("操作错误,无权限操作")
|
||||
}
|
||||
if mOrderInstance.Status == model2.OrderInstanceStatusForInit {
|
||||
return errors.New("操作错误,当前订单不允许取消")
|
||||
}
|
||||
return orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
||||
if err = model2.Updates(mOrderInstance.OrderInstance, map[string]interface{}{
|
||||
"status": model2.OrderInstanceStatusForCancel, "updated_at": time.Now(),
|
||||
}, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
mOrderLog := model.NewOrderLog()
|
||||
mOrderLog.UID = c.UID
|
||||
mOrderLog.OrderID = id
|
||||
mOrderLog.Remark = remark
|
||||
return model2.Create(mOrderLog.OrderLog, tx)
|
||||
})
|
||||
}
|
||||
|
||||
// Pay 支付操作
|
||||
func (c *Instance) Pay(id uint64) (interface{}, error) {
|
||||
mOrderInstance := model.NewOrderInstance()
|
||||
mOrderInstance.ID = id
|
||||
|
||||
isExist, err := model2.FirstField(mOrderInstance.OrderInstance, []string{"id", "uid", "status"})
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !isExist {
|
||||
return nil, errors.New("操作错误,订单信息不存在或已被删除")
|
||||
} else if mOrderInstance.UID != c.UID {
|
||||
return nil, errors.New("操作错误,无权限操作")
|
||||
}
|
||||
if mOrderInstance.Status == model2.OrderInstanceStatusForInit {
|
||||
return nil, errors.New("操作错误,当前订单不允许支付")
|
||||
}
|
||||
if err = orm.GetDB().Transaction(func(tx *gorm.DB) error {
|
||||
if err = model2.Updates(mOrderInstance.OrderInstance, map[string]interface{}{
|
||||
"status": model2.OrderInstanceStatusForCancel, "updated_at": time.Now(),
|
||||
}, tx); err != nil {
|
||||
return err
|
||||
}
|
||||
mOrderLog := model.NewOrderLog()
|
||||
mOrderLog.UID = c.UID
|
||||
mOrderLog.OrderID = id
|
||||
mOrderLog.Remark = "用户发起支付"
|
||||
return model2.Create(mOrderLog.OrderLog, tx)
|
||||
}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
func NewInstance() InstanceHandle {
|
||||
return func(session *session.Enterprise, tenantID uint64) *Instance {
|
||||
return &Instance{
|
||||
Enterprise: session,
|
||||
tenantID: tenantID,
|
||||
}
|
||||
}
|
||||
}
|
@ -204,18 +204,16 @@ func (c *Patent) List(kind int, title, applyCode, openCode, ipcCode string, page
|
||||
// 查询当前用户对应的专家信息
|
||||
mUserExpert := model.NewUserExpert()
|
||||
|
||||
isExist, err := model2.LastWhere(mUserExpert.UserExpert, []string{"id", "expert_id"},
|
||||
model2.NewWhere("uid", c.UID),
|
||||
model2.NewWhere("invalid_status", model2.InvalidStatusForNot),
|
||||
)
|
||||
expert, err := mUserExpert.ExpertBasic(c.UID)
|
||||
|
||||
if err != nil {
|
||||
return nil, err
|
||||
} else if !isExist {
|
||||
return nil, nil
|
||||
} else if expert.UserExpertID <= 0 {
|
||||
return &controller.ReturnPages{}, nil
|
||||
}
|
||||
mTechnologyPatentExpert := model.NewTechnologyPatentExpert()
|
||||
|
||||
where := []*model2.ModelWhere{model2.NewWhere("u.expert_id", mUserExpert.ExpertID)}
|
||||
where := []*model2.ModelWhere{model2.NewWhereFindInSet("p.inventor", expert.Name)}
|
||||
|
||||
if kind <= 0 {
|
||||
where = append(where, model2.NewWhere("p.kind", kind))
|
||||
|
Reference in New Issue
Block a user