contract.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package contract
  2. import (
  3. "errors"
  4. "fmt"
  5. contractCustom "hongze/hongze_mobile_admin/models/custom/contract"
  6. "hongze/hongze_mobile_admin/models/tables/contract"
  7. "hongze/hongze_mobile_admin/models/tables/contract_service_detail"
  8. "hongze/hongze_mobile_admin/utils"
  9. )
  10. //根据id获取合同详情(包含服务)
  11. func GetContractDetail(contractId int) (contractDetail *contract.ContractDetail, err error) {
  12. contractDetail, err = contract.GetContractDetailById(contractId)
  13. if err != nil {
  14. if err.Error() == utils.ErrNoRow() {
  15. err = errors.New("找不到该合同")
  16. }
  17. return
  18. }
  19. serviceList, err := contractCustom.GetContractServiceAndDetailList(contractId)
  20. if err != nil {
  21. err = errors.New(fmt.Sprint("查找合同服务异常", err))
  22. return
  23. }
  24. for i := 0; len(serviceList) > i; i++ {
  25. if serviceList[i].HasDetail == "是" {
  26. list, detailErr := contract_service_detail.GetContractServiceDetailListByServiceId(serviceList[i].ContractServiceId)
  27. if detailErr != nil {
  28. err = errors.New(fmt.Sprint("查找合同服务详情异常", detailErr))
  29. return
  30. }
  31. serviceList[i].DetailList = list
  32. }
  33. }
  34. contractDetail.Service = serviceList
  35. return
  36. }