|
@@ -249,34 +249,17 @@ func GetFeeDetail(ctx context.Context, enterpriseID string, EndTime string) (*ht
|
|
|
|
|
|
func SetProjectFinish(ctx context.Context, projectId string) error {
|
|
|
db := GetReadDB(ctx)
|
|
|
- // 1. 更新项目状态为已结束
|
|
|
- err := db.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates(map[string]interface{}{"project_status": 10}).Error
|
|
|
- if err != nil {
|
|
|
- logrus.WithContext(ctx).Errorf("[Project db] Update ProjectInfo error,err:%+v", err)
|
|
|
- return err
|
|
|
- }
|
|
|
var finishedNum int64
|
|
|
var unfinishedNum int64
|
|
|
- err1 := db.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2 AND task_stage < 15", projectId).Count(&unfinishedNum).Error
|
|
|
- if err1 != nil {
|
|
|
- logrus.WithContext(ctx).Errorf("[Data db] Count YoungeeTaskInfo error,err:%+v", err)
|
|
|
- return err1
|
|
|
- }
|
|
|
+ db.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2 AND task_stage < 15", projectId).Count(&unfinishedNum)
|
|
|
db.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage >= 15", projectId).Count(&finishedNum)
|
|
|
if unfinishedNum == 0 && finishedNum != 0 {
|
|
|
- // 1. 更新项目状态为结束
|
|
|
- err2 := db.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates("project_status = 10").Error
|
|
|
- if err2 != nil {
|
|
|
- logrus.WithContext(ctx).Errorf("[Data db] Count YoungeeTaskInfo error,err:%+v", err)
|
|
|
- return err2
|
|
|
- }
|
|
|
-
|
|
|
// 2. 释放企业账户因项目冻结的资金
|
|
|
// 1) 计算剩余资金
|
|
|
db1 := GetReadDB(ctx)
|
|
|
var allPayment float64
|
|
|
var realPayment float64
|
|
|
- err = db1.Model(gorm_model.YoungeeTaskInfo{}).
|
|
|
+ err := db1.Model(gorm_model.YoungeeTaskInfo{}).
|
|
|
Where("project_id = ? and task_status = 2 and task_stage >= 15", projectId).Pluck("COALESCE(SUM(all_payment), 0) as allPayment", &allPayment).Error
|
|
|
if err != nil {
|
|
|
log.Println("DB GetAutoCaseCloseTask error in data:", err)
|
|
@@ -302,6 +285,13 @@ func SetProjectFinish(ctx context.Context, projectId string) error {
|
|
|
log.Println("DB GetAutoCaseCloseTask error in data:", err)
|
|
|
return err
|
|
|
}
|
|
|
+
|
|
|
+ // 1. 更新项目状态为已结束
|
|
|
+ err = db.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates(map[string]interface{}{"project_status": 10, "payment_amount": realPayment}).Error
|
|
|
+ if err != nil {
|
|
|
+ logrus.WithContext(ctx).Errorf("[Project db] Update ProjectInfo error,err:%+v", err)
|
|
|
+ return err
|
|
|
+ }
|
|
|
}
|
|
|
return nil
|
|
|
}
|