Browse Source

Merge branch 'feature_yf' of HolaBIP/youngee_b_api into develop

houyunfeng 2 years ago
parent
commit
b993a84f4c

+ 6 - 0
db/default.go

@@ -142,6 +142,12 @@ func GetTaskDefaultDataList(ctx context.Context, projectID string, pageSize, pag
 		if tag == "default_status" {
 		if tag == "default_status" {
 			if value.Interface() == int64(3) {
 			if value.Interface() == int64(3) {
 				db = db.Where("cur_default_type = 7")
 				db = db.Where("cur_default_type = 7")
+			} else if value.Interface() == int64(2) {
+				db = db.Where("cur_default_type = 5")
+			} else if value.Interface() == int64(1) {
+				db = db.Where("cur_default_type = 3")
+			} else if value.Interface() == int64(0) {
+				db = db.Where("cur_default_type = 1")
 			}
 			}
 			continue
 			continue
 		} else if !util.IsBlank(value) {
 		} else if !util.IsBlank(value) {

+ 21 - 0
db/logistics.go

@@ -4,6 +4,7 @@ import (
 	"context"
 	"context"
 	"fmt"
 	"fmt"
 	"reflect"
 	"reflect"
+	"strconv"
 	"strings"
 	"strings"
 	"time"
 	"time"
 	"youngee_b_api/model/common_model"
 	"youngee_b_api/model/common_model"
@@ -14,6 +15,7 @@ import (
 
 
 	"github.com/issue9/conv"
 	"github.com/issue9/conv"
 	"github.com/sirupsen/logrus"
 	"github.com/sirupsen/logrus"
+	"github.com/tidwall/gjson"
 )
 )
 
 
 //新增
 //新增
@@ -129,6 +131,9 @@ func GetTaskLogisticsList(ctx context.Context, projectID string, pageSize, pageN
 		TaskLogistics := new(http_model.TaskLogistics)
 		TaskLogistics := new(http_model.TaskLogistics)
 		TaskLogistics.Talent = taskMap[taskId]
 		TaskLogistics.Talent = taskMap[taskId]
 		TaskLogistics.Logistics = logisticsMap[taskId]
 		TaskLogistics.Logistics = logisticsMap[taskId]
+		TalentPostAddrSnap := TaskLogistics.Talent.TalentPostAddrSnap
+		regionCode, _ := strconv.Atoi(conv.MustString(gjson.Get(TalentPostAddrSnap, "region_code")))
+		TaskLogistics.Region = GetRegion(ctx, regionCode)
 		TaskLogisticss = append(TaskLogisticss, TaskLogistics)
 		TaskLogisticss = append(TaskLogisticss, TaskLogistics)
 	}
 	}
 
 
@@ -158,3 +163,19 @@ func ChangeLogisticsStatus(ctx context.Context, taskIds []string) error {
 	}
 	}
 	return nil
 	return nil
 }
 }
+
+func GetRegion(ctx context.Context, regionCode int) string {
+	db4 := GetReadDB(ctx)
+	var infoRegion *gorm_model.InfoRegion
+	fmt.Printf("regionCode: %+v", regionCode)
+	db4.Debug().Model(gorm_model.InfoRegion{}).Where("self_code = ?", regionCode).First(&infoRegion)
+
+	provinceCode := conv.MustString(regionCode, "")[0:2] + "0000"
+	var province *gorm_model.InfoRegion
+	db4.Debug().Model(gorm_model.InfoRegion{}).Where("self_code = ?", conv.MustInt(provinceCode, 0)).First(&province)
+
+	cityCode := conv.MustString(regionCode, "")[0:4] + "00"
+	var city *gorm_model.InfoRegion
+	db4.Debug().Model(gorm_model.InfoRegion{}).Where("self_code = ?", conv.MustInt(cityCode, 0)).First(&city)
+	return province.RegionName + city.RegionName + infoRegion.RegionName
+}

+ 74 - 0
db/message.go

