license_search_services.go 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package services
  2. import (
  3. "xugu_license/internal/api"
  4. "xugu_license/internal/global"
  5. middlewares "xugu_license/internal/middleware"
  6. "xugu_license/internal/models"
  7. "github.com/pkg/errors"
  8. )
  9. func GetDistributeButtenCheckService(OARequestId int64) (error, bool) {
  10. if OARequestId != 0 {
  11. //一个OARequestId会有多条数据UniqueID
  12. OALics, _, err := models.GetOALicenseInfo(0, 0, "", "", "", OARequestId)
  13. if err != nil || OALics == nil {
  14. global.Logger.Errorln("LicenseInfo数据查询失败: ", err.Error())
  15. return errors.Errorf("LicenseInfo数据查询失败 : %v", err.Error()), false
  16. }
  17. //校验license信息是否与oa一致
  18. var isCheck bool
  19. for _, license := range *OALics {
  20. //检测该数据是否与oa库数据库一致 //todo
  21. isCheckTmp, err := models.CheckLicenseInfoInOADB(&license.LicInfo)
  22. if err != nil {
  23. global.Logger.Errorln("LicenseInfo数据对比oa库 校验失败: ", err.Error())
  24. return errors.Errorf("LicenseInfo数据对比oa库 校验失败 %v", err.Error()), false
  25. }
  26. if isCheckTmp {
  27. global.Logger.Errorf("\nLicenseInfo数据对比oa库 不一致: %v\n", license.LicInfo.UniqueID)
  28. isCheck = isCheckTmp
  29. err = models.UpdatelicenseInfoRow(license)
  30. if err != nil {
  31. return err, false
  32. }
  33. err = models.UpdatelicenseGenerateInfoRow(license)
  34. if err != nil {
  35. return err, false
  36. }
  37. }
  38. }
  39. //不一致则返回
  40. if isCheck {
  41. return nil, true
  42. }
  43. return nil, false
  44. }
  45. return errors.Errorf("该申请单没有oa单号"), false
  46. }
  47. func GetConditionalSearchService(request api.ConditionalSearchRequest, role middlewares.Permission, user string) (*[]models.OALicenseInfo, int, error) {
  48. if role == middlewares.ReadAllLicense {
  49. lic, total, err := models.GetConditionalSearchAll(request)
  50. if err != nil {
  51. return nil, total, err
  52. }
  53. return lic, total, nil
  54. } else if role == middlewares.ReadLicense {
  55. lic, total, err := models.GetConditionalSearchUser(request, user)
  56. if err != nil {
  57. return nil, total, err
  58. }
  59. return lic, total, nil
  60. } else {
  61. return nil, 0, errors.Errorf("没有权限")
  62. }
  63. }