Bläddra i källkod

Merge remote-tracking branch 'refs/remotes/youngee_m_api/develop' into develop-ljl

# Conflicts:
#	route/init.go
lin-jim-leon 2 dagar sedan
förälder
incheckning
3223306164

+ 11 - 58
.idea/workspace.xml

@@ -4,73 +4,38 @@
     <option name="autoReloadType" value="ALL" />
   </component>
   <component name="ChangeListManager">
-    <list default="true" id="f4dc82b3-ff8e-4683-8d94-679b27583f09" name="Changes" comment="">
-      <change afterPath="$PROJECT_DIR$/db/platform_kuaishou_user.go" afterDir="false" />
+    <list default="true" id="82c9532a-4868-4653-982c-0f0ec6f4cfe9" name="Changes" comment="">
+      <change beforePath="$PROJECT_DIR$/.idea/modules.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/modules.xml" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/db/finance.go" beforeDir="false" afterPath="$PROJECT_DIR$/db/finance.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/db/logistics.go" beforeDir="false" afterPath="$PROJECT_DIR$/db/logistics.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/db/operate.go" beforeDir="false" afterPath="$PROJECT_DIR$/db/operate.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/db/sectask.go" beforeDir="false" afterPath="$PROJECT_DIR$/db/sectask.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/db/selection.go" beforeDir="false" afterPath="$PROJECT_DIR$/db/selection.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/handler/CreateSecTaskLogistics.go" beforeDir="false" afterPath="$PROJECT_DIR$/handler/CreateSecTaskLogistics.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/handler/GetSecTaskList.go" beforeDir="false" afterPath="$PROJECT_DIR$/handler/GetSecTaskList.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/handler/PassSecTaskCoop.go" beforeDir="false" afterPath="$PROJECT_DIR$/handler/PassSecTaskCoop.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/handler/RefuseSecTaskCoop.go" beforeDir="false" afterPath="$PROJECT_DIR$/handler/RefuseSecTaskCoop.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/handler/SettleSecTask.go" beforeDir="false" afterPath="$PROJECT_DIR$/handler/SettleSecTask.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/handler/UpdateSecTaskLogistics.go" beforeDir="false" afterPath="$PROJECT_DIR$/handler/UpdateSecTaskLogistics.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/model/gorm_model/selection_info.go" beforeDir="false" afterPath="$PROJECT_DIR$/model/gorm_model/selection_info.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/model/gorm_model/selection_task_info.go" beforeDir="false" afterPath="$PROJECT_DIR$/model/gorm_model/selection_task_info.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/model/http_model/CreateSecTaskLogisticsRequest.go" beforeDir="false" afterPath="$PROJECT_DIR$/model/http_model/CreateSecTaskLogisticsRequest.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/model/http_model/GetSecTaskListRequest.go" beforeDir="false" afterPath="$PROJECT_DIR$/model/http_model/GetSecTaskListRequest.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/model/http_model/PassSecTaskCoopRequest.go" beforeDir="false" afterPath="$PROJECT_DIR$/model/http_model/PassSecTaskCoopRequest.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/model/http_model/RefuseSecTaskCoopRequest.go" beforeDir="false" afterPath="$PROJECT_DIR$/model/http_model/RefuseSecTaskCoopRequest.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/pack/sec_task_list.go" beforeDir="false" afterPath="$PROJECT_DIR$/pack/sec_task_list.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/route/init.go" beforeDir="false" afterPath="$PROJECT_DIR$/route/init.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/service/logistics.go" beforeDir="false" afterPath="$PROJECT_DIR$/service/logistics.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/service/sec_task.go" beforeDir="false" afterPath="$PROJECT_DIR$/service/sec_task.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/service/sec_task_logistics.go" beforeDir="false" afterPath="$PROJECT_DIR$/service/sec_task_logistics.go" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/service/selection.go" beforeDir="false" afterPath="$PROJECT_DIR$/service/selection.go" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/service/auto_task.go" beforeDir="false" afterPath="$PROJECT_DIR$/service/auto_task.go" afterDir="false" />
     </list>
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
     <option name="LAST_RESOLUTION" value="IGNORE" />
   </component>