@@ -0,0 +1,74 @@
+package db
+
+import (
+	"context"
+	"fmt"
+	"time"
+	"youngee_b_api/model/gorm_model"
+
+	"github.com/sirupsen/logrus"
+)
+
+// 通过taskId查询talentId,插入新消息
+func CreateMessageByTaskId(ctx context.Context, messageId int, messageType int, taskId string) error {
+	db := GetReadDB(ctx)
+	taskInfo := gorm_model.YoungeeTaskInfo{}
+	err := db.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).Find(&taskInfo).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error read mysql, err:%+v", err)
+		return err
+	}
+
+	db1 := GetReadDB(ctx)
+	var projectName string
+	err = db1.Model(gorm_model.ProjectInfo{}).Select("project_name").Where("project_id = ?", taskInfo.ProjectID).Find(&projectName).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error read mysql, err:%+v", err)
+		return err
+	}
+	fmt.Printf("project_name: %+v, project_id: %+v\n", projectName, taskInfo.ProjectID)
+	messageInfo := gorm_model.YounggeeMessageInfo{
+		MessageID:   messageId,
+		MessageType: messageType,
+		CreatedAt:   time.Now(),
+		TalentID:    taskInfo.TalentID,
+		ProjectName: projectName,
+		IsReaded:    0,
+		IsDeleted:   0,
+	}
+	db2 := GetReadDB(ctx)
+	err = db2.Model(gorm_model.YounggeeMessageInfo{}).Create(&messageInfo).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error create mysql, err:%+v", err)
+		return err
+	}
+	return nil
+}
+
+// 插入新消息
+func CreateMessage(ctx context.Context, messageId int, messageType int, talentId string, projectId string) error {
+	db := GetReadDB(ctx)
+	var projectName string
+	err := db.Model(gorm_model.ProjectInfo{}).Select("project_name").Where("project_id = ?", projectId).Find(&projectName).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error read mysql, err:%+v", err)
+		return err
+	}
+
+	messageInfo := gorm_model.YounggeeMessageInfo{
+		MessageID:   messageId,
+		MessageType: messageType,
+		CreatedAt:   time.Now(),
+		TalentID:    talentId,
+		ProjectName: projectName,
+		IsReaded:    0,
+		IsDeleted:   0,
+	}
+	db1 := GetReadDB(ctx)
+	err = db1.Model(gorm_model.YounggeeMessageInfo{}).Create(&messageInfo).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error create mysql, err:%+v", err)
+		return err
+	}
+	return nil
+}

+ 5 - 2
db/project.go

