This commit is contained in:
邹宗楠
2025-07-04 10:03:38 +08:00
parent 9a051bf147
commit 905f8bd2e0
7 changed files with 81 additions and 25 deletions

View File

@@ -943,7 +943,7 @@ func (c *OrderManager) GetStoresOrderSaleInfo(ctx *jxcontext.Context, storeIDLis
return c.GetStoresOrderSaleInfoNew(ctx, storeIDList, fromTime, toTime, statusList)
}
func (c *OrderManager) GetStoresOrderSaleInfo2(ctx *jxcontext.Context, fromTime time.Time, toTime time.Time, storeId int, brandId, vendorId, storeList []int) (map[string]interface{}, error) {
func (c *OrderManager) GetStoresOrderSaleInfo2(fromTime time.Time, toTime time.Time, storeId int, brandId, vendorId, storeList []int, operateNum, brandOperate string) (map[string]interface{}, error) {
var (
db = dao.GetDB()
)
@@ -957,25 +957,25 @@ func (c *OrderManager) GetStoresOrderSaleInfo2(ctx *jxcontext.Context, fromTime
}
// 门店统计
storeStatus, err := dao.StatisticsStoreInfo(db, brandId, vendorId, storeList)
storeStatus, err := dao.StatisticsStoreInfo(db, brandId, vendorId, storeList, operateNum, brandOperate)
if err != nil {
return nil, err
}
// 订单统计
orderStatus, err := dao.StatisticsOrderInfo(db, fromTime, toTime, storeId, brandId, vendorId, storeList)
orderStatus, err := dao.StatisticsOrderInfo(db, fromTime, toTime, storeId, brandId, vendorId, storeList, operateNum, brandOperate)
if err != nil {
return nil, err
}
// 售后单统计
afsOrderStatus, err := dao.StatisticsAfsOrderInfo(db, fromTime, toTime, storeId, brandId, vendorId, storeList)
afsOrderStatus, err := dao.StatisticsAfsOrderInfo(db, fromTime, toTime, storeId, brandId, vendorId, storeList, operateNum, brandOperate)
if err != nil {
return nil, err
}
// 统计收益
incomeStatics, err := dao.StatisticsIncome(db, fromTime, toTime, storeId, brandId, vendorId, storeList)
incomeStatics, err := dao.StatisticsIncome(db, fromTime, toTime, storeId, brandId, vendorId, storeList, operateNum, brandOperate)
if err != nil {
return nil, err
}

View File

@@ -588,6 +588,11 @@ func SeparateFallBack(merchantNo, separateNo, reason string) (*lakala.SeparateFa
return result, nil
}
func GetCardBin(orgCode, cardNo string) (*lakala.BinInfo, error) {
result, err := api.LaKaLaApi.QueryCarBin(lakala.GetOrderNumber(8), orgCode, cardNo)
return result, err
}
//#endregion
//#region 订单相关
@@ -776,7 +781,7 @@ func UploadImg(filePath, imgType, sourcechnl, isOcr string) (*lakala.UploadImgRe
//#endregion
//#region 京西数据查询
//#region 京西数据查询
// GetIncomingList 进件查询
func GetIncomingList(merchantNo string, storeId, pageSize, offset int) (*model.PagedInfo, error) {

View File

@@ -1566,7 +1566,7 @@ func GetStoreBaseByVendorStoreID(vendorStoreID string, vendorID int) (storeDetai
}
// StatisticsStoreInfo 统计所有的门店信息
func StatisticsStoreInfo(db *DaoDB, brandId, vendorId, storeList []int) ([]*StatisticsStore, error) {
func StatisticsStoreInfo(db *DaoDB, brandId, vendorId, storeList []int, operateNum, brandOperate string) ([]*StatisticsStore, error) {
statistics := make([]*StatisticsStore, 0, 0)
sql := ` SELECT count(s.status) count, s.status FROM store s `
@@ -1587,6 +1587,15 @@ func StatisticsStoreInfo(db *DaoDB, brandId, vendorId, storeList []int) ([]*Stat
param = append(param, brandId)
}
if operateNum != "" {
sql += ` AND s.market_man_phone = ?`
param = append(param, operateNum)
}
if brandOperate != "" {
sql += ` AND s.operator_phone2 = ?`
param = append(param, brandOperate)
}
sql += ` GROUP BY s.status `
if err := GetRows(db, &statistics, sql, param); err != nil {
return nil, err
@@ -1595,14 +1604,11 @@ func StatisticsStoreInfo(db *DaoDB, brandId, vendorId, storeList []int) ([]*Stat
}
// StatisticsOrderInfo 统计订单信息
func StatisticsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int) ([]*StatisticsOrder, error) {
func StatisticsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int, operateNum, brandOperate string) ([]*StatisticsOrder, error) {
parma := []interface{}{}
sql := ` SELECT count(g.vendor_order_id) count,g.status status ,sum(g.total_shop_money) total_shop_money FROM goods_order g `
if len(brandId) > model.NO {
sql += ` INNER JOIN store s ON IF(g.store_id <> 0,g.store_id,g.jx_store_id) = s.id AND s.brand_id IN (` + GenQuestionMarks(len(brandId)) + `)`
parma = append(parma, brandId)
}
sql := ` SELECT count(g.vendor_order_id) count,g.status status ,sum(g.total_shop_money) total_shop_money FROM goods_order g
INNER JOIN store s ON IF(g.store_id <> 0,g.store_id,g.jx_store_id) = s.id
`
sql += ` WHERE g.order_created_at >= ? AND g.order_created_at <= ?`
parma = append(parma, startTime, endTime)
@@ -1618,6 +1624,7 @@ func StatisticsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, b
sql += ` AND g.vendor_id IN (` + GenQuestionMarks(len(vendorId)) + `)`
parma = append(parma, vendorId)
}
sql += ` GROUP BY g.status `
orderStatistics := make([]*StatisticsOrder, 0, 0)
if err := GetRows(db, &orderStatistics, sql, parma...); err != nil {
@@ -1627,14 +1634,11 @@ func StatisticsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, b
}
// StatisticsAfsOrderInfo 售后单信息统计
func StatisticsAfsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int) ([]*StatisticsOrder, error) {
func StatisticsAfsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int, operateNum, brandOperate string) ([]*StatisticsOrder, error) {
parma := []interface{}{}
sql := `SELECT count(a.vendor_order_id) count,a.status status ,sum(a.afs_total_shop_money) total_shop_money FROM afs_order a `
if len(brandId) > model.NO {
sql += ` INNER JOIN store s ON IF(a.store_id <> 0,a.store_id,a.jx_store_id) = s.id AND s.brand_id IN (` + GenQuestionMarks(len(brandId)) + `)`
parma = append(parma, brandId)
}
sql := `SELECT count(a.vendor_order_id) count,a.status status ,sum(a.afs_total_shop_money) total_shop_money FROM afs_order a
INNER JOIN store s ON IF(a.store_id <> 0,a.store_id,a.jx_store_id) = s.id
`
sql += ` WHERE a.afs_created_at >= ? AND a.afs_created_at <= ?`
parma = append(parma, startTime, endTime)
@@ -1651,6 +1655,19 @@ func StatisticsAfsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int
parma = append(parma, vendorId)
}
if len(brandId) > model.NO {
sql += ` AND s.market_man_phone = ?`
parma = append(parma, operateNum)
}
if operateNum != "" {
sql += ` AND s.operator_phone2 = ?`
parma = append(parma, brandOperate)
}
if brandOperate != "" {
sql += `AND s.brand_id IN (` + GenQuestionMarks(len(brandId)) + `)`
parma = append(parma, brandId)
}
sql += ` GROUP BY a.status`
orderStatistics := make([]*StatisticsOrder, 0, 0)
if err := GetRows(db, &orderStatistics, sql, parma...); err != nil {
@@ -1660,7 +1677,7 @@ func StatisticsAfsOrderInfo(db *DaoDB, startTime, endTime time.Time, storeId int
}
// StatisticsIncome 统计平台和市场收入
func StatisticsIncome(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int) ([]*StatisticsIncomeInfo, error) {
func StatisticsIncome(db *DaoDB, startTime, endTime time.Time, storeId int, brandId, vendorId, storeList []int, operateNum, brandOperate string) ([]*StatisticsIncomeInfo, error) {
parma := []interface{}{}
sql := `
@@ -1683,10 +1700,19 @@ func StatisticsIncome(db *DaoDB, startTime, endTime time.Time, storeId int, bran
parma = append(parma, storeList)
}
if len(brandId) > model.NO {
sql += ` AND t3.market_man_phone = ?`
parma = append(parma, operateNum)
}
if operateNum != "" {
sql += ` AND t3.operator_phone2 = ?`
parma = append(parma, brandOperate)
}
if len(brandId) != model.NO {
sql += ` AND t3.brand_id IN (` + GenQuestionMarks(len(brandId)) + `)`
parma = append(parma, brandId)
}
if len(vendorId) != model.NO {
sql += ` AND t1.vendor_id IN (` + GenQuestionMarks(len(vendorId)) + `)`
parma = append(parma, vendorId)

View File

@@ -232,14 +232,12 @@ func (c *PurchaseHandler) onAfsOrderMsg(msg *mtwmapi.CallbackMsg) (retVal *mtwma
case model.EarningTypeQuote: // 报价
for _, rd := range refundDetail {
for _, rdw := range rd.WmAppRetailForOrderPartRefundList {
globals.SugarLogger.Debugf("-----order.ShopPrice1:=%s,%d,%d", order.VendorOrderID, order.ShopPrice, order.NewEarningPrice)
switch rd.RefundType {
// 退款类型1-全额退款2-部分退款3-退差价5-按金额灵活退。
case 3: // 缺重退部分
if _, ok := orderSkuShopPriceList[utils.Str2Int(rdw.SkuID)]; ok {
order.ShopPrice = order.ShopPrice - utils.Float64TwoInt64((rdw.RefundPrice/rdw.FoodPrice)*float64(orderSkuShopPriceList[utils.Str2Int(rdw.SkuID)]))
order.EarningPrice = order.EarningPrice - utils.Float64TwoInt64((rdw.RefundPrice/rdw.FoodPrice)*float64(orderSkuEarningPriceList[utils.Str2Int(rdw.SkuID)]))
globals.SugarLogger.Debugf("-----order.ShopPrice2:=%s,%d,%d", order.VendorOrderID, order.ShopPrice, order.NewEarningPrice)
}
default: // 全退
if _, ok := orderSkuShopPriceList[utils.Str2Int(rdw.SkuID)]; ok {

View File

@@ -503,6 +503,8 @@ func (c *OrderController) GetStoresOrderSaleInfo() {
// @Param brandIds query string false "品牌id"
// @Param vendorIds query string false "平台id"
// @Param storeID query int false "门店id"
// @Param operatorNumber query string false "门店负责人"
// @Param brandOperator query string false "美团负责人"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /StaleIndexInfo [get]
@@ -553,7 +555,7 @@ func (c *OrderController) StaleIndexInfo() {
return retVal, "", fmt.Errorf("于该用户%s,暂无门店信息", ctx.GetUserName())
}
retVal, err = orderman.FixedOrderManager.GetStoresOrderSaleInfo2(params.Ctx, timeList[0], timeList[1], params.StoreID, brandIds, vendors, dataList)
retVal, err = orderman.FixedOrderManager.GetStoresOrderSaleInfo2(timeList[0], timeList[1], params.StoreID, brandIds, vendors, dataList, params.BrandOperator, params.OperatorNumber)
return retVal, "", err
})
}

View File

@@ -794,3 +794,19 @@ func (c *LaKaLaController) WithdrawalList() {
return
})
}
// GetCardBin 卡BIN查询
// @Title 卡BIN查询
// @Description 卡BIN查询
// @Param token header string true "认证token"
// @Param orgCode query string true "机构号"
// @Param cardNo query string true "卡号"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetCardBin [get]
func (c *LaKaLaController) GetCardBin() {
c.callGetCardBin(func(params *tLakalaGetCardBinParams) (retVal interface{}, errCode string, err error) {
retVal, err = lakalaServer.GetCardBin(params.OrgCode, params.CardNo)
return
})
}

View File

@@ -5077,6 +5077,15 @@ func init() {
MethodParams: param.Make(),
Filters: nil,
Params: nil})
// 卡BIN查询
web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:LaKaLaController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:LaKaLaController"],
web.ControllerComments{
Method: "GetCardBin",
Router: `/GetCardBin`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
//web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:FnController"] = append(web.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:FnController"],
// web.ControllerComments{
// Method: "FnStore",