zhangqian
2023-10-13 e2ac73ac42a3fb4e89b0ca8c4d83f3bc32cd8dac
销售明细简单数据权限
3个文件已修改
27 ■■■■ 已修改文件
api/v1/salesDetails.go 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
model/salesDetails.go 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/salesDetails.go 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/v1/salesDetails.go
@@ -1,11 +1,13 @@
package v1
import (
    "aps_crm/constvar"
    "aps_crm/model"
    "aps_crm/model/request"
    "aps_crm/model/response"
    "aps_crm/pkg/contextx"
    "aps_crm/pkg/ecode"
    "aps_crm/utils"
    "github.com/gin-gonic/gin"
    "strconv"
)
@@ -157,7 +159,13 @@
        return
    }
    salesDetailss, total, errCode := salesDetailsService.GetSalesDetailsList(params.Page, params.PageSize, params.KeywordType, params.Keyword)
    var memberIds []int
    userInfo := utils.GetUserInfo(c)
    if userInfo.UserType == constvar.UserTypeSub {
        memberIds = []int{userInfo.CrmUserId}
    }
    salesDetailss, total, errCode := salesDetailsService.GetSalesDetailsList(params.Page, params.PageSize, params.KeywordType, params.Keyword, memberIds)
    if errCode != ecode.OK {
        ctx.Fail(errCode)
        return
model/salesDetails.go
@@ -51,6 +51,7 @@
        PageNum     int
        PageSize    int
        Preload     bool
        MemberIds   []int
    }
)
@@ -83,6 +84,11 @@
        db = db.Joins("left join sales_details_product sdp on sdp.sales_details_id = sales_details.id left join products on sdp.product_id = products.id").Where("products.name like ?", fmt.Sprintf("%%%s%%", slf.Keyword))
    }
    if len(slf.MemberIds) > 0 {
        db = db.Where("member_id in ?", slf.MemberIds)
    }
    if slf.Preload {
        db = db.Preload("Products").
            Preload("Member").
@@ -156,6 +162,11 @@
    return slf
}
func (slf *SalesDetailsSearch) SetMemberIds(memberIds []int) *SalesDetailsSearch {
    slf.MemberIds = memberIds
    return slf
}
func (slf *SalesDetailsSearch) SetPreload(preload bool) *SalesDetailsSearch {
    slf.Preload = preload
    return slf
service/salesDetails.go
@@ -114,12 +114,14 @@
    return ecode.OK
}
func (SalesDetailsService) GetSalesDetailsList(page, pageSize int, keywordType constvar.SalesDetailsKeywordType, keyword string) ([]*model.SalesDetails, int64, int) {
func (SalesDetailsService) GetSalesDetailsList(page, pageSize int, keywordType constvar.SalesDetailsKeywordType, keyword string, memberIds []int) ([]*model.SalesDetails, int64, int) {
    // get contact list
    contacts, total, err := model.NewSalesDetailsSearch().
        SetPreload(true).
        SetKeywordType(keywordType).
        SetKeyword(keyword).SetPage(page, pageSize).FindAll()
        SetKeyword(keyword).SetPage(page, pageSize).
        SetMemberIds(memberIds).
        FindAll()
    if err != nil {
        return nil, 0, ecode.SalesDetailsListErr
    }