-  <component name="FileTemplateManagerImpl">
-    <option name="RECENT_TEMPLATES">
-      <list>
-        <option value="Go File" />
-      </list>
-    </option>
-  </component>
   <component name="GOROOT" url="file://$USER_HOME$/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.22.3.windows-amd64" />
   <component name="Git.Settings">
-    <option name="RECENT_BRANCH_BY_REPOSITORY">
-      <map>
-        <entry key="$PROJECT_DIR$" value="develop" />
-      </map>
-    </option>
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
   </component>
   <component name="ProjectColorInfo">{
-  &quot;associatedIndex&quot;: 5
+  &quot;customColor&quot;: &quot;&quot;,
+  &quot;associatedIndex&quot;: 6
 }</component>
-  <component name="ProjectId" id="2wriPtS6hgOAnwriSVdTirdGPUf" />
+  <component name="ProjectId" id="2x25ZlcXwxEhsFwrJGyLvANRnlt" />
   <component name="ProjectViewState">
     <option name="hideEmptyMiddlePackages" value="true" />
     <option name="showLibraryContents" value="true" />
   </component>
   <component name="PropertiesComponent">{
   &quot;keyToString&quot;: {
-    &quot;DefaultGoTemplateProperty&quot;: &quot;Go File&quot;,
-    &quot;Go Build.go build youngee_m_api.executor&quot;: &quot;Run&quot;,
+    &quot;ModuleVcsDetector.initialDetectionPerformed&quot;: &quot;true&quot;,
     &quot;RunOnceActivity.GoLinterPluginOnboarding&quot;: &quot;true&quot;,
     &quot;RunOnceActivity.GoLinterPluginStorageMigration&quot;: &quot;true&quot;,
     &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
     &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
     &quot;RunOnceActivity.go.formatter.settings.were.checked&quot;: &quot;true&quot;,
     &quot;RunOnceActivity.go.migrated.go.modules.settings&quot;: &quot;true&quot;,
-    &quot;RunOnceActivity.go.modules.automatic.dependencies.download&quot;: &quot;true&quot;,
     &quot;RunOnceActivity.go.modules.go.list.on.any.changes.was.set&quot;: &quot;true&quot;,
     &quot;git-widget-placeholder&quot;: &quot;develop&quot;,
     &quot;go.import.settings.migrated&quot;: &quot;true&quot;,
@@ -82,17 +47,6 @@
     &quot;settings.editor.selected.configurable&quot;: &quot;go.vgo&quot;
   }
 }</component>
-  <component name="RunManager">
-    <configuration name="go build youngee_m_api" type="GoApplicationRunConfiguration" factoryName="Go Application" nameIsGenerated="true">
-      <module name="younggee_m_api" />
-      <working_directory value="$PROJECT_DIR$" />
-      <kind value="PACKAGE" />
-      <package value="youngee_m_api" />
-      <directory value="$PROJECT_DIR$" />
-      <filePath value="$PROJECT_DIR$" />
-      <method v="2" />
-    </configuration>
-  </component>
   <component name="SharedIndexes">
     <attachedChunks>
       <set>
@@ -101,14 +55,13 @@
       </set>
     </attachedChunks>
   </component>
-  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
   <component name="TaskManager">
     <task active="true" id="Default" summary="Default task">
-      <changelist id="f4dc82b3-ff8e-4683-8d94-679b27583f09" name="Changes" comment="" />
-      <created>1747025261763</created>
+      <changelist id="82c9532a-4868-4653-982c-0f0ec6f4cfe9" name="Changes" comment="" />
+      <created>1747123385690</created>
       <option name="number" value="Default" />
       <option name="presentableId" value="Default" />
-      <updated>1747025261763</updated>
+      <updated>1747123385690</updated>
     </task>
     <servers />
   </component>
@@ -118,7 +71,7 @@
   <component name="VgoProject">
     <environment>
       <map>
-        <entry key="GOPROXY" value="https://goproxy.cn" />
+        <entry key="GOPROXY" value="https://gopropxy.cn" />
       </map>
     </environment>
     <settings-migrated>true</settings-migrated>

+ 32 - 0
app/dao/project_dao.go

@@ -332,6 +332,22 @@ func (d ProjectDAO) GetProjectFrozenList(enterpriseId string) ([]*entity.Project
 	return projects, nil
 }
 
