zhangchuanxing 1 napja
szülő
commit
9a45aab2cd
3 módosított fájl, 132 hozzáadás és 12 törlés
  1. 72 1
      controllers/roadshow/activity.go
  2. 51 11
      models/roadshow/activity.go
  3. 9 0
      routers/commentsRouter.go

+ 72 - 1
controllers/roadshow/activity.go

@@ -255,7 +255,7 @@ func (this *ActivityController) List() {
 
 	var condition string
 	var pars []interface{}
-	condition = " AND b.sys_user_id = ? "
+	condition = " AND b.sys_user_id = ?  AND a.status = 2  "
 	pars = append(pars, sysUser.AdminId)
 
 	total, err := roadshow.GetRsActivitySellerListCount(condition, pars)
@@ -272,6 +272,24 @@ func (this *ActivityController) List() {
 		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
@@ -280,3 +298,56 @@ func (this *ActivityController) List() {
 	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
+}

+ 51 - 11
models/roadshow/activity.go

@@ -3,6 +3,7 @@ package roadshow
 import (
 	"github.com/beego/beego/v2/client/orm"
 	"github.com/rdlucklib/rdluck_tools/paging"
+	"hongze/hz_crm_api/utils"
 	"time"
 )
 
@@ -19,6 +20,10 @@ type AddActivitySellerReq struct {
 	EnglishCompany   int `description:"是否为英文客户"`
 }
 
+type RsActivityIdReq struct {
+	RsActivityId int `description:"活动id"`
+}
+
 type ActivitySellerReq struct {
 	SellerId   int    `description:"销售id"`
 	SellerName string `description:"销售名称"`
@@ -77,16 +82,18 @@ func AddRsActivitySeller(item *RsActivitySeller) (lastId int64, err error) {
 
 type RsActivitySellerResp struct {
 	RsActivitySellerId int    `orm:"column(rs_activity_seller_id);pk"`
+	CompanyId          int    `description:"客户id"`
+	CompanyName        string `description:"客户名称"`
 	RsActivityId       int    `description:"活动id"`
-	SellerId           int    `description:"销售id"`
-	SellerName         string `description:"销售id"`
+	SellerName         string `description:"销售姓名"`
 	StartDate          string `description:"开始日期"`
 	EndDate            string `description:"结束日期"`
 	StartTime          string `description:"开始时间"`
 	EndTime            string `description:"结束时间"`
 	StartWeek          string `description:"开始日期对应周"`
 	EndWeek            string `description:"结束日期对应周"`
-	CreateTime         string
+	Theme              string `description:"会议主题"`
+	CreateTime         string `description:"创建时间"`
 }
 
 type RsActivitySellerListResp struct {
@@ -109,24 +116,57 @@ func GetRsActivitySellerList(condition string, pars []interface{}, startSize, pa
 	if condition != "" {
 		sql += condition
 	}
-	sql += ` ORDER BY b.create_time ASC LIMIT ?,? `
+	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 GetRsActivitySellerListCount(condition string, pars []interface{}) (count int, err error) {
+// 根据活动ID获取销售列表
+func GetRsActivitySellerListByActivityIds(rsActivityIds []int) (items []*RsActivitySeller, err error) {
+	lenArr := len(rsActivityIds)
+	if lenArr == 0 {
+		return
+	}
 	o := orm.NewOrm()
 	sql := `SELECT
-			 COUNT(1) AS count 
+			 * 
 		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
-	}
+			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
+}

+ 9 - 0
routers/commentsRouter.go

@@ -7648,6 +7648,15 @@ 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: "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",