|
@@ -1,18 +1,53 @@
|
|
|
package services
|
|
|
|
|
|
import (
|
|
|
+ "context"
|
|
|
"fmt"
|
|
|
"hongze/hongze_task/models"
|
|
|
"hongze/hongze_task/utils"
|
|
|
"time"
|
|
|
- "context"
|
|
|
)
|
|
|
|
|
|
+// CompanyReportPermissionTryOut 产品正式权限 -> 产品权限试用
|
|
|
+func CompanyReportPermissionTryOut(cont context.Context) (err error) {
|
|
|
+ //fmt.Println("开始进入产品试用权限 -> 产品权限关闭")
|
|
|
+ endDate := time.Now().AddDate(0, 0, -1).Format(utils.FormatDate)
|
|
|
+ items, err := models.GetCompanyReportPermissionNeedTryOut(endDate)
|
|
|
+
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("GetCompanyReportPermissionNeedTryOut Err:%s" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range items {
|
|
|
+ //fmt.Println(k, v)
|
|
|
+ //continue
|
|
|
+ //查看是否有审批单,如果有审批单,那么就退出当前循环,进入下一循环
|
|
|
+
|
|
|
+ //count, err := models.GetCompanyApprovalCount(v.CompanyId, v.ProductId)
|
|
|
+ //if err != nil {
|
|
|
+ // continue
|
|
|
+ //}
|
|
|
+ //if count > 0 {
|
|
|
+ // continue
|
|
|
+ //}
|
|
|
+
|
|
|
+ //正式转试用用户产品权限
|
|
|
+ err = models.CompanyReportPermissionTryOut(v.CompanyReportPermissionId, v.CompanyId, v.ProductId)
|
|
|
+ if err != nil {
|
|
|
+ utils.FileLog.Info("CompanyReportPermissionTryOut Err:%s" + err.Error())
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ //添加正式转试用用户产品权限日志
|
|
|
+ _ = AddCompanyReportPermissionLog(v.CompanyReportPermissionId, v.CompanyId, v.ProductId, utils.AdminId, v.ProductName, utils.RealName, "正式转试用", "try_out", v.Status)
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|
|
|
|
|
|
//产品试用权限 -> 产品权限关闭
|
|
|
func CompanyReportPermissionClose(cont context.Context) (err error) {
|
|
|
//fmt.Println("开始进入产品试用权限 -> 产品权限关闭")
|
|
|
- endDate := time.Now().AddDate(0,0,-1).Format(utils.FormatDate)
|
|
|
+ endDate := time.Now().AddDate(0, 0, -1).Format(utils.FormatDate)
|
|
|
items, err := models.GetCompanyReportPermissionNeedClose(endDate)
|
|
|
|
|
|
if err != nil {
|
|
@@ -27,7 +62,7 @@ func CompanyReportPermissionClose(cont context.Context) (err error) {
|
|
|
//fmt.Println(k, v)
|
|
|
//continue
|
|
|
//查看是否有审批单,如果有审批单,那么就退出当前循环,进入下一循环
|
|
|
- count, err := models.GetCompanyApprovalCount(v.CompanyId,v.ProductId)
|
|
|
+ count, err := models.GetCompanyApprovalCount(v.CompanyId, v.ProductId)
|
|
|
if err != nil {
|
|
|
continue
|
|
|
}
|
|
@@ -36,33 +71,33 @@ func CompanyReportPermissionClose(cont context.Context) (err error) {
|
|
|
}
|
|
|
|
|
|
//关闭用户产品权限
|
|
|
- err = models.CompanyReportPermissionClose(v.CompanyReportPermissionId,v.CompanyId, v.ProductId)
|
|
|
+ err = models.CompanyReportPermissionClose(v.CompanyReportPermissionId, v.CompanyId, v.ProductId)
|
|
|
if err != nil {
|
|
|
utils.FileLog.Info("CompanyReportPermissionClose Err:%s" + err.Error())
|
|
|
continue
|
|
|
}
|
|
|
//添加关闭用户产品权限日志
|
|
|
- _ = AddCompanyReportPermissionLog(v.CompanyReportPermissionId,v.CompanyId,v.ProductId,utils.AdminId,v.ProductName,utils.RealName,"试用转关闭","close",v.Status)
|
|
|
+ _ = AddCompanyReportPermissionLog(v.CompanyReportPermissionId, v.CompanyId, v.ProductId, utils.AdminId, v.ProductName, utils.RealName, "试用转关闭", "close", v.Status)
|
|
|
|
|
|
//如果不存在该数据,那么将该数据放入待处理用户产品权限列表
|
|
|
- mapKey := fmt.Sprintf("%v_%v",v.CompanyId,v.ProductId)
|
|
|
- if _,ok := freezeCompanyProductList[mapKey];ok==false{
|
|
|
+ mapKey := fmt.Sprintf("%v_%v", v.CompanyId, v.ProductId)
|
|
|
+ if _, ok := freezeCompanyProductList[mapKey]; ok == false {
|
|
|
freezeCompanyProductList[mapKey] = v
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//遍历待处理的用户产品权限列表,查询用户产品权限信息并冻结用户产品
|
|
|
- for _,companyReportPermission := range freezeCompanyProductList{
|
|
|
+ for _, companyReportPermission := range freezeCompanyProductList {
|
|
|
go queryAndFreezeCompanyProduct(companyReportPermission)
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
|
|
|
//查询用户产品权限信息并冻结用户产品
|
|
|
-func queryAndFreezeCompanyProduct(companyReportPermission *models.CompanyReportPermission){
|
|
|
+func queryAndFreezeCompanyProduct(companyReportPermission *models.CompanyReportPermission) {
|
|
|
//查询该用户名下是否存在还在使用的权限
|
|
|
- count,err := models.GetCompanyReportPermissionCount(companyReportPermission.CompanyId, companyReportPermission.ProductId)
|
|
|
+ count, err := models.GetCompanyReportPermissionCount(companyReportPermission.CompanyId, companyReportPermission.ProductId)
|
|
|
if err != nil {
|
|
|
utils.FileLog.Info("CompanyReportPermissionClose query other permission Err:%s" + err.Error())
|
|
|
}
|
|
@@ -72,18 +107,18 @@ func queryAndFreezeCompanyProduct(companyReportPermission *models.CompanyReportP
|
|
|
}
|
|
|
|
|
|
//冻结该用户产品
|
|
|
- _,err = models.CompanyFreeze(companyReportPermission.CompanyId, companyReportPermission.ProductId)
|
|
|
+ _, err = models.CompanyFreeze(companyReportPermission.CompanyId, companyReportPermission.ProductId)
|
|
|
if err != nil {
|
|
|
go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode+";冻结该用户产品", "services:queryAndFreezeCompanyProduct;Err"+err.Error(), utils.EmailSendToUsers)
|
|
|
return
|
|
|
}
|
|
|
|
|
|
//查询用户产品信息
|
|
|
- companyProduct ,err := models.GetCompanyProduct(companyReportPermission.CompanyId,companyReportPermission.ProductId)
|
|
|
+ companyProduct, err := models.GetCompanyProduct(companyReportPermission.CompanyId, companyReportPermission.ProductId)
|
|
|
//if err!=nil && err.Error() != utils.ErrNoRow() {
|
|
|
if err != nil {
|
|
|
- if err.Error() != utils.ErrNoRow(){
|
|
|
- go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode+";查询用户产品信息", fmt.Sprint("services:queryAndFreezeCompanyProduct;Err"+err.Error(),"CompanyId:",companyReportPermission.CompanyId,";ProductId:",companyReportPermission.ProductId), utils.EmailSendToUsers)
|
|
|
+ if err.Error() != utils.ErrNoRow() {
|
|
|
+ go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode+";查询用户产品信息", fmt.Sprint("services:queryAndFreezeCompanyProduct;Err"+err.Error(), "CompanyId:", companyReportPermission.CompanyId, ";ProductId:", companyReportPermission.ProductId), utils.EmailSendToUsers)
|
|
|
}
|
|
|
//go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode+";查询用户产品信息", fmt.Sprint("services:queryAndFreezeCompanyProduct;Err"+err.Error(),"CompanyId:",companyReportPermission.CompanyId,";ProductId:",companyReportPermission.ProductId), utils.EmailSendToUsers)
|
|
|
return
|
|
@@ -102,22 +137,22 @@ func queryAndFreezeCompanyProduct(companyReportPermission *models.CompanyReportP
|
|
|
}
|
|
|
|
|
|
//添加用户权限操作日志
|
|
|
-func AddCompanyReportPermissionLog(companyReportPermissionId int64,companyId,productId,sysUserId int,productName string,sysUserName,remark,operation,status string) (err error) {
|
|
|
+func AddCompanyReportPermissionLog(companyReportPermissionId int64, companyId, productId, sysUserId int, productName string, sysUserName, remark, operation, status string) (err error) {
|
|
|
record := models.CompanyReportPermissionLog{
|
|
|
- CompanyReportPermissionId : companyReportPermissionId,
|
|
|
- CompanyId : companyId,
|
|
|
- ProductId : productId,
|
|
|
- ProductName : productName,
|
|
|
- SysUserId : sysUserId,
|
|
|
- SysUserName : sysUserName,
|
|
|
- Remark : remark,
|
|
|
- Operation : operation,
|
|
|
- Status : status,
|
|
|
- CreateTime : time.Now(),
|
|
|
+ CompanyReportPermissionId: companyReportPermissionId,
|
|
|
+ CompanyId: companyId,
|
|
|
+ ProductId: productId,
|
|
|
+ ProductName: productName,
|
|
|
+ SysUserId: sysUserId,
|
|
|
+ SysUserName: sysUserName,
|
|
|
+ Remark: remark,
|
|
|
+ Operation: operation,
|
|
|
+ Status: status,
|
|
|
+ CreateTime: time.Now(),
|
|
|
}
|
|
|
_, err = models.AddCompanyReportPermissionLog(&record)
|
|
|
- if err != nil{
|
|
|
+ if err != nil {
|
|
|
go utils.SendEmail(utils.APPNAME+"失败提醒"+utils.RunMode, "services:AddCompanyReportPermissionLog;Err"+err.Error(), utils.EmailSendToUsers)
|
|
|
}
|
|
|
return
|
|
|
-}
|
|
|
+}
|