+// 获取所有品牌种草冻结中的任务
+func (d ProjectDAO) GetProjectFrozenListAll() ([]*entity.Project, error) {
+	var projects []*entity.Project
+	query := Db.Debug().Model(entity.Project{})
+	query.Select("project_id, product_id, enterprise_id, sub_account_id, project_platform, payment_amount, pay_at") // 冻结金额:payment_amount
+	err := query.Where(fmt.Sprintf("project_type = ? AND (project_status between 7 and 8) "), 1).Find(&projects).Error
+	if err != nil {
+		if errors.Is(err, gorm.ErrRecordNotFound) {
+			return projects, nil
+		} else {
+			return nil, err
+		}
+	}
+	return projects, nil
+}
+
 // 获取品牌种草冻结解除的任务
 func (d ProjectDAO) GetProjectFrozenCancelList(enterpriseId string) ([]*entity.Project, error) {
 	var projects []*entity.Project
@@ -348,6 +364,22 @@ func (d ProjectDAO) GetProjectFrozenCancelList(enterpriseId string) ([]*entity.P
 	return projects, nil
 }
 
+// 获取所有品牌种草冻结解除的任务
+func (d ProjectDAO) GetProjectFrozenCancelListAll() ([]*entity.Project, error) {
+	var projects []*entity.Project
+	query := Db.Debug().Model(entity.Project{})
+	query.Select("project_id, product_id, enterprise_id, sub_account_id, project_platform, settlement_amount, pay_at") // 解冻金额:settlement_amount
+	err := query.Where(fmt.Sprintf("project_type = ? AND (project_status between 9 and 10) "), 1).Find(&projects).Error
+	if err != nil {
+		if errors.Is(err, gorm.ErrRecordNotFound) {
+			return projects, nil
+		} else {
+			return nil, err
+		}
+	}
+	return projects, nil
+}
+
 // 获取品牌种草账单列表
 func (d ProjectDAO) GetBillProjectPreviews(param *vo.ProjectSearchParam) ([]vo.ReBillProjectTaskPreview, int64, error) {
 	var reBillProjectTaskPreviews []vo.ReBillProjectTaskPreview

+ 32 - 0
app/dao/selection_info_dao.go

@@ -216,6 +216,22 @@ func (d SelectionInfoDAO) GetSelectionFrozenList(enterpriseId string) ([]*entity
 	return selectionInfos, nil
 }
 
+// 获取所有电商带货冻结中的任务
+func (d SelectionInfoDAO) GetSelectionFrozenListAll() ([]*entity.SelectionInfo, error) {
+	var selectionInfos []*entity.SelectionInfo
+	query := Db.Debug().Model(entity.SelectionInfo{})
+	query.Select("selection_id, product_id, enterprise_id, sub_account_id, platform, estimated_cost, pay_at") // 冻结金额:estimated_cost
+	err := query.Where(fmt.Sprintf("selection_status between 5 and 6")).Find(&selectionInfos).Error
+	if err != nil {
+		if errors.Is(err, gorm.ErrRecordNotFound) {
+			return selectionInfos, nil
+		} else {
+			return nil, err
+		}
+	}
+	return selectionInfos, nil
+}
+
 // 获取电商带货冻结解除的任务
 func (d SelectionInfoDAO) GetSelectionFrozenCancelList(enterpriseId string) ([]*entity.SelectionInfo, error) {
 	var selectionInfos []*entity.SelectionInfo
@@ -232,6 +248,22 @@ func (d SelectionInfoDAO) GetSelectionFrozenCancelList(enterpriseId string) ([]*
 	return selectionInfos, nil
 }
 
+// 获取所有电商带货冻结解除的任务
+func (d SelectionInfoDAO) GetSelectionFrozenCancelListAll() ([]*entity.SelectionInfo, error) {
+	var selectionInfos []*entity.SelectionInfo
+	query := Db.Debug().Model(entity.SelectionInfo{})
+	query.Select("selection_id, product_id, enterprise_id, sub_account_id, platform, settlement_amount, pay_at") // 解冻金额:settlement_amount
+	err := query.Where(fmt.Sprintf("selection_status between 7 and 8")).Find(&selectionInfos).Error
+	if err != nil {
+		if errors.Is(err, gorm.ErrRecordNotFound) {
+			return selectionInfos, nil
+		} else {
+			return nil, err
+		}
+	}
+	return selectionInfos, nil
+}
+
 // 获取带货账单列表
 func (d SelectionInfoDAO) GetBillSelectionPreviews(param *vo.SelectionSearchParam) ([]vo.ReBillSelectionTaskPreview, int64, error) {
 	var reBillSelectionTaskPreviews []vo.ReBillSelectionTaskPreview

+ 28 - 29
app/schedule/auto_task_execute.go

@@ -1,41 +1,40 @@
 package schedule
 
 import (
-	"github.com/robfig/cron/v3"
 	"log"
 	"time"
 	"youngee_m_api/app/dao"
 	"youngee_m_api/app/entity"
 )
 
-func AutoTaskExecute() error {
-	// 新建一个定时任务对象
-	crontab := cron.New(cron.WithSeconds()) // 精确到秒
-	spec := "0 */10 * * * ?"                //cron表达式,每10分钟一次
-
-	// 添加定时任务
-	// 定时任务1  初稿未审稿自动执行
-	_, err1 := crontab.AddFunc(spec, AutoSketchExecuteTask)
-	if err1 != nil {
-		return err1
-	}
-	// 定时任务2  链接未质检自动执行
-	_, err2 := crontab.AddFunc(spec, AutoLinkExecuteTask)
-	if err2 != nil {
-		return err2
-	}
-	// 定时任务3  数据未质检自动执行
-	_, err3 := crontab.AddFunc(spec, AutoDataExecuteTask)
-	if err3 != nil {
-		return err3
-	}
-
-	// 启动定时器
-	crontab.Start()
-	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
-	//select {} //阻塞主线程停止
-	return nil
-}
+//func AutoTaskExecute() error {
+//	// 新建一个定时任务对象
+//	crontab := cron.New(cron.WithSeconds()) // 精确到秒
+//	spec := "0 */10 * * * ?"                //cron表达式,每10分钟一次
+//
+//	// 添加定时任务
+//	// 定时任务1  初稿未审稿自动执行
+//	_, err1 := crontab.AddFunc(spec, AutoSketchExecuteTask)
+//	if err1 != nil {
+//		return err1
+//	}
+//	// 定时任务2  链接未质检自动执行
+//	_, err2 := crontab.AddFunc(spec, AutoLinkExecuteTask)
+//	if err2 != nil {
+//		return err2
+//	}
+//	// 定时任务3  数据未质检自动执行
+//	_, err3 := crontab.AddFunc(spec, AutoDataExecuteTask)
+//	if err3 != nil {
+//		return err3
+//	}
+//
+//	// 启动定时器
+//	crontab.Start()
+//	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
+//	//select {} //阻塞主线程停止
+//	return nil
+//}
 
 // 定时任务1  初稿未审稿自动执行
 func AutoSketchExecuteTask() {

+ 29 - 30
app/schedule/auto_task_invalid.go

@@ -3,42 +3,41 @@ package schedule
 import (
 	"fmt"
 	"github.com/caixw/lib.go/conv"
-	"github.com/robfig/cron/v3"
 	"log"
 	"time"
 	"youngee_m_api/app/dao"
 	"youngee_m_api/app/entity"
 )
 
-func AutoTaskInvalid() error {
-	// 新建一个定时任务对象
-	crontab := cron.New(cron.WithSeconds()) // 精确到秒
-	spec := "0 */5 * * * ?"                 //cron表达式,每5分钟一次
-	// "0 0 12 * * ?" 每天中午12点执行
-
-	// 添加定时任务
-	// 定时任务1  品牌种草失效自动处理
-	_, err1 := crontab.AddFunc(spec, AutoProjectInvalidTask)
-	if err1 != nil {
-		return err1
-	}
-	// 定时任务2  电商带货失效自动处理
-	_, err2 := crontab.AddFunc(spec, AutoSelectionInvalidTask)
-	if err2 != nil {
-		return err2
-	}
-	// 定时任务3  本地生活失效自动处理
-	_, err3 := crontab.AddFunc(spec, AutoLocalLifeInvalidTask)
-	if err3 != nil {
-		return err3
-	}
-
-	// 启动定时器
-	crontab.Start()
-	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
-	//select {} //阻塞主线程停止
-	return nil
-}
+//func AutoTaskInvalid() error {
+//	// 新建一个定时任务对象
+//	crontab := cron.New(cron.WithSeconds()) // 精确到秒
+//	spec := "0 */5 * * * ?"                 //cron表达式,每5分钟一次
+//	// "0 0 12 * * ?" 每天中午12点执行
+//
+//	// 添加定时任务
+//	// 定时任务1  品牌种草失效自动处理
+//	_, err1 := crontab.AddFunc(spec, AutoProjectInvalidTask)
+//	if err1 != nil {
+//		return err1
+//	}
+//	// 定时任务2  电商带货失效自动处理
+//	_, err2 := crontab.AddFunc(spec, AutoSelectionInvalidTask)
+//	if err2 != nil {
+//		return err2
+//	}
+//	// 定时任务3  本地生活失效自动处理
+//	_, err3 := crontab.AddFunc(spec, AutoLocalLifeInvalidTask)
+//	if err3 != nil {
+//		return err3
+//	}
+//
+//	// 启动定时器
+//	crontab.Start()
+//	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
+//	//select {} //阻塞主线程停止
+//	return nil
+//}
 
 // 定时任务1  品牌种草失效自动处理
 func AutoProjectInvalidTask() {

+ 17 - 18
app/schedule/auto_task_recharge.go

@@ -1,7 +1,6 @@
 package schedule
 
 import (
-	"github.com/robfig/cron/v3"
 	"github.com/sirupsen/logrus"
 	"log"
 	"time"
@@ -9,23 +8,23 @@ import (
 	"youngee_m_api/app/service"
 )
 
-func AutoTaskRecharge() error {
-	// 新建一个定时任务对象
-	crontab := cron.New(cron.WithSeconds()) // 精确到秒
-	spec := "0 */2 * * * ?"                 //cron表达式
-
-	// 定时任务  检查微信支付是否充值成功
-	_, err1 := crontab.AddFunc(spec, AutoCheckWXRechargeTask)
-	if err1 != nil {
-		return err1
-	}
-
-	// 启动定时器
-	crontab.Start()
-	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
-	//select {} //阻塞主线程停止
-	return nil
-}
+//func AutoTaskRecharge() error {
+//	// 新建一个定时任务对象
+//	crontab := cron.New(cron.WithSeconds()) // 精确到秒
+//	spec := "0 */2 * * * ?"                 //cron表达式
+//
+//	// 定时任务  检查微信支付是否充值成功
+//	_, err1 := crontab.AddFunc(spec, AutoCheckWXRechargeTask)
+//	if err1 != nil {
+//		return err1
+//	}
+//
+//	// 启动定时器
+//	crontab.Start()
+//	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
+//	//select {} //阻塞主线程停止
+//	return nil
+//}
 
 // 定时任务  检查微信支付是否充值成功
 func AutoCheckWXRechargeTask() {

+ 29 - 30
app/schedule/auto_task_review.go

@@ -2,7 +2,6 @@ package schedule
 
 import (
 	"github.com/caixw/lib.go/conv"
-	"github.com/robfig/cron/v3"
 	"log"
 	"strings"
 	"time"
@@ -11,35 +10,35 @@ import (
 	"youngee_m_api/app/service/review_service"
 )
 
-func AutoTaskReview() error {
-	// 新建一个定时任务对象
-	crontab := cron.New(cron.WithSeconds()) // 精确到秒
-	spec := "0 */1 * * * ?"                 //cron表达式,每1分钟一次
-	// "0 0 12 * * ?" 每天中午12点执行
-
-	// 添加定时任务
-	// 定时任务1  品牌种草API自动审核
-	_, err1 := crontab.AddFunc(spec, AutoProjectReviewTask)
-	if err1 != nil {
-		return err1
-	}
-	// 定时任务2  电商带货API自动审核
-	_, err2 := crontab.AddFunc(spec, AutoSelectionReviewTask)
-	if err2 != nil {
-		return err2
-	}
-	// 定时任务3  本地生活API自动审核
-	_, err3 := crontab.AddFunc(spec, AutoLocalLifeReviewTask)
-	if err3 != nil {
-		return err3
-	}
-
-	// 启动定时器
-	crontab.Start()
-	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
-	//select {} //阻塞主线程停止
-	return nil
-}
+//func AutoTaskReview() error {
+//	// 新建一个定时任务对象
+//	crontab := cron.New(cron.WithSeconds()) // 精确到秒
+//	spec := "0 */1 * * * ?"                 //cron表达式,每1分钟一次
+//	// "0 0 12 * * ?" 每天中午12点执行
+//
+//	// 添加定时任务
+//	// 定时任务1  品牌种草API自动审核
+//	_, err1 := crontab.AddFunc(spec, AutoProjectReviewTask)
+//	if err1 != nil {
+//		return err1
+//	}
+//	// 定时任务2  电商带货API自动审核
+//	_, err2 := crontab.AddFunc(spec, AutoSelectionReviewTask)
+//	if err2 != nil {
+//		return err2
+//	}
+//	// 定时任务3  本地生活API自动审核
+//	_, err3 := crontab.AddFunc(spec, AutoLocalLifeReviewTask)
+//	if err3 != nil {
+//		return err3
+//	}
+//
+//	// 启动定时器
+//	crontab.Start()
+//	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
+//	//select {} //阻塞主线程停止
+//	return nil
+//}
 
 // 定时任务1  品牌种草API自动审核
 func AutoProjectReviewTask() {

+ 28 - 29
app/schedule/auto_task_settle.go

@@ -1,41 +1,40 @@
 package schedule
 
 import (
-	"github.com/robfig/cron/v3"
 	"log"
 	"time"
 	"youngee_m_api/app/dao"
 	"youngee_m_api/app/entity"
 )
 
-func AutoTaskSettle() error {
-	// 新建一个定时任务对象
-	crontab := cron.New(cron.WithSeconds()) // 精确到秒
-	spec := "0 */1 * * * ?"                 //cron表达式,每5分钟一次
-
-	// 添加定时任务
-	// 定时任务1  电商带货结案与解冻处理
-	_, err2 := crontab.AddFunc(spec, AutoSelectionSettleTask)
-	if err2 != nil {
-		return err2
-	}
-	// 定时任务2  品牌种草结案与解冻处理
-	_, err1 := crontab.AddFunc(spec, AutoProjectSettleTask)
-	if err1 != nil {
-		return err1
-	}
-	// 定时任务3  本地生活结案与解冻处理
-	_, err3 := crontab.AddFunc(spec, AutoLocalLifeSettleTask)
-	if err3 != nil {
-		return err3
-	}
-
-	// 启动定时器
-	crontab.Start()
-	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
-	//select {} //阻塞主线程停止
-	return nil
-}
+//func AutoTaskSettle() error {
+//	// 新建一个定时任务对象
+//	crontab := cron.New(cron.WithSeconds()) // 精确到秒
+//	spec := "0 */1 * * * ?"                 //cron表达式,每5分钟一次
+//
+//	// 添加定时任务
+//	// 定时任务1  电商带货结案与解冻处理
+//	_, err2 := crontab.AddFunc(spec, AutoSelectionSettleTask)
+//	if err2 != nil {
+//		return err2
+//	}
+//	// 定时任务2  品牌种草结案与解冻处理
+//	_, err1 := crontab.AddFunc(spec, AutoProjectSettleTask)
+//	if err1 != nil {
+//		return err1
+//	}
+//	// 定时任务3  本地生活结案与解冻处理
+//	_, err3 := crontab.AddFunc(spec, AutoLocalLifeSettleTask)
+//	if err3 != nil {
+//		return err3
+//	}
+//
+//	// 启动定时器
+//	crontab.Start()
+//	// 定时任务是另起协程执行的,这里使用 select 简单阻塞.需要根据实际情况进行控制
+//	//select {} //阻塞主线程停止
+//	return nil
+//}
 
 // 定时任务1  电商带货结案与解冻处理
 func AutoSelectionSettleTask() {

+ 22 - 13
app/service/recharge_service.go

@@ -185,17 +185,26 @@ func (s RechargeService) QueryOrderByTradeId(enterpriseId string, subAccountId i
 // 余额管理——总金额、可用余额、冻结金额
 func (s RechargeService) ShowBalance(param *vo.BalanceParam) (*vo.ReBalanceShow, error) {
 	reBalanceShow := new(vo.ReBalanceShow)
-	enterprise, err := dao.EnterpriseDao{}.GetEnterpriseInfo(param.EnterpriseId)
+	var enterprises []entity.Enterprise
+	err := dao.Db.Model(&entity.Enterprise{}).Find(&enterprises).Error
 	if err != nil {
 		if errors.Is(err, gorm.ErrRecordNotFound) {
-			return reBalanceShow, nil
+			return nil, nil
 		} else {
 			return nil, err
 		}
 	}
-	reBalanceShow.TotalBalance = enterprise.Balance
-	reBalanceShow.AvailBalance = enterprise.AvailableBalance
-	reBalanceShow.FrozenBalance = enterprise.FrozenBalance
+	var balance float64
+	var availBalance float64
+	var frozenBalance float64
+	for _, enterprise := range enterprises {
+		balance += enterprise.Balance
+		availBalance += enterprise.AvailableBalance
+		frozenBalance += enterprise.FrozenBalance
+	}
+	reBalanceShow.TotalBalance = balance
+	reBalanceShow.AvailBalance = availBalance
+	reBalanceShow.FrozenBalance = frozenBalance
 	return reBalanceShow, nil
 }
 
@@ -213,16 +222,16 @@ func (s RechargeService) FrozenInfoList(param *vo.BalanceParam) (vo.ResultVO, er
 	var projects []*entity.Project
 	if param.FrozenState == 1 {
 		// 电商带货
-		selectionInfos, _ = dao.SelectionInfoDAO{}.GetSelectionFrozenList(param.EnterpriseId)
+		selectionInfos, _ = dao.SelectionInfoDAO{}.GetSelectionFrozenListAll()
 		// 品牌种草
-		projects, _ = dao.ProjectDAO{}.GetProjectFrozenList(param.EnterpriseId)
+		projects, _ = dao.ProjectDAO{}.GetProjectFrozenListAll()
 		// 本地生活
 
 	} else {
 		// 电商带货
-		selectionInfos, _ = dao.SelectionInfoDAO{}.GetSelectionFrozenCancelList(param.EnterpriseId)
+		selectionInfos, _ = dao.SelectionInfoDAO{}.GetSelectionFrozenCancelListAll()
 		// 品牌种草
-		projects, _ = dao.ProjectDAO{}.GetProjectFrozenCancelList(param.EnterpriseId)
+		projects, _ = dao.ProjectDAO{}.GetProjectFrozenCancelListAll()
 		// 本地生活
 
 	}
@@ -347,11 +356,11 @@ func (t RechargeService) FrozenInfoCount(param *vo.BalanceParam) map[string]int6
 	var blockReleaseNum1 int64
 	var blockReleaseNum2 int64
 	// 冻结中
-	dao.Db.Model(entity.SelectionInfo{}).Where(fmt.Sprintf("enterprise_id = ? AND (selection_status between 5 and 6) "), param.EnterpriseId).Count(&blockNum1)
-	dao.Db.Model(entity.Project{}).Where(fmt.Sprintf("enterprise_id = ? AND project_type = ? AND (project_status between 7 and 8) "), param.EnterpriseId, 1).Count(&blockNum2)
+	dao.Db.Model(entity.SelectionInfo{}).Where(fmt.Sprintf("selection_status between 5 and 6")).Count(&blockNum1)
+	dao.Db.Model(entity.Project{}).Where(fmt.Sprintf("project_type = ? AND (project_status between 7 and 8) "), 1).Count(&blockNum2)
 	// 冻结解除
-	dao.Db.Model(entity.SelectionInfo{}).Where(fmt.Sprintf("enterprise_id = ? AND (selection_status between 7 and 8) "), param.EnterpriseId).Count(&blockReleaseNum1)
-	dao.Db.Model(entity.Project{}).Where(fmt.Sprintf("enterprise_id = ? AND project_type = ? AND (project_status between 9 and 10) "), param.EnterpriseId, 1).Count(&blockReleaseNum2)
+	dao.Db.Model(entity.SelectionInfo{}).Where(fmt.Sprintf("selection_status between 7 and 8")).Count(&blockReleaseNum1)
+	dao.Db.Model(entity.Project{}).Where(fmt.Sprintf("project_type = ? AND (project_status between 9 and 10) "), 1).Count(&blockReleaseNum2)
 
 	res["blockNum"] = blockNum1 + blockNum2
 	res["blockReleaseNum"] = blockReleaseNum1 + blockReleaseNum2

+ 4 - 4
app/vo/balance_param.go

@@ -1,10 +1,10 @@
 package vo
 
 type BalanceParam struct {
-	EnterpriseId string `json:"enterprise_id"` // 企业id
-	FrozenState  int64  `json:"frozen_state"`  // 冻结状态(1冻结中 2冻结解除)
-	Page         int    `json:"page"`
-	PageSize     int    `json:"page_size"`
+	//EnterpriseId string `json:"enterprise_id"` // 企业id
+	FrozenState int64 `json:"frozen_state"` // 冻结状态(1冻结中 2冻结解除)
+	Page        int   `json:"page"`
+	PageSize    int   `json:"page_size"`
 
 	Others string `json:"others"` // 任务标题/任务ID/创建者
 }

+ 2 - 0
config/init.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"io/ioutil"
 	"os"
+	"youngee_m_api/app/dao"
 	"youngee_m_api/db"
 	"youngee_m_api/model/system_model"
 	"youngee_m_api/redis"
@@ -32,6 +33,7 @@ func Init() *system_model.Server {
 
 func loadExternelConfig(config *system_model.Config) {
 	db.Init(config.Mysql)
+	dao.Init(config.Mysql)
 	redis.Init(config.Redis)
 	service.LoginAuthInit(config.Server.Session)
 	service.SendCodeInit(config.Server.Session)

+ 5 - 4
config/pro.yaml

@@ -1,12 +1,13 @@
 mysql:
-  host: 192.168.0.165
+  host: 1.92.142.62
   port: 3306
-  user: test
-  password: testDB_123
+  user: root
+  password: Younggee_root_DB_123
   database: youngmini
 
+
 redis:
-  host: 139.9.53.143
+  host: 1.92.142.62
   port: 6379
   auth: younggeeRedis_123
   database: 1

+ 1 - 1
dockerfile

@@ -1,4 +1,4 @@
-FROM golang:1.17 as builder
+FROM golang:latest as builder
 
 WORKDIR /go/src/app
 

+ 0 - 3
go.sum

@@ -68,8 +68,6 @@ github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
 github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.117 h1:TUiy5+4+Q7AWNfvKjQQL6lXOylnp7HL47JyYJ+HgN+I=
 github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.117/go.mod h1:JWz2ujO9X3oU5wb6kXp+DpR2UuDj2SldDbX8T0FSuhI=
-github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.148 h1:PdWSbniKnPhKe1B19KUHW/9ahYbFH2EY6Iq6sxOnomo=
-github.com/huaweicloud/huaweicloud-sdk-go-v3 v0.1.148/go.mod h1:Y/+YLCFCJtS29i2MbYPTUlNNfwXvkzEsZKR0imY/2aY=
 github.com/issue9/assert v1.4.1 h1:gUtOpMTeaE4JTe9kACma5foOHBvVt1p5XTFrULDwdXI=
 github.com/issue9/assert v1.4.1/go.mod h1:Yktk83hAVl1SPSYtd9kjhBizuiBIqUQyj+D5SE2yjVY=
 github.com/issue9/conv v1.2.1 h1:bSRC6p0eSJqwtnN2yk04ct4F556y8i+TdiUiBvN+KdA=
@@ -136,7 +134,6 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV
 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
 github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/stretchr/testify v1.7.5/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
 github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
 github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=

+ 2 - 2
service/auto_task.go

@@ -331,8 +331,8 @@ func AutoTask() error {
 	//spec := "0 0 * * * *" //每小时执行
 	// "0 0 12 * * ?" 每天中午12点执行
 	// 添加定时任务,
-	//_, err := crontab.AddFunc("0 0 * * * *", taskKDStatus) //每小时执行一次快递是否签收的查询
-	_, err := crontab.AddFunc("0 */1 * * * ?", taskKDStatus) //每分钟执行一次快递是否签收的查询
+	_, err := crontab.AddFunc("0 0 * * * *", taskKDStatus) //每小时执行一次快递是否签收的查询
+	//_, err := crontab.AddFunc("0 */1 * * * ?", taskKDStatus) //每分钟执行一次快递是否签收的查询
 	if err != nil {
 		return err
 	}