123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- package cygxService
- import (
- "errors"
- "fmt"
- "hongze/hongze_mobile_admin/models/cygx"
- company_contract2 "hongze/hongze_mobile_admin/models/response/company_contract"
- "hongze/hongze_mobile_admin/models/tables/chart_permission"
- "hongze/hongze_mobile_admin/models/tables/company_contract_permission"
- "hongze/hongze_mobile_admin/utils"
- "strconv"
- "strings"
- "time"
- )
- func ActivitySpecialCompanyApproval(companyId, companyContractId int, companyName string) (err error) {
-
-
-
-
-
-
-
-
- companyContract, e := company_contract2.GetCompanyContractById(companyContractId)
- if e != nil {
- err = errors.New("GetCompanyContractById, Err: " + e.Error())
- return
- }
- packageType := companyContract.RaiPackageType
- var items []*cygx.CygxActivitySpecialPermissionPoints
- itemBill := new(cygx.CygxActivitySpecialTripBill)
- itemBill.CreateTime = time.Now()
- itemBill.CompanyId = companyId
- itemBill.CompanyName = companyName
- itemBill.Source = 2
- itemBill.DoType = 2
- itemBill.Way = 3
- if packageType > 0 {
- packageTypeMap := map[int]int{1: 16, 2: 12}
- totalTrip := packageTypeMap[packageType]
- itemBill.BillDetailed = totalTrip
- itemBill.Total = strconv.Itoa(itemBill.BillDetailed) + "次"
- if packageType == 2 {
- itemBill.Content = "45w大套餐转正"
- } else {
- itemBill.Content = "70w大套餐转正"
- }
-
- item := new(cygx.CygxActivitySpecialPermissionPoints)
- item.Points = totalTrip
- item.CompanyId = companyId
- item.CompanyName = companyName
- item.CreateTime = time.Now()
- item.ModifyTime = time.Now()
- items = append(items, item)
- } else {
- var condition string
- var pars []interface{}
- pars = make([]interface{}, 0)
- condition = " AND company_contract_id = ? AND is_upgrade = 1 "
- pars = append(pars, companyContractId)
- list, e := company_contract_permission.GetCompanyContractPermissionList(condition, pars)
- if e != nil && e.Error() != utils.ErrNoRow() {
- err = errors.New("GetCompanyContractPermissionList, Err: " + e.Error())
- return
- }
- if len(list) == 0 {
- return
- }
-
- listRaiSubjectivity, e := chart_permission.GetChartPermissionListRaiSubjectivity()
- if e != nil && e.Error() != utils.ErrNoRow() {
- err = errors.New("GetChartPermissionListRaiSubjectivity, Err: " + e.Error())
- }
- mapRaiSubjectivity := make(map[int]bool)
- mapPermissionName := make(map[int]string)
- for _, v := range listRaiSubjectivity {
- mapRaiSubjectivity[v.ChartPermissionId] = true
- mapPermissionName[v.ChartPermissionId] = v.ChartPermissionName
- }
- for _, v := range list {
-
- if v.IsUpgrade == 1 && mapRaiSubjectivity[v.ChartPermissionId] {
- item := new(cygx.CygxActivitySpecialPermissionPoints)
- item.Points = 5
- item.CompanyId = companyId
- item.CompanyName = companyName
- item.ChartPermissionId = v.ChartPermissionId
- item.ChartPermissionName = mapPermissionName[v.ChartPermissionId]
- item.CreateTime = time.Now()
- item.ModifyTime = time.Now()
- items = append(items, item)
- }
- }
- itemBill.Content = "行业升级套餐转正"
- }
- e = cygx.MultiAddCygxActivitySpecialPermissionPoints(items)
- if e != nil {
- err = errors.New("MultiAddCygxActivitySpecialPermissionPoints, Err:" + e.Error())
- return
- }
- if packageType > 0 && len(items) > 0 {
- var condition string
- var pars []interface{}
- pars = make([]interface{}, 0)
- condition = " AND company_id = ? AND points > 0 ORDER BY chart_permission_id DESC "
- pars = append(pars, companyId)
- activitySpecialPermissionPointsList, e := cygx.GetCygxActivitySpecialPermissionPointsList(condition, pars)
- if e != nil && e.Error() != utils.ErrNoRow() {
- err = errors.New("GetCygxActivitySpecialPermissionPointsList, Err:" + e.Error())
- return
- }
- var itemBillTotal []string
- for _, v := range activitySpecialPermissionPointsList {
- itemBillTotal = append(itemBillTotal, fmt.Sprint(v.ChartPermissionName, v.Points, "次"))
- }
- itemBill.BillDetailed = 5 * len(items)
- itemBill.Total = strings.Join(itemBillTotal, "+")
- }
-
- if itemBill.Total != "" {
- e := cygx.AddCygxActivitySpecialTripBill(itemBill)
- if e != nil {
- err = errors.New("AddCygxActivitySpecialTripBill, Err:" + e.Error())
- return
- }
- }
- return
- }
|