Pārlūkot izejas kodu

Merge branch 'CRM_15.5' of http://8.136.199.33:3000/hongze/hongze_mobile_admin

xingzai 8 mēneši atpakaļ
vecāks
revīzija
72be33fa9a

+ 125 - 18
controllers/roadshow/calendar.go

@@ -6,9 +6,11 @@ import (
 	"github.com/rdlucklib/rdluck_tools/paging"
 	"hongze/hongze_mobile_admin/controllers"
 	"hongze/hongze_mobile_admin/models"
+	"hongze/hongze_mobile_admin/models/cygx"
 	"hongze/hongze_mobile_admin/models/roadshow"
 	"hongze/hongze_mobile_admin/models/tables/admin"
 	"hongze/hongze_mobile_admin/models/tables/english_company"
+	"hongze/hongze_mobile_admin/models/tables/system"
 	"hongze/hongze_mobile_admin/services"
 	"hongze/hongze_mobile_admin/services/rs"
 	"hongze/hongze_mobile_admin/utils"
@@ -162,6 +164,16 @@ func (this *CalendarController) Add() {
 		return
 	}
 
+	sysUserList, err := cygx.GetAskEmailList()
+	if err != nil {
+		this.FailWithMessage("获取失败!", "获取失败,GetAskEmailList Err:"+err.Error())
+		return
+	}
+	raiAskadminMap := make(map[int]bool, 0)
+	for _, v := range sysUserList {
+		raiAskadminMap[v.AdminId] = true
+	}
+
 	rsCalendar := new(roadshow.RsCalendar)
 	rsCalendar.SysUserId = sysUser.AdminId
 	rsCalendar.SysUserRealName = sysUser.RealName
@@ -174,6 +186,7 @@ func (this *CalendarController) Add() {
 	rsCalendar.ProvinceCode = req.ProvinceCode
 	rsCalendar.City = req.City
 	rsCalendar.CityCode = req.CityCode
+	rsCalendar.District = req.District
 	rsCalendar.Theme = req.Theme
 	rsCalendar.CooperationName = req.CooperationName
 	rsCalendar.CreateTime = time.Now()
@@ -207,6 +220,10 @@ func (this *CalendarController) Add() {
 		} else {
 			researcher.Status = 2
 		}
+		//CRM15.5 权益研究员直接通过
+		if raiAskadminMap[v.ResearcherId] {
+			researcher.Status = 2
+		}
 		rsCalendarResearcherId, err := roadshow.AddRsCalendarResearcher(researcher)
 		if err != nil {
 			this.FailWithMessage("保存失败", "保存日历活动-研究员信息失败!Err:"+err.Error())
@@ -604,7 +621,11 @@ func (this *CalendarController) Refuse() {
 func (this *CalendarController) CalendarDetail() {
 	//adminItem:=this.AdminWx
 	//roleTypeCode := adminItem.RoleTypeCode
-
+	sysUser := this.AdminWx
+	if sysUser == nil {
+		this.FailWithMessage("请登录", "请登录,SysUser Is Empty")
+		return
+	}
 	rsCalendarId, _ := this.GetInt("RsCalendarId")
 	rsCalendarResearcherId, _ := this.GetInt("RsCalendarResearcherId")
 
@@ -626,17 +647,20 @@ func (this *CalendarController) CalendarDetail() {
 	}
 
 	companyDetailView := new(roadshow.CompanyDetailView)
-
+	productId := services.GetProductId(sysUser.RoleTypeCode)
+	if productId == 0 {
+		productId = 1
+	}
 	if calendarItem != nil && calendarItem.CompanyId > 0 {
 		// 中文客户
 		if calendarItem.EnglishCompany == 0 {
 			companyId := calendarItem.CompanyId
-			companyProductItem, err := models.GetCompanyProductByCompanyIdAndProductId(companyId, 1)
+			companyProductItem, err := models.GetCompanyProductByCompanyIdAndProductId(companyId, productId)
 			if err != nil {
 				this.FailWithMessage("获取数据失败", "获取数据失败!GetCompanyProductByCompanyIdAndProductId:"+err.Error())
 				return
 			}
-			permissionList, err := models.GetCompanyProductReportPermissionList(companyId, 1)
+			permissionList, err := models.GetCompanyProductReportPermissionList(companyId, productId)
 			if err != nil {
 				this.FailWithMessage("搜索客户权限失败", "搜索客户权限失败!GetCompanyProductReportPermissionList:"+err.Error())
 				return
@@ -1398,6 +1422,10 @@ func (this *CalendarController) Edit() {
 		calendarUpdateParams["city"] = req.City
 	}
 
+	if req.District != "" {
+		calendarUpdateParams["district"] = req.District
+	}
+
 	calendarUpdateParams["english_company"] = req.EnglishCompany
 
 	calendarUpdateParams["modify_time"] = time.Now()
@@ -1416,7 +1444,15 @@ func (this *CalendarController) Edit() {
 	for _, ev := range existList {
 		existResearcherMap[ev.ResearcherId] = ev.ResearcherName
 	}
-
+	sysUserList, err := cygx.GetAskEmailList()
+	if err != nil {
+		this.FailWithMessage("获取失败!", "获取失败,GetAskEmailList Err:"+err.Error())
+		return
+	}
+	raiAskadminMap := make(map[int]bool, 0)
+	for _, v := range sysUserList {
+		raiAskadminMap[v.AdminId] = true
+	}
 	if rsCalendarItem.ActivityType == "路演" || rsCalendarItem.ActivityType == "公开会议" {
 		// 更新研究员信息
 		//go roadshowService.UpdateSHCalendar(req.RsCalendarId, req.RsCalendarResearcherId, req.ActivityType, req.RoadshowType, req.ActivityCategory, req.RoadshowPlatform, req.Province, req.City, req.ResearcherList)
@@ -1439,6 +1475,11 @@ func (this *CalendarController) Edit() {
 			if rsCalendarResearcherItem.Status == 3 || rsCalendarResearcherItem.Status == 5 {
 				calendarResearcherUpdateParams["status"] = 1
 			}
+			//CRM15.5 权益研究员直接通过
+			if raiAskadminMap[v.ResearcherId] {
+				calendarResearcherUpdateParams["status"] = 2
+				rsCalendarResearcherItem.Status = 2
+			}
 			calendarResearcherUpdateParams["start_date"] = v.StartDate
 			calendarResearcherUpdateParams["end_date"] = v.EndDate
 			calendarResearcherUpdateParams["start_time"] = v.StartTime
@@ -1539,6 +1580,10 @@ func (this *CalendarController) Edit() {
 			} else {
 				researcher.Status = 2
 			}
+			//CRM15.5 权益研究员直接通过
+			if raiAskadminMap[v.ResearcherId] {
+				researcher.Status = 2
+			}
 			rsCalendarResearcherId, err := roadshow.AddRsCalendarResearcher(researcher)
 			if err != nil {
 				this.FailWithMessage("保存失败!", "保存日历活动-研究员信息失败!Err:"+err.Error())
@@ -1600,26 +1645,88 @@ func (this *CalendarController) ResearcherList() {
 		return
 	}
 	researcherList, err := roadshow.GetResearcher()
-	groupMap := make(map[int][]*roadshow.Researcher)
+	groupMap := make(map[int][]*roadshow.ResearcherGroup)
 	for _, v := range researcherList {
-		if v.RoleTypeCode == "ficc_admin" {
-			findItems := groupMap[1]
-			findItems = append(findItems, v)
-			groupMap[1] = findItems
+		item := &roadshow.ResearcherGroup{
+			GroupId:      v.GroupId,
+			GroupName:    v.GroupName,
+			AdminId:      v.AdminId,
+			RealName:     v.RealName,
+			RoleTypeCode: v.RoleTypeCode,
+		}
+		if findItems, ok := groupMap[v.GroupId]; ok {
+			findItems = append(findItems, item)
+			groupMap[v.GroupId] = findItems
 		} else {
-			if findItems, ok := groupMap[v.GroupId]; ok {
-				findItems = append(findItems, v)
-				groupMap[v.GroupId] = findItems
-			} else {
-				findItems = append(findItems, v)
-				groupMap[v.GroupId] = findItems
-			}
+			findItems = append(findItems, item)
+			groupMap[v.GroupId] = findItems
 		}
+		//}
 	}
 	for _, v := range group {
 		v.ResearcherList = groupMap[v.GroupId]
 	}
-	this.OkDetailed(group, "获取成功")
+
+	ficcGroup := new(roadshow.ResearcherGroup)
+	ficcGroup.GroupId = 999
+	ficcGroup.GroupName = "ficc"
+	ficcGroup.ResearcherList = group
+
+
+	sysUserList, err := system.GetAdminList()
+	if err != nil {
+		this.FailWithMessage("获取失败!", "获取失败,获取admin列表失败 Err:"+err.Error())
+		return
+	}
+	adminMap := make(map[int]*system.AdminItem, 0)
+	for _, v := range sysUserList {
+		adminMap[v.AdminId] = v
+	}
+	askUserList, err := cygx.GetAskEmailList()
+	if err != nil {
+		this.FailWithMessage("获取失败!", "获取失败,GetAskEmailList Err:"+err.Error())
+		return
+	}
+	mapPermissionUser := make(map[string][]*roadshow.ResearcherGroup)
+	listPermission, err := cygx.GetChartPermissionAll()
+	if err != nil {
+		this.FailWithMessage("获取失败!", "获取失败,获取品种信息失败 Err:"+err.Error())
+		return
+	}
+	mapPermissionId := make(map[string]int)
+	for _, v := range listPermission {
+		mapPermissionId[v.PermissionName] = v.ChartPermissionId
+	}
+	for _, v := range askUserList {
+		if admin, ok := adminMap[v.AdminId]; ok {
+			item := &roadshow.ResearcherGroup{
+				AdminId:      v.AdminId,
+				RealName:     v.Name,
+				GroupId:      admin.GroupId,
+				GroupName:    admin.GroupName,
+				RoleTypeCode: admin.RoleTypeCode,
+			}
+			mapPermissionUser[v.ChartPermissionName] = append(mapPermissionUser[v.ChartPermissionName], item)
+		}
+	}
+	raiList := make([]*roadshow.ResearcherGroup, 0)
+	for k, v := range mapPermissionUser {
+		respItem := new(roadshow.ResearcherGroup)
+		respItem.GroupName = k + "组"
+		respItem.GroupId = mapPermissionId[k]
+		respItem.ResearcherList = v
+		raiList = append(raiList, respItem)
+	}
+
+	raiGroup := new(roadshow.ResearcherGroup)
+	raiGroup.GroupId = 888
+	raiGroup.GroupName = "权益"
+	raiGroup.ResearcherList = raiList
+
+	var resp []*roadshow.ResearcherGroup
+	resp = append(resp, ficcGroup, raiGroup)
+
+	this.OkDetailed(resp, "获取成功")
 }
 
 // @Title 撤回路演活动接口

+ 6 - 3
controllers/roadshow/company.go

@@ -57,15 +57,18 @@ func (this *CalendarController) CompanyDetail() {
 		return
 	}
 	englishCompany, _ := this.GetInt("EnglishCompany")
-
+	productId := services.GetProductId(sysUser.RoleTypeCode)
+	if productId == 0 {
+		productId = 1
+	}
 	detailView := new(roadshow.CompanyDetailView)
 	if englishCompany == 0 {
-		companyProductItem, err := roadshow.GetCompanyProductByCompanyIdAndProductId(companyId, 1)
+		companyProductItem, err := roadshow.GetCompanyProductByCompanyIdAndProductId(companyId, productId)
 		if err != nil {
 			this.FailWithMessage("搜索客户失败!", "搜索客户失败!Err:"+err.Error())
 			return
 		}
-		permissionList, err := roadshow.GetCompanyProductReportPermissionList(companyId, 1)
+		permissionList, err := roadshow.GetCompanyProductReportPermissionList(companyId, productId)
 		if err != nil {
 			this.FailWithMessage("搜索客户权限失败!", "搜索客户权限失败!Err:"+err.Error())
 			return

+ 2 - 2
go.mod

@@ -7,8 +7,8 @@ require (
 	github.com/SebastiaanKlippert/go-wkhtmltopdf v1.7.2
 	github.com/aliyun/aliyun-oss-go-sdk v2.2.2+incompatible
 	github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f // indirect
-	github.com/beego/beego/v2 v2.0.2
-	github.com/go-sql-driver/mysql v1.6.0
+	github.com/beego/beego/v2 v2.1.0
+	github.com/go-sql-driver/mysql v1.7.0
 	github.com/medivhzhan/weapp/v2 v2.5.0
 	github.com/rdlucklib/rdluck_tools v1.0.3
 	github.com/satori/go.uuid v1.2.0 // indirect

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 484 - 159
go.sum


+ 34 - 0
models/cygx/activity_ask_email.go

@@ -0,0 +1,34 @@
+package cygx
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+)
+
+type AskEmailRep struct {
+	Name                string `description:"姓名"`
+	Email               string `description:"邮箱"`
+	Mobile              string `description:"手机号"`
+	ChartPermissionName string `description:"权限名称"`
+	AdminId             int
+}
+
+func GetAskEmail() (item []*AskEmailRep, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT * FROM cygx_activity_ask_email`
+	_, err = o.Raw(sql).QueryRows(&item)
+	return
+}
+
+func GetAskEmailList() (item []*AskEmailRep, err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `SELECT * FROM cygx_activity_ask_email WHERE    chart_permission_name != ''  ORDER BY sort  DESC`
+	_, err = o.Raw(sql).QueryRows(&item)
+	return
+}
+
+func UpdateAskEmail(item *AskEmailRep) (err error) {
+	o := orm.NewOrmUsingDB("hz_cygx")
+	sql := `UPDATE cygx_activity_ask_email SET admin_id=? where mobile=?`
+	_, err = o.Raw(sql,item.AdminId,item.Mobile).Exec()
+	return
+}

+ 32 - 0
models/cygx/chart_permission.go

@@ -0,0 +1,32 @@
+package cygx
+
+import (
+	"github.com/beego/beego/v2/client/orm"
+	"time"
+)
+
+type ChartPermission struct {
+	ChartPermissionId int    `description:"权限id"`
+	PermissionName    string `description:"权限名称"`
+	IcoLink           string `description:"图标链接"`
+	List              []*CygxIndustrialManagementNumCheckName
+}
+
+type CygxIndustrialManagementNumCheckName struct {
+	ChartPermissionId int       `orm:"column(industrial_management_id);pk" description:"产业id"`
+	PermissionName    string    `orm:"column(industry_name)" description:"产业名称"`
+	RecommendedIndex  int       `description:"推荐指数"`
+	CreateTime        time.Time `description:"创建时间"`
+	LayoutTime        string    `description:"布局时间"`
+	ArtNum            int       `description:"文章数量"`
+	IsRelevance       bool      `description:"是否存在关联文章"`
+}
+
+func GetChartPermissionAll() (items []*ChartPermission, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM chart_permission WHERE product_id=2  AND is_report=1 AND is_other = 0  AND permission_type != 2  ORDER BY sort ASC `
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}
+
+

+ 8 - 1
models/roadshow/calendar.go

@@ -17,6 +17,7 @@ type AddActivityReq struct {
 	ProvinceCode     string `description:"省编码"`
 	City             string `description:"市"`
 	CityCode         string `description:"市编码"`
+	District         string `description:"区"`
 	Theme            string `description:"会议主题"`
 	CooperationName  string `description:"合作方名称"`
 	ActivityCategory string `description:"活动类别"`
@@ -48,6 +49,7 @@ type RsCalendar struct {
 	ProvinceCode     string `description:"省编码"`
 	City             string `description:"市"`
 	CityCode         string `description:"市编码"`
+	District         string `description:"区"`
 	Theme            string `description:"会议主题"`
 	CooperationName  string `description:"合作方名称"`
 	Title            string `description:"展示在日历的标题"`
@@ -122,7 +124,10 @@ type Researcher struct {
 type ResearcherGroup struct {
 	GroupId        int    `description:"分组id"`
 	GroupName      string `description:"分组名称"`
-	ResearcherList []*Researcher
+	AdminId        int    `description:"研究员id"`
+	RealName       string `description:"研究员名称"`
+	RoleTypeCode   string `description:"角色编码"`
+	ResearcherList []*ResearcherGroup
 }
 
 type CalendarListView struct {
@@ -154,6 +159,7 @@ type CalendarListView struct {
 	ProvinceCode           string    `description:"省编码"`
 	City                   string    `description:"市"`
 	CityCode               string    `description:"市编码"`
+	District               string    `description:"区"`
 	Theme                  string    `description:"会议主题"`
 	CooperationName        string    `description:"合作方名称"`
 	ActivityCategory       string    `description:"活动类别"`
@@ -404,6 +410,7 @@ type EditActivityReq struct {
 	ProvinceCode           string `description:"省编码"`
 	City                   string `description:"市"`
 	CityCode               string `description:"市编码"`
+	District               string `description:"区"`
 	Theme                  string `description:"会议主题"`
 	CooperationName        string `description:"合作方名称"`
 	ActivityCategory       string `description:"活动类别"`

+ 2 - 2
models/roadshow/company.go

@@ -127,9 +127,9 @@ func CompanySearchV2(sellerId int, keyWord string) (list []*CompanySearchView, e
 				0 AS english_company
 			FROM
 				company AS a
-			INNER JOIN company_product AS b ON a.company_id = b.company_id AND b.product_id = 1
+			INNER JOIN company_product AS b ON a.company_id = b.company_id 
 			WHERE
-				b.status IN ('正式', '试用') AND (b.seller_id = ? OR a.share_seller_id = ?) AND a.company_name LIKE ?
+				b.status IN ('正式', '试用') AND (b.seller_id = ? OR b.share_seller_id = ?) AND a.company_name LIKE ?
 			GROUP BY
 				b.company_id`
 	_, err = o.Raw(sql, sellerId, sellerId, keyWord).QueryRows(&companies)

+ 1 - 1
models/tables/company_renewal_record/company_renewal_record.go

@@ -24,7 +24,7 @@ type CompanyRenewalRecord struct {
 func GetUnusualRenewCompanyList(startDate, endDate time.Time, productId int) (list []*CompanyRenewalRecord, err error) {
 	o := orm.NewOrm()
 	sql := `	SELECT
-	a.seller_id,a.share_seller_id,
+	a.seller_id,b.share_seller_id,
 	count(
 	DISTINCT ( a.company_id )) num,
 	GROUP_CONCAT( DISTINCT a.company_id SEPARATOR ',' ) AS company_ids 

+ 7 - 0
models/tables/system/sys_admin.go

@@ -157,3 +157,10 @@ func GetSysUserItemsOrderByCreated(condition string, pars []interface{}) (items
 	_, err = o.Raw(sql, pars).QueryRows(&items)
 	return
 }
+
+func GetAdminList() (items []*AdminItem, err error) {
+	sql := `SELECT * FROM admin`
+	o := orm.NewOrm()
+	_, err = o.Raw(sql).QueryRows(&items)
+	return
+}

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels