package cygx import ( "github.com/beego/beego/v2/client/orm" "time" ) type YanXuanActivityPointsRedis struct { UserId int `description:"用户ID"` ComapnyId int `description:"公司ID"` CompanyContractId int `description:"合同id"` ActivityId int `description:"活动ID"` PublishStatus int `description:"发布状态 1已发布,0未发布"` SourceType int `description:"1:报名、 2:取消报名、3:活动编辑、4:活动发布,取消发布、5:活动到会。"` AdminId int `description:"管理员、销售ID"` Source int `description:" 来源,1客户端,2后台添加, 3开发人员手动添加、4定时任务"` RegisterPlatform int `description:"来源 1小程序,2:网页"` CreateTime time.Time `description:"创建时间"` } type CygxActivityPointsSet struct { Id int `gorm:"column:id;primary_key;AUTO_INCREMENT" json:"id"` ActivityId int `gorm:"column:activity_id;NOT NULL" json:"activity_id"` // 活动ID PointsObject string `gorm:"column:points_object;default:1;NOT NULL" json:"points_object"` // 扣点对象,1:参会人、2:办会人、3:办会人和参会人 CompanyId int `gorm:"column:company_id;default:0;NOT NULL" json:"company_id"` // 公司ID CompanyName string `gorm:"column:company_name;NOT NULL" json:"company_name"` // 公司名称 UserPointsNum string `gorm:"column:user_points_num;default:0;NOT NULL" json:"user_points_num"` // 参会人扣点数量 PointsType string `gorm:"column:points_type;default:0;NOT NULL" json:"points_type"` // 扣点形式,1:报名即扣点,2:到会即扣点 CompanyPointsNum string `gorm:"column:company_points_num;default:0;NOT NULL" json:"company_points_num"` // 办会人扣点数量 CancelDeadlineType string `gorm:"column:cancel_deadline_type;default:0;NOT NULL" json:"cancel_deadline_type"` // 取消报名截止时间类型,0:不设置,1:同报名截止时间, 2:24小时之前、3:48小时之前 CreateTime time.Time `gorm:"column:create_time;NOT NULL" json:"create_time"` // 创建时间 ModifyTime time.Time `gorm:"column:modify_time;NOT NULL" json:"modify_time"` // 更新时间 } type CygxActivityPointsSetRsq struct { ActivityId int `gorm:"column:activity_id;NOT NULL" json:"ActivityId"` // 活动ID PointsObject string `gorm:"column:points_object;NOT NULL" json:"PointsObject"` // 扣点对象,1:参会人、2:办会人、3:办会人和参会人 CompanyId int `gorm:"column:company_id;default:0;NOT NULL" json:"CompanyId"` // 公司ID CompanyName string `gorm:"column:company_name;NOT NULL" json:"CompanyName"` // 公司名称 UserPointsNum string `gorm:"column:user_points_num;default:0;NOT NULL" json:"UserPointsNum"` // 参会人扣点数量 PointsType string `gorm:"column:points_type;default:0;NOT NULL" json:"PointsType"` // 扣点形式,1:报名即扣点,2:到会即扣点 CompanyPointsNum string `gorm:"column:company_points_num;default:0;NOT NULL" json:"CompanyPointsNum"` // 办会人扣点数量 CancelDeadlineType string `description:"取消报名截止时间类型,0:不设置,1:同报名截止时间, 2:24小时之前、3:48小时之前"` } type CygxActivityPointsSetConfigListResp struct { List []*CygxActivityPointsSetConfigResp } type CygxActivityPointsSetConfigResp struct { PointsNum string `gorm:"column:user_points_num;default:0;NOT NULL" json:"PointsNum"` // 扣点数量 } // 通过活动ID获取详情 func GetCygxActivityPointsSetDetail(activityId int) (item *CygxActivityPointsSetRsq, err error) { o := orm.NewOrmUsingDB("hz_cygx") sql := `SELECT * FROM cygx_activity_points_set WHERE activity_id=? ` err = o.Raw(sql, activityId).QueryRow(&item) return } // 通过活动ID获取详情 func GetCygxActivityPointsSetUserNum(activityId int) (userPointsNum float64, err error) { o := orm.NewOrmUsingDB("hz_cygx") sql := `SELECT user_points_num FROM cygx_activity_points_set WHERE activity_id=? ` err = o.Raw(sql, activityId).QueryRow(&userPointsNum) return } // 通过互动ID获取数量 func GetCygxActivityPointsSetCountByActivityId(ActivityId int) (count int, err error) { sqlCount := ` SELECT COUNT(1) AS count FROM cygx_activity_points_set WHERE activity_id=? ` o := orm.NewOrmUsingDB("hz_cygx") err = o.Raw(sqlCount, ActivityId).QueryRow(&count) return } type CygxActivitySearcCompanyListResp struct { List []*CygxActivitySearcCompanyResp } type CygxActivitySearcCompanyResp struct { CompanyId int `description:"公司ID"` CompanyName string `description:"公司名称"` RealName string `description:"用户实际名称"` AdminId int `description:"销售/管理员ID"` } // 搜索权益机构名称以及管理的销售 func GetCygxActivitySearcCompanyList(companyName string) (items []*CygxActivitySearcCompanyResp, err error) { o := orm.NewOrm() sql := `SELECT c.company_id, c.company_name, a.admin_id, a.real_name FROM company AS c INNER JOIN company_product AS p ON p.company_id = c.company_id INNER JOIN admin AS a ON a.admin_id = p.seller_id WHERE 1 = 1 AND p.product_id = 2 AND c.company_name LIKE '%` + companyName + `%' ` _, err = o.Raw(sql).QueryRows(&items) return }