wkyuer před 4 měsíci
rodič
revize
896ae90c81

+ 2 - 6
internal/cmd/cmd.go

@@ -40,12 +40,8 @@ var (
 
 				//产品相关
 				group.Group("/product", func(group *ghttp.RouterGroup) {
-					group.GET("/list", controller.GetProductListHandler) //商品表列表
-					group.GET("/aaa", func(r *ghttp.Request) {
-						r.Response.WriteJson(g.Map{"aaa": 111})
-					}) //商品表列表
-					group.POST("/getPrice", controller.GetProductPriceHandler) //获取价格
-
+					group.GET("/list", controller.GetProductListHandler)          //商品表列表
+					group.POST("/getPrice", controller.GetProductPriceHandler)    //获取价格
 					group.POST("/bigMember/service", controller.BigMemberService) //大会员服务
 
 				})

+ 4 - 2
internal/controller/productHandler.go

@@ -6,6 +6,7 @@ import (
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/net/ghttp"
 	"github.com/pkg/errors"
+	"jyOrderManager/internal/jyutil"
 	"jyOrderManager/internal/logic/product"
 	"jyOrderManager/internal/service"
 )
@@ -17,9 +18,10 @@ func GetProductListHandler(r *ghttp.Request) {
 		if err != nil {
 			return nil, errors.Wrap(err, "请求参数格式异常")
 		}
+		u := jyutil.GetUserMsgFromCtx(r.Context())
 		buySet := rj.Get("buyset").Int()
 		//常规商品
-		productList := service.Product().GetList(buySet)
+		productList := service.Product().GetList(u.EntDeptId, buySet)
 		var rProjectJson []g.Map
 		bytesArr, err := json.Marshal(productList)
 		if err != nil {
@@ -30,7 +32,7 @@ func GetProductListHandler(r *ghttp.Request) {
 		}
 		//活动商品
 		var rActivityJson []g.Map
-		activityList := service.Product().GetActivityList(buySet)
+		activityList := service.Product().GetActivityList(u.EntDeptId, buySet)
 		actBytesArr, actErr := json.Marshal(activityList)
 		if actErr != nil {
 			return nil, errors.Wrap(actErr, "获取数据异常")

+ 9 - 10
internal/logic/productManager/activity.go

@@ -68,7 +68,7 @@ func (p *sProductManager) loadActivity(ctx context.Context) error {
 	return nil
 }
 
-func (p *sProductManager) GetActivityList(buySet ...int) []*model.ActivityClass {
+func (p *sProductManager) GetActivityList(deptId int64, buySet ...int) []*model.ActivityClass {
 	var (
 		result []*model.ActivityClass
 		set    int = 3 //1个人 2企业 3个人和企业都支持
@@ -78,16 +78,15 @@ func (p *sProductManager) GetActivityList(buySet ...int) []*model.ActivityClass
 		set = common.If(buySet[0] > 0 && buySet[0] < 3, buySet[0], 3).(int)
 	}
 
-	if set == 3 {
-		return p.ActivityList
-	}
-
 	for _, top := range p.ActivityList {
-		if top.Subject == 1 && set != 2 {
-			result = append(result, top)
-		}
-		if top.Subject == 2 && set != 1 {
-			result = append(result, top)
+		if pMap := p.DeptProductPower[top.Code]; len(pMap) > 0 {
+			// todo 上线前删除注释
+			//if !pMap[gconv.Int(deptId)] {
+			//	continue
+			//}
+			if set == 3 || (top.Subject == 1 && set != 2) || (top.Subject == 2 && set != 1) {
+				result = append(result, top)
+			}
 		}
 	}
 	return result

+ 11 - 10
internal/logic/productManager/productManager.go

@@ -118,7 +118,7 @@ func getInitJyProduct(ctx context.Context) (*sProductManager, error) {
 }
 
 // GetList 获取商品列表
-func (p *sProductManager) GetList(buySet ...int) []*model.ProductTop {
+func (p *sProductManager) GetList(deptId int64, buySet ...int) []*model.ProductTop {
 	var (
 		result []*model.ProductTop
 		set    int = 3 //1个人 2企业 3个人和企业都支持
@@ -128,18 +128,17 @@ func (p *sProductManager) GetList(buySet ...int) []*model.ProductTop {
 		set = common.If(buySet[0] > 0 && buySet[0] < 3, buySet[0], 3).(int)
 	}
 
-	if set == 3 {
-		return p.ProductRoot
-	}
-
 	for _, top := range p.ProductRoot {
 		var t []*model.ProductClass
 		for _, ps := range top.ProductClassList {
-			if ps.BuySet == 1 && set != 2 {
-				t = append(t, ps)
-			}
-			if ps.BuySet == 2 && set != 1 {
-				t = append(t, ps)
+			if pMap := p.DeptProductPower[ps.Code]; len(pMap) > 0 {
+				// todo 上线前删除注释
+				//if !pMap[gconv.Int(deptId)] {
+				//	continue
+				//}
+				if set == 3 || (ps.BuySet == 1 && set != 2) || (ps.BuySet == 2 && set != 1) {
+					t = append(t, ps)
+				}
 			}
 		}
 		if len(t) > 0 {
@@ -182,6 +181,8 @@ func (p *sProductManager) GetProductClass(classId int64) (*model.ProductClass, e
 
 // PowerCheck 校验部门是否有权限创建修改订单
 func (p *sProductManager) PowerCheck(code string, deptId int64) bool {
+	// todo 上线前删除注释
+	return true
 	if t := p.DeptProductPower[code]; t != nil {
 		return t[gconv.Int(deptId)]
 	}

+ 3 - 3
internal/service/producttManager.go

@@ -9,7 +9,7 @@ import "jyOrderManager/internal/model"
 type (
 	IProducttManager interface {
 		// CheckParam 校验参数
-		GetList(buySet ...int) []*model.ProductTop
+		GetList(deptId int64, buySet ...int) []*model.ProductTop
 		// GetPriceConfig 获取价格计算
 		GetPriceConfig(productCode string) (*model.PriceConfig, error)
 		// GetProductTopClass 获取商品详情
@@ -17,8 +17,8 @@ type (
 		// 获取商品类
 		GetProductClass(classId int64) (*model.ProductClass, error)
 		//
-		GetActivityList(buySet ...int) []*model.ActivityClass //获取活动列表
-		GetActivityByCode(code string) *model.ActivityClass   //获取活动
+		GetActivityList(deptId int64, buySet ...int) []*model.ActivityClass //获取活动列表
+		GetActivityByCode(code string) *model.ActivityClass                 //获取活动
 
 		//是否有权限创建订单或活动
 		PowerCheck(code string, deptId int64) bool