@@ -5,6 +5,7 @@ import (
 	"fmt"
 	"fmt"
 	"reflect"
 	"reflect"
 	"strings"
 	"strings"
+	"time"
 	"youngee_b_api/consts"
 	"youngee_b_api/consts"
 	"youngee_b_api/model/common_model"
 	"youngee_b_api/model/common_model"
 	"youngee_b_api/model/gorm_model"
 	"youngee_b_api/model/gorm_model"
@@ -216,8 +217,9 @@ func GetRecruitStrategys(ctx context.Context, ProjectID string) ([]gorm_model.Re
 
 
 func UpdateProjectStatus(ctx context.Context, projectId string, status int64) error {
 func UpdateProjectStatus(ctx context.Context, projectId string, status int64) error {
 	db := GetReadDB(ctx)
 	db := GetReadDB(ctx)
+	t := time.Now()
 	err := db.Model(gorm_model.ProjectInfo{}).
 	err := db.Model(gorm_model.ProjectInfo{}).
-		Where("project_id = ?", projectId).Update("project_status", status).Error
+		Where("project_id = ?", projectId).Updates(gorm_model.ProjectInfo{ProjectStatus: status, PayAt: &t}).Error
 	if err != nil {
 	if err != nil {
 		log.Println("DB UpdateProjectStatus error :", err)
 		log.Println("DB UpdateProjectStatus error :", err)
 		return err
 		return err
@@ -287,7 +289,8 @@ func SetProjectFinish(ctx context.Context, projectId string) error {
 		}
 		}
 
 
 		// 1. 更新项目状态为已结束
 		// 1. 更新项目状态为已结束
-		err = db.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates(map[string]interface{}{"project_status": 10, "payment_amount": realPayment}).Error
+		t := time.Now()
+		err = db.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates(gorm_model.ProjectInfo{ProjectStatus: 10, PaymentAmount: realPayment, FinishAt: &t}).Error
 		if err != nil {
 		if err != nil {
 			logrus.WithContext(ctx).Errorf("[Project db] Update ProjectInfo error,err:%+v", err)
 			logrus.WithContext(ctx).Errorf("[Project db] Update ProjectInfo error,err:%+v", err)
 			return err
 			return err

+ 12 - 1
db/recruit_strategy.go

@@ -61,8 +61,19 @@ func GetRecruitStrategyIdByTS(ctx context.Context, projectId string, strategyID
 	RecruitStrategy := &gorm_model.RecruitStrategy{}
 	RecruitStrategy := &gorm_model.RecruitStrategy{}
 	err := db.Model(gorm_model.RecruitStrategy{}).Where("project_id = ? AND strategy_id = ?", projectId, strategyID).Scan(RecruitStrategy).Error
 	err := db.Model(gorm_model.RecruitStrategy{}).Where("project_id = ? AND strategy_id = ?", projectId, strategyID).Scan(RecruitStrategy).Error
 	if err != nil {
 	if err != nil {
-		logrus.WithContext(ctx).Errorf("[logistics db] call CreateLogistics error,err:%+v", err)
+		logrus.WithContext(ctx).Errorf("[logistics db] call GetRecruitStrategyIdByTS error,err:%+v", err)
 		return nil, err
 		return nil, err
 	}
 	}
 	return &RecruitStrategy.RecruitStrategyID, nil
 	return &RecruitStrategy.RecruitStrategyID, nil
 }
 }
+
+func GetRecruitStrategyByProjectId(ctx context.Context, projectId string) ([]gorm_model.RecruitStrategy, error) {
+	db := GetReadDB(ctx)
+	RecruitStrategys := []gorm_model.RecruitStrategy{}
+	err := db.Model(gorm_model.RecruitStrategy{}).Where("project_id = ?", projectId).Scan(&RecruitStrategys).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[logistics db] call GetRecruitStrategyByProjectId error,err:%+v", err)
+		return nil, err
+	}
+	return RecruitStrategys, nil
+}

+ 14 - 1
db/task.go

@@ -65,7 +65,6 @@ func GetProjectIdByTaskId(ctx context.Context, taskID string) (*string, error) {
 
 
 func ChangeTaskStatus(ctx context.Context, taskIds []string, taskStatus string) ([]int64, error) {
 func ChangeTaskStatus(ctx context.Context, taskIds []string, taskStatus string) ([]int64, error) {
 	db := GetReadDB(ctx)
 	db := GetReadDB(ctx)
-
 	taskSta, err := strconv.Atoi(taskStatus)
 	taskSta, err := strconv.Atoi(taskStatus)
 	if err != nil {
 	if err != nil {
 		logrus.WithContext(ctx).Errorf("[ChangeTaskStatus]1 error query mysql total, err:%+v", err)
 		logrus.WithContext(ctx).Errorf("[ChangeTaskStatus]1 error query mysql total, err:%+v", err)
@@ -121,6 +120,7 @@ func UpdateTaskSelectAtByProjectId(ctx context.Context, projectID string, taskSt
 	}
 	}
 	return nil
 	return nil
 }
 }
+
 func UpdateTaskStageByProjectId(ctx context.Context, projectID string, taskStatus int64, taskStage int64) error {
 func UpdateTaskStageByProjectId(ctx context.Context, projectID string, taskStatus int64, taskStage int64) error {
 	db := GetReadDB(ctx)
 	db := GetReadDB(ctx)
 	err := db.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id=? and task_status = ?", projectID, taskStatus).Update("task_stage", taskStage).Error
 	err := db.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id=? and task_status = ?", projectID, taskStatus).Update("task_stage", taskStage).Error
@@ -287,3 +287,16 @@ func SetTalentIncome(ctx context.Context, TaskIDs []string) error {
 	}
 	}
 	return nil
 	return nil
 }
 }
+
+// 获取任务ids
+func GetTaskIds(ctx context.Context, projectId string) ([]string, error) {
+	db := GetReadDB(ctx)
+	var taskIds []string
+	err := db.Model(gorm_model.YoungeeTaskInfo{}).Select("task_id").Where("project_id = ? and task_status = 2", projectId).Find(&taskIds).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error read mysql, err:%+v", err)
+		return nil, err
+	}
+
+	return taskIds, nil
+}

+ 1 - 1
db/terminate.go

@@ -11,7 +11,7 @@ import (
 // Terminate 批量提交解约申请
 // Terminate 批量提交解约申请
 func Terminate(ctx context.Context, TaskIDs []string) error {
 func Terminate(ctx context.Context, TaskIDs []string) error {
 	db := GetReadDB(ctx)
 	db := GetReadDB(ctx)
-	err := db.Model(gorm_model.YoungeeContractInfo{}).Where("task_id in ?  and default_status = 1", TaskIDs).Updates(map[string]interface{}{"default_status": 3, "terminate_at": time.Now()}).Error
+	err := db.Model(gorm_model.YoungeeContractInfo{}).Where("task_id in ?  and (default_status = 1 or default_status = 4)", TaskIDs).Updates(map[string]interface{}{"default_status": 3, "terminate_at": time.Now()}).Error
 	if err != nil {
 	if err != nil {
 		logrus.WithContext(ctx).Errorf("[Data db] Update YoungeeContractInfo error,err:%+v", err)
 		logrus.WithContext(ctx).Errorf("[Data db] Update YoungeeContractInfo error,err:%+v", err)
 		return err
 		return err

+ 4 - 3
handler/getCodeUrl.go

@@ -2,12 +2,13 @@ package handler
 
 
 import (
 import (
 	"fmt"
 	"fmt"
-	"github.com/gin-gonic/gin"
-	"github.com/sirupsen/logrus"
 	"youngee_b_api/consts"
 	"youngee_b_api/consts"
 	"youngee_b_api/model/http_model"
 	"youngee_b_api/model/http_model"
 	"youngee_b_api/service"
 	"youngee_b_api/service"
 	"youngee_b_api/util"
 	"youngee_b_api/util"
+
+	"github.com/gin-gonic/gin"
+	"github.com/sirupsen/logrus"
 )
 )
 
 
 func WrapGetCodeUrlHandler(ctx *gin.Context) {
 func WrapGetCodeUrlHandler(ctx *gin.Context) {
@@ -37,7 +38,7 @@ func (g getCodeUrlHandler) run() {
 	tradeId := util.GetRandomString(32)
 	tradeId := util.GetRandomString(32)
 	if g.req.Type == 1 {
 	if g.req.Type == 1 {
 		fmt.Println("amount:", g.req.Amount)
 		fmt.Println("amount:", g.req.Amount)
-		data, err := service.NativeApiServicePrepay(tradeId, int64(g.req.Amount*100))
+		data, err := service.NativeApiServicePrepay(tradeId, g.req.Amount)
 		if err != nil {
 		if err != nil {
 			logrus.WithContext(g.ctx).Errorf("[getCodeUrlHandler] error NativeApiServicePrepay, err:%+v", err)
 			logrus.WithContext(g.ctx).Errorf("[getCodeUrlHandler] error NativeApiServicePrepay, err:%+v", err)
 			util.HandlerPackErrorResp(g.resp, consts.ErrorInternal, consts.DefaultToast)
 			util.HandlerPackErrorResp(g.resp, consts.ErrorInternal, consts.DefaultToast)

+ 14 - 0
model/gorm_model/info_region.go

@@ -0,0 +1,14 @@
+// Package gorm_model Code generated by sql2gorm. DO NOT EDIT.
+package gorm_model
+
+type InfoRegion struct {
+	RegionID    uint   `gorm:"column:region_id;primary_key;AUTO_INCREMENT"`
+	SelfCode    uint   `gorm:"column:self_code;NOT NULL"`
+	RegionLevel int    `gorm:"column:region_level;NOT NULL"`
+	ParentCode  uint   `gorm:"column:parent_code"`
+	RegionName  string `gorm:"column:region_name;NOT NULL"`
+}
+
+func (m *InfoRegion) TableName() string {
+	return "info_region"
+}

+ 21 - 0
model/gorm_model/message_info.go

@@ -0,0 +1,21 @@
+// Code generated by sql2gorm. DO NOT EDIT.
+package gorm_model
+
+import (
+	"time"
+)
+
+type YounggeeMessageInfo struct {
+	ID          int       `gorm:"column:id;primary_key;AUTO_INCREMENT"` // id,递增
+	MessageID   int       `gorm:"column:message_id;NOT NULL"`           // 消息内容id,对应info_message
+	MessageType int       `gorm:"column:message_type;NOT NULL"`         // 消息类型,1-4分别表示成功、通知、错误、警告
+	TalentID    string    `gorm:"column:talent_id;NOT NULL"`            // 达人id
+	ProjectName string    `gorm:"column:project_name;NOT NULL"`         // 项目名称
+	CreatedAt   time.Time `gorm:"column:created_at;NOT NULL"`           // 消息创建时间
+	IsReaded    int       `gorm:"column:is_readed;default:0;NOT NULL"`  // 是否已读,1表示未读,2表示已读
+	IsDeleted   int       `gorm:"column:is_deleted;default:0;NOT NULL"` // 是否删除,1表示未删,2表示已删
+}
+
+func (m *YounggeeMessageInfo) TableName() string {
+	return "younggee_message_info"
+}

+ 1 - 0
model/gorm_model/project.go

@@ -33,6 +33,7 @@ type ProjectInfo struct {
 	FailReason        int64      `gorm:"column:fail_reason"`                           // 失效原因,1、2分别表示逾期未支付、项目存在风险
 	FailReason        int64      `gorm:"column:fail_reason"`                           // 失效原因,1、2分别表示逾期未支付、项目存在风险
 	PassAt            *time.Time `gorm:"column:pass_at"`                               // 审核通过时间
 	PassAt            *time.Time `gorm:"column:pass_at"`                               // 审核通过时间
 	FinishAt          *time.Time `gorm:"column:finish_at"`                             // 结案时间
 	FinishAt          *time.Time `gorm:"column:finish_at"`                             // 结案时间
+	SubmitAt          *time.Time `gorm:"column:submit_at"`                             // 结案时间
 	EstimatedCost     float64    `gorm:"column:estimated_cost"`                        // 预估成本
 	EstimatedCost     float64    `gorm:"column:estimated_cost"`                        // 预估成本
 	IsRead            int64      `gorm:"column:is_read"`                               // 是否已读
 	IsRead            int64      `gorm:"column:is_read"`                               // 是否已读
 	SettlementAmount  float64    `gorm:"column:settlement_amount"`                     // 结算金额
 	SettlementAmount  float64    `gorm:"column:settlement_amount"`                     // 结算金额

+ 1 - 1
model/http_model/GetCodeUrlRequest.go

@@ -1,7 +1,7 @@
 package http_model
 package http_model
 
 
 type GetCodeUrlRequest struct {
 type GetCodeUrlRequest struct {
-	Amount float64 `json:"amount"`
+	Amount int64 `json:"amount"`
 	Type   int64 `json:"type"`
 	Type   int64 `json:"type"`
 }
 }
 
 

+ 1 - 0
model/http_model/project_show.go

@@ -46,6 +46,7 @@ type ShowProjectData struct {
 	Phone            string                `json:"phone"`              // 联系方式
 	Phone            string                `json:"phone"`              // 联系方式
 	CreateAt         time.Time             `json:"create_at"`          // 创建时间
 	CreateAt         time.Time             `json:"create_at"`          // 创建时间
 	UpdateAt         time.Time             `json:"update_at"`          // 更新时间
 	UpdateAt         time.Time             `json:"update_at"`          // 更新时间
+	SubmitAt         time.Time             `json:"submit_at"`          // 更新时间
 	PassAt           time.Time             `json:"pass_at"`            // 审核通过时间
 	PassAt           time.Time             `json:"pass_at"`            // 审核通过时间
 	FinishAt         time.Time             `json:"finish_at"`          // 结案时间
 	FinishAt         time.Time             `json:"finish_at"`          // 结案时间
 	PayAt            time.Time             `json:"pay_at"`             // 支付时间
 	PayAt            time.Time             `json:"pay_at"`             // 支付时间

+ 1 - 0
model/http_model/task_logistics.go

@@ -52,6 +52,7 @@ type TaskLogisticsInfo struct {
 type TaskLogistics struct {
 type TaskLogistics struct {
 	Talent    gorm_model.YoungeeTaskInfo
 	Talent    gorm_model.YoungeeTaskInfo
 	Logistics gorm_model.YoungeeTaskLogistics
 	Logistics gorm_model.YoungeeTaskLogistics
+	Region    string
 	//Account   gorm_model.YoungeePlatformAccountInfo
 	//Account   gorm_model.YoungeePlatformAccountInfo
 }
 }
 
 

+ 1 - 1
pack/task_logistics_list.go

@@ -55,7 +55,7 @@ func GetTalentInfoStruct(TaskLogistics *http_model.TaskLogistics) *http_model.Ta
 		PlatformNickname:      conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname")),
 		PlatformNickname:      conv.MustString(gjson.Get(TalentPlatformInfoSnap, "platform_nickname")),
 		FansCount:             conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count")),
 		FansCount:             conv.MustString(gjson.Get(TalentPlatformInfoSnap, "fans_count")),
 		StrategyID:            TaskLogistics.Talent.StrategyID,
 		StrategyID:            TaskLogistics.Talent.StrategyID,
-		DetailAddr:            conv.MustString(gjson.Get(TalentPostAddrSnap, "detail_addr")),
+		DetailAddr:            TaskLogistics.Region + conv.MustString(gjson.Get(TalentPostAddrSnap, "detail_addr")),
 		CompanyName:           TaskLogistics.Logistics.CompanyName,
 		CompanyName:           TaskLogistics.Logistics.CompanyName,
 		LogisticsNumber:       TaskLogistics.Logistics.LogisticsNumber,
 		LogisticsNumber:       TaskLogistics.Logistics.LogisticsNumber,
 		DeliveryTime:          conv.MustString(TaskLogistics.Logistics.DeliveryTime),
 		DeliveryTime:          conv.MustString(TaskLogistics.Logistics.DeliveryTime),

+ 1 - 1
route/init.go

@@ -66,7 +66,7 @@ func InitRoute(r *gin.Engine) {
 		m.POST("/project/acceptscript", handler.WrapAcceptScriptHandler)                     // 同意脚本
 		m.POST("/project/acceptscript", handler.WrapAcceptScriptHandler)                     // 同意脚本
 		m.POST("/project/tasksketchlist", handler.WrapTaskSketchListHandler)                 // 查询初稿列表
 		m.POST("/project/tasksketchlist", handler.WrapTaskSketchListHandler)                 // 查询初稿列表
 		m.POST("/project/findsketchphoto", handler.WrapFindSketchPhotoHandler)               // 查询脚本配图和视频demo
 		m.POST("/project/findsketchphoto", handler.WrapFindSketchPhotoHandler)               // 查询脚本配图和视频demo
-		m.POST("/project/sketchopinion", handler.WrapSketchOpinionHandler)                   // 脚本审核意见提交
+		m.POST("/project/sketchopinion", handler.WrapSketchOpinionHandler)                   // 初稿审核意见提交
 		m.POST("/project/acceptsketch", handler.WrapAcceptSketchHandler)                     // 同意脚本
 		m.POST("/project/acceptsketch", handler.WrapAcceptSketchHandler)                     // 同意脚本
 		m.POST("/project/tasklinklist", handler.WrapTaskLinkListHandler)                     // 查询链接列表
 		m.POST("/project/tasklinklist", handler.WrapTaskLinkListHandler)                     // 查询链接列表
 		m.POST("/project/linkopinion", handler.WrapLinkOpinionHandler)                       // 链接审核意见提交
 		m.POST("/project/linkopinion", handler.WrapLinkOpinionHandler)                       // 链接审核意见提交

+ 11 - 0
service/data.go

@@ -34,6 +34,12 @@ func (*data) DataOpinion(ctx context.Context, request http_model.DataOpinionRequ
 		return nil, err
 		return nil, err
 	}
 	}
 
 
+	err = db.CreateMessageByTaskId(ctx, 19, 3, Data.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Data service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
+
 	res := &http_model.DataOpinionData{
 	res := &http_model.DataOpinionData{
 		TaskID: Data.TaskID,
 		TaskID: Data.TaskID,
 	}
 	}
@@ -63,6 +69,11 @@ func (*data) AcceptData(ctx context.Context, request http_model.AcceptDataReques
 			logrus.WithContext(ctx).Errorf("[Data service] call CreateTaskLog error,err:%+v", err)
 			logrus.WithContext(ctx).Errorf("[Data service] call CreateTaskLog error,err:%+v", err)
 			return nil, err
 			return nil, err
 		}
 		}
+		err = db.CreateMessageByTaskId(ctx, 5, 1, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			return nil, err
+		}
 	}
 	}
 
 
 	// 2. 更新YoungeeTaskInfo表,将任务结案
 	// 2. 更新YoungeeTaskInfo表,将任务结案

+ 11 - 0
service/link.go

@@ -34,6 +34,12 @@ func (*link) LinkOpinion(ctx context.Context, request http_model.LinkOpinionRequ
 		return nil, err
 		return nil, err
 	}
 	}
 
 
+	err = db.CreateMessageByTaskId(ctx, 18, 3, Link.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Link service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
+
 	res := &http_model.LinkOpinionData{
 	res := &http_model.LinkOpinionData{
 		TaskID: Link.TaskID,
 		TaskID: Link.TaskID,
 	}
 	}
@@ -60,6 +66,11 @@ func (*link) AcceptLink(ctx context.Context, request http_model.AcceptLinkReques
 			logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
 			logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
 			return nil, err
 			return nil, err
 		}
 		}
+		err = db.CreateMessageByTaskId(ctx, 4, 1, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			return nil, err
+		}
 	}
 	}
 
 
 	res := &http_model.AcceptLinkData{
 	res := &http_model.AcceptLinkData{

+ 12 - 0
service/logistics.go

@@ -100,6 +100,12 @@ func (*logistics) Create(ctx context.Context, newLogistics http_model.CreateLogi
 		return nil, err
 		return nil, err
 	}
 	}
 
 
+	err = db.CreateMessageByTaskId(ctx, 8, 2, Logistics.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[logistics service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
+
 	res := &http_model.CreateLogisticsData{
 	res := &http_model.CreateLogisticsData{
 		LogisticsID: *logisticsID,
 		LogisticsID: *logisticsID,
 	}
 	}
@@ -201,6 +207,12 @@ func (*logistics) SignForReceipt(ctx *gin.Context, data http_model.SignForReceip
 			logrus.WithContext(ctx).Errorf("[logistics service] call CreateTaskLog error,err:%+v", err)
 			logrus.WithContext(ctx).Errorf("[logistics service] call CreateTaskLog error,err:%+v", err)
 			return err
 			return err
 		}
 		}
+
+		err = db.CreateMessageByTaskId(ctx, 9, 2, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[logistics service] call CreateMessageByTaskId error,err:%+v", err)
+			return err
+		}
 	}
 	}
 
 
 	return nil
 	return nil

+ 6 - 1
service/pay.go

@@ -2,9 +2,10 @@ package service
 
 
 import (
 import (
 	"context"
 	"context"
-	log "github.com/sirupsen/logrus"
 	"youngee_b_api/db"
 	"youngee_b_api/db"
 	"youngee_b_api/model/http_model"
 	"youngee_b_api/model/http_model"
+
+	log "github.com/sirupsen/logrus"
 )
 )
 
 
 var Pay *pay
 var Pay *pay
@@ -23,6 +24,10 @@ func (*pay) GetPaysum(ctx context.Context, project http_model.PaySumRequest) (*h
 		return nil, err
 		return nil, err
 	}
 	}
 	payMap := make(map[int]float64)
 	payMap := make(map[int]float64)
+	recruitStrategys, err := db.GetRecruitStrategyByProjectId(ctx, projectId)
+	for _, v := range recruitStrategys {
+		payMap[int(v.StrategyID)] = 0
+	}
 	PaySum := http_model.PaySumResponce{}
 	PaySum := http_model.PaySumResponce{}
 	if tasks != nil {
 	if tasks != nil {
 		for _, task := range tasks {
 		for _, task := range tasks {

+ 10 - 0
service/project.go

@@ -208,6 +208,7 @@ func (*project) Update(ctx context.Context, newProject http_model.UpdateProjectR
 		}
 		}
 	}
 	}
 	feeFroms := strings.Join(feeFrom, ",")
 	feeFroms := strings.Join(feeFrom, ",")
+	t := time.Now()
 	project := gorm_model.ProjectInfo{
 	project := gorm_model.ProjectInfo{
 		ProjectID:     newProject.ProjectID,
 		ProjectID:     newProject.ProjectID,
 		RecruitDdl:    &RecruitDdl,
 		RecruitDdl:    &RecruitDdl,
@@ -219,6 +220,7 @@ func (*project) Update(ctx context.Context, newProject http_model.UpdateProjectR
 		ProjectStatus: conv.MustInt64(newProject.ProjectStatus),
 		ProjectStatus: conv.MustInt64(newProject.ProjectStatus),
 		FeeForm:       feeFroms,
 		FeeForm:       feeFroms,
 		EstimatedCost: ECost,
 		EstimatedCost: ECost,
+		SubmitAt:      &t,
 	}
 	}
 	projectID, err := db.UpdateProject(ctx, project)
 	projectID, err := db.UpdateProject(ctx, project)
 	if err != nil {
 	if err != nil {
@@ -389,6 +391,7 @@ func (*project) GetPorjectDetail(ctx context.Context, projectID string) (*http_m
 		Phone:            user.Phone,
 		Phone:            user.Phone,
 		FinishAt:         util.GetTimePoionter(project.FinishAt),
 		FinishAt:         util.GetTimePoionter(project.FinishAt),
 		PassAt:           util.GetTimePoionter(project.PassAt),
 		PassAt:           util.GetTimePoionter(project.PassAt),
+		SubmitAt:         util.GetTimePoionter(project.SubmitAt),
 		PayAt:            util.GetTimePoionter(project.PayAt),
 		PayAt:            util.GetTimePoionter(project.PayAt),
 		ProductInfo:      conv.MustString(project.ProductSnap),
 		ProductInfo:      conv.MustString(project.ProductSnap),
 		ProductPhotoInfo: conv.MustString(project.ProductPhotoSnap),
 		ProductPhotoInfo: conv.MustString(project.ProductPhotoSnap),
@@ -472,6 +475,13 @@ func (*project) ChangeSpecialTaskStatus(ctx *gin.Context, data http_model.Projec
 		logrus.WithContext(ctx).Errorf("[project service] call ChangeSpecialTaskStatus error,err:%+v", err)
 		logrus.WithContext(ctx).Errorf("[project service] call ChangeSpecialTaskStatus error,err:%+v", err)
 		return err
 		return err
 	}
 	}
+	for _, taskId := range data.TaskIds {
+		err = db.CreateMessageByTaskId(ctx, 7, 2, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[project service] call CreateMessageByTaskId error,err:%+v", err)
+			return err
+		}
+	}
 	return nil
 	return nil
 }
 }
 
 

+ 16 - 0
service/project_pay.go

@@ -2,6 +2,7 @@ package service
 
 
 import (
 import (
 	"context"
 	"context"
+	"fmt"
 	"youngee_b_api/db"
 	"youngee_b_api/db"
 	"youngee_b_api/model/http_model"
 	"youngee_b_api/model/http_model"
 
 
@@ -69,5 +70,20 @@ func (*projectPay) Pay(ctx context.Context, projectPay http_model.ProjectPayRequ
 		}
 		}
 	}
 	}
 
 
+	// 插入消息-任务申请成功
+	taskIds, err := db.GetTaskIds(ctx, projectPay.ProjectID) // 获取任务id列表
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[projectPay service] call GetTaskIds error,err:%+v", err)
+		return nil, err
+	}
+	fmt.Printf("taskIds: %+v", taskIds)
+	for _, taskId := range taskIds {
+		err = db.CreateMessageByTaskId(ctx, 1, 1, taskId) // 插入消息
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[projectPay service] call CreateMessageByTaskId error,err:%+v", err)
+			return nil, err
+		}
+	}
+
 	return recordId, nil
 	return recordId, nil
 }
 }

+ 11 - 0
service/script.go

@@ -34,6 +34,12 @@ func (*script) ScriptOpinion(ctx context.Context, request http_model.ScriptOpini
 		return nil, err
 		return nil, err
 	}
 	}
 
 
+	err = db.CreateMessageByTaskId(ctx, 16, 3, Script.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Script service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
+
 	res := &http_model.ScriptOpinionData{
 	res := &http_model.ScriptOpinionData{
 		TaskID: Script.TaskID,
 		TaskID: Script.TaskID,
 	}
 	}
@@ -60,6 +66,11 @@ func (*script) AcceptScript(ctx context.Context, request http_model.AcceptScript
 			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
 			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
 			return nil, err
 			return nil, err
 		}
 		}
+		err = db.CreateMessageByTaskId(ctx, 2, 1, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			return nil, err
+		}
 	}
 	}
 
 
 	res := &http_model.AcceptScriptData{
 	res := &http_model.AcceptScriptData{

+ 12 - 0
service/sketch.go

@@ -36,6 +36,13 @@ func (*sketch) SketchOption(ctx context.Context, request http_model.SketchOpinio
 		logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
 		logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
 		return nil, err
 		return nil, err
 	}
 	}
+
+	err = db.CreateMessageByTaskId(ctx, 17, 3, Sketch.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Sketch service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
+
 	res := &http_model.SketchOpinionData{
 	res := &http_model.SketchOpinionData{
 		TaskID: Sketch.TaskID,
 		TaskID: Sketch.TaskID,
 	}
 	}
@@ -62,6 +69,11 @@ func (*sketch) AcceptSketch(ctx context.Context, request http_model.AcceptSketch
 			logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
 			logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
 			return nil, err
 			return nil, err
 		}
 		}
+		err = db.CreateMessageByTaskId(ctx, 3, 1, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			return nil, err
+		}
 	}
 	}
 
 
 	res := &http_model.AcceptSketchData{
 	res := &http_model.AcceptSketchData{

+ 1 - 1
service/terminate.go

@@ -15,7 +15,7 @@ var Terminate *terminate
 type terminate struct {
 type terminate struct {
 }
 }
 
 
-// TaskTerminate 同意初稿
+// TaskTerminate 解约申请
 func (*terminate) TaskTerminate(ctx context.Context, request http_model.TaskTerminateRequest) (*http_model.TaskTerminateData, error) {
 func (*terminate) TaskTerminate(ctx context.Context, request http_model.TaskTerminateRequest) (*http_model.TaskTerminateData, error) {
 	var TaskIDList []string
 	var TaskIDList []string
 	TaskIDs := strings.Split(request.TaskIds, ",")
 	TaskIDs := strings.Split(request.TaskIds, ",")