Ver código fonte

账单-服务商

Ethan 1 semana atrás
pai
commit
2b2c2889c3

+ 36 - 0
app/controller/bill_controller.go

@@ -71,6 +71,42 @@ func (f BillController) ProjectBillList(c *gin.Context) {
 	returnSuccess(c, 20000, result)
 }
 
+// 品牌种草服务商账单列表
+func (f BillController) ProjectSupplierBillList(c *gin.Context) {
+	param := &vo.SearchSupplierBillParam{}
+	err := c.BindJSON(param)
+	if err != nil {
+		logrus.Errorf("Request bind err:%+v\n", err)
+		returnError(c, 40000, "Parameter Error: "+err.Error())
+		return
+	}
+	result, err := service.BillService{}.GetBillProjectSupplierList(param)
+	if err != nil {
+		logrus.Errorf("[GetBillProjectSupplierList] call Show err:%+v\n", err)
+		returnError(c, 40000, err.Error())
+		return
+	}
+	returnSuccess(c, 20000, result)
+}
+
+// 本地生活服务商账单列表
+func (f BillController) LocalSupplierBillList(c *gin.Context) {
+	param := &vo.SearchSupplierBillParam{}
+	err := c.BindJSON(param)
+	if err != nil {
+		logrus.Errorf("Request bind err:%+v\n", err)
+		returnError(c, 40000, "Parameter Error: "+err.Error())
+		return
+	}
+	result, err := service.BillService{}.GetBillLocalSupplierList(param)
+	if err != nil {
+		logrus.Errorf("[GetBillLocalSupplierList] call Show err:%+v\n", err)
+		returnError(c, 40000, err.Error())
+		return
+	}
+	returnSuccess(c, 20000, result)
+}
+
 // 品牌种草账单支付
 func (f BillController) ProjectPay(c *gin.Context) {
 	param := &vo.PayParam{}

+ 16 - 0
app/dao/s_local_life_dao.go

@@ -44,6 +44,22 @@ func (d SLocalLifeDao) UpdateSLocalLife(sLocalLifeInfo entity.SLocalLifeInfo) er
 	return nil
 }
 
+// 根据本地生活id、任务状态返回数据列表
+func (d SLocalLifeDao) GetSLocalByLocalStatus(localId string, taskStatus int64, page int, pageSize int) ([]*entity.SLocalLifeInfo, int64, error) {
+	var sLocalInfos []*entity.SLocalLifeInfo
+	var total int64
+	offset := (page - 1) * pageSize
+	query := Db.Debug().Model(&entity.SLocalLifeInfo{}).Where("local_id = ? AND task_status = ?", localId, taskStatus)
+	query.Count(&total)
+	query = query.Select("supplier_id, recruit_num, service_charge_actual, service_charge_settle, b_operator, b_operator_type")
+	err := query.Order("create_time desc").Offset(offset).Limit(pageSize).Find(&sLocalInfos).Error
+	if err != nil {
+		return nil, 0, err
+	}
+
+	return sLocalInfos, total, nil
+}
+
 //// 检查给定的服务商是否在该商家库中
 //func (d SupplierDao) EnterpriseDatabaseCheck(enterpriseId string, supplierId int64) (bool, error) {
 //	var count int64

+ 16 - 0
app/dao/s_project_dao.go

@@ -44,6 +44,22 @@ func (d SProjectDao) UpdateSProject(sProject entity.SProjectInfo) error {
 	return nil
 }
 
+// 根据种草id、任务状态返回数据列表
+func (d SProjectDao) GetSProjectByProjectStatus(projectId string, projectStatus int64, page int, pageSize int) ([]*entity.SProjectInfo, int64, error) {
+	var sProjectInfos []*entity.SProjectInfo
+	var total int64
+	offset := (page - 1) * pageSize
+	query := Db.Debug().Model(&entity.SProjectInfo{}).Where("project_id = ? AND project_status = ?", projectId, projectStatus)
+	query.Count(&total)
+	query = query.Select("supplier_id, recruit_num, service_charge_actual, service_charge_settle, b_operator, b_operator_type")
+	err := query.Order("create_time desc").Offset(offset).Limit(pageSize).Find(&sProjectInfos).Error
+	if err != nil {
+		return nil, 0, err
+	}
+
+	return sProjectInfos, total, nil
+}
+
 //// 检查给定的服务商是否在该商家库中
 //func (d SupplierDao) EnterpriseDatabaseCheck(enterpriseId string, supplierId int64) (bool, error) {
 //	var count int64

