caipin 4 年 前
コミット
ae849ef680
2 ファイル変更32 行追加29 行削除
  1. 20 17
      services/contract_paid_service.go
  2. 12 12
      web/viewmodels/contracts_paid.go

+ 20 - 17
services/contract_paid_service.go

@@ -9,6 +9,7 @@ package services
 
 import (
 	"errors"
+	"fmt"
 	"log"
 	"strconv"
 	"time"
@@ -18,7 +19,6 @@ import (
 	"go.mod/comm"
 	"go.mod/conf"
 	"go.mod/models"
-	"go.mod/web/utils"
 	"go.mod/web/viewmodels"
 )
 
@@ -50,10 +50,11 @@ func (s *contractService) PaidCreate(returnData *viewmodels.ContractsPaid, proje
 	}
 
 	// 1-3已支付的中金额不能超过 合同金额
-	price, err := decimal.NewFromString(returnData.Price)
-	if err != nil {
-		return errors.New("金额填写有误")
-	}
+	price := decimal.NewFromFloat(returnData.Price)
+	// price, err := decimal.NewFromString(returnData.Price)
+	// if err != nil {
+	// 	return errors.New("金额填写有误")
+	// }
 	contractPrice, _ := decimal.NewFromString(contract.Price)
 	paidPrice, _ := decimal.NewFromString(contract.Paid)
 	resultPrice := contractPrice.Sub(paidPrice)
@@ -81,7 +82,7 @@ func (s *contractService) PaidCreate(returnData *viewmodels.ContractsPaid, proje
 	contractsReturnCm.CreateUser = returnData.CreateUser
 	contractsReturnCm.AccountId = projectAccountId
 
-	contractsReturnCm.Price = returnData.Price
+	contractsReturnCm.Price = fmt.Sprintf("%.2f", returnData.Price)
 
 	// 3.新增回款
 	err = s.contractPaidDao.Add(contractsReturnCm)
@@ -116,10 +117,11 @@ func (s *contractService) PaidUpdate(returnData *viewmodels.ContractsPaid, proje
 	}
 
 	// 1-3已支付的中金额不能超过 合同金额
-	price, err := decimal.NewFromString(returnData.Price)
-	if err != nil {
-		return errors.New("金额填写有误")
-	}
+	price := decimal.NewFromFloat(returnData.Price)
+	// price, err := decimal.NewFromString(returnData.Price)
+	// if err != nil {
+	// 	return errors.New("金额填写有误")
+	// }
 	contractPrice, _ := decimal.NewFromString(contract.Price)
 	paidPrice, _ := decimal.NewFromString(contract.Paid)
 	// 当前回款金额
@@ -147,11 +149,12 @@ func (s *contractService) PaidUpdate(returnData *viewmodels.ContractsPaid, proje
 	}
 	contractsReturnCm.Time = time
 
-	_, err = strconv.ParseFloat(returnData.Price, 64)
-	if err != nil {
-		return errors.New("金额填写有误")
-	}
-	contractsReturnCm.Price = returnData.Price
+	// _, err = strconv.ParseFloat(returnData.Price, 64)
+	// if err != nil {
+	// 	return errors.New("金额填写有误")
+	// }
+
+	contractsReturnCm.Price = fmt.Sprintf("%.2f", returnData.Price)
 
 	// 3.更新已支付信息
 	err = s.contractPaidDao.Update(contractsReturnCm, contractsId, bidsectionId)
@@ -218,8 +221,8 @@ func (s *contractService) makeContractPaidVM(data *models.CmContractsPaid) *view
 	viewContractsReturn.Time = data.Time.Format(conf.SysTimeform)
 
 	price, _ := strconv.ParseFloat(data.Price, 64)
-
-	viewContractsReturn.Price = utils.PriceToStringFormat(price)
+	// fmt.Sprintf("%.2f", price)
+	viewContractsReturn.Price = price
 
 	viewContractsReturn.Way = data.Way
 	viewContractsReturn.CreateUser = data.CreateUser

+ 12 - 12
web/viewmodels/contracts_paid.go

@@ -9,18 +9,18 @@ package viewmodels
 import validation "github.com/go-ozzo/ozzo-validation/v3"
 
 type ContractsPaid struct {
-	Id           string `form:"id" json:"id" `
-	ContractsId  string `form:"contractsId" json:"contractsId" `
-	ProjectId    string `form:"projectId" json:"projectId" `
-	BidsectionId string `form:"bidsectionId" json:"bidsectionId" `
-	Time         string `form:"time" json:"time" `
-	Price        string `form:"price" json:"price" `
-	Way          string `form:"way" json:"way" `
-	CreateUser   string `form:"createUser" json:"createUser" `
-	AccountId    string `form:"accountId" json:"accountId" `
-	Remarks      string `form:"remarks" json:"remarks" `
-	CreateTime   string `form:"createTime" json:"createTime" `
-	FileCounts   int64  `from:"fileCounts" json:"fileCounts"`
+	Id           string  `form:"id" json:"id" `
+	ContractsId  string  `form:"contractsId" json:"contractsId" `
+	ProjectId    string  `form:"projectId" json:"projectId" `
+	BidsectionId string  `form:"bidsectionId" json:"bidsectionId" `
+	Time         string  `form:"time" json:"time" `
+	Price        float64 `form:"price" json:"price" `
+	Way          string  `form:"way" json:"way" `
+	CreateUser   string  `form:"createUser" json:"createUser" `
+	AccountId    string  `form:"accountId" json:"accountId" `
+	Remarks      string  `form:"remarks" json:"remarks" `
+	CreateTime   string  `form:"createTime" json:"createTime" `
+	FileCounts   int64   `from:"fileCounts" json:"fileCounts"`
 
 	Page int `form:"page" json:"page" `
 }