company_contract.go 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package controllers
  2. import (
  3. companyContractResp "hongze/hongze_mobile_admin/models/response/company_contract"
  4. "hongze/hongze_mobile_admin/models/tables/company_contract"
  5. "hongze/hongze_mobile_admin/models/tables/company_report_permission"
  6. "hongze/hongze_mobile_admin/services"
  7. "hongze/hongze_mobile_admin/utils"
  8. )
  9. //客户合同模块
  10. type CompanyContractCommon struct {
  11. BaseAuth
  12. }
  13. // @Title 合同详情详情
  14. // @Description 合同详情接口
  15. // @Param CompanyId query int true "客户ID"
  16. // @Param CompanyContractId query int true "合同id"
  17. // @Success 200 {object} company_contract.CompanyContractDetailResp
  18. // @router /detail [get]
  19. func (c *CompanyContractCommon) ApplyContractDetail() {
  20. sysUser := c.AdminWx
  21. companyId, _ := c.GetInt("CompanyId")
  22. if companyId <= 0 {
  23. c.FailWithMessage("参数错误", "参数错误,客户id小于等于0")
  24. return
  25. }
  26. companyContractId, _ := c.GetInt("CompanyContractId")
  27. roleTypeCode := sysUser.RoleTypeCode
  28. productId := services.GetProductId(roleTypeCode)
  29. //if productId == 0 {
  30. // c.FailWithMessage("当前账户类型异常", "客户类型为:"+roleTypeCode)
  31. // return
  32. //}
  33. detail, err := company_contract.GetCompanyContractDetail(companyId, productId, companyContractId)
  34. if err != nil {
  35. c.FailWithMessage("获取信息失败", "获取信息失败,Err:"+err.Error())
  36. return
  37. }
  38. productId = detail.ProductId
  39. if productId == 1 {
  40. for _, v := range utils.PermissionFiccClassifyArr {
  41. checkList := make([]int, 0)
  42. plist := new(company_report_permission.PermissionLookList)
  43. items, err := company_report_permission.GetPermissionLookItems(productId, v)
  44. if err != nil {
  45. c.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  46. return
  47. }
  48. for _, n := range items {
  49. count, err := company_contract.GetCompanyContractPermissionCheckByContractId(companyId, detail.CompanyContractId, n.ChartPermissionId)
  50. if err != nil {
  51. c.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  52. return
  53. }
  54. if count > 0 {
  55. checkList = append(checkList, n.ChartPermissionId)
  56. }
  57. }
  58. plist.Items = items
  59. plist.ClassifyName = v
  60. plist.CheckList = checkList
  61. detail.PermissionList = append(detail.PermissionList, plist)
  62. }
  63. } else {
  64. classifyName := "权益"
  65. checkList := make([]int, 0)
  66. plist := new(company_report_permission.PermissionLookList)
  67. items, err := company_report_permission.GetPermissionLookItems(productId, classifyName)
  68. if err != nil {
  69. c.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  70. return
  71. }
  72. for _, n := range items {
  73. count, err := company_contract.GetCompanyContractPermissionCheckByContractId(companyId, detail.CompanyContractId, n.ChartPermissionId)
  74. if err != nil {
  75. c.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  76. return
  77. }
  78. if count > 0 {
  79. checkList = append(checkList, n.ChartPermissionId)
  80. }
  81. n.PermissionName = n.Remark
  82. }
  83. plist.Items = items
  84. plist.ClassifyName = classifyName
  85. plist.CheckList = checkList
  86. detail.PermissionList = append(detail.PermissionList, plist)
  87. }
  88. resp := companyContractResp.CompanyContractDetailResp{
  89. detail,
  90. }
  91. c.OkDetailed(resp, "获取成功")
  92. }