package roadshow import ( "github.com/beego/beego/v2/client/orm" "github.com/rdlucklib/rdluck_tools/paging" "hongze/hz_crm_api/utils" "time" ) type AddActivitySellerReq struct { ActivityType string `description:"活动类型"` RoadshowType string `description:"路演形式"` RoadshowPlatform string `description:"路演平台"` CompanyId int `description:"客户id"` CompanyName string `description:"客户名称"` Theme string `description:"会议主题"` CooperationName string `description:"合作方名称"` ActivityCategory string `description:"活动类别"` //SellerList []*ActivitySellerReq EnglishCompany int `description:"是否为英文客户"` SellerId string `description:"销售id,多个用 ,隔开"` SellerName string `description:"销售名称"` StartDate string `description:"开始日期"` EndDate string `description:"结束日期"` StartTime string `description:"开始时间"` EndTime string `description:"结束时间"` StartWeek string `description:"开始日期对应周"` EndWeek string `description:"结束日期对应周"` } type RsActivityIdReq struct { RsActivityId int `description:"活动id"` } type ActivitySellerReq struct { SellerId int `description:"销售id"` SellerName string `description:"销售名称"` StartDate string `description:"开始日期"` EndDate string `description:"结束日期"` StartTime string `description:"开始时间"` EndTime string `description:"结束时间"` StartWeek string `description:"开始日期对应周"` EndWeek string `description:"结束日期对应周"` } type RsActivity struct { RsActivityId int `orm:"column(rs_activity_id);pk"` SysUserId int `description:"创建人id"` SysUserRealName string `description:"创建人名称"` ActivityType string `description:"活动类型"` CompanyId int `description:"客户id"` CompanyName string `description:"客户名称"` Theme string `description:"会议主题"` CreateTime time.Time ModifyTime time.Time EnglishCompany int `description:"是否为英文客户: 0-否; 1-是"` } // 添加RsActivity func AddRsActivity(item *RsActivity) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.Insert(item) return } type RsActivitySeller struct { RsActivitySellerId int `orm:"column(rs_activity_seller_id);pk"` RsActivityId int `description:"活动id"` SellerId int `description:"销售id"` SellerName string `description:"销售id"` StartDate string `description:"开始日期"` EndDate string `description:"结束日期"` StartTime string `description:"开始时间"` EndTime string `description:"结束时间"` StartWeek string `description:"开始日期对应周"` EndWeek string `description:"结束日期对应周"` CreateTime time.Time ModifyTime time.Time Status int `description:"状态:1:待接受,2:已接受,3:已拒绝,4:已删除,5:已撤回,6:已结束"` DeleteReason string `description:"删除理由"` DeleteTime time.Time `description:"删除时间"` } // 添加 RsActivitySeller func AddRsActivitySeller(item *RsActivitySeller) (lastId int64, err error) { o := orm.NewOrm() lastId, err = o.Insert(item) return } type RsActivitySellerResp struct { RsActivitySellerId int `orm:"column(rs_activity_seller_id);pk"` CompanyId int `description:"客户id"` CompanyName string `description:"客户名称"` RsActivityId int `description:"活动id"` ActivityType string `description:"活动类型"` SellerName string `description:"销售姓名"` StartDate string `description:"开始日期"` EndDate string `description:"结束日期"` StartTime string `description:"开始时间"` EndTime string `description:"结束时间"` StartWeek string `description:"开始日期对应周"` EndWeek string `description:"结束日期对应周"` Theme string `description:"会议主题"` CreateTime string `description:"创建时间"` SysUserRealName string `description:"创建人名称"` RoadshowType string `description:"路演形式"` } type RsActivitySellerListResp struct { Paging *paging.PagingItem List []*RsActivitySellerResp } func GetRsActivitySellerList(condition string, pars []interface{}, startSize, pageSize int) (items []*RsActivitySellerResp, err error) { sql := `SELECT a.*, b.sys_user_real_name, b.theme, b.activity_type, b.company_id, b.company_name FROM rs_activity_seller AS a INNER JOIN rs_activity AS b ON a.rs_activity_id = b.rs_activity_id WHERE 1 = 1 ` if condition != "" { sql += condition } sql += ` GROUP BY a.rs_activity_id ORDER BY b.create_time DESC LIMIT ?,? ` o := orm.NewOrm() _, err = o.Raw(sql, pars, startSize, pageSize).QueryRows(&items) return } func GetRsActivitySellerList2(condition string, pars []interface{}) (list []*RsActivitySellerResp, err error) { o := orm.NewOrm() sql := `SELECT a.*, b.sys_user_real_name, b.theme, b.activity_type, b.company_id, b.company_name FROM rs_activity_seller AS a INNER JOIN rs_activity AS b ON a.rs_activity_id = b.rs_activity_id WHERE 1 = 1` if condition != "" { sql += condition } sql += ` ORDER BY a.create_time DESC ` _, err = o.Raw(sql, pars).QueryRows(&list) return } // 根据活动ID获取销售列表 func GetRsActivitySellerListByActivityIds(rsActivityIds []int) (items []*RsActivitySeller, err error) { lenArr := len(rsActivityIds) if lenArr == 0 { return } o := orm.NewOrm() sql := `SELECT * FROM rs_activity_seller AS a WHERE 1 = 1 AND rs_activity_id IN (` + utils.GetOrmInReplace(lenArr) + `) ` _, err = o.Raw(sql, rsActivityIds).QueryRows(&items) return } func GetRsActivitySellerListCount(condition string, pars []interface{}) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT( * ) as count FROM ( SELECT COUNT( * ) FROM rs_activity AS b INNER JOIN rs_activity_seller AS a ON a.rs_activity_id = b.rs_activity_id WHERE 1 = 1 ` + condition + ` GROUP BY a.rs_activity_id ) b ` err = o.Raw(sql, pars).QueryRow(&count) return } // 删除 func DeleteRsActivitySeller(rsActivityId int) (err error) { o := orm.NewOrm() sql := ` UPDATE rs_activity_seller SET status=4 WHERE rs_activity_id = ? ` _, err = o.Raw(sql, rsActivityId).Exec() return } func GetRsActivityByRsActivityId(rsActivityId int) (item *RsActivity, err error) { o := orm.NewOrm() sql := `SELECT * FROM rs_activity WHERE rs_activity_id=? ` err = o.Raw(sql, rsActivityId).QueryRow(&item) return } func CheckCalendarActivitySellerrCount(condition string, pars []interface{}) (count int, err error) { o := orm.NewOrm() sql := `SELECT COUNT(1) AS count FROM rs_activity_seller AS a WHERE 1=1 ` if condition != "" { sql += condition } err = o.Raw(sql, pars).QueryRow(&count) return }