1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package services
- import (
- "xugu_license/internal/global"
- "xugu_license/internal/models"
- "github.com/pkg/errors"
- )
- func checkDistributeToUser(OaLicRequest int64, UserUniqueIDs []string, UserNames []string) (licToUser []string, err error) {
- for i, UserUID := range UserUniqueIDs {
- //查询该license是否已经分发给了该用户
- if isTurn, err := models.CheckOaLicRequest(OaLicRequest, UserUID); err != nil {
- global.Logger.Errorln("该license查询是否分发给用户失败 ", UserUID, err.Error())
- return nil, err
- } else if isTurn {
- global.Logger.Info("该license已经分发给了该用户 ", UserUID, UserNames[i])
- licToUser = append(licToUser, UserNames[i])
- }
- }
- return licToUser, nil
- }
- func CheckOaLicInfoRequest(OARequestId int64) (error, bool) {
- if OARequestId != 0 {
- //一个OARequestId会有多条数据UniqueID
- OALics, _, err := models.GetOALicenseInfo(0, 0, "", "", "", OARequestId)
- if err != nil || OALics == nil {
- global.Logger.Errorln("LicenseInfo数据查询失败: ", err.Error())
- return errors.Errorf("LicenseInfo数据查询失败 : %v", err.Error()), false
- }
- //校验license信息是否与oa一致
- var isCheck bool
- for _, license := range *OALics {
- //检测该数据是否与oa库数据库一致 //todo
- isCheckTmp, err := models.CheckLicenseInfoInOADB(&license.LicInfo)
- if err != nil {
- global.Logger.Errorln("LicenseInfo数据对比oa库 校验失败: ", err.Error())
- return errors.Errorf("LicenseInfo数据对比oa库 校验失败 %v", err.Error()), false
- }
- if isCheckTmp {
- global.Logger.Errorf("\nLicenseInfo数据对比oa库 不一致: %v\n", license.LicInfo.UniqueID)
- isCheck = isCheckTmp
- err = models.UpdatelicenseInfoRow(license)
- if err != nil {
- return err, false
- }
- err = models.UpdatelicenseGenerateInfoRow(license)
- if err != nil {
- return err, false
- }
- }
- }
- //不一致则返回
- if isCheck {
- return nil, true
- }
- return nil, false
- }
- return errors.Errorf("该申请单没有oa单号"), false
- }
|