|
@@ -77,6 +77,49 @@ func (this *CompanyApplyController) ApplyServiceUpdate() {
|
|
|
br.ErrMsg = "客户类型为:" + req.CompanyType
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ //添加缓存,避免多次点击提交
|
|
|
+ {
|
|
|
+ deleteCache := true
|
|
|
+ cacheKey := "CACHE_COMPANY_APPLY_" + strconv.Itoa(req.CompanyId) + "_" + strconv.Itoa(productId)
|
|
|
+ defer func() {
|
|
|
+ if deleteCache {
|
|
|
+ utils.Rc.Delete(cacheKey)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+ if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
|
|
|
+ deleteCache = false
|
|
|
+ br.Msg = "系统处理中,请勿重复操作"
|
|
|
+ br.ErrMsg = "系统处理中,请勿重复操作" + sysUser.RealName + ";data:" + string(this.Ctx.Input.RequestBody)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ approveRoleTypeCode := ""
|
|
|
+ if productId == 1 {
|
|
|
+ approveRoleTypeCode = utils.ROLE_TYPE_CODE_FICC_ADMIN
|
|
|
+ } else {
|
|
|
+ approveRoleTypeCode = utils.ROLE_TYPE_CODE_RAI_ADMIN
|
|
|
+ }
|
|
|
+ companyProduct, err := company.GetCompanyProductByCompanyIdAndProductId(req.CompanyId, productId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取客户信息失败"
|
|
|
+ br.ErrMsg = "获取客户信息失败"
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if companyProduct.Status != utils.COMPANY_STATUS_FORMAL && companyProduct.Status != utils.COMPANY_STATUS_TRY_OUT {
|
|
|
+ br.Msg = "客户状态为:" + companyProduct.Status + ";不可进行服务更新申请"
|
|
|
+ br.ErrMsg = "客户状态为:" + companyProduct.Status + ";不可进行服务更新申请"
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //客户归属判断-当前销售/咨询组共享销售
|
|
|
+ if companyProduct.SellerId != sysUser.AdminId && companyProduct.ShareSellerId != sysUser.AdminId {
|
|
|
+ br.Msg = "客户信息异常"
|
|
|
+ br.ErrMsg = "客户信息异常,不是当前所属销售,客户所属销售:" + companyProduct.SellerName + ";当前销售:" + sysUser.AdminName
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
mapPermissionIdUpgrade := make(map[int]int, 0)
|
|
|
mapPermissionIdExpensive := make(map[int]int, 0)
|
|
|
var raicontractType string
|
|
@@ -100,7 +143,7 @@ func (this *CompanyApplyController) ApplyServiceUpdate() {
|
|
|
|
|
|
//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
|
|
|
raicontractType = req.ContractType
|
|
|
- if raicontractType != "新签合同" {
|
|
|
+ if raicontractType != "新签合同" && companyProduct.Status != utils.COMPANY_STATUS_FOREVER {
|
|
|
//startDateTime, _ := time.Parse(utils.FormatDate, req.StartDate)
|
|
|
//startDateTime = startDateTime.AddDate(-1, 0, 0)
|
|
|
totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, req.StartDate)
|
|
@@ -124,47 +167,6 @@ func (this *CompanyApplyController) ApplyServiceUpdate() {
|
|
|
req.PermissionIds = permissionStr
|
|
|
}
|
|
|
|
|
|
- //添加缓存,避免多次点击提交
|
|
|
- {
|
|
|
- deleteCache := true
|
|
|
- cacheKey := "CACHE_COMPANY_APPLY_" + strconv.Itoa(req.CompanyId) + "_" + strconv.Itoa(productId)
|
|
|
- defer func() {
|
|
|
- if deleteCache {
|
|
|
- utils.Rc.Delete(cacheKey)
|
|
|
- }
|
|
|
- }()
|
|
|
- if !utils.Rc.SetNX(cacheKey, 1, 30*time.Second) {
|
|
|
- deleteCache = false
|
|
|
- br.Msg = "系统处理中,请勿重复操作"
|
|
|
- br.ErrMsg = "系统处理中,请勿重复操作" + sysUser.RealName + ";data:" + string(this.Ctx.Input.RequestBody)
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- approveRoleTypeCode := ""
|
|
|
- if productId == 1 {
|
|
|
- approveRoleTypeCode = utils.ROLE_TYPE_CODE_FICC_ADMIN
|
|
|
- } else {
|
|
|
- approveRoleTypeCode = utils.ROLE_TYPE_CODE_RAI_ADMIN
|
|
|
- }
|
|
|
- companyProduct, err := company.GetCompanyProductByCompanyIdAndProductId(req.CompanyId, productId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取客户信息失败"
|
|
|
- br.ErrMsg = "获取客户信息失败"
|
|
|
- return
|
|
|
- }
|
|
|
- if companyProduct.Status != utils.COMPANY_STATUS_FORMAL && companyProduct.Status != utils.COMPANY_STATUS_TRY_OUT {
|
|
|
- br.Msg = "客户状态为:" + companyProduct.Status + ";不可进行服务更新申请"
|
|
|
- br.ErrMsg = "客户状态为:" + companyProduct.Status + ";不可进行服务更新申请"
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- //客户归属判断-当前销售/咨询组共享销售
|
|
|
- if companyProduct.SellerId != sysUser.AdminId && companyProduct.ShareSellerId != sysUser.AdminId {
|
|
|
- br.Msg = "客户信息异常"
|
|
|
- br.ErrMsg = "客户信息异常,不是当前所属销售,客户所属销售:" + companyProduct.SellerName + ";当前销售:" + sysUser.AdminName
|
|
|
- return
|
|
|
- }
|
|
|
var approveUserId int
|
|
|
var approveUserRealName string
|
|
|
applyMethod := 5 //续约服务
|
|
@@ -616,7 +618,7 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
|
|
|
if productId == 2 {
|
|
|
//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
|
|
|
raicontractType = contractType
|
|
|
- if raicontractType != "新签合同" {
|
|
|
+ if raicontractType != "新签合同" && companyProduct.Status != utils.COMPANY_STATUS_FOREVER {
|
|
|
//startDateTime, _ := time.Parse(utils.FormatDate, req.StartDate)
|
|
|
//startDateTime = startDateTime.AddDate(-1, 0, 0)
|
|
|
totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, req.StartDate)
|
|
@@ -1141,7 +1143,7 @@ func (this *CompanyApplyController) ApplyBySystemContract() {
|
|
|
if productId == 2 {
|
|
|
//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
|
|
|
raicontractType = contractType
|
|
|
- if raicontractType != "新签合同" {
|
|
|
+ if raicontractType != "新签合同" && companyProduct.Status != utils.COMPANY_STATUS_FOREVER {
|
|
|
//startDateTime := contractDetail.StartDate.AddDate(-1, 0, 0)
|
|
|
totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, contractDetail.StartDate.Format(utils.FormatDate))
|
|
|
if err != nil {
|