瀏覽代碼

Merge branch 'crm/crm_17.0_ficc' of http://8.136.199.33:3000/hongze/hz_crm_api into debug

zhangchuanxing 1 天之前
父節點
當前提交
835485a385

+ 3 - 3
controllers/company_apply_v2.go

@@ -147,7 +147,7 @@ func (this *CompanyApplyController) ApplyServiceUpdate() {
 
 		//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
 		raicontractType = req.ContractType
-		if raicontractType != "新签合同" && companyProduct.Status != utils.COMPANY_STATUS_FOREVER {
+		if raicontractType != "新签合同" {
 			//startDateTime, _ := time.Parse(utils.FormatDate, req.StartDate)
 			//startDateTime = startDateTime.AddDate(-1, 0, 0)
 			totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, req.StartDate)
@@ -681,7 +681,7 @@ func (this *CompanyApplyController) ApplyTurnPositive() {
 		if productId == 2 {
 			//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
 			raicontractType = contractType
-			if raicontractType != "新签合同" && companyProduct.Status != utils.COMPANY_STATUS_FOREVER {
+			if raicontractType != "新签合同" {
 				//startDateTime, _ := time.Parse(utils.FormatDate, req.StartDate)
 				//startDateTime = startDateTime.AddDate(-1, 0, 0)
 				totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, req.StartDate)
@@ -1291,7 +1291,7 @@ func (this *CompanyApplyController) ApplyBySystemContract() {
 	if productId == 2 {
 		//权益的新签合同重新定义,如果合同起始时间在新签合同起始日期 1年之内的,仍为新签合同。
 		raicontractType = contractType
-		if raicontractType != "新签合同" && companyProduct.Status != utils.COMPANY_STATUS_FOREVER {
+		if raicontractType != "新签合同" {
 			//startDateTime := contractDetail.StartDate.AddDate(-1, 0, 0)
 			totalLastYear, err := contractService.GetCompanyContractCountRaiByLastYear(req.CompanyId, contractDetail.StartDate.Format(utils.FormatDate))
 			if err != nil {

+ 110 - 0
controllers/company_seller.go

@@ -7600,3 +7600,113 @@ func (this *CompanySellerController) CheckListRaiServerType() {
 		ListServer: listServer,
 	}
 }
+
+// ActivityFiccList
+// @Title 活动FICC销售列表
+// @Description 活动FICC销售列表
+// @Success 200 {object} system.RoadshowGroupResp
+// @router /seller/activity_ficc/list [get]
+func (this *CompanySellerController) ActivityFiccList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		if br.ErrMsg == "" {
+			br.IsSendEmail = false
+		}
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	resp := new(system.RoadshowGroupResp)
+	productId := services.GetProductId(sysUser.RoleTypeCode)
+	if productId == utils.COMPANY_PRODUCT_RAI_ID {
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		br.Data = resp
+		return
+	}
+
+	// 分组
+	departmentId := 2
+	groups, e := system.GetGroupByDepartmentId(departmentId)
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取FICC分组失败, Err: " + e.Error()
+		return
+	}
+	teamGroupId := make(map[int]int, 0) // 小组ID对应的大组ID
+	var list []system.RoadshowGroups
+	for _, g := range groups {
+		if g.ParentId > 0 {
+			teamGroupId[g.GroupId] = g.ParentId
+			continue
+		}
+
+		// 大组
+		list = append(list, system.RoadshowGroups{
+			GroupId:   g.GroupId,
+			GroupName: g.GroupName,
+		})
+	}
+
+	// 销售
+	roleArr := []string{
+		utils.ROLE_TYPE_CODE_FICC_ADMIN, utils.ROLE_TYPE_CODE_FICC_DEPARTMENT, utils.ROLE_TYPE_CODE_FICC_GROUP,
+		utils.ROLE_TYPE_CODE_FICC_TEAM, utils.ROLE_TYPE_CODE_FICC_SELLER,
+	}
+	cond := fmt.Sprintf(` AND role_type_code IN (%s) AND enabled = 1`, utils.GetOrmInReplace(len(roleArr)))
+	pars := make([]interface{}, 0)
+	pars = append(pars, roleArr)
+	sellers, e := system.GetSysUserItemsOrderByCreated(cond, pars)
+	if e != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取FICC销售失败, Err: " + e.Error()
+		return
+	}
+
+	groupIdChild := make(map[int][]system.RoadshowGroupSellers) // 大组ID对应的销售
+	for _, s := range sellers {
+		var seller system.RoadshowGroupSellers
+		seller.AdminId = s.AdminId
+		seller.AdminName = s.RealName
+
+		gid := teamGroupId[s.GroupId]
+		if gid > 0 {
+			// 小组
+			seller.GroupId = gid
+			seller.TeamId = s.GroupId
+		} else {
+			// 大组
+			seller.GroupId = s.GroupId
+		}
+		groupIdChild[seller.GroupId] = append(groupIdChild[seller.GroupId], seller)
+	}
+
+	// 根据当前角色过滤可选项
+
+	for _, v := range list {
+		// 如果是销售、组长、主管, 那么过滤掉自己大组外的其他组
+		if sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_GROUP || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_TEAM || sysUser.RoleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER {
+			if sysUser.GroupId != v.GroupId && teamGroupId[sysUser.GroupId] != v.GroupId {
+				continue
+			}
+		}
+		child := groupIdChild[v.GroupId]
+
+		// 非以上两种情况, 可见该大组所有销售
+		v.Child = child
+		resp.List = append(resp.List, v)
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}

+ 353 - 0
controllers/roadshow/activity.go

@@ -0,0 +1,353 @@
+package roadshow
+
+import (
+	"encoding/json"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"hongze/hz_crm_api/controllers"
+	"hongze/hz_crm_api/models"
+	"hongze/hz_crm_api/models/cygx"
+	"hongze/hz_crm_api/models/roadshow"
+	"hongze/hz_crm_api/utils"
+	"strconv"
+	"strings"
+	"time"
+)
+
+// 日历
+type ActivityController struct {
+	controllers.BaseAuthController
+}
+
+// @Title 新增路演活动接口
+// @Description 新增路演活动接口
+// @Param	request	body roadshow.AddActivityReq true "type json string"
+// @Success Ret=200 保存成功
+// @router /add [post]
+func (this *ActivityController) Add() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+
+	deleteCache := true
+	cacheKey := "CACHE_RS_ACTIVITY_ADD_SELLER_" + strconv.Itoa(sysUser.AdminId)
+	defer func() {
+		if deleteCache {
+			utils.Rc.Delete(cacheKey)
+		}
+	}()
+	if !utils.Rc.SetNX(cacheKey, 1, 5*time.Second) {
+		deleteCache = false
+		br.Msg = "系统处理中,请稍后重试!"
+		br.ErrMsg = "系统处理中,请稍后重试!" + sysUser.RealName + ";data:" + string(this.Ctx.Input.RequestBody)
+		return
+	}
+	var req roadshow.AddActivitySellerReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	if len(req.SellerList) <= 0 {
+		br.Msg = "请选择销售!"
+		return
+	}
+
+	researcherMap := make(map[int]string)
+	var checkIsAdd []string
+
+	//if req.EnglishCompany == 1 {
+	//	englishCompany, err := models.GetEnglishCompanyById(req.CompanyId)
+	//	if err != nil {
+	//		br.Msg = "客户已被删除, 请刷新页面"
+	//		br.ErrMsg = "获取失败,GetEnglishCompanyById Err: " + err.Error()
+	//		return
+	//	}
+	//}
+
+	//获取所有自定义的权益研究员
+	sysUserList, err := cygx.GetAskEmailListResearcher()
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取失败,GetAskEmailList Err: " + err.Error()
+		return
+	}
+	raiAskadminMap := make(map[int]bool, 0)
+	for _, v := range sysUserList {
+		raiAskadminMap[v.AdminId] = true
+	}
+
+	//var tipMsg string
+	for _, v := range req.SellerList {
+		if v.SellerId <= 0 {
+			br.Msg = "请选择销售!"
+			return
+		}
+		if v.SellerName == "" {
+			br.Msg = "请选择销售!"
+			return
+		}
+		if v.StartDate == "" {
+			br.Msg = "请选择开始日期!"
+			return
+		}
+		if v.EndDate == "" {
+			br.Msg = "请选择结束日期!"
+			return
+		}
+		if v.StartTime == "" {
+			br.Msg = "请选择开始时间!"
+			return
+		}
+		if v.EndTime == "" {
+			br.Msg = "请选择结束时间!"
+			return
+		}
+		if v.StartWeek == "" {
+			br.Msg = "请选择周!"
+			return
+		}
+
+		if v.EndWeek == "" {
+			br.Msg = "请选择周!"
+			return
+		}
+
+		startDateTime := v.StartDate + " " + v.StartTime
+		endDateTime := v.EndDate + " " + v.EndTime
+
+		startP, _ := time.ParseInLocation(utils.FormatDateTime, startDateTime, time.Local)
+		endP, _ := time.ParseInLocation(utils.FormatDateTime, endDateTime, time.Local)
+
+		if startP.Before(time.Now()) || startP.Equal(time.Now()) {
+			br.Msg = "活动开始时间不能小于当前时间!"
+			return
+		}
+
+		if endP.Before(time.Now()) || endP.Equal(time.Now()) {
+			br.Msg = "活动结束时间不能小于当前时间!"
+			return
+		}
+
+		if startP.After(endP) || startP.Equal(endP) {
+			br.Msg = "活动开始时间应小于结束时间!"
+			return
+		}
+
+		if realName, ok := researcherMap[v.SellerId]; ok {
+			br.Msg = "销售:" + realName + " 被重复选择"
+			return
+		}
+		researcherMap[v.SellerId] = v.SellerName
+
+		//校验活动时间冲突
+		//{
+		//	calendarCount, err := roadshowService.CheckCalendar(startDateTime, endDateTime, "1,2", v.ResearcherId, 0)
+		//	if err != nil {
+		//		br.Msg = "时间冲突检测失败!"
+		//		br.ErrMsg = "时间冲突检测失败-CheckCalendar!Err:" + err.Error()
+		//		return
+		//	}
+		//	if calendarCount > 0 {
+		//		checkIsAdd = append(checkIsAdd, v.ResearcherName)
+		//	}
+		//}
+	}
+
+	if len(checkIsAdd) > 0 {
+		br.Msg = strings.Join(checkIsAdd, ",") + " 时间已被占用!"
+		br.ErrMsg = "时间冲突检测失败-CheckMattersCount!"
+		br.IsSendEmail = false
+		return
+	}
+
+	rsActivity := new(roadshow.RsActivity)
+	rsActivity.SysUserId = sysUser.AdminId
+	rsActivity.SysUserRealName = sysUser.RealName
+	rsActivity.ActivityType = req.ActivityType
+	rsActivity.CompanyId = req.CompanyId
+	rsActivity.CompanyName = req.CompanyName
+	rsActivity.Theme = req.Theme
+	rsActivity.CreateTime = time.Now()
+	rsActivity.ModifyTime = time.Now()
+
+	rsActivity.EnglishCompany = req.EnglishCompany
+	rsActivityId, err := roadshow.AddRsActivity(rsActivity)
+	if err != nil {
+		br.Msg = "保存失败!"
+		br.ErrMsg = "保存日历活动信息失败!Err:" + err.Error()
+		return
+	}
+	//if researcherId != 99 {
+	for _, v := range req.SellerList {
+		researcher := new(roadshow.RsActivitySeller)
+		researcher.RsActivityId = int(rsActivityId)
+		researcher.SellerId = v.SellerId
+		researcher.SellerName = v.SellerName
+		researcher.StartDate = v.StartDate
+		researcher.EndDate = v.EndDate
+		researcher.StartTime = v.StartTime
+		researcher.EndTime = v.EndTime
+		researcher.StartWeek = v.StartWeek
+		researcher.EndWeek = v.EndWeek
+		researcher.CreateTime = time.Now()
+		researcher.ModifyTime = time.Now()
+		researcher.Status = 2
+		_, err = roadshow.AddRsActivitySeller(researcher)
+		if err != nil {
+			br.Msg = "保存失败!"
+			br.ErrMsg = "保存日历活动-销售路演信息失败!Err:" + err.Error()
+			return
+		}
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "保存成功"
+	br.IsAddLog = true
+}
+
+// 活动列表
+// @Title 活动列表
+// @Description 活动列表接口
+// @Param   PageSize   query   int  true       "每页数据条数"
+// @Param   CurrentIndex   query   int  true       "当前页页码,从1开始"
+// @Success 200 {object} roadshow.ResearcherGroup
+// @router /list [get]
+func (this *ActivityController) List() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	pageSize, _ := this.GetInt("PageSize")
+	currentIndex, _ := this.GetInt("CurrentIndex")
+
+	var total int
+
+	var startSize int
+	if pageSize <= 0 {
+		pageSize = utils.PageSize10
+	}
+	if currentIndex <= 0 {
+		currentIndex = 1
+	}
+	startSize = paging.StartIndex(currentIndex, pageSize)
+
+	var resp roadshow.RsActivitySellerListResp
+
+	var condition string
+	var pars []interface{}
+	condition = " AND b.sys_user_id = ?  AND a.status = 2  "
+	pars = append(pars, sysUser.AdminId)
+
+	total, err := roadshow.GetRsActivitySellerListCount(condition, pars)
+	if err != nil {
+		br.Msg = "获取失败!"
+		br.ErrMsg = "获取数量失败!Err:" + err.Error()
+		return
+	}
+	page := paging.GetPaging(currentIndex, pageSize, total)
+
+	dataList, err := roadshow.GetRsActivitySellerList(condition, pars, startSize, pageSize)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,GetRsActivitySellerList,Err:" + err.Error()
+		return
+	}
+	var rsActivityIds []int
+	for _, v := range dataList {
+		rsActivityIds = append(rsActivityIds, v.RsActivityId)
+	}
+	//获取对应的多个销售信息
+	listSeller, err := roadshow.GetRsActivitySellerListByActivityIds(rsActivityIds)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "获取数据失败,GetRsActivitySellerList,Err:" + err.Error()
+		return
+	}
+	mapSeller := make(map[int][]string)
+	for _, v := range listSeller {
+		mapSeller[v.RsActivityId] = append(mapSeller[v.RsActivityId], v.SellerName)
+	}
+	for _, v := range dataList {
+		v.SellerName = strings.Join(mapSeller[v.RsActivityId], ",")
+	}
+
+	resp.Paging = page
+	resp.List = dataList
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "获取成功"
+	br.Data = resp
+}
+
+// @Title 删除路演活动接口
+// @Description 删除路演活动接口
+// @Param	request	body roadshow.AddActivityReq true "type json string"
+// @Success Ret=200 保存成功
+// @router /delete [post]
+func (this *ActivityController) Delete() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	sysUser := this.SysUser
+	if sysUser == nil {
+		br.Msg = "请登录"
+		br.ErrMsg = "请登录,SysUser Is Empty"
+		br.Ret = 408
+		return
+	}
+	var req roadshow.RsActivityIdReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	rsActivityId := req.RsActivityId
+
+	detail, err := roadshow.GetRsActivityByRsActivityId(rsActivityId)
+	if err != nil {
+		br.Msg = "删除失败"
+		br.ErrMsg = "获取信息失败,GetRsActivityByRsActivityId,Err:" + err.Error()
+		return
+	}
+
+	if detail.SysUserId != sysUser.AdminId {
+		br.Msg = "删除失败"
+		br.ErrMsg = "删除失败,不是自己创建的活动信息"
+		return
+	}
+
+	err = roadshow.DeleteRsActivitySeller(rsActivityId)
+	if err != nil {
+		br.Msg = "删除失败"
+		br.ErrMsg = "删除失败,DeleteRsActivitySeller,Err:" + err.Error()
+		return
+	}
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "删除成功"
+	br.IsAddLog = true
+}

+ 2 - 0
models/db.go

@@ -391,6 +391,8 @@ func initRoadShow() {
 		new(roadshow.RsCalendarApiLog),            //上海路演三方接口请求记录日志表
 		new(roadshow.RsReportRecordPermission),    //路演公司权限记录
 		new(roadshow.RsCalendarResearcherQuestion),
+		new(roadshow.RsActivity),       // 销售预约活动主表
+		new(roadshow.RsActivitySeller), //销售与活动关系表
 	)
 }
 

+ 172 - 0
models/roadshow/activity.go

@@ -0,0 +1,172 @@
+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:"是否为英文客户"`
+}
+
+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"`
+	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:"创建时间"`
+}
+
+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.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
+}
+
+// 根据活动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
+}

+ 36 - 0
routers/commentsRouter.go

@@ -7657,6 +7657,33 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/roadshow:ActivityController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/roadshow:ActivityController"],
+        beego.ControllerComments{
+            Method: "Add",
+            Router: `/add`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/roadshow:ActivityController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/roadshow:ActivityController"],
+        beego.ControllerComments{
+            Method: "Delete",
+            Router: `/delete`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/roadshow:ActivityController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/roadshow:ActivityController"],
+        beego.ControllerComments{
+            Method: "List",
+            Router: `/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/roadshow:CalendarController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers/roadshow:CalendarController"],
         beego.ControllerComments{
             Method: "Accept",
@@ -10231,6 +10258,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:CompanySellerController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:CompanySellerController"],
+        beego.ControllerComments{
+            Method: "ActivityFiccList",
+            Router: `/seller/activity_ficc/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:CompanySellerController"] = append(beego.GlobalControllerRouter["hongze/hz_crm_api/controllers:CompanySellerController"],
         beego.ControllerComments{
             Method: "ShareCheckList2",

+ 5 - 0
routers/router.go

@@ -242,6 +242,11 @@ func init() {
 				&roadshow.CalendarMeetingUserController{},
 			),
 		),
+		web.NSNamespace("/roadshow_seller",
+			web.NSInclude(
+				&roadshow.ActivityController{},
+			),
+		),
 		web.NSNamespace("/taglib",
 			web.NSInclude(
 				&controllers.VarietyTagController{},