+ 2 - 2
app/dao/sec_task_info_dao.go

@@ -16,9 +16,9 @@ func (s SelectionTaskInfoDao) CountBySelectionId(selectionId string) (int64, err
 func (s SelectionTaskInfoDao) GetRewardDetailByRewardStage(selectionId string, rewardStage int64, order int64, page int, pageSize int) ([]*entity.SelectionTaskInfo, int64, error) {
 	selectionTaskInfos := []*entity.SelectionTaskInfo{}
 	var total int64
-	query := Db.Debug().Model(&entity.SelectionTaskInfo{}).Where("selection_id = ? AND reward_stage = ?", selectionId, rewardStage)
+	query := Db.Model(&entity.SelectionTaskInfo{}).Where("selection_id = ? AND reward_stage = ?", selectionId, rewardStage)
 	query.Count(&total)
-	query = query.Select("talent_id, sale_actual, withdraw_date")
+	query = query.Select("talent_id, sale_actual, withdraw_date, task_reward, open_id")
 	offset := (page - 1) * pageSize
 	var err error
 	if order == 1 {

+ 13 - 12
app/entity/project_task_info.go

@@ -5,18 +5,19 @@ import (
 )
 
 type ProjectTaskInfo struct {
-	TaskID                 string    `gorm:"column:task_id;primary_key;AUTO_INCREMENT"`   // 任务id
-	ProjectID              string    `gorm:"column:project_id;NOT NULL"`                  // 项目id
-	TalentID               string    `gorm:"column:talent_id;NOT NULL"`                   // 达人id
-	AccountID              int64     `gorm:"column:account_id;NOT NULL"`                  // 账号id
-	TalentPlatformInfoSnap string    `gorm:"column:talent_platform_info_snap;NOT NULL"`   // 达人平台信息快照
-	TalentPersonalInfoSnap string    `gorm:"column:talent_personal_info_snap;NOT NULL"`   // 达人个人信息快照
-	TalentPostAddrSnap     string    `gorm:"column:talent_post_addr_snap;NOT NULL"`       // 收货地址快照
-	StrategyID             int64     `gorm:"column:strategy_id"`                          // 报名选择的招募策略id
-	TaskReward             float64   `gorm:"column:task_reward;NOT NULL"`                 // 达人报酬
-	SettleAmount           float64   `gorm:"column:settle_amount;NOT NULL"`               // 达人实际所得(扣除违约扣款)
-	AllPayment             float64   `gorm:"column:all_payment;NOT NULL"`                 // 企业支付
-	RealPayment            float64   `gorm:"column:real_payment;NOT NULL"`                // 企业实际支付(扣除违约扣款)
+	TaskID                 string    `gorm:"column:task_id;primary_key;AUTO_INCREMENT"` // 任务id
+	ProjectID              string    `gorm:"column:project_id;NOT NULL"`                // 项目id
+	TalentID               string    `gorm:"column:talent_id;NOT NULL"`                 // 达人id
+	AccountID              int64     `gorm:"column:account_id;NOT NULL"`                // 账号id
+	TalentPlatformInfoSnap string    `gorm:"column:talent_platform_info_snap;NOT NULL"` // 达人平台信息快照
+	TalentPersonalInfoSnap string    `gorm:"column:talent_personal_info_snap;NOT NULL"` // 达人个人信息快照
+	TalentPostAddrSnap     string    `gorm:"column:talent_post_addr_snap;NOT NULL"`     // 收货地址快照
+	StrategyID             int64     `gorm:"column:strategy_id"`                        // 报名选择的招募策略id
+	TaskReward             float64   `gorm:"column:task_reward;NOT NULL"`               // 达人报酬
+	SettleAmount           float64   `gorm:"column:settle_amount;NOT NULL"`             // 达人实际所得(扣除违约扣款)
+	AllPayment             float64   `gorm:"column:all_payment;NOT NULL"`               // 企业支付
+	RealPayment            float64   `gorm:"column:real_payment;NOT NULL"`              // 企业实际支付(扣除违约扣款)
+	RealServiceCharge      float64   `gorm:"column:real_service_charge"`
 	ErrBreakRate           int64     `gorm:"column:err_break_rate;default:0;NOT NULL"`    // 未上传类型违约扣款比例,百分之
 	ScriptBreakRate        int64     `gorm:"column:script_break_rate;default:0;NOT NULL"` // 脚本上传超时违约扣款比例,百分之
 	SketchBreakRate        int64     `gorm:"column:sketch_break_rate;default:0;NOT NULL"` // 初稿上传超时违约扣款比例,百分之

+ 2 - 2
app/entity/selection_task_info.go

@@ -15,8 +15,8 @@ type SelectionTaskInfo struct {
 	TalentPlatformInfoSnap string    `gorm:"column:talent_platform_info_snap"`   // 达人平台信息快照
 	TalentPersonalInfoSnap string    `gorm:"column:talent_personal_info_snap"`   // 达人个人信息快照
 	TalentPostAddrSnap     string    `gorm:"column:talent_post_addr_snap"`       // 收货地址快照
-	TaskReward             string    `gorm:"column:task_reward"`                 //  达人赏金
-	TalentPayment          string    `gorm:"column:talent_payment"`              // 达人垫付金额
+	TaskReward             float64   `gorm:"column:task_reward"`                 //  达人赏金(兑现金额)
+	TalentPayment          float64   `gorm:"column:talent_payment"`              // 达人垫付金额
 	IsPayPayment           int       `gorm:"column:is_pay_payment"`              // 企业是否返样品钱
 	IsPayReward            int       `gorm:"column:is_pay_reward"`               // 企业是否结算悬赏
 	TaskMode               int       `gorm:"column:task_mode"`                   // 任务形式,1、2分别表示纯佣带货、悬赏任务

+ 176 - 0
app/service/bill_service.go

@@ -2,6 +2,8 @@ package service
 
 import (
 	"errors"
+	"fmt"
+	"strconv"
 	"time"
 	"youngee_b_api/app/dao"
 	"youngee_b_api/app/entity"
@@ -183,6 +185,180 @@ func (s BillService) GetBillProjectTaskList(param *vo.ProjectSearchParam) (vo.Re
 	return result, nil
 }
 
+// 品牌种草账单服务商列表
+func (s BillService) GetBillProjectSupplierList(param *vo.SearchSupplierBillParam) (vo.ResultVO, error) {
+	if param.Page == 0 {
+		param.Page = 1
+	}
+	if param.PageSize == 0 {
+		param.PageSize = 10
+	}
+	var result vo.ResultVO
+	var reBillSuppliers []vo.ReBillSupplier
+	var status int64
+	if param.Status == 1 {
+		status = 8
+	} else if param.Status == 2 {
+		status = 10
+	}
+	sProjectInfos, total, err := dao.SProjectDao{}.GetSProjectByProjectStatus(param.TaskId, status, param.Page, param.PageSize)
+	if err != nil {
+		return result, err
+	}
+	project, err01 := dao.ProjectDAO{}.GetProjectById(param.TaskId)
+	if err01 != nil || project == nil {
+		return result, err01
+	}
+	serviceRate := project.ServiceChargeRate
+	type SumResult struct {
+		PayAmount  float64 `json:"payAmount" gorm:"column:payAmount"`
+		RealAmount float64 `json:"realAmount" gorm:"column:realAmount"`
+		Count      int     `json:"count" gorm:"column:count"`
+	}
+	var sumResult SumResult
+	_ = dao.Db.Debug().
+		Model(&entity.ProjectTaskInfo{}).
+		Where("project_id = ? and task_status = ? and supplier_id = ?", param.TaskId, 2, 0).
+		Select("SUM(real_payment) as payAmount, SUM(real_service_charge) as realAmount, count(1) as count").
+		Scan(&sumResult).Error
+
+	for _, sProjectInfo := range sProjectInfos {
+		reBillSupplier := vo.ReBillSupplier{
+			SupplierId:   sProjectInfo.SupplierID,
+			TalentNum:    sProjectInfo.RecruitNum,
+			ChargeActual: sProjectInfo.ServiceChargeActual,
+			ChargeSettle: sProjectInfo.ServiceChargeSettle,
+			ServiceRate:  serviceRate,
+		}
+		supplier, err1 := dao.SupplierDao{}.GetSupplierInfoById(sProjectInfo.SupplierID)
+		if err1 == nil && supplier != nil {
+			reBillSupplier.SupplierName = supplier.SupplierName
+			reBillSupplier.Avatar = supplier.Avatar
+			reBillSupplier.SupplierName = supplier.SupplierName
+			reBillSupplier.CompanyName = supplier.CompanyName
+			reBillSupplier.SupplierType = supplier.SupplierType
+		}
+		if sProjectInfo.BOperatorType == 1 {
+			// 商家主账号
+			enterprise, err := dao.EnterpriseDao{}.GetEnterprise(sProjectInfo.BOperator)
+			if err == nil && enterprise != nil {
+				reBillSupplier.Inviter = enterprise.BusinessName
+			}
+		} else {
+			// 商家子账号
+			subId, err2 := strconv.ParseInt(sProjectInfo.BOperator, 10, 64)
+			if err2 != nil {
+				fmt.Println("子账号转换错误:", err)
+				subId = 0
+			}
+			subAccount, err := dao.SubAccountDao{}.GetSubAccount(subId)
+			if err == nil && subAccount != nil {
+				reBillSupplier.Inviter = subAccount.SubAccountName
+			}
+		}
+		reBillSuppliers = append(reBillSuppliers, reBillSupplier)
+	}
+	resMap := make(map[string]interface{})
+	resMap["talentNum"] = sumResult.Count
+	resMap["payAmount"] = sumResult.PayAmount
+	resMap["realAmount"] = sumResult.RealAmount
+	resMap["reBillSuppliers"] = reBillSuppliers
+	result = vo.ResultVO{
+		Page:     param.Page,
+		PageSize: param.PageSize,
+		Total:    total,
+		Data:     resMap,
+	}
+	return result, nil
+}
+
+// 本地生活账单服务商列表
+func (s BillService) GetBillLocalSupplierList(param *vo.SearchSupplierBillParam) (vo.ResultVO, error) {
+	if param.Page == 0 {
+		param.Page = 1
+	}
+	if param.PageSize == 0 {
+		param.PageSize = 10
+	}
+	var result vo.ResultVO
+	var reBillSuppliers []vo.ReBillSupplier
+	var status int64
+	if param.Status == 1 {
+		status = 8
+	} else if param.Status == 2 {
+		status = 10
+	}
+	sLocalInfos, total, err := dao.SLocalLifeDao{}.GetSLocalByLocalStatus(param.TaskId, status, param.Page, param.PageSize)
+	if err != nil {
+		return result, err
+	}
+	local, err01 := dao.LocalLifeDao{}.GetLocalById(param.TaskId)
+	if err01 != nil || local == nil {
+		return result, err01
+	}
+	serviceRate := local.ServiceChargeRate
+	type SumResult struct {
+		PayAmount  float64 `json:"payAmount" gorm:"column:payAmount"`
+		RealAmount float64 `json:"realAmount" gorm:"column:realAmount"`
+		Count      int     `json:"count" gorm:"column:count"`
+	}
+	var sumResult SumResult
+	_ = dao.Db.Debug().
+		Model(&entity.LocalLifeTaskInfo{}).
+		Where("local_id = ? and task_status = ? and supplier_id = ?", param.TaskId, 2, 0).
+		Select("SUM(real_payment) as payAmount, SUM(real_service_charge) as realAmount, count(1) as count").
+		Scan(&sumResult).Error
+
+	for _, sLocalInfo := range sLocalInfos {
+		reBillSupplier := vo.ReBillSupplier{
+			SupplierId:   sLocalInfo.SupplierID,
+			TalentNum:    sLocalInfo.RecruitNum,
+			ChargeActual: sLocalInfo.ServiceChargeActual,
+			ChargeSettle: sLocalInfo.ServiceChargeSettle,
+			ServiceRate:  serviceRate,
+		}
+		supplier, err1 := dao.SupplierDao{}.GetSupplierInfoById(sLocalInfo.SupplierID)
+		if err1 == nil && supplier != nil {
+			reBillSupplier.SupplierName = supplier.SupplierName
+			reBillSupplier.Avatar = supplier.Avatar
+			reBillSupplier.SupplierName = supplier.SupplierName
+			reBillSupplier.CompanyName = supplier.CompanyName
+			reBillSupplier.SupplierType = supplier.SupplierType
+		}
+		if sLocalInfo.BOperatorType == 1 {
+			// 商家主账号
+			enterprise, err := dao.EnterpriseDao{}.GetEnterprise(sLocalInfo.BOperator)
+			if err == nil && enterprise != nil {
+				reBillSupplier.Inviter = enterprise.BusinessName
+			}
+		} else {
+			// 商家子账号
+			subId, err2 := strconv.ParseInt(sLocalInfo.BOperator, 10, 64)
+			if err2 != nil {
+				fmt.Println("子账号转换错误:", err)
+				subId = 0
+			}
+			subAccount, err := dao.SubAccountDao{}.GetSubAccount(subId)
+			if err == nil && subAccount != nil {
+				reBillSupplier.Inviter = subAccount.SubAccountName
+			}
+		}
+		reBillSuppliers = append(reBillSuppliers, reBillSupplier)
+	}
+	resMap := make(map[string]interface{})
+	resMap["talentNum"] = sumResult.Count
+	resMap["payAmount"] = sumResult.PayAmount
+	resMap["realAmount"] = sumResult.RealAmount
+	resMap["reBillSuppliers"] = reBillSuppliers
+	result = vo.ResultVO{
+		Page:     param.Page,
+		PageSize: param.PageSize,
+		Total:    total,
+		Data:     resMap,
+	}
+	return result, nil
+}
+
 // 本地生活账单列表
 func (s BillService) GetBillLocalLifeTaskList(param *vo.LocalSearchParam) (vo.ResultVO, error) {
 	if param.Page == 0 {

+ 2 - 1
app/service/task_info_service.go

@@ -212,7 +212,7 @@ func (t TaskInfoService) SelectionRewardCashDetail(param *vo.SelectionRewardCash
 	}
 	rewardPoolAmount := selectionInfo.EstimatedCost
 	rewardPoolCashed := selectionInfo.TaskReward
-	selectionTaskInfos, total, err1 := dao.SelectionTaskInfoDao{}.GetRewardDetailByRewardStage(param.SelectionId, 2, param.Order, param.Page, param.PageSize)
+	selectionTaskInfos, total, err1 := dao.SelectionTaskInfoDao{}.GetRewardDetailByRewardStage(param.SelectionId, param.RewardStage, param.Order, param.Page, param.PageSize)
 	if err1 != nil {
 		return nil, err1
 	}
@@ -229,6 +229,7 @@ func (t TaskInfoService) SelectionRewardCashDetail(param *vo.SelectionRewardCash
 			OrderNum:   selectionTaskInfo.SaleActual,
 			CashTime:   selectionTaskInfo.WithdrawDate.Format("2006-01-02 15:04:05"),
 			TaskId:     selectionTaskInfo.TaskID,
+			TaskReward: selectionTaskInfo.TaskReward,
 		}
 		talentRewardMsgs = append(talentRewardMsgs, talentRewardMsg)
 	}

+ 15 - 0
app/vo/re_bill_supplier.go

@@ -0,0 +1,15 @@
+package vo
+
+type ReBillSupplier struct {
+	SupplierId   int64  `json:"supplierId"`
+	Avatar       string `json:"avatar"`
+	SupplierName string `json:"supplierName"`
+	CompanyName  string `json:"companyName"`
+	SupplierType int64  `json:"supplierType"` // 1为个人服务商 2为企业服务商
+
+	Inviter      string  `json:"inviter"`
+	TalentNum    int64   `json:"talentNum"`
+	ServiceRate  float64 `json:"serviceRate"`
+	ChargeActual float64 `json:"chargeActual"` // 应付金额
+	ChargeSettle float64 `json:"chargeSettle"` // 实际结算金额
+}

+ 10 - 9
app/vo/re_selection_reward_cash.go

@@ -9,13 +9,14 @@ type ReSelectionRewardCash struct {
 }
 
 type TalentRewardMsg struct {
-	PhotoUrl   string `json:"photoUrl"`
-	Nickname   string `json:"nickname"`
-	Account    string `json:"account"`
-	PlatformId int64  `json:"platformId"`
-	City       string `json:"city"`
-	OrderNum   int64  `json:"orderNum"`
-	CashTime   string `json:"cashTime"`
-	Gender     string `json:"gender"` // U:未知;M,m:男; F女
-	TaskId     string `json:"taskId"`
+	PhotoUrl   string  `json:"photoUrl"`
+	Nickname   string  `json:"nickname"`
+	Account    string  `json:"account"`
+	PlatformId int64   `json:"platformId"`
+	City       string  `json:"city"`
+	OrderNum   int64   `json:"orderNum"`
+	CashTime   string  `json:"cashTime"`
+	Gender     string  `json:"gender"` // U:未知;M,m:男; F女
+	TaskId     string  `json:"taskId"`
+	TaskReward float64 `json:"taskReward"` // 兑现金额
 }

+ 15 - 0
app/vo/search_supplier_bill_param.go

@@ -0,0 +1,15 @@
+package vo
+
+type SearchSupplierBillParam struct {
+	EnterpriseId string `json:"enterprise_id"`
+	SubAccountId int64  `json:"sub_account_id"`
+	Page         int    `json:"page"`
+	PageSize     int    `json:"page_size"`
+	TaskId       string `json:"task_id"`
+	Task         int    `json:"task"`      // 2品牌种草,3本地生活
+	Status       int    `json:"status"`    // 1执行中 2已结算
+	TaskType     int64  `json:"task_type"` // 项目类型,1全流程项目,2专项项目
+	Order        int64  `json:"order"`     // 排序 0降序 1升序(默认0)
+
+	Others string `json:"others"` // 服务商名称或邀请人
+}

+ 1 - 0
app/vo/selection_reward_cash_param.go

@@ -8,4 +8,5 @@ type SelectionRewardCashParam struct {
 	Order        int64  `json:"order"`
 	Page         int    `json:"page"`
 	PageSize     int    `json:"page_size"`
+	RewardStage  int64  `json:"reward_stage"`
 }

+ 12 - 6
route/init.go

@@ -353,6 +353,7 @@ func InitRoute(r *gin.Engine) {
 	// 财务结算相关接口
 	finance := r.Group("/youngee/b/finance")
 	{
+		// 财务管理
 		finance.Use(middleware.LoginAuthMiddleware)
 		finance.POST("/recharge/transferToPublic", controller.FinanceController{}.TransferToPublic)  // 充值管理——对公转账
 		finance.POST("/pay/getCodeUrl", controller.FinanceController{}.GetCodeUrl)                   // 获取微信支付codeURL
@@ -365,6 +366,7 @@ func InitRoute(r *gin.Engine) {
 		finance.POST("/recharge/count", controller.FinanceController{}.RechargeInfoCount)            // 充值管理——充值记录-角标
 		// YG官方汇款账号
 
+		// 发票中心
 		finance.POST("/invoice/talent", controller.FinanceController{}.GetEnterpriseMessage)         // 获取默认开票抬头
 		finance.POST("/invoice/default/update", controller.FinanceController{}.UpdateInvoiceDefault) // 设置默认开票信息(专票)
 		finance.POST("/invoice/default/get", controller.FinanceController{}.GetInvoiceDefault)       // 获取默认开票信息(专票)
@@ -373,12 +375,16 @@ func InitRoute(r *gin.Engine) {
 		finance.POST("/invoice/list/billable", controller.FinanceController{}.GetBillableList)       // 可开票账单
 		finance.POST("/invoice/bill/show", controller.FinanceController{}.ShowInvoiceBill)           // 开票金额数据-已开票、可开票、开票中
 
-		finance.POST("/bill/selection/pay", controller.BillController{}.SelectionPay)       // 电商带货账单支付
-		finance.POST("/bill/project/pay", controller.BillController{}.ProjectPay)           // 品牌种草账单支付
-		finance.POST("/bill/local/pay", controller.BillController{}.LocalLifePay)           // 本地生活账单支付
-		finance.POST("/bill/selection/list", controller.BillController{}.SelectionBillList) // 账单查询-电商带货列表
-		finance.POST("/bill/project/list", controller.BillController{}.ProjectBillList)     // 账单查询-品牌种草列表
-		finance.POST("/bill/local/list", controller.BillController{}.LocalLifeBillList)     // 账单查询-本地生活列表
+		// 账单查询
+		finance.POST("/bill/selection/pay", controller.BillController{}.SelectionPay)                    // 电商带货账单支付
+		finance.POST("/bill/project/pay", controller.BillController{}.ProjectPay)                        // 品牌种草账单支付
+		finance.POST("/bill/local/pay", controller.BillController{}.LocalLifePay)                        // 本地生活账单支付
+		finance.POST("/bill/selection/list", controller.BillController{}.SelectionBillList)              // 账单查询-电商带货列表
+		finance.POST("/bill/project/list", controller.BillController{}.ProjectBillList)                  // 账单查询-品牌种草列表
+		finance.POST("/bill/local/list", controller.BillController{}.LocalLifeBillList)                  // 账单查询-本地生活列表
+		finance.POST("/bill/project/supplier/list", controller.BillController{}.ProjectSupplierBillList) // 账单查询-品牌种草服务商账单列表
+		finance.POST("/bill/local/supplier/list", controller.BillController{}.LocalSupplierBillList)     // 账单查询-本地生活服务商账单列表
+
 	}
 	// 推广合作-服务商相关接口
 	cooperation := r.Group("/youngee/b/cooperation/supplier")