123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- package system
- import (
- "eta_gn/eta_api/global"
- "time"
- )
- type SysGroupAddReq struct {
- DepartmentId int `description:"部门Id"`
- GroupName string `description:"分组名称,多个用英文逗号隔开"`
- }
- type SysGroup struct {
- GroupId int `gorm:"primaryKey"`
- DepartmentId int `description:"部门Id"`
- ParentId int `description:"父级Id"`
- GroupName string `description:"分组名称"`
- Sort int `description:"排序"`
- CreateTime time.Time `description:"创建时间"`
- }
- func GetSysGroupCount(departmentId int, groupName string) (count int, err error) {
- sql := `SELECT COUNT(1) AS count FROM sys_group WHERE department_id=? AND group_name=? `
- // o := orm.NewOrm()
- //err = o.Raw(sql, departmentId, groupName).QueryRow(&count)
- err = global.DEFAULT_DmSQL.Raw(sql, departmentId, groupName).Scan(&count).Error
- return
- }
- func AddSysGroup(item *SysGroup) (lastId int64, err error) {
- // o := orm.NewOrm()
- //lastId, err = o.Insert(item)
- err = global.DEFAULT_DmSQL.Create(item).Error
- return
- }
- type SysGroupEditReq struct {
- GroupId int `description:"分组ID"`
- GroupName string `description:"分组名称"`
- }
- func GetSysGroupById(groupId int) (item *SysGroup, err error) {
- sql := `SELECT * FROM sys_group WHERE group_id=? `
- // o := orm.NewOrm()
- //err = o.Raw(sql, groupId).QueryRow(&item)
- err = global.DEFAULT_DmSQL.Raw(sql, groupId).First(&item).Error
- return
- }
- func GetSysGroupByName(groupName string) (item *SysGroup, err error) {
- sql := `SELECT * FROM sys_group WHERE group_name=? `
- // o := orm.NewOrm()
- //err = o.Raw(sql, groupName).QueryRow(&item)
- err = global.DEFAULT_DmSQL.Raw(sql, groupName).First(&item).Error
- return
- }
- func ModifySysGroup(groupName string, groupId int) (err error) {
- // o := orm.NewOrm()
- //to, err := o.Begin()
- //if err != nil {
- // return
- //}
- //defer func() {
- // if err != nil {
- // _ = to.Rollback()
- // } else {
- // _ = to.Commit()
- // }
- //}()
- //sql := `UPDATE sys_group SET group_name=? WHERE group_id=? `
- //_, err = to.Raw(sql, groupName, groupId).Exec()
- //sql = `UPDATE admin SET group_name=? WHERE group_id=? `
- //_, err = to.Raw(sql, groupName, groupId).Exec()
- tx := global.DEFAULT_DmSQL.Begin()
- defer func() {
- if err != nil {
- _ = tx.Rollback()
- return
- }
- _ = tx.Commit()
- }()
- sql := `UPDATE sys_group SET group_name=? WHERE group_id=? `
- //_, err = to.Raw(sql, groupName, groupId).Exec()
- err = tx.Exec(sql, groupName, groupId).Error
- if err != nil {
- return
- }
- sql = `UPDATE "admin" SET group_name=? WHERE group_id=? `
- //_, err = to.Raw(sql, groupName, groupId).Exec()
- err = tx.Exec(sql, groupName, groupId).Error
- return
- }
- type SysGroupDeleteReq struct {
- GroupId int `description:"分组ID"`
- }
- func DeleteSysGroup(groupId int) (err error) {
- sql := `DELETE FROM sys_group WHERE group_id=? `
- // o := orm.NewOrm()
- //_, err = o.Raw(sql, groupId).Exec()
- err = global.DEFAULT_DmSQL.Exec(sql, groupId).Error
- return
- }
- // 因前端显示需要,TopId字段用来当做一级部门id,DepartmentId为当前分组id
- type SysGroupList struct {
- GroupId int `orm:"column(group_id);pk" json:"DepartmentId" description:"分组ID"`
- ParentId int `json:"ParentId" description:"父级ID"`
- DepartmentId int `json:"TopId" description:"部门Id"`
- GroupName string `json:"DepartmentName" description:"分组名称"`
- Child []*SysTeamList `gorm:"-" description:"小组"`
- CreateTime time.Time `description:"创建时间"`
- IsGroup bool `description:"是否为二级部门"`
- }
- func GetSysGroupByDepartmentId(departmentId int) (items []*SysGroupList, err error) {
- sql := `SELECT * FROM sys_group WHERE department_id=? AND parent_id=0 ORDER BY sort ASC, create_time ASC`
- // o := orm.NewOrm()
- //_, err = o.Raw(sql, departmentId).QueryRows(&items)
- err = global.DEFAULT_DmSQL.Raw(sql, departmentId).Find(&items).Error
- return
- }
- // GetSysGroupListByDepartmentId 获取该部门下的所有分组(包含大小分组,不包含 “无” 这个分组)
- func GetSysGroupListByDepartmentId(departmentId int) (items []*SysGroupList, err error) {
- sql := `SELECT * FROM sys_group WHERE department_id=? AND group_name<>'无' ORDER BY sort ASC, create_time ASC`
- // o := orm.NewOrm()
- //_, err = o.Raw(sql, departmentId).QueryRows(&items)
- err = global.DEFAULT_DmSQL.Raw(sql, departmentId).Find(&items).Error
- return
- }
- func ClearSysUserGroup(groupId int) (err error) {
- sql := `UPDATE "admin" SET group_id=0,group_name='' WHERE group_id=? `
- // o := orm.NewOrm()
- //_, err = o.Raw(sql, groupId).Exec()
- err = global.DEFAULT_DmSQL.Exec(sql, groupId).Error
- return
- }
- func GetSysGroupByDirectorId(directorId int) (items []*SysGroupList, err error) {
- sql := `SELECT * FROM sys_group WHERE group_id=? ORDER BY sort ASC, create_time ASC`
- // o := orm.NewOrm()
- //_, err = o.Raw(sql, directorId).QueryRows(&items)
- err = global.DEFAULT_DmSQL.Raw(sql, directorId).Find(&items).Error
- return
- }
- // GetSysGroupByGroupId 销售主管用,查找销售主管所在大组的名称
- func GetSysGroupByGroupId(groupId int) (items []*SysGroupList, err error) {
- sql := `SELECT * FROM sys_group WHERE department_id=2 AND parent_id=0 AND group_id=? ORDER BY sort ASC, create_time ASC`
- // o := orm.NewOrm()
- //_, err = o.Raw(sql, groupId).QueryRows(&items)
- err = global.DEFAULT_DmSQL.Raw(sql, groupId).Find(&items).Error
- return
- }
- // GetChildSysGroupByGroupId 通过上级分组id获取下级的分组id
- func GetChildSysGroupByGroupId(groupId int) (items []*SysGroup, err error) {
- sql := `SELECT * FROM sys_group WHERE parent_id=? ORDER BY sort ASC, create_time ASC`
- // o := orm.NewOrm()
- //_, err = o.Raw(sql, groupId).QueryRows(&items)
- err = global.DEFAULT_DmSQL.Raw(sql, groupId).Find(&items).Error
- return
- }
- type SysFullGroup struct {
- GroupId int `orm:"column(group_id);pk" description:"分组ID"`
- DepartmentId int `description:"部门Id"`
- ParentId int `description:"父级Id"`
- GroupName string `description:"分组名称"`
- ParentGroupName string `description:"父级分组名称"`
- DepartmentName string `description:"部门名称"`
- CreateTime time.Time `description:"创建时间"`
- }
- // GetFullGroup 获取完整的分组信息
- func GetFullGroup() (list []*SysFullGroup, err error) {
- sql := `SELECT s.*,g.group_name as parent_group_name , d.department_name
- from sys_group s
- LEFT JOIN sys_group g on s.parent_id=g.group_id
- LEFT JOIN sys_department d on s.department_id=d.department_id ORDER BY s.sort ASC, s.create_time ASC`
- // o := orm.NewOrm()
- //_, err = o.Raw(sql).QueryRows(&list)
- err = global.DEFAULT_DmSQL.Raw(sql).Find(&list).Error
- return
- }
- type SysGroupSortReq struct {
- //ParentId int `description:"上级部门/分组ID"`
- DepartmentIds []int `description:"移动后的一级ID排序"`
- GroupIds []int `description:"移动后的二级ID排序"`
- TeamIds []int `description:"移动后的三级ID排序"`
- }
- type GroupSort struct {
- GroupId int
- Sort int
- }
- func MultiUpdateGroupSort(items []*GroupSort) (err error) {
- if len(items) == 0 {
- return
- }
- // o := orm.NewOrm()
- //p, err := o.Raw("UPDATE sys_group SET sort = ? WHERE group_id = ?").Prepare()
- //if err != nil {
- // return
- //}
- //defer func() {
- // _ = p.Close()
- //}()
- //for _, v := range items {
- // _, err = p.Exec(v.Sort, v.GroupId)
- // if err != nil {
- // return
- // }
- //}
- sql := "UPDATE sys_group SET sort = ? WHERE group_id = ?"
- for _, v := range items {
- err = global.DEFAULT_DmSQL.Exec(sql, v.Sort, v.GroupId).Error
- if err != nil {
- return
- }
- }
- return
- }
- //func GetGroupByDepartmentId(departmentId int) (list []*SysFullGroup, err error) {
- // sql := `SELECT
- // s.*, g.group_name AS parent_group_name,
- // d.department_name
- // FROM
- // sys_group s
- // LEFT JOIN sys_group g ON s.parent_id = g.group_id
- // LEFT JOIN sys_department d ON s.department_id = d.department_id
- // WHERE
- // s.department_id = ?
- // ORDER BY
- // s.sort ASC,
- // s.create_time ASC`
- // o := orm.NewOrm()
- // _, err = o.Raw(sql, departmentId).QueryRows(&list)
- // return
- //}
- type RoadshowGroupResp struct {
- List []RoadshowGroups
- }
- type RoadshowGroups struct {
- GroupId int `description:"分组ID"`
- GroupName string `description:"分组名称"`
- Child []RoadshowGroupSellers `description:"销售"`
- }
- type RoadshowGroupSellers struct {
- GroupId int `description:"大组ID"`
- TeamId int `description:"小组ID"`
- AdminId int `description:"销售ID"`
- AdminName string `description:"销售名称"`
- }
|