|
@@ -1392,3 +1392,248 @@ func GetChartPermissionSpecialSurplusByCompany(companyId int) (userType int, tri
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+// 清零初始化用-去掉了正式用户的判断
|
|
|
+func GetChartPermissionSpecialSurplusByCompanyForInit(companyId int) (userType int, tripRemaining int, mapChartName map[string]int, err error) {
|
|
|
+ companyDetail, e := models.GetCompanyDetailByIdGroup(companyId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCompanyDetailByIdGroup, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ if companyDetail == nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //if companyDetail.Status != "永续" && companyDetail.Status != "正式" {
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
+ //chartMap := map[int]string{utils.YI_YAO_ID:utils.YI_YAO_NAME, utils.XIAO_FEI_ID:utils.XIAO_FEI_NAME, utils.KE_JI_ID:utils.KE_JI_NAME, utils.ZHI_ZAO_ID:utils.ZHI_ZAO_NAME}
|
|
|
+ chartNumMap := map[int]int{utils.YI_YAO_ID:0, utils.XIAO_FEI_ID:0, utils.KE_JI_ID:0, utils.ZHI_ZAO_ID:0}
|
|
|
+ //var packageType int
|
|
|
+ userType, _, _ = GetUserType(companyId)
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ condition += ` AND company_id = ? `
|
|
|
+ pars = append(pars, companyId)
|
|
|
+
|
|
|
+ //查询当年的数据
|
|
|
+ condition += ` AND b.create_time >= ? `
|
|
|
+ pars = append(pars, time.Now().Format(utils.FormatYearDate)+"-01-01")
|
|
|
+ listTripBill, e := models.GetCygxActivitySpecialTripBillList(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivitySpecialTripCountByActivitySpecial, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取继承点数
|
|
|
+ inheritList, e := models.GetCygxActivitySpecialInheritPointsByCompanyId(companyId)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCygxActivitySpecialInheritPointsByCompanyId, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ if userType == 2 {
|
|
|
+
|
|
|
+ var tripBillNum int
|
|
|
+ for _, v := range listTripBill {
|
|
|
+ //if v.ActivityId == 0 {
|
|
|
+ // continue
|
|
|
+ //}
|
|
|
+ tripBillNum += v.BillDetailed
|
|
|
+ }
|
|
|
+ if len(inheritList) > 0 {
|
|
|
+ for _, v := range inheritList {
|
|
|
+ if v.ChartPermissionId == 0 {
|
|
|
+ tripBillNum += v.Points
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ tripRemaining = tripBillNum
|
|
|
+ if tripRemaining < 0 {
|
|
|
+ tripRemaining = 0
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ list, e := models.GetCompanyReportPermissionByCompanyIdAndProductIdForInit(companyId, 2)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCompanyReportPermissionByCompanyIdAndProductIdForInit, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ if len(list) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var chartPermissionIdSlice []string
|
|
|
+ mapChartName = make(map[string]int)
|
|
|
+ mapUpgradeId := make(map[int]int)
|
|
|
+ mapPermissionNameTrip := make(map[string]int)
|
|
|
+ mapInheritChartName := make(map[string]int)
|
|
|
+ //mapPermissionName := make(map[int]string)
|
|
|
+ for _, v := range list {
|
|
|
+ chartPermissionIdSlice = append(chartPermissionIdSlice, strconv.Itoa(v.ChartPermissionId))
|
|
|
+ //是升级套餐才有点数
|
|
|
+ if v.IsUpgrade == 1 {
|
|
|
+ mapUpgradeId[v.ChartPermissionId] = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ chartList := make([]*models.ChartPermission, 0)
|
|
|
+ if len(chartPermissionIdSlice) > 0 {
|
|
|
+ chartList, e = models.GetChartPermissionByIds(chartPermissionIdSlice)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("获取品种信息失败, Err:" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(chartList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listTripBill {
|
|
|
+ if v.ActivityId == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ mapPermissionNameTrip[v.ChartPermissionName] += v.BillDetailed
|
|
|
+ }
|
|
|
+ for _, v := range chartList {
|
|
|
+ if _, ok := chartNumMap[v.ChartPermissionId]; ok{
|
|
|
+ //如果是升级则加点
|
|
|
+ if _, ok := mapUpgradeId[v.ChartPermissionId]; ok {
|
|
|
+ mapChartName[v.PermissionName] = 5 + mapPermissionNameTrip[v.PermissionName]
|
|
|
+ } else {
|
|
|
+ mapChartName[v.PermissionName] = mapPermissionNameTrip[v.PermissionName]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 通过继承获得的加点
|
|
|
+ for _, v := range inheritList {
|
|
|
+ mapInheritChartName[v.ChartPermissionName] = v.Points
|
|
|
+ }
|
|
|
+ for _, v := range mapChartName {
|
|
|
+ if v > 0 {
|
|
|
+ tripRemaining += v
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+// total初始化用-去掉了正式用户的判断
|
|
|
+func GetChartPermissionSpecialSurplusByCompanyForInitTotal(companyId int) (userType int, tripRemaining int, mapChartName map[string]int, err error) {
|
|
|
+ companyDetail, e := models.GetCompanyDetailByIdGroup(companyId)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetCompanyDetailByIdGroup, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ if companyDetail == nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ //if companyDetail.Status != "永续" && companyDetail.Status != "正式" {
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+
|
|
|
+ //chartMap := map[int]string{utils.YI_YAO_ID:utils.YI_YAO_NAME, utils.XIAO_FEI_ID:utils.XIAO_FEI_NAME, utils.KE_JI_ID:utils.KE_JI_NAME, utils.ZHI_ZAO_ID:utils.ZHI_ZAO_NAME}
|
|
|
+ chartNumMap := map[int]int{utils.YI_YAO_ID:0, utils.XIAO_FEI_ID:0, utils.KE_JI_ID:0, utils.ZHI_ZAO_ID:0}
|
|
|
+ //var packageType int
|
|
|
+ userType, _, _ = GetUserType(companyId)
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ condition += ` AND company_id = ? `
|
|
|
+ pars = append(pars, companyId)
|
|
|
+
|
|
|
+ //查询当年的数据
|
|
|
+ condition += ` AND b.create_time >= ? `
|
|
|
+ pars = append(pars, time.Now().Format(utils.FormatYearDate)+"-01-01")
|
|
|
+ listTripBill, e := models.GetCygxActivitySpecialTripBillList(condition, pars)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetActivitySpecialTripCountByActivitySpecial, Err: " + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取继承点数
|
|
|
+ inheritList, e := models.GetCygxActivitySpecialInheritPointsByCompanyId(companyId)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCygxActivitySpecialInheritPointsByCompanyId, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ if userType == 2 {
|
|
|
+
|
|
|
+ var tripBillNum int
|
|
|
+ for _, v := range listTripBill {
|
|
|
+ //if v.ActivityId == 0 {
|
|
|
+ // continue
|
|
|
+ //}
|
|
|
+ tripBillNum += v.BillDetailed
|
|
|
+ }
|
|
|
+ if len(inheritList) > 0 {
|
|
|
+ for _, v := range inheritList {
|
|
|
+ if v.ChartPermissionId == 0 {
|
|
|
+ tripBillNum += v.Points
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ tripRemaining = tripBillNum
|
|
|
+ if tripRemaining < 0 {
|
|
|
+ tripRemaining = 0
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ list, e := models.GetCompanyReportPermissionByCompanyIdAndProductIdForInit2(companyId, 2)
|
|
|
+ if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
+ err = errors.New("GetCompanyReportPermissionByCompanyIdAndProductIdForInit, Err: " + e.Error())
|
|
|
+ }
|
|
|
+ if len(list) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var chartPermissionIdSlice []string
|
|
|
+ mapChartName = make(map[string]int)
|
|
|
+ mapUpgradeId := make(map[int]int)
|
|
|
+ mapPermissionNameTrip := make(map[string]int)
|
|
|
+ mapInheritChartName := make(map[string]int)
|
|
|
+ //mapPermissionName := make(map[int]string)
|
|
|
+ for _, v := range list {
|
|
|
+ chartPermissionIdSlice = append(chartPermissionIdSlice, strconv.Itoa(v.ChartPermissionId))
|
|
|
+ //是升级套餐才有点数
|
|
|
+ if v.IsUpgrade == 1 {
|
|
|
+ mapUpgradeId[v.ChartPermissionId] = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ chartList := make([]*models.ChartPermission, 0)
|
|
|
+ if len(chartPermissionIdSlice) > 0 {
|
|
|
+ chartList, e = models.GetChartPermissionByIds(chartPermissionIdSlice)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("获取品种信息失败, Err:" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(chartList) == 0 {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range listTripBill {
|
|
|
+ if v.ActivityId == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ mapPermissionNameTrip[v.ChartPermissionName] += v.BillDetailed
|
|
|
+ }
|
|
|
+ for _, v := range chartList {
|
|
|
+ if _, ok := chartNumMap[v.ChartPermissionId]; ok{
|
|
|
+ //如果是升级则加点
|
|
|
+ if _, ok := mapUpgradeId[v.ChartPermissionId]; ok {
|
|
|
+ mapChartName[v.PermissionName] = 5 + mapPermissionNameTrip[v.PermissionName]
|
|
|
+ } else {
|
|
|
+ mapChartName[v.PermissionName] = mapPermissionNameTrip[v.PermissionName]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 通过继承获得的加点
|
|
|
+ for _, v := range inheritList {
|
|
|
+ mapInheritChartName[v.ChartPermissionName] = v.Points
|
|
|
+ }
|
|
|
+ for _, v := range mapChartName {
|
|
|
+ if v > 0 {
|
|
|
+ tripRemaining += v
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|