浏览代码

同步工作台后端接口

Ohio-HYF 2 年之前
父节点
当前提交
0c9b036d2e
共有 6 个文件被更改,包括 136 次插入5 次删除
  1. 34 0
      db/workspace.go
  2. 60 0
      handler/WorkspaceDDLproject.go
  3. 1 1
      handler/userinfo_find.go
  4. 32 0
      model/http_model/WorkspaceDDLproject.go
  5. 1 0
      route/init.go
  6. 8 4
      service/user.go

+ 34 - 0
db/workspace.go

@@ -3,6 +3,9 @@ package db
 import (
 	"context"
 	"fmt"
+	"github.com/issue9/conv"
+	"github.com/sirupsen/logrus"
+	"time"
 	"youngee_b_api/model/gorm_model"
 	"youngee_b_api/model/http_model"
 )
@@ -96,3 +99,34 @@ func GetWorkspacePieNums2(ctx context.Context, enterpriseID int64) (*http_model.
 	workspaceNums.ShipmentPendingNum = ShipmentPendingNum
 	return &workspaceNums, nil
 }
+
+func GetWorkspaceDDLproject(ctx context.Context, enterpriseID int64) (*http_model.WorkspaceDDLprojectdata, error) {
+	var projectInfos []gorm_model.ProjectInfo
+	//DDLproject := http_model.WorkspaceDDLprojectdata{}
+	db := GetReadDB(ctx)
+	ddl := conv.MustString(time.Now())[0:10] + "%"
+	err := db.Model(gorm_model.ProjectInfo{}).Where("enterprise_id = ? AND project_status = 4 AND recruit_ddl like ?", enterpriseID, ddl).Or("enterprise_id = ? AND project_status = 6 AND auto_fail_at like ?", enterpriseID, ddl).Find(&projectInfos).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Project db] Update ProjectInfo error,err:%+v", err)
+		return nil, err
+	}
+	wsDDLprojectData := http_model.WorkspaceDDLprojectdata{}
+	wsDDLprojectData.Total = conv.MustString(len(projectInfos))
+	for _, projectInfo := range projectInfos {
+		DDLProjectPreview := new(http_model.DDLProjectPreview)
+		DDLProjectPreview.ProjectId = conv.MustString(projectInfo.ProjectID)
+		DDLProjectPreview.ProjectForm = conv.MustString(projectInfo.ProjectForm)
+		DDLProjectPreview.ProjectName = projectInfo.ProjectName
+		DDLProjectPreview.ProjectStatus = conv.MustString(projectInfo.ProjectStatus)
+		DDLProjectPreview.ProjectPlatform = conv.MustString(projectInfo.ProjectPlatform)
+		DDLProjectPreview.ProjectContentType = conv.MustString(projectInfo.ContentType)
+		DDLProjectPreview.RecruitDDL = conv.MustString(projectInfo.RecruitDdl)[0:19]
+		if projectInfo.AutoFailAt != nil {
+			DDLProjectPreview.AutoFailAt = conv.MustString(projectInfo.AutoFailAt)[0:19]
+		}
+		DDLProjectPreview.RecruitNum = conv.MustString(projectInfo.RecruitNum)
+		wsDDLprojectData.DDLProjectPreview = append(wsDDLprojectData.DDLProjectPreview, DDLProjectPreview)
+	}
+	fmt.Printf("GGGGGGGGGG %+v \n", len(projectInfos))
+	return &wsDDLprojectData, nil
+}

+ 60 - 0
handler/WorkspaceDDLproject.go

@@ -0,0 +1,60 @@
+package handler
+
+import (
+	"github.com/gin-gonic/gin"
+	"github.com/sirupsen/logrus"
+	"youngee_b_api/consts"
+	"youngee_b_api/db"
+	"youngee_b_api/middleware"
+	"youngee_b_api/model/http_model"
+	"youngee_b_api/util"
+)
+
+func WrapWorkspaceDDLprojectHandler(ctx *gin.Context) {
+	handler := newWorkspaceDDLprojectHandler(ctx)
+	baseRun(handler)
+}
+
+type WorkspaceDDLprojectHandler struct {
+	ctx  *gin.Context
+	req  *http_model.WorkspaceDDLprojectRequest
+	resp *http_model.CommonResponse
+}
+
+func (w WorkspaceDDLprojectHandler) getContext() *gin.Context {
+	return w.ctx
+}
+
+func (w WorkspaceDDLprojectHandler) getResponse() interface{} {
+	return w.resp
+}
+
+func (w WorkspaceDDLprojectHandler) getRequest() interface{} {
+	return w.req
+}
+
+func (w WorkspaceDDLprojectHandler) run() {
+	auth := middleware.GetSessionAuth(w.ctx)
+	enterpriseID := auth.EnterpriseID
+	data, err := db.GetWorkspaceDDLproject(w.ctx, enterpriseID)
+	if err != nil {
+		// 数据库查询失败,返回5001
+		logrus.Errorf("[WorkspaceDDLprojectHandler] call GetWorkspaceDDLproject err:%+v\n", err)
+		util.HandlerPackErrorResp(w.resp, consts.ErrorInternal, "")
+		logrus.Info("GetWorkspaceDDLproject fail,req:%+v", w.req)
+		return
+	}
+	w.resp.Data = data
+}
+
+func (w WorkspaceDDLprojectHandler) checkParam() error {
+	return nil
+}
+
+func newWorkspaceDDLprojectHandler(ctx *gin.Context) *WorkspaceDDLprojectHandler {
+	return &WorkspaceDDLprojectHandler{
+		ctx:  ctx,
+		req:  http_model.NewWorkspaceDDLprojectRequest(),
+		resp: http_model.NewWorkspaceDDLprojectResponse(),
+	}
+}

