1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package service
- import (
- "context"
- "youngee_b_api/db"
- "youngee_b_api/model/http_model"
- "github.com/issue9/conv"
- "github.com/sirupsen/logrus"
- )
- var ProjectPay *projectPay
- type projectPay struct {
- }
- func (*projectPay) Pay(ctx context.Context, projectPay http_model.ProjectPayRequest, enterpriseID int64) (*int64, error) {
- // 修改企业账户金额
- balance, err := db.UpdateEnterpriseBalance(ctx, enterpriseID, 0, -projectPay.PaySum, projectPay.PaySum)
- if err != nil {
- logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateEnterpriseBalance error,err:%+v", err)
- return nil, err
- }
- // 修改项目状态为执行中
- err = db.UpdateProjectStatus(ctx, conv.MustInt64(projectPay.ProjectID), 9)
- if err != nil {
- logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateEnterpriseBalance error,err:%+v", err)
- return nil, err
- }
- // 插入支付记录
- recordId, err1 := db.CreatePayRecord(ctx, enterpriseID, projectPay.PaySum, *balance, 2, conv.MustInt64(projectPay.ProjectID))
- if err1 != nil {
- logrus.WithContext(ctx).Errorf("[projectPay service] call CreatePayRecord error,err:%+v", err)
- return nil, err1
- }
- // 支付更新任务状态
- project, err2 := db.GetProjectDetail(ctx, conv.MustInt64(projectPay.ProjectID))
- if err2 != nil {
- logrus.WithContext(ctx).Errorf("[project service] call GetPorjectDetail error,err:%+v", err)
- return nil, err2
- }
- err = db.UpdateTaskSelectAtByProjectId(ctx, conv.MustInt64(projectPay.ProjectID), 2)
- if err != nil {
- logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
- return nil, err
- }
- if project.ProjectForm != 4 {
- err = db.UpdateTaskStageByProjectId(ctx, conv.MustInt64(projectPay.ProjectID), 2, 4)
- if err != nil {
- logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
- return nil, err
- }
- } else {
- if project.ContentType == 1 {
- err = db.UpdateTaskStageByProjectId(ctx, conv.MustInt64(projectPay.ProjectID), 2, 9) //修改为待传初稿
- if err != nil {
- logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
- return nil, err
- }
- } else {
- err = db.UpdateTaskStageByProjectId(ctx, conv.MustInt64(projectPay.ProjectID), 2, 7) //修改为待传脚本
- if err != nil {
- logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
- return nil, err
- }
- }
- }
- return recordId, nil
- }
|