Explorar o código

Merge remote-tracking branch 'origin/new_yf' into develop

yuliang1112 %!s(int64=2) %!d(string=hai) anos
pai
achega
5c50221f9c
Modificáronse 55 ficheiros con 450 adicións e 829 borrados
  1. 0 3
      .idea/watcherTasks.xml
  2. 0 34
      consts/project.go
  3. 6 12
      db/data.go
  4. 17 49
      db/default.go
  5. 2 2
      db/finance.go
  6. 6 13
      db/finish.go
  7. 6 13
      db/link.go
  8. 14 32
      db/logistics.go
  9. 0 33
      db/number_info.go
  10. 129 366
      db/operate.go
  11. 2 6
      db/project.go
  12. 8 14
      db/script.go
  13. 6 12
      db/sketch.go
  14. 5 4
      db/terminate.go
  15. 1 1
      dockerfile
  16. 59 0
      handler/logistics_number_info.go
  17. 5 4
      handler/project_update.go
  18. 6 5
      handler/task_data_list.go
  19. 6 1
      handler/task_default_data_list.go
  20. 6 1
      handler/task_default_review_list.go
  21. 2 1
      handler/task_finish_list.go
  22. 6 5
      handler/task_link_list.go
  23. 13 12
      handler/task_logistics_list.go
  24. 6 5
      handler/task_script_list.go
  25. 13 12
      handler/task_sketch_list.go
  26. 6 1
      handler/task_terminated_list.go
  27. 6 1
      handler/task_terminating_list.go
  28. 1 1
      model/common_model/talent_condition.go
  29. 25 13
      model/gorm_model/recruit_strategy.go
  30. 2 2
      model/gorm_model/task_logistic.go
  31. 2 2
      model/gorm_model/withdraw_info.go
  32. 2 2
      model/http_model/WithDrawalRecordsRequest.go
  33. 7 6
      model/http_model/project_create.go
  34. 7 6
      model/http_model/project_update.go
  35. 1 1
      model/http_model/task_data.go
  36. 1 1
      model/http_model/task_default_data.go
  37. 1 1
      model/http_model/task_default_review.go
  38. 1 1
      model/http_model/task_finish.go
  39. 1 1
      model/http_model/task_link.go
  40. 1 1
      model/http_model/task_script.go
  41. 1 1
      model/http_model/task_sketch.go
  42. 1 1
      model/http_model/task_terminated.go
  43. 1 1
      model/http_model/task_terminating.go
  44. 3 2
      pack/task_data_list_conditions.go
  45. 6 5
      pack/task_default_list_conditions.go
  46. 3 2
      pack/task_finish_list_conditions.go
  47. 3 2
      pack/task_link_list_conditions.go
  48. 3 2
      pack/task_logistics_list_conditions.go
  49. 3 2
      pack/task_script_list_conditions.go
  50. 3 2
      pack/task_sketch_list_conditions.go
  51. 3 1
      route/init.go
  52. 7 24
      service/auto_task.go
  53. 0 98
      service/kuaiDi100.go
  54. 17 1
      service/number_info.go
  55. 8 5
      service/project.go

+ 0 - 3
.idea/watcherTasks.xml

@@ -25,8 +25,5 @@
         <env name="PATH" value="$GoBinDirs$" />
       </envs>
     </TaskOptions>
-    <enabled-global>
-      <option value="go fmt" />
-    </enabled-global>
   </component>
 </project>

+ 0 - 34
consts/project.go

@@ -202,37 +202,3 @@ func GetRechargeMethod(method int64) string {
 	}
 	return "未知"
 }
-
-var KD100Flags = map[string]string{
-	"圆通":     "yuantong",
-	"韵达":     "yunda",
-	"申通":     "shentong",
-	"中通":     "zhongtong",
-	"顺丰":     "shunfeng",
-	"极兔":     "jtexpress",
-	"邮政":     "youzhengguonei",
-	"EMS":    "ems",
-	"京东":     "jd",
-	"邮政标准快递": "youzhengbk",
-	"丰网速运":   "fengwang",
-	"德邦快递":   "debangkuaidi",
-	"德邦":     "debangwuliu",
-	"丹鸟":     "danniao",
-	"飞豹快递":   "feibaokuaidi",
-	"中通快运":   "zhongtongkuaiyun",
-	"安能快运":   "annengwuliu",
-	"百世快递":   "huitongkuaidi",
-	"安得物流":   "annto",
-	"跨越速运":   "kuayue",
-	"特急送":    "lntjs",
-	"宅急送":    "zhaijisong",
-	"other":  "其它快递",
-}
-
-func GetKD(Kd string) string {
-	toast, contain := KD100Flags[Kd]
-	if contain {
-		return toast
-	}
-	return "未知"
-}

+ 6 - 12
db/data.go

@@ -3,8 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
 	"reflect"
 	"strings"
 	"time"
@@ -13,6 +11,9 @@ import (
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
 )
 
 // GetTaskDataList 查询上传链接的task list
@@ -41,17 +42,8 @@ func GetTaskDataList(ctx context.Context, projectID string, pageSize, pageNum in
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
+			} else if tag == "project_id" || tag == "strategy_id" {
 				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
 			}
 		}
 	}
@@ -127,6 +119,8 @@ func GetTaskDataList(ctx context.Context, projectID string, pageSize, pageNum in
 			newTaskDatas = append(newTaskDatas, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskDatas = append(newTaskDatas, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskDatas = append(newTaskDatas, v)
 		} else {
 			totalTask--
 		}

+ 17 - 49
db/default.go

@@ -3,8 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
 	"reflect"
 	"strings"
 	"youngee_m_api/consts"
@@ -13,6 +11,9 @@ import (
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
 )
 
 func CountDefaultNum(ctx context.Context) (error, *http_model.CountNumOfDefaultsResponse) {
@@ -406,23 +407,12 @@ func GetTaskDefaultReviewList(ctx context.Context, projectID string, pageSize, p
 				db = db.Where("cur_default_type = 5")
 			}
 			continue
-		}
-		if !util.IsBlank(value) {
-			logrus.Println("tag: ", tag)
+		} else if !util.IsBlank(value) {
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
+			} else if tag == "project_id" || tag == "strategy_id" {
 				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
 			}
 		}
 	}
@@ -491,6 +481,8 @@ func GetTaskDefaultReviewList(ctx context.Context, projectID string, pageSize, p
 			newTaskDefaultReviews = append(newTaskDefaultReviews, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskDefaultReviews = append(newTaskDefaultReviews, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskDefaultReviews = append(newTaskDefaultReviews, v)
 		} else {
 			totalTask--
 		}
@@ -516,21 +508,11 @@ func GetTaskDefaultDataList(ctx context.Context, projectID string, pageSize, pag
 			}
 			continue
 		} else if !util.IsBlank(value) {
-			logrus.Println("tag: ", tag)
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
+			} else if tag == "project_id" || tag == "strategy_id" {
 				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
 			}
 		}
 	}
@@ -605,6 +587,8 @@ func GetTaskDefaultDataList(ctx context.Context, projectID string, pageSize, pag
 			newTaskDefaultDatas = append(newTaskDefaultDatas, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskDefaultDatas = append(newTaskDefaultDatas, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskDefaultDatas = append(newTaskDefaultDatas, v)
 		} else {
 			totalTask--
 		}
@@ -652,21 +636,11 @@ func GetTaskTerminatingList(ctx context.Context, projectID string, pageSize, pag
 			}
 			continue
 		} else if !util.IsBlank(value) {
-			logrus.Println("tag: ", tag)
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
-				db1 = db1.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db1 = db1.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db1 = db1.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
+			} else if tag == "project_id" || tag == "strategy_id" {
+				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
 			}
 		}
 	}
@@ -722,6 +696,8 @@ func GetTaskTerminatingList(ctx context.Context, projectID string, pageSize, pag
 			newTaskTerminatings = append(newTaskTerminatings, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskTerminatings = append(newTaskTerminatings, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskTerminatings = append(newTaskTerminatings, v)
 		} else {
 			totalTask--
 		}
@@ -748,21 +724,11 @@ func GetTaskTerminatedList(ctx context.Context, projectID string, pageSize, page
 			}
 			continue
 		} else if !util.IsBlank(value) {
-			logrus.Println("tag: ", tag)
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
+			} else if tag == "project_id" || tag == "strategy_id" {
 				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
 			}
 		}
 	}