+ 1 - 1
handler/userinfo_find.go

@@ -43,7 +43,7 @@ func (h *FindUserInfoHandler) getResponse() interface{} {
 func (h *FindUserInfoHandler) run() {
 	auth := middleware.GetSessionAuth(h.ctx)
 	//fmt.Printf("auth test %+v", auth)
-	res, err := service.User.Find(h.ctx, auth.EnterpriseID, auth.Phone, auth.ID, auth.Username, auth.Email)
+	res, err := service.User.Find(h.ctx, auth.EnterpriseID, auth.ID)
 	if err != nil {
 		// 数据库查询失败,返回5001
 		logrus.Errorf("[FindUserInfoHandler] call FindByID err:%+v\n", err)

+ 32 - 0
model/http_model/WorkspaceDDLproject.go

@@ -0,0 +1,32 @@
+package http_model
+
+type WorkspaceDDLprojectRequest struct {
+}
+
+type WorkspaceDDLprojectdata struct {
+	DDLProjectPreview []*DDLProjectPreview `json:"DDL_project_pre_view"`
+	Total             string               `json:"total"`
+}
+
+type DDLProjectPreview struct {
+	ProjectId       string `json:"project_id"`       // 项目ID
+	ProjectName     string `json:"project_name"`     // 项目名
+	ProjectStatus   string `json:"project_status"`   // 项目状态
+	ProjectPlatform string `json:"project_platform"` // 项目平台
+	ProjectForm     string `json:"project_form"`     // 项目形式
+	//ProjectFeeForms    []string `json:"project_fee_forms"`    // 稿费形式
+	ProjectContentType string `json:"project_content_type"` // 内容形式
+	RecruitDDL         string `json:"recruit_ddl"`          //招募截止时间
+	RecruitNum         string `json:"recruit_num"`          //已招募人数
+	AutoFailAt         string `json:"auti_fail_at"`         //支付截止时间
+}
+
+func NewWorkspaceDDLprojectRequest() *WorkspaceDDLprojectRequest {
+	return new(WorkspaceDDLprojectRequest)
+}
+
+func NewWorkspaceDDLprojectResponse() *CommonResponse {
+	resp := new(CommonResponse)
+	resp.Data = new(WorkspaceDDLprojectdata)
+	return resp
+}

+ 1 - 0
route/init.go

@@ -121,5 +121,6 @@ func InitRoute(r *gin.Engine) {
 		m.POST("/project/specialTaskFinishDataList", handler.WrapSpecialTaskFinishDataListHandler) // 查询专项任务结案数据任务列表
 
 		m.POST("/project/getspecialfinishdata", handler.WrapGetSpecialFinishDataHandler) // 查询专项任务结案单结案数据
+		m.GET("/workspace/ddlproject", handler.WrapWorkspaceDDLprojectHandler)           // 工作台项目统计
 	}
 }

+ 8 - 4
service/user.go

@@ -28,16 +28,20 @@ func (*user) Update(ctx context.Context, newUser http_model.UpdateUserInfoReques
 	return nil
 }
 
-func (*user) Find(ctx context.Context, EnterpriseID int64, Phone string, ID int64, Username string, Email string) (*http_model.FindUserInfoData, error) {
+func (*user) Find(ctx context.Context, EnterpriseID int64, ID int64) (*http_model.FindUserInfoData, error) {
 	enterprise, err := db.GetEnterpriseByEnterpriseID(ctx, EnterpriseID)
 	if err != nil {
 		return nil, err
 	}
+	user, err := db.GetUserByID(ctx, ID)
+	if err != nil {
+		return nil, err
+	}
 	UserInfo := http_model.FindUserInfoData{
 		ID:           ID,
-		Username:     Username,
-		Email:        Email,
-		Phone:        Phone,
+		Username:     user.Username,
+		Email:        user.Email,
+		Phone:        user.Phone,
 		BusinessName: enterprise.BusinessName,
 	}
 	return &UserInfo, nil