diff --git a/business/jxcallback/orderman/orderman_ext.go b/business/jxcallback/orderman/orderman_ext.go index b186fa185..b9c07e533 100644 --- a/business/jxcallback/orderman/orderman_ext.go +++ b/business/jxcallback/orderman/orderman_ext.go @@ -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 } diff --git a/business/lakala/lakala_incoming.go b/business/lakala/lakala_incoming.go index 9af552ee4..c701d9fae 100644 --- a/business/lakala/lakala_incoming.go +++ b/business/lakala/lakala_incoming.go @@ -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) { diff --git a/business/model/dao/store.go b/business/model/dao/store.go index 23a0e5108..3d406e28d 100644 --- a/business/model/dao/store.go +++ b/business/model/dao/store.go @@ -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) diff --git a/business/partner/purchase/mtwm/order_afs.go b/business/partner/purchase/mtwm/order_afs.go index 8874b8b0d..d949908dc 100644 --- a/business/partner/purchase/mtwm/order_afs.go +++ b/business/partner/purchase/mtwm/order_afs.go @@ -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 { diff --git a/controllers/jx_order.go b/controllers/jx_order.go index d535a9213..d975fcced 100644 --- a/controllers/jx_order.go +++ b/controllers/jx_order.go @@ -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 }) } diff --git a/controllers/lakala.go b/controllers/lakala.go index 294a7add7..e99a7a208 100644 --- a/controllers/lakala.go +++ b/controllers/lakala.go @@ -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 + }) +} diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index b5ea211b6..0ca2784e6 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -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",