@@ -838,6 +804,8 @@ func GetTaskTerminatedList(ctx context.Context, projectID string, pageSize, page
 			newTaskTerminateds = append(newTaskTerminateds, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskTerminateds = append(newTaskTerminateds, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskTerminateds = append(newTaskTerminateds, v)
 		} else {
 			totalTask--
 		}

+ 2 - 2
db/finance.go

@@ -75,8 +75,8 @@ func GetWithdrawRecords(ctx context.Context, pageSize, pageNum int32, req *http_
 		withdrawRecordsData.WithdrawId = withdrawRecord.WithdrawID
 		withdrawRecordsData.TalentId = withdrawRecord.TalentID
 		withdrawRecordsData.TalentName = talentIdToTalentInfoMap[withdrawRecord.TalentID].TalentWxNickname
-		withdrawRecordsData.WithdrawAmount = withdrawRecord.WithdrawAmount
-		withdrawRecordsData.AmountPayable = withdrawRecord.AmountPayable
+		withdrawRecordsData.WithdrawAmount = float32(withdrawRecord.WithdrawAmount)
+		withdrawRecordsData.AmountPayable = float32(withdrawRecord.AmountPayable)
 		withdrawRecordsData.ReceiveInfo = withdrawRecord.ReceiveInfo
 		withdrawRecordsData.BankType = withdrawRecord.BankType
 		withdrawRecordsData.Phone = talentIdToTalentInfoMap[withdrawRecord.TalentID].TalentPhoneNumber

+ 6 - 13
db/finish.go

@@ -3,8 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
 	"reflect"
 	"strings"
 	"youngee_m_api/model/common_model"
@@ -12,6 +10,9 @@ import (
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
 )
 
 func GetTaskFinishList(ctx context.Context, projectID string, pageSize, pageNum int64, conditions *common_model.TalentConditions) ([]*http_model.TaskFinishInfo, int64, error) {
@@ -27,21 +28,11 @@ func GetTaskFinishList(ctx context.Context, projectID string, pageSize, pageNum
 		tag := field.Tag.Get("condition")
 		value := conditionValue.FieldByName(field.Name)
 		if !util.IsBlank(value) {
-			logrus.Println("tag: ", tag)
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
+			} else if tag == "project_id" || tag == "strategy_id" {
 				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
 			}
 		}
 	}
@@ -123,6 +114,8 @@ func GetTaskFinishList(ctx context.Context, projectID string, pageSize, pageNum
 			newTaskFinishs = append(newTaskFinishs, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskFinishs = append(newTaskFinishs, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskFinishs = append(newTaskFinishs, v)
 		} else {
 			totalTask--
 		}

+ 6 - 13
db/link.go

@@ -3,8 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
 	"reflect"
 	"strings"
 	"time"
@@ -13,6 +11,9 @@ import (
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
 )
 
 // GetTaskLinkList 查询上传链接的task list
@@ -37,21 +38,11 @@ func GetTaskLinkList(ctx context.Context, projectID string, pageSize, pageNum in
 			}
 			continue
 		} else if !util.IsBlank(value) {
-			logrus.Println("tag: ", tag)
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
+			} else if tag == "project_id" || tag == "strategy_id" {
 				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
 			}
 		}
 	}
@@ -119,6 +110,8 @@ func GetTaskLinkList(ctx context.Context, projectID string, pageSize, pageNum in
 			newTaskLinks = append(newTaskLinks, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskLinks = append(newTaskLinks, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskLinks = append(newTaskLinks, v)
 		} else {
 			totalTask--
 		}

+ 14 - 32
db/logistics.go

@@ -3,8 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
 	"reflect"
 	"strings"
 	"time"
@@ -13,6 +11,9 @@ import (
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
 )
 
 //新增
@@ -63,24 +64,15 @@ func GetTaskLogisticsList(ctx context.Context, projectID string, pageSize, pageN
 		tag := field.Tag.Get("condition")
 		value := conditionValue.FieldByName(field.Name)
 		if !util.IsBlank(value) {
-			//logrus.Println("tag: ", tag)
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
-				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
 			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
+				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
 			}
 		}
 	}
+
 	var taskInfos []gorm_model.YoungeeTaskInfo
 	db = db.Model(gorm_model.YoungeeTaskInfo{})
 	// 查询总数
@@ -98,22 +90,11 @@ func GetTaskLogisticsList(ctx context.Context, projectID string, pageSize, pageN
 		taskIds = append(taskIds, taskInfo.TaskId)
 		taskMap[taskInfo.TaskId] = taskInfo
 	}
-	db1 := GetReadDB(ctx)
-	db1 = db1.Debug().Model(gorm_model.YoungeeTaskLogistics{})
 
-	// 根据Project条件过滤
-	conditionType2 := reflect.TypeOf(conditions).Elem()
-	conditionValue2 := reflect.ValueOf(conditions).Elem()
-	for i := 0; i < conditionType2.NumField(); i++ {
-		field := conditionType2.Field(i)
-		tag := field.Tag.Get("condition")
-		value := conditionValue2.FieldByName(field.Name)
-		//fmt.Printf("过滤展示 %+v %+v \n", value, tag)
-		if !util.IsBlank(value) && tag == "platform_nickname" { // input:1		taskIdsbase:1,2,3    string
-			db1 = db1.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-		}
-	}
+	// 查询物流信息
 	var logisticsInfos []gorm_model.YoungeeTaskLogistics
+	db1 := GetReadDB(ctx)
+	db1 = db1.Debug().Model(gorm_model.YoungeeTaskLogistics{})
 	db1 = db1.Model(gorm_model.YoungeeTaskLogistics{}).Where("task_id IN ?", taskIds).Find(&logisticsInfos)
 	logisticsMap := make(map[int]gorm_model.YoungeeTaskLogistics)
 	for _, logisticsInfo := range logisticsInfos {
@@ -137,7 +118,7 @@ func GetTaskLogisticsList(ctx context.Context, projectID string, pageSize, pageN
 
 	var TaskLogisticss []*http_model.TaskLogistics
 	var taskLogisticss []*http_model.TaskLogisticsInfo
-	var newTaskLinks []*http_model.TaskLogisticsInfo
+	var newTaskLogisticss []*http_model.TaskLogisticsInfo
 	for _, taskId := range taskIds {
 		TaskLogistics := new(http_model.TaskLogistics)
 		TaskLogistics.Talent = taskMap[taskId]
@@ -149,15 +130,16 @@ func GetTaskLogisticsList(ctx context.Context, projectID string, pageSize, pageN
 
 	for _, v := range taskLogisticss {
 		if platform_nickname == "" {
-			newTaskLinks = append(newTaskLinks, v)
+			newTaskLogisticss = append(newTaskLogisticss, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
-			newTaskLinks = append(newTaskLinks, v)
+			newTaskLogisticss = append(newTaskLogisticss, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskLogisticss = append(newTaskLogisticss, v)
 		} else {
 			totalTask--
 		}
 	}
-	// return fulltaskLogisticss, total, nil
-	return newTaskLinks, totalTask, nil
+	return newTaskLogisticss, totalTask, nil
 }
 
 // 修改任务表的物流状态

+ 0 - 33
db/number_info.go

@@ -2,9 +2,6 @@ package db
 
 import (
 	"context"
-	"fmt"
-	"strconv"
-	"time"
 	"youngee_m_api/model/gorm_model"
 	"youngee_m_api/model/http_model"
 
@@ -213,33 +210,3 @@ func GetFinishNumberInfo(ctx context.Context, projectId int64, strategyIds []int
 	}
 	return &FinishNumberInfoDataList, nil
 }
-
-func GetLogisticsNum() [][]string {
-	var logisticNumsInfos [][]string
-	db := GetReadDB(context.Background())
-	var logisticInfos []*gorm_model.YoungeeTaskLogistics
-	db.Model(gorm_model.YoungeeTaskLogistics{}).Where("things_type = 1 AND status = 0").Find(&logisticInfos)
-	for _, logisticInfo := range logisticInfos {
-		var logisticNumsInfo []string
-		logisticNumsInfo = append(logisticNumsInfo, logisticInfo.CompanyName, logisticInfo.LogisticsNumber, strconv.FormatInt(logisticInfo.LogisticsID, 10))
-		logisticNumsInfos = append(logisticNumsInfos, logisticNumsInfo)
-	}
-	fmt.Println("logisticNumsInfos:", logisticNumsInfos)
-	return logisticNumsInfos
-}
-
-func SignLogistic(logisticId int64) {
-	db := GetReadDB(context.Background())
-	var taskId, projectId, contentType int64
-	db.Model(gorm_model.YoungeeTaskLogistics{}).Select("task_id").Where("logistics_id = ?", logisticId).Find(&taskId)
-	db.Model(gorm_model.YoungeeTaskInfo{}).Select("project_id").Where("task_id = ?", taskId).Find(&projectId)
-	db.Model(gorm_model.ProjectInfo{}).Select("content_type").Where("project_id = ?", projectId).Find(&contentType)
-	db.Model(gorm_model.YoungeeTaskLogistics{}).Where("logistics_id = ?", logisticId).Updates(&gorm_model.YoungeeTaskLogistics{SignedTime: time.Now(), Status: 1})
-	if contentType == 1 {
-		db.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).Updates(&gorm_model.YoungeeTaskInfo{LogisticsStatus: 3, TaskStage: 9})
-		fmt.Printf("任务 %v 物流状态为已签收,已更新任务状态为 待传初稿\n", taskId)
-	} else {
-		db.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).Updates(&gorm_model.YoungeeTaskInfo{LogisticsStatus: 3, TaskStage: 7})
-		fmt.Printf("任务 %v 物流状态为已签收,已更新任务状态为 待传脚本\n", taskId)
-	}
-}

+ 129 - 366
db/operate.go

@@ -3,18 +3,17 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
-	"github.com/tidwall/gjson"
-	"gorm.io/gorm"
 	"log"
 	"reflect"
-	"strconv"
 	"time"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/gorm_model"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
+	"gorm.io/gorm"
 )
 
 func CreatePricingStrategy(ctx context.Context, req *http_model.AddPricingRequest) (string, string, error) {
@@ -307,7 +306,7 @@ func GetSignInOfflineTask(projectForm int32) error {
 		signedTaskId = append(signedTaskId, logisticInfo.TaskID)
 		if logisticInfo.SignedTime.IsZero() {
 			db6 := GetReadDB(context.Background())
-			db6.Model(gorm_model.YoungeeTaskLogistics{}).Where("logistics_id = ?", logisticInfo.LogisticsID).Updates(&gorm_model.YoungeeTaskLogistics{SignedTime: time.Now()})
+			db6.Model(gorm_model.YoungeeTaskLogistics{}).Where("logistics_id = ?", logisticInfo.LogisticsID).Updates(&gorm_model.YoungeeTaskLogistics{SignedTime: time.Now(), Status: 1})
 			fmt.Println("已更新签收时间")
 		}
 	}
@@ -337,8 +336,6 @@ func GetAutoReviewTask(contentType int32) error {
 	db := GetReadDB(context.Background())
 	var projectInfos []*gorm_model.ProjectInfo
 	if contentType == 2 {
-		// 项目内容形式为视频
-		// 1. 补全scriptInfo表中的自动审核脚本时间
 		err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ? AND content_type = ?", 1, contentType).Find(&projectInfos).Error
 		if err != nil {
 			return err
@@ -350,6 +347,8 @@ func GetAutoReviewTask(contentType int32) error {
 			projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 		}
 		//fmt.Println("projectIds:", projectIds)
+		TaskIdToProjectId := make(map[int]int)
+		var taskId []int
 		db1 := GetReadDB(context.Background())
 		for _, projectId := range projectIds {
 			// 获取 autoTaskId 及其对应的限制时间、
@@ -360,65 +359,50 @@ func GetAutoReviewTask(contentType int32) error {
 			//fmt.Println("t:", autoTaskInfo.ReviewInMv)
 			// 获取 projectId 对应的 taskId 及添加脚本自动审核时间
 			var taskInfos []gorm_model.YoungeeTaskInfo
-			db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2", projectId).Find(&taskInfos)
+			db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId).Find(&taskInfos)
 			for _, taskInfo := range taskInfos {
 				//fmt.Println("TaskID:", taskInfo.TaskId)
+				taskId = append(taskId, taskInfo.TaskId)
+				TaskIdToProjectId[taskInfo.TaskId] = int(projectId)
 				db2 := GetReadDB(context.Background())
 				var scriptInfos gorm_model.YounggeeScriptInfo
 				db2.Model(gorm_model.YounggeeScriptInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&scriptInfos)
 				dd, _ := time.ParseDuration(conv.MustString(ReviewInMv, "") + "h")
-				if scriptInfos.AutoAgreeAt.IsZero() {
+				if scriptInfos.AutoAgreeAt.IsZero() && scriptInfos.IsSubmit == 1 {
 					db3 := GetReadDB(context.Background())
 					db3.Model(gorm_model.YounggeeScriptInfo{}).Where("task_id = ?", taskInfo.TaskId).Updates(&gorm_model.YounggeeScriptInfo{AutoAgreeAt: scriptInfos.SubmitAt.Add(dd)})
 					fmt.Println("已添加脚本自动审核时间")
 				}
 			}
 		}
+		//fmt.Println("TaskIdToProjectId:", TaskIdToProjectId)
 		//fmt.Println("taskId:", taskId)
 
-		// 2. 查询scriptInfo表中应该被自动审稿的脚本
-		var newScriptInfos []gorm_model.YounggeeScriptInfo
-		db3 := GetReadDB(context.Background())
-		err = db3.Model(gorm_model.YounggeeScriptInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Find(&newScriptInfos).Error
-		if err != nil {
-			log.Println("DB GetAutoReviewTask error in script:", err)
-			return err
-		}
-		// 记录其task_id
-		var taskIds []int
-		for _, scriptInfo := range newScriptInfos {
-			taskIds = append(taskIds, scriptInfo.TaskID)
-		}
-		// 3. 执行审核脚本操作
-		// 1). 更新scriptInfo表
+		var scriptInfos []gorm_model.YounggeeScriptInfo
 		db4 := GetReadDB(context.Background())
-		err = db4.Model(gorm_model.YounggeeScriptInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Updates(
-			&gorm_model.YounggeeScriptInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1}).Error
-		if err != nil {
-			log.Println("DB GetAutoReviewTask error in script:", err)
-			return err
-		}
-		var num int64
-		db4.Model(gorm_model.YounggeeScriptInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Count(&num)
-		if num != 0 {
-			fmt.Println("自动审核脚本:已更新scriptInfo表")
-		}
-		// 2).更新taskInfo表
-		db5 := GetReadDB(context.Background())
-		err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", taskIds).Updates(
-			&gorm_model.YoungeeTaskInfo{ScriptStatus: 5, TaskStage: 9}).Error
+		err = db4.Model(gorm_model.YounggeeScriptInfo{}).Where("auto_agree_at <= ? AND task_id IN ?", time.Now(), taskId).Find(&scriptInfos).Error
 		if err != nil {
-			log.Println("DB GetAutoReviewTask error in script:", err)
+			log.Println("DB GetAutoReviewTask error in script :", err)
 			return err
 		}
-		if len(taskIds) != 0 {
-			fmt.Println("以下任务状态需要变更:", taskIds)
-			fmt.Println("自动审核脚本:已更新taskInfo表,任务阶段为待传链接 及脚本上传状态为已通过")
+		for _, scriptInfo := range scriptInfos {
+			if scriptInfo.IsReview == 0 && scriptInfo.IsSubmit == 1 {
+				db7 := GetReadDB(context.Background())
+				db7.Model(gorm_model.YounggeeScriptInfo{}).Where("script_id = ?", scriptInfo.ScriptID).Updates(&gorm_model.YounggeeScriptInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1})
+				fmt.Println("已更新脚本同意时间 及脚本审核状态")
+
+				taskStatusNeedMod := gorm_model.YoungeeTaskInfo{}
+				db6 := GetReadDB(context.Background())
+				db6.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", scriptInfo.TaskID).Find(&taskStatusNeedMod)
+				if (taskStatusNeedMod.ScriptStatus == 2 || taskStatusNeedMod.ScriptStatus == 4) && taskStatusNeedMod.TaskStage == 8 {
+					db8 := GetReadDB(context.Background())
+					db8.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", scriptInfo.TaskID).Updates(&gorm_model.YoungeeTaskInfo{ScriptStatus: 5, TaskStage: 9})
+					fmt.Println("已更新任务阶段为待传初稿 及脚本上传状态为已通过")
+				}
+			}
 		}
 		return nil
 	} else {
-		// 项目内容形式为图文
-		// 1. 补全sketchInfo表中的自动审核初稿时间
 		err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ? ", 1).Find(&projectInfos).Error
 		if err != nil {
 			return err
@@ -430,6 +414,8 @@ func GetAutoReviewTask(contentType int32) error {
 			projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 		}
 		//fmt.Println("projectIds:", projectIds)
+		TaskIdToProjectId := make(map[int]int)
+		var taskId []int
 		db1 := GetReadDB(context.Background())
 		for _, projectId := range projectIds {
 			// 获取 autoTaskId 及其对应的限制时间、
@@ -439,66 +425,52 @@ func GetAutoReviewTask(contentType int32) error {
 			dbStart.Model(gorm_model.InfoAutoTask{}).Select("review_unlimited").Where("auto_task_id = ?", autoTaskId).First(&ReviewUnlimited)
 			//fmt.Println("t:", autoTaskInfo.ReviewUnlimited)
 			var taskInfos []gorm_model.YoungeeTaskInfo
-			db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2", projectId).Find(&taskInfos)
+			db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId).Find(&taskInfos)
 			for _, taskInfo := range taskInfos {
+				TaskIdToProjectId[taskInfo.TaskId] = int(projectId)
+				taskId = append(taskId, taskInfo.TaskId)
 				db2 := GetReadDB(context.Background())
-				var sketchInfo gorm_model.YounggeeSketchInfo
-				db2.Model(gorm_model.YounggeeSketchInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&sketchInfo)
+				var scriptInfos gorm_model.YounggeeSketchInfo
+				db2.Model(gorm_model.YounggeeSketchInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&scriptInfos)
 				dd, _ := time.ParseDuration(conv.MustString(ReviewUnlimited, "") + "h")
-				if sketchInfo.AutoAgreeAt.IsZero() {
+				if scriptInfos.AutoAgreeAt.IsZero() && scriptInfos.IsSubmit == 1 {
 					db3 := GetReadDB(context.Background())
-					db3.Model(gorm_model.YounggeeSketchInfo{}).Where("task_id = ?", sketchInfo.TaskID).Updates(&gorm_model.YounggeeSketchInfo{
-						AutoAgreeAt: sketchInfo.SubmitAt.Add(dd),
-					})
+					db3.Model(gorm_model.YounggeeSketchInfo{}).Where("task_id = ?", scriptInfos.TaskID).Updates(&gorm_model.YounggeeSketchInfo{AutoAgreeAt: scriptInfos.SubmitAt.Add(dd)})
 					fmt.Println("已添加初稿自动审核时间")
 				}
 			}
 		}
-		// 2. 查询sketchInfo表中应该被自动审稿的初稿
-		var newSketchInfos []gorm_model.YounggeeSketchInfo
+
+		//fmt.Println("TaskIdToProjectId:", TaskIdToProjectId)
+		//fmt.Println("taskId:", taskId)
+
+		var sketchInfos []gorm_model.YounggeeSketchInfo
 		db3 := GetReadDB(context.Background())
-		err = db3.Model(gorm_model.YounggeeSketchInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Find(&newSketchInfos).Error
-		if err != nil {
-			log.Println("DB GetAutoReviewTask error in sketch:", err)
-			return err
-		}
-		// 记录其task_id
-		var taskIds []int
-		for _, sketchInfo := range newSketchInfos {
-			taskIds = append(taskIds, sketchInfo.TaskID)
-		}
-		// 3. 执行审核初稿操作
-		// 1). 更新sketchInfo表
-		db4 := GetReadDB(context.Background())
-		err = db4.Model(gorm_model.YounggeeSketchInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Updates(
-			&gorm_model.YounggeeSketchInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1}).Error
-		if err != nil {
-			log.Println("DB GetAutoReviewTask error in sketch:", err)
-			return err
-		}
-		var num int64
-		db4.Model(gorm_model.YounggeeSketchInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Count(&num)
-		if num != 0 {
-			fmt.Println("自动审核初稿:已更新sketchInfo表")
-		}
-		// 2).更新taskInfo表
-		db5 := GetReadDB(context.Background())
-		err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", taskIds).Updates(
-			&gorm_model.YoungeeTaskInfo{SketchStatus: 5, TaskStage: 11}).Error
+		err = db3.Model(gorm_model.YounggeeSketchInfo{}).Where("auto_agree_at <= ? AND task_id IN ?", time.Now(), taskId).Find(&sketchInfos).Error
 		if err != nil {
 			log.Println("DB GetAutoReviewTask error in sketch:", err)
 			return err
 		}
-		if len(taskIds) != 0 {
-			fmt.Println("以下任务状态需要变更:", taskIds)
-			fmt.Println("自动审核初稿:已更新taskInfo表,任务阶段为待传链接 及初稿上传状态为已通过")
+		for _, sketchInfo := range sketchInfos {
+			if sketchInfo.IsReview != 1 && sketchInfo.IsSubmit == 1 {
+				db6 := GetReadDB(context.Background())
+				db6.Model(gorm_model.YounggeeSketchInfo{}).Where("sketch_id = ?", sketchInfo.SketchID).Updates(&gorm_model.YounggeeSketchInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1})
+				fmt.Println("已更新初稿审核同意时间")
+				sketchNeedMod := gorm_model.YoungeeTaskInfo{}
+				db5 := GetReadDB(context.Background())
+				db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", sketchInfo.TaskID).Find(&sketchNeedMod)
+				if (sketchNeedMod.SketchStatus == 2 || sketchNeedMod.SketchStatus == 4) && sketchNeedMod.TaskStage == 10 {
+					db7 := GetReadDB(context.Background())
+					db7.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", sketchInfo.TaskID).Updates(&gorm_model.YoungeeTaskInfo{SketchStatus: 5, TaskStage: 11})
+					fmt.Println("已更新任务阶段为待传链接 及初稿上传状态为已通过")
+				}
+			}
 		}
 		return nil
 	}
 }
 
 func GetAutoPostReviewTask() error {
-	// 1. 补全linkInfo表中的自动审核链接时间
 	db := GetReadDB(context.Background())
 	var projectInfos []*gorm_model.ProjectInfo
 	err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ? ", 1).Find(&projectInfos).Error
@@ -512,6 +484,8 @@ func GetAutoPostReviewTask() error {
 		projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 	}
 	//fmt.Println("projectIds:", projectIds)
+	TaskIdToProjectId := make(map[int]int)
+	var taskId []int
 	db1 := GetReadDB(context.Background())
 	for _, projectId := range projectIds {
 		// 获取 autoTaskId 及其对应的限制时间、
@@ -521,8 +495,10 @@ func GetAutoPostReviewTask() error {
 		dbStart.Model(gorm_model.InfoAutoTask{}).Select("postreview").Where("auto_task_id = ?", autoTaskId).First(&Postreview)
 		//fmt.Println("t:", autoTaskInfo.Postreview)
 		var taskInfos []gorm_model.YoungeeTaskInfo
-		db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2", projectId).Find(&taskInfos)
+		db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId).Find(&taskInfos)
 		for _, taskInfo := range taskInfos {
+			TaskIdToProjectId[taskInfo.TaskId] = int(projectId)
+			taskId = append(taskId, taskInfo.TaskId)
 			db2 := GetReadDB(context.Background())
 			var linkInfos gorm_model.YounggeeLinkInfo
 			db2.Model(gorm_model.YounggeeLinkInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&linkInfos)
@@ -534,51 +510,32 @@ func GetAutoPostReviewTask() error {
 			}
 		}
 	}
-
-	// 2. 查询linkInfo表中应该被自动审稿的链接
-	var newLinkInfos []gorm_model.YounggeeLinkInfo
+	var linkInfos []gorm_model.YounggeeLinkInfo
 	db3 := GetReadDB(context.Background())
-	err = db3.Model(gorm_model.YounggeeLinkInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Find(&newLinkInfos).Error
+	err = db3.Model(gorm_model.YounggeeLinkInfo{}).Where("auto_agree_at <= ? AND task_id IN ?", time.Now(), taskId).Find(&linkInfos).Error
 	if err != nil {
-		log.Println("DB GetAutoPostReviewTask error in link:", err)
+		log.Println("DB GetAutoPostReviewTask error in sketch:", err)
 		return err
 	}
-	// 记录其task_id
-	var taskIds []int
-	for _, linkInfo := range newLinkInfos {
-		taskIds = append(taskIds, linkInfo.TaskID)
-	}
-	// 3. 执行审核链接操作
-	// 1). 更新linkInfo表
-	db4 := GetReadDB(context.Background())
-	err = db4.Model(gorm_model.YounggeeLinkInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Updates(
-		&gorm_model.YounggeeLinkInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1}).Error
-	if err != nil {
-		log.Println("DB GetAutoPostReviewTask error in link:", err)
-		return err
-	}
-	var num int64
-	db4.Model(gorm_model.YounggeeLinkInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Count(&num)
-	if num != 0 {
-		fmt.Println("自动审核链接:已更新linkInfo表")
-	}
-	// 2).更新taskInfo表
-	db5 := GetReadDB(context.Background())
-	err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", taskIds).Updates(
-		&gorm_model.YoungeeTaskInfo{LinkStatus: 5, TaskStage: 13}).Error
-	if err != nil {
-		log.Println("DB GetAutoPostReviewTask error in link:", err)
-		return err
-	}
-	if len(taskIds) != 0 {
-		fmt.Println("以下任务状态需要变更:", taskIds)
-		fmt.Println("自动审核链接:已更新taskInfo表,任务阶段为待传链接 及链接上传状态为已通过")
+	for _, linkInfo := range linkInfos {
+		if linkInfo.IsReview != 1 && linkInfo.IsSubmit == 1 {
+			db6 := GetReadDB(context.Background())
+			db6.Model(gorm_model.YounggeeLinkInfo{}).Where("link_id = ?", linkInfo.LinkID).Updates(&gorm_model.YounggeeLinkInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1})
+			fmt.Println("已更新链接审核同意时间")
+			linkNeedMod := gorm_model.YoungeeTaskInfo{}
+			db5 := GetReadDB(context.Background())
+			db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", linkInfo.TaskID).Find(&linkNeedMod)
+			if (linkNeedMod.LinkStatus == 2 || linkNeedMod.LinkStatus == 4) && linkNeedMod.TaskStage == 12 {
+				db7 := GetReadDB(context.Background())
+				db7.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", linkInfo.TaskID).Updates(&gorm_model.YoungeeTaskInfo{LinkStatus: 5, TaskStage: 13})
+				fmt.Println("已更新任务阶段为待传数据 及 链接上传状态为已通过")
+			}
+		}
 	}
 	return nil
 }
 
 func GetAutoCaseCloseTask() error {
-	// 1. 补全dataInfo表中的自动审核数据时间
 	db := GetReadDB(context.Background())
 	var projectInfos []*gorm_model.ProjectInfo
 	err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ? ", 1).Find(&projectInfos).Error
@@ -592,17 +549,21 @@ func GetAutoCaseCloseTask() error {
 		projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 	}
 	//fmt.Println("projectIds:", projectIds)
+	TaskIdToProjectId := make(map[int]int)
+	var taskId []int
 	db1 := GetReadDB(context.Background())
 	for _, projectId := range projectIds {
-		// 获取 autoTaskId 及其对应的限制时间
+		// 获取 autoTaskId 及其对应的限制时间
 		autoTaskId := projectIdToAutoTaskIdMap[projectId]
 		dbStart := GetReadDB(context.Background())
 		var CaseClose int32
 		dbStart.Model(gorm_model.InfoAutoTask{}).Select("case_close").Where("auto_task_id = ?", autoTaskId).First(&CaseClose)
 		//fmt.Println("t:", autoTaskInfo.CaseClose)
 		var taskInfos []gorm_model.YoungeeTaskInfo
-		db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2", projectId).Find(&taskInfos)
+		db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId).Find(&taskInfos)
 		for _, taskInfo := range taskInfos {
+			TaskIdToProjectId[taskInfo.TaskId] = int(projectId)
+			taskId = append(taskId, taskInfo.TaskId)
 			db2 := GetReadDB(context.Background())
 			var dataInfos gorm_model.YounggeeDataInfo
 			db2.Model(gorm_model.YounggeeDataInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&dataInfos)
@@ -610,81 +571,31 @@ func GetAutoCaseCloseTask() error {
 			if dataInfos.AutoAgreeAt.IsZero() && dataInfos.IsSubmit == 1 {
 				db3 := GetReadDB(context.Background())
 				db3.Model(gorm_model.YounggeeDataInfo{}).Where("task_id = ?", dataInfos.TaskID).Updates(&gorm_model.YounggeeDataInfo{AutoAgreeAt: dataInfos.SubmitAt.Add(dd)})
-				fmt.Println("已添加数据自动审核时间")
+				fmt.Println("已添加链接自动审核时间")
 			}
 		}
 	}
-
-	// 2. 查询dataInfo表中应该被自动审稿的数据
-	var newDataInfos []gorm_model.YounggeeDataInfo
+	var dataInfos []gorm_model.YounggeeDataInfo
 	db3 := GetReadDB(context.Background())
-	err = db3.Model(gorm_model.YounggeeDataInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Find(&newDataInfos).Error
+	err = db3.Model(gorm_model.YounggeeDataInfo{}).Where("auto_agree_at <= ? AND task_id IN ?", time.Now(), taskId).Find(&dataInfos).Error
 	if err != nil {
-		log.Println("DB GetAutoCaseCloseTask error in data:", err)
+		log.Println("DB GetAutoCaseCloseTask error in sketch:", err)
 		return err
 	}
-	// 记录其task_id
-	taskIdToDataInfoMap := map[int]gorm_model.YounggeeDataInfo{}
-	taskIdToTaskInfoMap := map[int]gorm_model.YoungeeTaskInfo{}
-	var taskIds []int
-	db6 := GetReadDB(context.Background())
-	for _, dataInfo := range newDataInfos {
-		taskIdToDataInfoMap[dataInfo.TaskID] = dataInfo
-		taskIds = append(taskIds, dataInfo.TaskID)
-		taskInfo := gorm_model.YoungeeTaskInfo{}
-		err = db6.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", dataInfo.TaskID).Find(&taskInfo).Error
-		if err != nil {
-			log.Println("DB GetAutoCaseCloseTask error in data:", err)
-			return err
-		}
-		taskIdToTaskInfoMap[dataInfo.TaskID] = taskInfo
-	}
-	// 3. 执行审核数据操作
-	// 1). 更新dataInfo表
-	db4 := GetReadDB(context.Background())
-	err = db4.Model(gorm_model.YounggeeDataInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Updates(
-		&gorm_model.YounggeeDataInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1}).Error
-	if err != nil {
-		log.Println("DB GetAutoCaseCloseTask error in data:", err)
-		return err
-	}
-	var num int64
-	db4.Model(gorm_model.YounggeeDataInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Count(&num)
-	if num != 0 {
-		fmt.Println("自动审核数据:已更新dataInfo表")
-	}
-	// 2).更新taskInfo表
-	db5 := GetReadDB(context.Background())
-	err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", taskIds).Updates(
-		&gorm_model.YoungeeTaskInfo{DataStatus: 5, TaskStage: 15}).Error
-	if err != nil {
-		log.Println("DB GetAutoCaseCloseTask error in data:", err)
-		return err
-	}
-	if len(taskIds) != 0 {
-		fmt.Println("以下任务状态需要变更:", taskIds)
-		fmt.Println("自动审核数据:已更新taskInfo表,任务阶段为待传数据 及数据上传状态为已通过")
-	}
+	for _, dataInfo := range dataInfos {
+		if dataInfo.IsReview != 1 && dataInfo.IsSubmit == 1 {
+			db6 := GetReadDB(context.Background())
+			db6.Model(gorm_model.YounggeeDataInfo{}).Where("data_id = ?", dataInfo.DataID).Updates(&gorm_model.YounggeeDataInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1})
+			fmt.Println("已更新数据审核同意时间")
 
-	// 3). 更新recruitStrategy表
-	for _, taskId := range taskIds {
-		// 更新招募策略
-		taskInfo := taskIdToTaskInfoMap[taskId]
-		dataInfo := taskIdToDataInfoMap[taskId]
-		db7 := GetReadDB(context.Background())
-		db7 = db7.Model(gorm_model.RecruitStrategy{}).Where("project_id = ? and strategy_id = ?", taskInfo.ProjectId, taskInfo.StrategyId)
-		fansCount, _ := strconv.Atoi(conv.MustString(gjson.Get(taskInfo.TalentPlatformInfoSnap, "fans_count"), ""))
-		err = db.Updates(map[string]interface{}{
-			"fan_number":     gorm.Expr("fan_number + ?", fansCount),
-			"play_number":    gorm.Expr("play_number + ?", dataInfo.PlayNumber),
-			"like_number":    gorm.Expr("like_number + ?", dataInfo.LikeNumber),
-			"collect_number": gorm.Expr("collect_number + ?", dataInfo.CollectNumber),
-			"comment_number": gorm.Expr("comment_number + ?", dataInfo.CommentNumber),
-			"finish_number":  gorm.Expr("finish_number + 1"),
-			"total_offer":    gorm.Expr("total_offer + ?", taskInfo.RealPayment)}).Error
-		if err != nil {
-			log.Println("DB GetAutoCaseCloseTask error in data:", err)
-			return err
+			dataNeedMod := gorm_model.YoungeeTaskInfo{}
+			db5 := GetReadDB(context.Background())
+			db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", dataInfo.TaskID).Find(&dataNeedMod)
+			if (dataNeedMod.DataStatus == 2 || dataNeedMod.DataStatus == 4) && dataNeedMod.TaskStage == 14 {
+				db7 := GetReadDB(context.Background())
+				db7.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", dataInfo.TaskID).Updates(&gorm_model.YoungeeTaskInfo{DataStatus: 5, TaskStage: 15})
+				fmt.Println("已更新任务阶段为已结案 及 数据上传状态为已通过")
+			}
 		}
 	}
 
@@ -698,9 +609,9 @@ func GetAutoCaseCloseTask() error {
 			log.Println("DB GetAutoCaseCloseTask error in data:", err)
 			return err
 		}
-		var finishedNum int64
-		db8.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage >= 15", projectInfo.ProjectID).Count(&finishedNum)
-		if unFinishedTaskNumber == 0 && finishedNum != 0 {
+		// var finishedNum int64
+		// db8.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage >= 15", projectInfo.ProjectID).Count(&finishedNum)
+		if unFinishedTaskNumber == 0 {
 			// 若为0则触发项目结案
 			db9 := GetReadDB(context.Background())
 			// 1. 更新项目状态为已结束
@@ -756,7 +667,7 @@ func GetAutoInvalidTask() error {
 		projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 	}
 	for _, projectId := range projectIds {
-		// 获取 autoTaskId 及其对应的限制时间
+		// 获取 autoTaskId 及其对应的限制时间
 		autoTaskId := projectIdToAutoTaskIdMap[projectId]
 		dbStart := GetReadDB(context.Background())
 		var Invalid int32
@@ -776,7 +687,6 @@ func GetAutoInvalidTask() error {
 		dd, _ := time.ParseDuration(conv.MustString(Invalid, "") + "h")
 		project.RecruitDdl.Add(dd)
 		t := project.RecruitDdl.Add(dd)
-		//fmt.Println("已存在的失效时间是否跟要添加的相等", project.AutoFailAt.Equal(t))
 		if project.AutoFailAt != &t {
 			db3 := GetReadDB(context.Background())
 			db3.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates(&gorm_model.ProjectInfo{AutoFailAt: &t})
@@ -785,18 +695,15 @@ func GetAutoInvalidTask() error {
 
 		projectNeedMod := gorm_model.ProjectInfo{}
 		db2 := GetReadDB(context.Background())
-		db2 = db2.Where("project_id = ?", projectId).First(&projectNeedMod)
-		fmt.Println("失效自动处理时间为:", projectNeedMod.AutoFailAt)
+		db2.Where("project_id = ?", projectId).First(&projectNeedMod)
 		if !projectNeedMod.AutoFailAt.IsZero() {
-			fmt.Printf("项目 %v 失效自动处理时间不为空\n", projectNeedMod.ProjectID)
-			fmt.Println("距离失效自动处理时间还有:,项目当前状态为", projectNeedMod.AutoFailAt.Sub(time.Now()), projectNeedMod.ProjectStatus)
 			if projectNeedMod.AutoFailAt.Sub(time.Now()) <= 0 && projectNeedMod.ProjectStatus < 8 {
 				db4 := GetReadDB(context.Background())
 				err1 := db4.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates(&gorm_model.ProjectInfo{ProjectStatus: 8, FailReason: 1}).Error
 				if err1 != nil {
 					return err1
 				}
-				fmt.Println("已更新项目状态为超时未支付的失效状态")
+				fmt.Println("已更新项目状态")
 			}
 		}
 	}
@@ -886,16 +793,8 @@ func GetAutoDraftDefaultInPicTask() error {
 			if err1 != nil {
 				return err1
 			}
-			taskInfo := gorm_model.YoungeeTaskInfo{}
-			dbt := GetReadDB(context.Background())
-			err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Find(&taskInfo).Error
-			if err2 != nil {
-				return err2
-			}
-			settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 			db3 := GetReadDB(context.Background())
-			db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Updates(
-				&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount})
+			db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate})
 			fmt.Println("已创建素材微原创的任务初稿违约记录")
 		}
 	}
@@ -967,16 +866,8 @@ func GetAutoDraftDefaultInPicTask() error {
 			if err1 != nil {
 				return err1
 			}
-			taskInfo := gorm_model.YoungeeTaskInfo{}
-			dbt := GetReadDB(context.Background())
-			err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskLogisticNeedMod2.TaskID).Find(&taskInfo).Error
-			if err2 != nil {
-				return err2
-			}
-			settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 			db8 := GetReadDB(context.Background())
-			db8.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskLogisticNeedMod2.TaskID).Updates(
-				&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount})
+			db8.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskLogisticNeedMod2.TaskID).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate})
 			fmt.Println("已创建图文类型的初稿违约记录")
 		}
 	}
@@ -1009,16 +900,8 @@ func GetAutoDraftDefaultInPicTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				db5 := GetReadDB(context.Background())
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
-				err2 = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
+				db3 := GetReadDB(context.Background())
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1032,16 +915,8 @@ func GetAutoDraftDefaultInPicTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1133,16 +1008,8 @@ func GetAutoDraftDefaultInMvTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1156,16 +1023,8 @@ func GetAutoDraftDefaultInMvTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1202,16 +1061,8 @@ func GetAutoDraftDefaultInMvTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1225,16 +1076,8 @@ func GetAutoDraftDefaultInMvTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1330,16 +1173,8 @@ func GetAutoScriptDefaultTask() error {
 			if err1 != nil {
 				return err1
 			}
-			taskInfo := gorm_model.YoungeeTaskInfo{}
-			dbt := GetReadDB(context.Background())
-			err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Find(&taskInfo).Error
-			if err2 != nil {
-				return err2
-			}
-			settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 			db3 := GetReadDB(context.Background())
-			db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Updates(
-				&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate, SettleAmount: settleAmount})
+			db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate})
 			fmt.Println("已创建素材微原创的任务脚本违约记录")
 		}
 	}
@@ -1401,16 +1236,8 @@ func GetAutoScriptDefaultTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1424,16 +1251,8 @@ func GetAutoScriptDefaultTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1579,16 +1398,8 @@ func GetAutoLinkBreachTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1602,16 +1413,8 @@ func GetAutoLinkBreachTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1649,16 +1452,8 @@ func GetAutoLinkBreachTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1672,16 +1467,8 @@ func GetAutoLinkBreachTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1775,16 +1562,8 @@ func GetAutoCaseCloseDefaultTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1798,16 +1577,8 @@ func GetAutoCaseCloseDefaultTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1845,16 +1616,8 @@ func GetAutoCaseCloseDefaultTask() error {
 				if err1 != nil {
 					return err1
 				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
-					&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate, SettleAmount: settleAmount}).Error
+				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate}).Error
 				if err2 != nil {
 					return err2
 				}

+ 2 - 6
db/project.go

@@ -19,7 +19,7 @@ import (
 
 func GetFullProjectList(ctx context.Context, pageSize, pageNum int32, condition *common_model.ProjectCondition) ([]*gorm_model.ProjectInfo, int64, error) {
 	db := GetReadDB(ctx)
-	db = db.Debug().Model(gorm_model.ProjectInfo{}).Where("project_type = 1")
+	db = db.Debug().Model(gorm_model.ProjectInfo{})
 	// 根据Project条件过滤
 	conditionType := reflect.TypeOf(condition).Elem()
 	conditionValue := reflect.ValueOf(condition).Elem()
@@ -121,11 +121,7 @@ func ApproveProject(ctx context.Context, projectId string, isApprove int64) (err
 			return err, ""
 		}
 	} else if isApprove == 2 && projectInfo.ProjectStatus == 2 {
-		err := db.Updates(gorm_model.ProjectInfo{
-			ProjectStatus: 8,
-			FinishAt:      &t,
-			FailReason:    2,
-		}).Error
+		err := db.Update("project_status", 8).Error
 		message = "项目存在风险已禁止发布"
 		if err != nil {
 			logrus.Println("DB AutoUpdateStatus error :", err)

+ 8 - 14
db/script.go

@@ -3,8 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
 	"reflect"
 	"strings"
 	"time"
@@ -13,6 +11,9 @@ import (
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
 )
 
 // GetTaskScriptList 查询上传脚本的task list
@@ -36,25 +37,16 @@ func GetTaskScriptList(ctx context.Context, projectID string, pageSize, pageNum
 				db = db.Where("task_stage > ?", 8)
 			}
 			continue
-		}
-		if !util.IsBlank(value) {
+		} else if !util.IsBlank(value) {
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
+			} else if tag == "project_id" || tag == "strategy_id" {
 				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
 			}
 		}
 	}
+
 	var taskInfos []gorm_model.YoungeeTaskInfo
 	db = db.Model(gorm_model.YoungeeTaskInfo{})
 	// 查询总数
@@ -119,6 +111,8 @@ func GetTaskScriptList(ctx context.Context, projectID string, pageSize, pageNum
 			newTaskScripts = append(newTaskScripts, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskScripts = append(newTaskScripts, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskScripts = append(newTaskScripts, v)
 		} else {
 			totalTask--
 		}

+ 6 - 12
db/sketch.go

@@ -3,8 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
 	"reflect"
 	"strings"
 	"time"
@@ -13,6 +11,9 @@ import (
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
 )
 
 // GetTaskSketchList 查询上传初稿的task list
@@ -40,17 +41,8 @@ func GetTaskSketchList(ctx context.Context, projectID string, pageSize, pageNum
 			if tag == "platform_nickname" {
 				platform_nickname = fmt.Sprintf("%v", value.Interface())
 				continue
-			} else if tag == "project_id" {
+			} else if tag == "project_id" || tag == "strategy_id" {
 				db = db.Where(fmt.Sprintf("%s = ?", tag), value.Interface())
-			} else if tag == "strategy_ids" {
-				strategyIds := strings.Split(fmt.Sprintf("%v", value.Interface()), ",")
-				var strategyIdList []int
-				for _, strategyId := range strategyIds {
-					strategyIdList = append(strategyIdList, conv.MustInt(strategyId, 0))
-				}
-				db = db.Where("strategy_id in ?", strategyIdList)
-			} else {
-				db = db.Where(fmt.Sprintf("%s like '%%%v%%'", tag, value.Interface()))
 			}
 		}
 	}
@@ -128,6 +120,8 @@ func GetTaskSketchList(ctx context.Context, projectID string, pageSize, pageNum
 			newTaskSketches = append(newTaskSketches, v)
 		} else if strings.Contains(v.PlatformNickname, platform_nickname) {
 			newTaskSketches = append(newTaskSketches, v)
+		} else if strings.Contains(conv.MustString(v.TaskID, ""), platform_nickname) {
+			newTaskSketches = append(newTaskSketches, v)
 		} else {
 			totalTask--
 		}

+ 5 - 4
db/terminate.go

@@ -3,12 +3,13 @@ package db
 import (
 	"context"
 	"fmt"
-	"gorm.io/gorm"
 	"log"
 	"time"
 	"youngee_m_api/model/gorm_model"
 	"youngee_m_api/util"
 
+	"gorm.io/gorm"
+
 	"github.com/sirupsen/logrus"
 )
 
@@ -34,9 +35,9 @@ func Terminate(ctx context.Context, TaskIDs, projectIds []int) error {
 			logrus.WithContext(ctx).Errorf("[Data db] Count YoungeeTaskInfo error,err:%+v", err)
 			return err1
 		}
-		var finishedNum int64
-		db.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage >= 15", projectId).Count(&finishedNum)
-		if unfinishedNum == 0 && finishedNum != 0 {
+		// var finishedNum int64
+		// db.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage >= 15", projectId).Count(&finishedNum)
+		if unfinishedNum == 0 {
 			// 1. 更新项目状态为结束
 			err2 := db.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates("project_status = 10").Error
 			if err2 != nil {

+ 1 - 1
dockerfile

@@ -4,7 +4,7 @@ WORKDIR /go/src/app
 
 COPY . .
 
-#设置时区
+#ÉèÖÃÊ±Çø
 RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
 
 ENV youngee_env pro

+ 59 - 0
handler/logistics_number_info.go

@@ -0,0 +1,59 @@
+package handler
+
+import (
+	"youngee_m_api/consts"
+	"youngee_m_api/model/http_model"
+	"youngee_m_api/service"
+	"youngee_m_api/util"
+
+	"github.com/gin-gonic/gin"
+	"github.com/sirupsen/logrus"
+	log "github.com/sirupsen/logrus"
+)
+
+func WrapGetLogisticsNumberInfoHandler(ctx *gin.Context) {
+	handler := newGetLogisticsNumberInfoHandler(ctx)
+	BaseRun(handler)
+}
+
+func newGetLogisticsNumberInfoHandler(ctx *gin.Context) *GetLogisticsNumberInfoHandler {
+	return &GetLogisticsNumberInfoHandler{
+		req:  http_model.NewGetLogisticsNumberInfoRequest(),
+		resp: http_model.NewGetLogisticsNumberInfoResponse(),
+		ctx:  ctx,
+	}
+}
+
+type GetLogisticsNumberInfoHandler struct {
+	req  *http_model.GetLogisticsNumberInfoRequest
+	resp *http_model.CommonResponse
+	ctx  *gin.Context
+}
+
+func (h *GetLogisticsNumberInfoHandler) getRequest() interface{} {
+	return h.req
+}
+func (h *GetLogisticsNumberInfoHandler) getContext() *gin.Context {
+	return h.ctx
+}
+func (h *GetLogisticsNumberInfoHandler) getResponse() interface{} {
+	return h.resp
+}
+
+func (h *GetLogisticsNumberInfoHandler) run() {
+	data := http_model.GetLogisticsNumberInfoRequest{}
+	data = *h.req
+	res, err := service.Number.GetLogisticsNumberInfo(h.ctx, data)
+	if err != nil {
+		logrus.Errorf("[GetLogisticsNumberInfoHandler] call GetLogisticsNumberInfo err:%+v\n", err)
+		util.HandlerPackErrorResp(h.resp, consts.ErrorInternal, "")
+		log.Info("GetLogisticsNumberInfo fail,req:%+v", h.req)
+		return
+	}
+	h.resp.Message = ""
+	h.resp.Data = res
+}
+
+func (h *GetLogisticsNumberInfoHandler) checkParam() error {
+	return nil
+}

+ 5 - 4
handler/project_update.go

@@ -1,13 +1,14 @@
 package handler
 
 import (
-	"github.com/caixw/lib.go/conv"
-	"github.com/gin-gonic/gin"
-	"github.com/sirupsen/logrus"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/gin-gonic/gin"
+	"github.com/sirupsen/logrus"
 )
 
 func WrapUpdateProjectHandler(ctx *gin.Context) {
@@ -48,7 +49,7 @@ func (h *UpdateProjectHandler) run() {
 		logrus.Info("UpdateProject fail,req:%+v", h.req)
 		return
 	}
-	//h.resp.Message = "项目更新成功"
+	// h.resp.Message = "项目更新成功"
 	h.resp.Data = res
 }
 

+ 6 - 5
handler/task_data_list.go

@@ -3,13 +3,14 @@ package handler
 import (
 	"errors"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -62,10 +63,10 @@ func (h *TaskDataListHandler) checkParam() error {
 	if _, err := conv.Int64(h.req.ProjectId); err != nil {
 		errs = append(errs, err)
 	}
-	// h.req.StrategyId = util.IsNull(h.req.StrategyId)
-	// if _, err := conv.Int64(h.req.StrategyId); err != nil {
-	// 	errs = append(errs, err)
-	// }
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
 	h.req.DataStatus = util.IsNull(h.req.DataStatus)
 	if _, err := conv.Int64(h.req.DataStatus); err != nil {
 		errs = append(errs, err)

+ 6 - 1
handler/task_default_data_list.go

@@ -3,13 +3,14 @@ package handler
 import (
 	"errors"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -62,6 +63,10 @@ func (h *TaskDefaultDataListHandler) checkParam() error {
 	if _, err := conv.Int64(h.req.ProjectId); err != nil {
 		errs = append(errs, err)
 	}
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
 	h.req.DefaultStatus = util.IsNull(h.req.DefaultStatus)
 	if _, err := conv.Int64(h.req.DefaultStatus); err != nil {
 		errs = append(errs, err)

+ 6 - 1
handler/task_default_review_list.go

@@ -3,13 +3,14 @@ package handler
 import (
 	"errors"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -62,6 +63,10 @@ func (h *TaskDefaultReviewListHandler) checkParam() error {
 	if _, err := conv.Int64(h.req.ProjectId); err != nil {
 		errs = append(errs, err)
 	}
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
 	h.req.DefaultStatus = util.IsNull(h.req.DefaultStatus)
 	if _, err := conv.Int64(h.req.DefaultStatus); err != nil {
 		errs = append(errs, err)

+ 2 - 1
handler/task_finish_list.go

@@ -3,13 +3,14 @@ package handler
 import (
 	"errors"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )

+ 6 - 5
handler/task_link_list.go

@@ -3,13 +3,14 @@ package handler
 import (
 	"errors"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -62,10 +63,10 @@ func (h *TaskLinkListHandler) checkParam() error {
 	if _, err := conv.Int64(h.req.ProjectId); err != nil {
 		errs = append(errs, err)
 	}
-	// h.req.StrategyId = util.IsNull(h.req.StrategyId)
-	// if _, err := conv.Int64(h.req.StrategyId); err != nil {
-	// 	errs = append(errs, err)
-	// }
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
 	h.req.LinkStatus = util.IsNull(h.req.LinkStatus)
 	if _, err := conv.Int64(h.req.LinkStatus); err != nil {
 		errs = append(errs, err)

+ 13 - 12
handler/task_logistics_list.go

@@ -9,6 +9,7 @@ import (
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -57,18 +58,18 @@ func (h *TaskLogisticsListHandler) checkParam() error {
 		errs = append(errs, errors.New("page param error"))
 	}
 	h.req.PageNum--
-	//h.req.ProjectId = util.IsNull(h.req.ProjectId)
-	//if _, err := conv.Int64(h.req.ProjectId); err != nil {
-	//	errs = append(errs, err)
-	//}
-	//h.req.StrategyId = util.IsNull(h.req.StrategyId)
-	//if _, err := conv.Int64(h.req.StrategyId); err != nil {
-	//	errs = append(errs, err)
-	//}
-	//h.req.LogisticsStatus = util.IsNull(h.req.LogisticsStatus)
-	//if _, err := conv.Int64(h.req.LogisticsStatus); err != nil {
-	//	errs = append(errs, err)
-	//}
+	h.req.ProjectId = util.IsNull(h.req.ProjectId)
+	if _, err := conv.Int64(h.req.ProjectId); err != nil {
+		errs = append(errs, err)
+	}
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
+	h.req.LogisticsStatus = util.IsNull(h.req.LogisticsStatus)
+	if _, err := conv.Int64(h.req.LogisticsStatus); err != nil {
+		errs = append(errs, err)
+	}
 	if len(errs) != 0 {
 		return fmt.Errorf("check param errs:%+v", errs)
 	}

+ 6 - 5
handler/task_script_list.go

@@ -3,13 +3,14 @@ package handler
 import (
 	"errors"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -62,10 +63,10 @@ func (h *TaskScriptListHandler) checkParam() error {
 	if _, err := conv.Int64(h.req.ProjectId); err != nil {
 		errs = append(errs, err)
 	}
-	// h.req.StrategyId = util.IsNull(h.req.StrategyId)
-	// if _, err := conv.Int64(h.req.StrategyId); err != nil {
-	// 	errs = append(errs, err)
-	// }
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
 	h.req.ScriptStatus = util.IsNull(h.req.ScriptStatus)
 	if _, err := conv.Int64(h.req.ScriptStatus); err != nil {
 		errs = append(errs, err)

+ 13 - 12
handler/task_sketch_list.go

@@ -9,6 +9,7 @@ import (
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -57,18 +58,18 @@ func (h *TaskSketchListHandler) checkParam() error {
 		errs = append(errs, errors.New("page param error"))
 	}
 	h.req.PageNum--
-	//h.req.ProjectId = util.IsNull(h.req.ProjectId)
-	//if _, err := conv.Int64(h.req.ProjectId); err != nil {
-	//	errs = append(errs, err)
-	//}
-	//// h.req.StrategyId = util.IsNull(h.req.StrategyId)
-	//// if _, err := conv.Int64(h.req.StrategyId); err != nil {
-	//// 	errs = append(errs, err)
-	//// }
-	//h.req.SketchStatus = util.IsNull(h.req.SketchStatus)
-	//if _, err := conv.Int64(h.req.SketchStatus); err != nil {
-	//	errs = append(errs, err)
-	//}
+	h.req.ProjectId = util.IsNull(h.req.ProjectId)
+	if _, err := conv.Int64(h.req.ProjectId); err != nil {
+		errs = append(errs, err)
+	}
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
+	h.req.SketchStatus = util.IsNull(h.req.SketchStatus)
+	if _, err := conv.Int64(h.req.SketchStatus); err != nil {
+		errs = append(errs, err)
+	}
 	if len(errs) != 0 {
 		return fmt.Errorf("check param errs:%+v", errs)
 	}

+ 6 - 1
handler/task_terminated_list.go

@@ -3,13 +3,14 @@ package handler
 import (
 	"errors"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -62,6 +63,10 @@ func (h *TaskTerminatedListHandler) checkParam() error {
 	if _, err := conv.Int64(h.req.ProjectId); err != nil {
 		errs = append(errs, err)
 	}
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
 	h.req.DefaultStatus = util.IsNull(h.req.DefaultStatus)
 	if _, err := conv.Int64(h.req.DefaultStatus); err != nil {
 		errs = append(errs, err)

+ 6 - 1
handler/task_terminating_list.go

@@ -3,13 +3,14 @@ package handler
 import (
 	"errors"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/consts"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/service"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -62,6 +63,10 @@ func (h *TaskTerminatingListHandler) checkParam() error {
 	if _, err := conv.Int64(h.req.ProjectId); err != nil {
 		errs = append(errs, err)
 	}
+	h.req.StrategyId = util.IsNull(h.req.StrategyId)
+	if _, err := conv.Int64(h.req.StrategyId); err != nil {
+		errs = append(errs, err)
+	}
 	h.req.DefaultStatus = util.IsNull(h.req.DefaultStatus)
 	if _, err := conv.Int64(h.req.DefaultStatus); err != nil {
 		errs = append(errs, err)

+ 1 - 1
model/common_model/talent_condition.go

@@ -8,7 +8,7 @@ type TalentConditions struct {
 	LinkStatus       int64  `condition:"link_status"`       // 链接状态
 	DataStatus       int64  `condition:"data_status"`       // 数据状态
 	DefaultStatus    int64  `condition:"default_status"`    // 违约状态
-	StrategyIds      string `condition:"strategy_ids"`      // 策略ID
+	StrategyId       int64  `condition:"strategy_id"`       // 策略ID
 	TaskId           string `condition:"task_id"`           // 任务ID
 	PlatformNickname string `condition:"platform_nickname"` // 账号昵称
 }

+ 25 - 13
model/gorm_model/recruit_strategy.go

@@ -1,22 +1,34 @@
 // Code generated by sql2gorm. DO NOT EDIT.
 package gorm_model
 
+
 type RecruitStrategy struct {
-	RecruitStrategyID int64 `gorm:"column:recruit_strategy_id;primary_key;AUTO_INCREMENT"` // 招募策略id
-	FeeForm           int64 `gorm:"column:fee_form"`                                       // 稿费形式,1-3分别代表产品置换、固定稿费、自报价
-	StrategyID        int64 `gorm:"column:strategy_id"`                                    // 策略id
-	FollowersLow      int64 `gorm:"column:followers_low"`                                  // 达人粉丝数下限
-	FollowersUp       int64 `gorm:"column:followers_up"`                                   // 达人粉丝数上限
-	RecruitNumber     int64 `gorm:"column:recruit_number"`                                 // 招募数量
-	Offer             int64 `gorm:"column:offer"`                                          // 报价
-	ProjectID         int64 `gorm:"column:project_id"`                                     // 所属项目id
-	ServiceCharge     int64 `gorm:"column:service_charge"`                                 // 平台服务费,稿费形式为产品置换时必填
-	SelectedNumber    int64 `gorm:"column:selected_number"`                                // 已选数量,被企业选择的达人数量 应发货
-	WaitingNumber     int64 `gorm:"column:waiting_number"`                                 // 待发货
-	DeliveredNumber   int64 `gorm:"column:delivered_number"`                               // 已发货
-	SignedNumber      int64 `gorm:"column:signed_number"`                                  // 已签收
+	RecruitStrategyID int64    `gorm:"column:recruit_strategy_id;primary_key;AUTO_INCREMENT"` // 招募策略id
+	FeeForm           int64    `gorm:"column:fee_form"`                                       // 稿费形式,1-3分别代表产品置换、固定稿费、自报价
+	StrategyID        int64    `gorm:"column:strategy_id"`                                    // 策略id
+	FollowersLow      int64    `gorm:"column:followers_low"`                                  // 达人粉丝数下限
+	FollowersUp       int64    `gorm:"column:followers_up"`                                   // 达人粉丝数上限
+	RecruitNumber     int64    `gorm:"column:recruit_number"`                                 // 招募数量
+	Offer             float64 `gorm:"column:offer"`                                          // 报价
+	TOffer            float64 `gorm:"column:t_offer"`                                        // 达人所见报价
+	ProjectID         int64    `gorm:"column:project_id"`                                     // 所属项目id
+	ServiceCharge     int64    `gorm:"column:service_charge"`                                 // 平台服务费,稿费形式为产品置换时必填
+	SelectedNumber    int64    `gorm:"column:selected_number;default:0"`                      // 已选数量,被企业选择的达人数量
+	WaitingNumber     int64    `gorm:"column:waiting_number;default:0"`                       // 待发货
+	DeliveredNumber   int64    `gorm:"column:delivered_number;default:0"`                     // 已发货
+	SignedNumber      int64    `gorm:"column:signed_number;default:0"`                        // 已签收
+	MaxOffer          int64    `gorm:"column:max_offer;default:0"`                            // 报价上限
+	MinOffer          int64    `gorm:"column:min_offer;default:0"`                            // 报价下限
+	FanNumber         int64    `gorm:"column:fan_number;default:0"`                           // 总粉丝量
+	PlayNumber        int64    `gorm:"column:play_number;default:0"`                          // 总播放量
+	LikeNumber        int64    `gorm:"column:like_number;default:0"`                          // 总点赞数
+	CollectNumber     int64    `gorm:"column:collect_number;default:0"`                       // 总收藏量
+	CommentNumber     int64    `gorm:"column:comment_number;default:0"`                       // 总评论数
+	FinishNumber      int64    `gorm:"column:finish_number;default:0"`                        // 结案数量
+	TotalOffer        int64    `gorm:"column:total_offer;default:0"`                          // 支付合计
 }
 
 func (m *RecruitStrategy) TableName() string {
 	return "recruit_strategy"
 }
+

+ 2 - 2
model/gorm_model/task_logistic.go

@@ -20,5 +20,5 @@ type YoungeeTaskLogistics struct {
 	AutoSignAt            time.Time `gorm:"column:auto_sign_at"`                            // 自动签收时间
 	AutoScriptBreakAt     time.Time `gorm:"column:auto_script_break_at"`                    // 脚本违约自动处理时间
 	AutoSketchBreakAt     time.Time `gorm:"column:auto_sketch_break_at"`                    // 初稿违约自动处理时间
-	Status                int       `gorm:"column:status;default:0"`                        // 签收状态,0为未签收,1为已签收
-}
+	Status                int64       `gorm:"column:status;default:0"`                        // 签收状态,0为未签收,1为已签收
+}

+ 2 - 2
model/gorm_model/withdraw_info.go

@@ -9,8 +9,8 @@ import (
 type YounggeeWithdrawRecord struct {
 	WithdrawID     string    `gorm:"column:withdraw_id;primary_key"`  // 提现订单ID
 	TalentID       string    `gorm:"column:talent_id;NOT NULL"`       // 达人id
-	WithdrawAmount float64   `gorm:"column:withdraw_amount;NOT NULL"` // 提现金额
-	AmountPayable  float64   `gorm:"column:amount_payable;NOT NULL"`  // 应付金额
+	WithdrawAmount int64     `gorm:"column:withdraw_amount;NOT NULL"` // 提现金额
+	AmountPayable  int64     `gorm:"column:amount_payable;NOT NULL"`  // 应付金额
 	TaskIDList     string    `gorm:"column:task_id_list;NOT NULL"`    // 该提现订单包含的task_id列表
 	ReceiveInfo    string    `gorm:"column:receive_info;NOT NULL"`    // 收款信息
 	Status         int       `gorm:"column:status;NOT NULL"`          // 提现状态:1为提现待确认,2为已提现

+ 2 - 2
model/http_model/WithDrawalRecordsRequest.go

@@ -14,8 +14,8 @@ type WithdrawalRecordsData struct {
 	WithdrawId     string  `json:"withdraw_id"`
 	TalentId       string  `json:"talent_id"`
 	TalentName     string  `json:"talent_name"`
-	WithdrawAmount float64 `json:"withdraw_amount"`
-	AmountPayable  float64 `json:"amount_payable"`
+	WithdrawAmount float32 `json:"withdraw_amount"`
+	AmountPayable  float32 `json:"amount_payable"`
 	ReceiveInfo    string  `json:"receive_info"`
 	BankType       int     `json:"bank_type"`
 	Phone          string  `json:"phone"`

+ 7 - 6
model/http_model/project_create.go

@@ -8,12 +8,13 @@ type CreateProjectPhoto struct {
 }
 
 type CreateRecruitStrategy struct {
-	FeeForm       int64 `json:"fee_form"`       // 稿费形式,1-3分别代表自报价、固定稿费、产品置换
-	StrategyID    int64 `json:"strategy_id"`    // 策略id
-	FollowersLow  int64 `json:"followers_low"`  // 达人粉丝数下限
-	FollowersUp   int64 `json:"followers_up"`   // 达人粉丝数上限
-	RecruitNumber int64 `json:"recruit_number"` // 招募数量
-	Offer         int64 `json:"offer"`          // 报价
+	FeeForm       int64   `json:"fee_form"`       // 稿费形式,1-3分别代表自报价、固定稿费、产品置换
+	StrategyID    int64   `json:"strategy_id"`    // 策略id
+	FollowersLow  int64   `json:"followers_low"`  // 达人粉丝数下限
+	FollowersUp   int64   `json:"followers_up"`   // 达人粉丝数上限
+	RecruitNumber int64   `json:"recruit_number"` // 招募数量
+	Offer         float64 `json:"offer"`          // 报价
+	TOffer        float64 `json:"t_offer"`        // 达人端报价
 }
 
 type CreateProjectRequest struct {

+ 7 - 6
model/http_model/project_update.go

@@ -8,12 +8,13 @@ type UpdateProjectPhoto struct {
 }
 
 type UpdateRecruitStrategy struct {
-	FeeForm       int64 `json:"fee_form"`       // 稿费形式,1-3分别代表自报价、固定稿费、产品置换
-	StrategyID    int64 `json:"strategy_id"`    // 策略id
-	FollowersLow  int64 `json:"followers_low"`  // 达人粉丝数下限
-	FollowersUp   int64 `json:"followers_up"`   // 达人粉丝数上限
-	RecruitNumber int64 `json:"recruit_number"` // 招募数量
-	Offer         int64 `json:"offer"`          // 报价
+	FeeForm       int64   `json:"fee_form"`       // 稿费形式,1-3分别代表自报价、固定稿费、产品置换
+	StrategyID    int64   `json:"strategy_id"`    // 策略id
+	FollowersLow  int64   `json:"followers_low"`  // 达人粉丝数下限
+	FollowersUp   int64   `json:"followers_up"`   // 达人粉丝数上限
+	RecruitNumber int64   `json:"recruit_number"` // 招募数量
+	Offer         float64 `json:"offer"`          // 报价
+	TOffer        float64 `json:"t_offer"`        // 报价
 }
 
 type UpdateProjectRequest struct {

+ 1 - 1
model/http_model/task_data.go

@@ -10,7 +10,7 @@ type TaskDataListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DataStatus       string `json:"data_status"`       // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_default_data.go

@@ -10,7 +10,7 @@ type TaskDefaultDataListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DefaultStatus    string `json:"default_status"`    // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_default_review.go

@@ -10,7 +10,7 @@ type TaskDefaultReviewListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DefaultStatus    string `json:"default_status"`    // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_finish.go

@@ -9,7 +9,7 @@ type TaskFinishListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DataStatus       string `json:"data_status"`       // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_link.go

@@ -10,7 +10,7 @@ type TaskLinkListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	LinkStatus       string `json:"link_status"`       // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_script.go

@@ -10,7 +10,7 @@ type TaskScriptListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	ScriptStatus     string `json:"script_status"`     // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_sketch.go

@@ -10,7 +10,7 @@ type TaskSketchListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	SketchStatus     string `json:"sketch_status"`     // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_terminated.go

@@ -10,7 +10,7 @@ type TaskTerminatedListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DefaultStatus    string `json:"default_status"`    // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_terminating.go

@@ -10,7 +10,7 @@ type TaskTerminatingListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DefaultStatus    string `json:"default_status"`    // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 3 - 2
pack/task_data_list_conditions.go

@@ -1,9 +1,10 @@
 package pack
 
 import (
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
+
+	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskDataListRequestToCondition(req *http_model.TaskDataListRequest) *common_model.TalentConditions {
@@ -11,7 +12,7 @@ func HttpTaskDataListRequestToCondition(req *http_model.TaskDataListRequest) *co
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		DataStatus:       conv.MustInt64(req.DataStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}

+ 6 - 5
pack/task_default_list_conditions.go

@@ -1,16 +1,17 @@
 package pack
 
 import (
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
+
+	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskDefaultReviewListRequestToCondition(req *http_model.TaskDefaultReviewListRequest) *common_model.TalentConditions {
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		DefaultStatus:    conv.MustInt64(req.DefaultStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}
@@ -20,7 +21,7 @@ func HttpTaskDefaultDataListRequestToCondition(req *http_model.TaskDefaultDataLi
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		DefaultStatus:    conv.MustInt64(req.DefaultStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}
@@ -30,7 +31,7 @@ func HttpTaskTerminatingListRequestToCondition(req *http_model.TaskTerminatingLi
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		DefaultStatus:    conv.MustInt64(req.DefaultStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}
@@ -40,7 +41,7 @@ func HttpTaskTerminatedListRequestToCondition(req *http_model.TaskTerminatedList
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		DefaultStatus:    conv.MustInt64(req.DefaultStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}

+ 3 - 2
pack/task_finish_list_conditions.go

@@ -1,16 +1,17 @@
 package pack
 
 import (
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
+
+	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskFinishListRequestToCondition(req *http_model.TaskFinishListRequest) *common_model.TalentConditions {
 	//fmt.Printf("初稿转换 %+v", req)
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}

+ 3 - 2
pack/task_link_list_conditions.go

@@ -1,9 +1,10 @@
 package pack
 
 import (
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
+
+	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskLinkListRequestToCondition(req *http_model.TaskLinkListRequest) *common_model.TalentConditions {
@@ -11,7 +12,7 @@ func HttpTaskLinkListRequestToCondition(req *http_model.TaskLinkListRequest) *co
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		LinkStatus:       conv.MustInt64(req.LinkStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}

+ 3 - 2
pack/task_logistics_list_conditions.go

@@ -1,16 +1,17 @@
 package pack
 
 import (
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
+
+	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskLogisticsListRequestToCondition(req *http_model.TaskLogisticsListRequest) *common_model.TalentConditions {
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		LogisticsStatus:  conv.MustInt64(req.LogisticsStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyId, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}

+ 3 - 2
pack/task_script_list_conditions.go

@@ -1,16 +1,17 @@
 package pack
 
 import (
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
+
+	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskScriptListRequestToCondition(req *http_model.TaskScriptListRequest) *common_model.TalentConditions {
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		ScriptStatus:     conv.MustInt64(req.ScriptStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}

+ 3 - 2
pack/task_sketch_list_conditions.go

@@ -1,16 +1,17 @@
 package pack
 
 import (
-	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
+
+	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskSketchListRequestToCondition(req *http_model.TaskSketchListRequest) *common_model.TalentConditions {
 	return &common_model.TalentConditions{
 		ProjectId:        conv.MustInt64(req.ProjectId, 0),
 		SketchStatus:     conv.MustInt64(req.SketchStatus, 0),
-		StrategyIds:      conv.MustString(req.StrategyIds, ""),
+		StrategyId:       conv.MustInt64(req.StrategyId, 0),
 		TaskId:           conv.MustString(req.TaskId, ""),
 		PlatformNickname: conv.MustString(req.PlatformNickname, ""),
 	}

+ 3 - 1
route/init.go

@@ -1,11 +1,12 @@
 package route
 
 import (
-	"github.com/gin-gonic/gin"
 	"youngee_m_api/handler"
 	"youngee_m_api/handler/operate"
 	"youngee_m_api/middleware"
 	"youngee_m_api/model/http_model"
+
+	"github.com/gin-gonic/gin"
 )
 
 func InitRoute(r *gin.Engine) {
@@ -47,6 +48,7 @@ func InitRoute(r *gin.Engine) {
 		m.POST("/project/all", handler.WrapGetAllProjectHandler)
 		m.POST("/project/taskList", handler.WrapProjectTaskListHandler)
 		m.POST("/project/changeTaskStatus", handler.WrapProjectChangeTaskStatusHandler)
+		m.POST("/project/getlogisticsnumberinfo", handler.WrapGetLogisticsNumberInfoHandler)
 		m.POST("/project/getlinknumberinfo", handler.WrapGetLinkNumberInfoHandler)
 		m.POST("/project/getdatanumberinfo", handler.WrapGetDataNumberInfoHandler)
 		m.POST("/project/getreviewnumberinfo", handler.WrapGetReviewNumberInfoHandler)

+ 7 - 24
service/auto_task.go

@@ -2,15 +2,13 @@ package service
 
 import (
 	"context"
-	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/robfig/cron/v3"
-	"github.com/sirupsen/logrus"
 	"log"
 	"time"
-	"youngee_m_api/consts"
 	"youngee_m_api/db"
 	"youngee_m_api/model/gorm_model"
+
+	"github.com/robfig/cron/v3"
+	"github.com/sirupsen/logrus"
 )
 
 func AutoTask() error {
@@ -19,18 +17,6 @@ func AutoTask() error {
 	//crontab := cron.New()  默认从分开始进行时间调度
 	crontab := cron.New(cron.WithSeconds()) //精确到秒
 	//定义定时器调用的任务函数
-	taskKDStatus := func() {
-		logisticNums := db.GetLogisticsNum()
-		fmt.Println(len(logisticNums))
-		for i := 0; i < len(logisticNums); i++ {
-			logisticNum := logisticNums[i]
-			log.Println("logisticNum:", logisticNum)
-			status := GetKDStatus(consts.GetKD(logisticNum[0]), logisticNum[1])
-			if status == "1" {
-				db.SignLogistic(conv.MustInt64(logisticNum[2], 0))
-			}
-		}
-	}
 	//定时任务1 ,线下探店打卡的自动签收操作
 	task1 := func() {
 		DB := db.GetReadDB(context.Background())
@@ -200,14 +186,11 @@ func AutoTask() error {
 		log.Println("GetAutoCaseCloseDefaultTask is running ,Time :", time.Now())
 	}
 	//定时任务
-	//spec := "*/30 * * * * ?" //cron表达式,每10秒一次
-	//spec := "0 */30 * * * ?" //cron表达式,每一分钟执行一次
-	spec := "0 0 * * * *" //每小时执行
+	// spec := "*/10 * * * * ?" //cron表达式,每10秒一次
+	spec := "0 */2 * * * ?" //cron表达式,每1分钟一次
+	// spec := "0 */30 * * * ?" //cron表达式,每半小时执行一次
+	// spec := "0 0 * * * *" //每小时执行
 	// 添加定时任务,
-	_, err := crontab.AddFunc("@midnight", taskKDStatus)
-	if err != nil {
-		return err
-	}
 	_, err1 := crontab.AddFunc(spec, task1)
 	if err1 != nil {
 		return err1

+ 0 - 98
service/kuaiDi100.go

@@ -1,98 +0,0 @@
-package service
-
-import (
-	"crypto/md5"
-	"encoding/hex"
-	"encoding/json"
-	"fmt"
-	"io/ioutil"
-	"net/http"
-	"net/url"
-	"strings"
-)
-
-type KdState struct {
-	Message string `json:"message"`
-	State   string `json:"state"`
-	Status  string `json:"status"`
-	IsCheck string `json:"ischeck"`
-}
-
-var KD100Flags = map[string]string{
-	"ane66":          "安能快递",
-	"debangwuliu":    "德邦物流",
-	"debangkuaidi":   "德邦快递",
-	"ems":            "EMS",
-	"guotongkuaidi":  "国通快递",
-	"huitongkuaidi":  "百世快递",
-	"jd":             "京东物流",
-	"kuayue":         "跨越速运",
-	"pjbest":         "品骏快递",
-	"shentong":       "申通快递",
-	"shunfeng":       "顺丰速运",
-	"suer":           "速尔快递",
-	"xinfengwuliu":   "信丰物流",
-	"youshuwuliu":    "优速物流",
-	"youzhengguonei": "邮政快递包裹",
-	"yuantong":       "圆通速递",
-	"yuantongguoji":  "圆通国际",
-	"yunda":          "韵达快递",
-	"zhaijisong":     "宅急送",
-	"zhongtong":      "中通快递",
-	"ewe":            "EWE全球快递",
-	"quanyikuaidi":   "全一快递",
-	"tiantian":       "天天快递",
-	"sxjdfreight":    "顺心捷达",
-	"dhl":            "DHL-中国件",
-	"tnt":            "TNT",
-	"other":          "其它快递",
-}
-
-// GetKDStatus 获取快递跟踪信息
-func GetKDStatus(com, num string) string {
-	fmt.Printf("查询物流公司为 %v, 快递为编号为 %v 的快递\n", KD100Flags[com], num)
-	key := "jqayXRgj8154"                          //客户授权key
-	customer := "E59437A1C1C69273AEB48F587CEF57B4" //查询公司编号
-
-	postUrl := "https://poll.kuaidi100.com/poll/query.do" //实时查询请求地址
-
-	paramData := make(map[string]string)
-	paramData["com"] = com //快递公司编码
-	paramData["num"] = num //快递单号
-
-	paramDataSlice, _ := json.Marshal(paramData)
-	paramjson := string(paramDataSlice)
-
-	sign := strings.ToUpper(GetMD5Encode(paramjson + key + customer))
-
-	//POST请求需要三个参数,分别为customer(CustomerId)和sign(签名)和param(参数)
-	postRes, postErr := http.PostForm(postUrl, url.Values{"customer": {customer}, "sign": {sign}, "param": {paramjson}})
-	if postErr != nil {
-		fmt.Println("查询失败" + postErr.Error())
-		return "查询失败"
-	}
-	postBody, err := ioutil.ReadAll(postRes.Body)
-	if err != nil {
-		fmt.Println("查询失败,请至快递公司官网自行查询" + err.Error())
-		return "查询失败,请至快递公司官网自行查询"
-	}
-	resp := KdState{}
-	err = json.Unmarshal(postBody, &resp)
-	if err != nil {
-		fmt.Println("json.Unmarshal error", err.Error())
-		return "查询失败"
-	}
-	if resp.IsCheck == "1" {
-		fmt.Println("查询成功,快递已签收")
-	} else {
-		fmt.Println("查询成功,快递尚未签收")
-	}
-	return resp.IsCheck
-}
-
-// GetMD5Encode 返回一个32位md5加密后的字符串
-func GetMD5Encode(data string) string {
-	h := md5.New()
-	h.Write([]byte(data))
-	return hex.EncodeToString(h.Sum(nil))
-}

+ 17 - 1
service/number_info.go

@@ -2,11 +2,12 @@ package service
 
 import (
 	"context"
-	"github.com/caixw/lib.go/conv"
 	"strings"
 	"youngee_m_api/db"
 	"youngee_m_api/model/http_model"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/sirupsen/logrus"
 )
 
@@ -89,3 +90,18 @@ func (*number) GetFinishNumberInfo(ctx context.Context, request http_model.GetFi
 
 	return NumberData, nil
 }
+
+func (*number) GetLogisticsNumberInfo(ctx context.Context, request http_model.GetLogisticsNumberInfoRequest) (*http_model.GetLogisticsNumberInfoData, error) {
+	var StrategyIdList []int64
+	StrategyIds := strings.Split(request.StrategyIds, ",")
+	for _, strategyId := range StrategyIds {
+		StrategyIdList = append(StrategyIdList, conv.MustInt64(strategyId, 0))
+	}
+	NumberData, err := db.GetLogisticsNumberInfo(ctx, request.ProjectId, StrategyIdList)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Data service] call CreateData error,err:%+v", err)
+		return nil, err
+	}
+
+	return NumberData, nil
+}

+ 8 - 5
service/project.go

@@ -3,9 +3,6 @@ package service
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/gin-gonic/gin"
-	"github.com/sirupsen/logrus"
 	"strconv"
 	"strings"
 	"youngee_m_api/db"
@@ -14,6 +11,10 @@ import (
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
+
+	"github.com/caixw/lib.go/conv"
+	"github.com/gin-gonic/gin"
+	"github.com/sirupsen/logrus"
 )
 
 var Project *project
@@ -210,6 +211,7 @@ func (*project) Create(ctx context.Context, newProject http_model.CreateProjectR
 			FollowersUp:   strategy.FollowersUp,
 			RecruitNumber: strategy.RecruitNumber,
 			Offer:         strategy.Offer,
+			TOffer:        strategy.TOffer,
 			ProjectID:     *projectID,
 		}
 		recruitStrategys = append(recruitStrategys, recruitStrategy)
@@ -247,7 +249,7 @@ func (*project) Update(ctx context.Context, newProject http_model.UpdateProjectR
 		return nil, err
 	}
 	fmt.Printf("照片:\t %+v", newProject.ProjectPhotos)
-	if newProject.ProjectPhotos != nil {
+	if len(newProject.ProjectPhotos) != 0 {
 		// 新增图片
 		projectPhotos := []gorm_model.ProjectPhoto{}
 		for _, photo := range newProject.ProjectPhotos {
@@ -279,7 +281,8 @@ func (*project) Update(ctx context.Context, newProject http_model.UpdateProjectR
 				FollowersLow:  conv.MustInt64(Strategy.FollowersLow, 0),
 				FollowersUp:   conv.MustInt64(Strategy.FollowersUp, 0),
 				RecruitNumber: conv.MustInt64(Strategy.RecruitNumber, 0),
-				Offer:         conv.MustInt64(Strategy.Offer, 0),
+				Offer:         conv.MustFloat64(Strategy.Offer, 0),
+				TOffer:        conv.MustFloat64(Strategy.TOffer, 0),
 				ProjectID:     project.ProjectID,
 			}
 			fmt.Printf("Offer:\t %+v", Strategy.Offer)