1
This commit is contained in:
@@ -8,25 +8,23 @@ import (
|
||||
|
||||
// 取不到写死的
|
||||
var enterpriseUserIdMap = map[string]string{
|
||||
"18080188338": "ShiFeng",
|
||||
"13541389991": "ZhuMin",
|
||||
"18982250714": "LaoZhaoTongXue",
|
||||
"15680070110": "LiRongWei",
|
||||
"18582617275": "TangXiaoLei",
|
||||
"18583684218": "JingXiCaiShi-YanXiaoKang18583684218",
|
||||
"17344357115": "YuanYe",
|
||||
"18011597879": "YunYing7879",
|
||||
"13608076295": "ZhangJiaLin",
|
||||
"18981810340": "LiuLei",
|
||||
"187447 76542": "WuTingQi",
|
||||
"17358644830": "ShengTianBanZi1376",
|
||||
"1": "2f43b42fd833d1e77420a8dae7419000", // 未设置号码
|
||||
"15928865396": "HeJiaMeng2",
|
||||
"18780171617": "TianQinXin",
|
||||
"17381914617": "TianQinXin2",
|
||||
"15881105234": "WenShiQi",
|
||||
"17342535201": "XuXiaox",
|
||||
"18048531223": "ShiFeng2",
|
||||
"18080188338": "ShiFeng",
|
||||
"18048531223": "ShiFeng2",
|
||||
"17208297174": "ciEnCheng",
|
||||
"JingXiCaiShi-Jiang": "15680515506",
|
||||
"18982250714": "LaoZhaoTongXue",
|
||||
"15680070110": "LiRongWei",
|
||||
"17366937206": "LuGang",
|
||||
"18780171617": "TianQinXin",
|
||||
"17381914617": "TianQinXin2",
|
||||
"15183779263": "FengCheng",
|
||||
"18011597879": "YunYing7879",
|
||||
"13608076295": "ZhangJiaLin",
|
||||
"18981810340": "LiuLei",
|
||||
"18744776542": "WuTingQi",
|
||||
"15928865396": "HeJiaMeng2",
|
||||
"15881105234": "WenShiQi",
|
||||
"13547995434": "LiJun",
|
||||
}
|
||||
|
||||
// SendUserMessage 发送文本卡片
|
||||
|
||||
@@ -1046,6 +1046,20 @@ func GetOrders(db *DaoDB, ids []int64, isIncludeSku, isIncludeFake bool, fromDat
|
||||
}
|
||||
}
|
||||
}
|
||||
if params["fromStoreIDs"] != nil {
|
||||
var fromStoreIDs []int
|
||||
if err = utils.UnmarshalUseNumber([]byte(params["fromStoreIDs"].(string)), &fromStoreIDs); err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
if len(fromStoreIDs) > 0 {
|
||||
if fromStoreIDs[0] == 0 { // 容错
|
||||
sqlWhere += " AND 1 = 0"
|
||||
} else {
|
||||
sqlWhere += " AND t1.from_store_id IN (" + GenQuestionMarks(len(fromStoreIDs)) + ")"
|
||||
sqlParams = append(sqlParams, fromStoreIDs)
|
||||
}
|
||||
}
|
||||
}
|
||||
if params["statuss"] != nil {
|
||||
var statuss []int
|
||||
if err = utils.UnmarshalUseNumber([]byte(params["statuss"].(string)), &statuss); err != nil {
|
||||
|
||||
@@ -32,56 +32,24 @@ func SendVendorV2(data SendData, vendorOrgCode string) (err error) {
|
||||
switch data.VendorID {
|
||||
case model.VendorIDMTWM:
|
||||
dataStr, _ := json.Marshal(data.Data)
|
||||
temp := string(dataStr)
|
||||
globals.SugarLogger.Debugf("SendVendorV2 mtwmtemp=%s", temp)
|
||||
if _, err = partner.CurAPIManager.GetAPI(model.VendorIDMTWM, vendorOrgCode).(*mtwmapi.API).MsgSend(string(dataStr)); err != nil {
|
||||
return err
|
||||
}
|
||||
case model.VendorIDEBAI:
|
||||
str, _ := json.Marshal(data.Data)
|
||||
param := &ebaiapi.BusinessSendMsgReq{}
|
||||
err = json.Unmarshal(str, ¶m)
|
||||
globals.SugarLogger.Debugf("SendVendorV2 ebaiparam=%s", utils.Format4Output(param, false))
|
||||
err = partner.CurAPIManager.GetAPI(model.VendorIDEBAI, vendorOrgCode).(*ebaiapi.API).BusinessSendMsg(param)
|
||||
if err = json.Unmarshal(str, ¶m); err == nil {
|
||||
err = partner.CurAPIManager.GetAPI(model.VendorIDEBAI, vendorOrgCode).(*ebaiapi.API).BusinessSendMsg(param)
|
||||
}
|
||||
case model.VendorIDJD:
|
||||
//uuid := utils.GetUUID()
|
||||
//autoReplayParam := &jdapi.ContextMsg{
|
||||
// Id: uuid,
|
||||
// Lang: "zh_CN",
|
||||
// Type: "chat_message",
|
||||
// From: jdapi.ContextFrom{
|
||||
// Pin: userMsg.From.Pin,
|
||||
// App: "im.waiter",
|
||||
// ClientType: "gw",
|
||||
// },
|
||||
// To: jdapi.ContextTo{
|
||||
// Pin: userMsg.To.Pin,
|
||||
// App: "im.customer",
|
||||
// },
|
||||
// Body: jdapi.ContextBody{
|
||||
// Type: "text",
|
||||
// Content: temp,
|
||||
// Chatinfo: jdapi.ContextBodyChatInfo{
|
||||
// VenderId: jd.VenderId,
|
||||
// AskAllocateType: "multiChat",
|
||||
// Sid: userMsg.Body.Chatinfo.Sid,
|
||||
// Source: fmt.Sprintf("dd_msg_?_%s"?, uuid),
|
||||
// },
|
||||
// Template: struct {
|
||||
// Source string `json:"source"`
|
||||
// }{
|
||||
// Source: fmt.Sprintf("dd_msg_?_%s"?, uuid),
|
||||
// },
|
||||
// Mt: 60,
|
||||
// },
|
||||
// Timestamp: time.Now().UnixNano(),
|
||||
// ClientTime: time.Now().UnixNano(),
|
||||
//}
|
||||
//err = partner.CurAPIManager.GetAPI(model.VendorIDJD, vendorOrgCode).(*jdapi.API).MessagePushService(autoReplayParam)
|
||||
|
||||
str, _ := json.Marshal(data.Data)
|
||||
param := &jdapi.ContextMsg{}
|
||||
if err = json.Unmarshal(str, ¶m); err == nil {
|
||||
err = partner.CurAPIManager.GetAPI(model.VendorIDJD, vendorOrgCode).(*jdapi.API).MessagePushService(param)
|
||||
}
|
||||
}
|
||||
|
||||
err = ReadMsgFromClient(data.VendorID, vendorOrgCode, data.Data)
|
||||
err = ReadMsgFromClient(data.VendorID, vendorOrgCode, data.Data, data.StoreId)
|
||||
if err != nil {
|
||||
globals.SugarLogger.Debugf("SendVendorV2:%v", err)
|
||||
}
|
||||
@@ -172,6 +140,7 @@ func SetPoiIMStatus(param []SetPoiIMStatusReq) error {
|
||||
}
|
||||
case model.VendorIDJD:
|
||||
api := partner.CurAPIManager.GetAPI(model.VendorIDJD, v.VendorOrgCode).(*jdapi.API)
|
||||
api.ImStatusModify(fmt.Sprintf("%s+%s", v.VendorStoreID, v.VendorOrgCode), 0, true)
|
||||
// 0:忙碌;1:在线
|
||||
err := api.ImWaiterStatusModify(1, v.VendorStoreID, v.ImStatus)
|
||||
errList.AddErr(fmt.Errorf("jd:%v", err))
|
||||
@@ -181,7 +150,7 @@ func SetPoiIMStatus(param []SetPoiIMStatusReq) error {
|
||||
}
|
||||
|
||||
// ReadMsgFromClient 存储客户端发送的消息
|
||||
func ReadMsgFromClient(vendorID int, elmAppID string, msg interface{}) error {
|
||||
func ReadMsgFromClient(vendorID int, elmAppID string, msg interface{}, storeId int) error {
|
||||
var (
|
||||
err error
|
||||
elmTime int
|
||||
@@ -231,17 +200,61 @@ func ReadMsgFromClient(vendorID int, elmAppID string, msg interface{}) error {
|
||||
}
|
||||
case model.VendorIDJD:
|
||||
var jdData = jdapi.ContextMsg{}
|
||||
err = json.Unmarshal(data, &jdData)
|
||||
jxMsg = &JXMsg{
|
||||
SendType: SendTypeJx,
|
||||
MsgContent: jdData,
|
||||
}
|
||||
userList = &UserMessageList{
|
||||
VendorID: model.VendorIDJD,
|
||||
UserID: jdData.From.Pin,
|
||||
LatestMsg: utils.Interface2String(jdData.Body),
|
||||
LatestTime: int(time.Now().Unix()),
|
||||
if err = json.Unmarshal(data, &jdData); err == nil {
|
||||
store, err := dao.GetStoreDetail(dao.GetDB(), storeId, model.VendorIDJD, elmAppID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
shopInfo := &jdapi.JdParamJsonObj{
|
||||
StatusId: utils.Int2Str(storeId), // 京西门店ID
|
||||
BillId: elmAppID, // vendorOrgCode
|
||||
ExtendJsonData: "",
|
||||
StoreId: store.VendorStoreID, // 平台门店ID
|
||||
Timestamp: utils.Time2Str(time.Now()),
|
||||
}
|
||||
extendJsonData := &jdapi.UserChatMsg{
|
||||
Id: jdData.Id,
|
||||
Lang: jdData.Lang,
|
||||
Type: jdData.Type,
|
||||
From: struct {
|
||||
Pin string `json:"pin"`
|
||||
App string `json:"app"`
|
||||
ClientType string `json:"clientType"`
|
||||
}{
|
||||
Pin: jdData.From.Pin,
|
||||
App: jdData.From.App,
|
||||
ClientType: jdData.From.ClientType,
|
||||
},
|
||||
To: struct {
|
||||
Pin string `json:"pin"`
|
||||
App string `json:"app"`
|
||||
ClientType string `json:"clientType"`
|
||||
}{
|
||||
Pin: jdData.To.Pin,
|
||||
App: jdData.To.App,
|
||||
ClientType: "",
|
||||
},
|
||||
Body: jdapi.UserChatMsgBody{
|
||||
Content: jdData.Body.Content,
|
||||
Type: jdData.Body.Type,
|
||||
},
|
||||
Timestamp: jdData.Timestamp,
|
||||
ClientTime: jdData.ClientTime,
|
||||
}
|
||||
shopInfo.ExtendJsonData = string(utils.MustMarshal(extendJsonData))
|
||||
|
||||
jxMsg = &JXMsg{
|
||||
SendType: SendTypeJx,
|
||||
MsgContent: jdData,
|
||||
}
|
||||
userList = &UserMessageList{
|
||||
VendorID: model.VendorIDJD,
|
||||
UserID: jdData.From.Pin,
|
||||
LatestMsg: utils.Interface2String(jdData.Body),
|
||||
LatestTime: int(time.Now().Unix()),
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//1 存储展示列表时单条数据
|
||||
@@ -258,7 +271,7 @@ func ReadMsgFromClient(vendorID int, elmAppID string, msg interface{}) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// ReadMsgFromVendor 读取数据并存储到redis
|
||||
// ReadMsgFromVendor 读取数据并存储到redis 回调
|
||||
func ReadMsgFromVendor(vendorID int, elmAppID string, msg []byte) error {
|
||||
var (
|
||||
err error
|
||||
@@ -315,7 +328,6 @@ func ReadMsgFromVendor(vendorID int, elmAppID string, msg []byte) error {
|
||||
if err = utils.UnmarshalUseNumber(msg, &risMsg); err != nil {
|
||||
return err
|
||||
}
|
||||
globals.SugarLogger.Debugf("-----rismsg := %s", utils.Format4Output(risMsg, false))
|
||||
storeDetail, err := dao.GetStoreDetailByVendorStoreID(dao.GetDB(), risMsg.StoreId, model.VendorIDJD, "")
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -332,24 +344,24 @@ func ReadMsgFromVendor(vendorID int, elmAppID string, msg []byte) error {
|
||||
return err
|
||||
}
|
||||
userList = &UserMessageList{
|
||||
VendorID: model.VendorIDJD,
|
||||
LatestMsg: risMsg.ExtendJsonData,
|
||||
MsgFrom: elmAppID,
|
||||
VendorID: model.VendorIDJD,
|
||||
MsgFrom: elmAppID,
|
||||
}
|
||||
switch elmAppID {
|
||||
case jdapi.ImCallbackRisMsg:
|
||||
userList.UserID = systemMsg.From.Pin
|
||||
userList.LatestTime = int(systemMsg.Timestamp)
|
||||
userList.LatestMsg = "暂无"
|
||||
case jdapi.ImCallbackUserMsg:
|
||||
userList.UserID = userMsg.From.Pin
|
||||
userList.LatestTime = int(userMsg.Timestamp)
|
||||
userList.LatestMsg = userMsg.Body.Content
|
||||
case jdapi.ImCallbackReadMsg:
|
||||
userList.UserID = readMsg.From.Pin
|
||||
userList.LatestTime = int(userMsg.Timestamp)
|
||||
userList.LatestMsg = "暂无"
|
||||
}
|
||||
vendorStoreID = risMsg.StoreId
|
||||
|
||||
return fmt.Errorf("咱暂不存储")
|
||||
}
|
||||
|
||||
//1 存储详细聊天记录list
|
||||
@@ -802,6 +814,7 @@ func CheckAndReply(req *JXMsg, elmAppID string) (err error) {
|
||||
}
|
||||
}
|
||||
case SendTypeJd:
|
||||
// 京东暂时有自动回复功能
|
||||
//vendorID = model.VendorIDJD
|
||||
//jd := req.MsgContent.(*jdapi.ChatRisMsgCallback)
|
||||
////跳过12小时内商家消息自动回复
|
||||
|
||||
@@ -29,8 +29,9 @@ var AppSecretByAppID = map[int]string{
|
||||
|
||||
// SendData 客户端写入参数
|
||||
type SendData struct {
|
||||
VendorID int `json:"vendorID"` //消息来源平台ID 1-美团 3-饿了么
|
||||
Data interface{} `json:"data"` //发送给平台 美团/饿了么消息结构体
|
||||
VendorID int `json:"vendorID"` // 消息来源平台ID 1-美团 3-饿了么
|
||||
StoreId int `json:"storeId"` // 门店ID
|
||||
Data interface{} `json:"data"` // 发送给平台 美团/饿了么消息结构体
|
||||
}
|
||||
|
||||
// JXMsg 京西消息结构体
|
||||
|
||||
@@ -1370,32 +1370,32 @@ func orderSolutionForWuLiao(order *model.GoodsOrder) (err error) {
|
||||
DeliveryFlag: model.OrderDeliveryFlagMaskScheduleDisabled,
|
||||
}
|
||||
dao.CreateEntity(db, waybill)
|
||||
} else { //如果重量超过5kg则需要进行拆单分包,商品分包规则。最后一个包不超过5kg,其他包不超过3kg
|
||||
outOrders, _, _ := tryToSplitMatterOrder(buildJxOrderInfo(order, orderSkus))
|
||||
//以下为仿照CreateOrder,改了一些参数
|
||||
for k, v := range outOrders {
|
||||
v.OrderType = model.OrderTypeMatter
|
||||
v.FromStoreID = order.FromStoreID
|
||||
outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, v, order.AddressID, order.FromStoreID, order.UserID, false, nil)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
//分包后的子订单ID默认是原订单ID后面加两位(目前的规则),要改的话要注意取消订单那的判断
|
||||
outJxOrder.OrderID = utils.Str2Int64(order.VendorOrderID)*100 + int64(k+1)
|
||||
checkMatterDeliveryAddress(deliveryAddress)
|
||||
order2, err2 := jxOrder2GoodsOrder(jxcontext.AdminCtx, outJxOrder, deliveryAddress, order.UserID, false, nil)
|
||||
if err = err2; err == nil {
|
||||
order2.FromStoreID = v.FromStoreID
|
||||
order2.AddressID = order.AddressID
|
||||
order2.Status = model.OrderStatusDelivering
|
||||
err = partner.CurOrderManager.OnOrderNew(order2, model.Order2Status(order2))
|
||||
orderSolutionForWuLiao(order2)
|
||||
}
|
||||
}
|
||||
//刷新一下库存
|
||||
for _, v := range goods[0].Skus {
|
||||
cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID)
|
||||
}
|
||||
} else { //如果重量超过5kg则需要进行拆单分包,商品分包规则。最后一个包不超过5kg,其他包不超过3kg ,收到发单,不需要分包裹了
|
||||
//outOrders, _, _ := tryToSplitMatterOrder(buildJxOrderInfo(order, orderSkus))
|
||||
////以下为仿照CreateOrder,改了一些参数
|
||||
//for k, v := range outOrders {
|
||||
// v.OrderType = model.OrderTypeMatter
|
||||
// v.FromStoreID = order.FromStoreID
|
||||
// outJxOrder, deliveryAddress, err := generateOrder(jxcontext.AdminCtx, v, order.AddressID, order.FromStoreID, order.UserID, false, nil)
|
||||
// if err != nil {
|
||||
// return err
|
||||
// }
|
||||
// //分包后的子订单ID默认是原订单ID后面加两位(目前的规则),要改的话要注意取消订单那的判断
|
||||
// outJxOrder.OrderID = utils.Str2Int64(order.VendorOrderID)*100 + int64(k+1)
|
||||
// checkMatterDeliveryAddress(deliveryAddress)
|
||||
// order2, err2 := jxOrder2GoodsOrder(jxcontext.AdminCtx, outJxOrder, deliveryAddress, order.UserID, false, nil)
|
||||
// if err = err2; err == nil {
|
||||
// order2.FromStoreID = v.FromStoreID
|
||||
// order2.AddressID = order.AddressID
|
||||
// order2.Status = model.OrderStatusDelivering
|
||||
// err = partner.CurOrderManager.OnOrderNew(order2, model.Order2Status(order2))
|
||||
// orderSolutionForWuLiao(order2)
|
||||
// }
|
||||
//}
|
||||
////刷新一下库存
|
||||
//for _, v := range goods[0].Skus {
|
||||
// cms.RefreshMatterStock(jxcontext.AdminCtx, v.SkuID)
|
||||
//}
|
||||
}
|
||||
for _, v := range order.Skus {
|
||||
if bagSkuMap[v.SkuID] != 0 {
|
||||
|
||||
@@ -3,7 +3,8 @@ package localjx
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/weixinmsg"
|
||||
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
|
||||
"git.rosy.net.cn/jx-callback/business/partner"
|
||||
"strings"
|
||||
"time"
|
||||
@@ -140,18 +141,19 @@ func onTLpayFinished(call *tonglianpayapi.CallBackResult) (err error) {
|
||||
if order != nil {
|
||||
store, _ := dao.GetStoreDetail(db, order.FromStoreID, model.VendorIDJX, "")
|
||||
if store != nil {
|
||||
userID := make([]string, 0, 2)
|
||||
//userID := make([]string, 0, 2)
|
||||
for _, v := range []string{store.MarketManPhone, store.OperatorPhone2} {
|
||||
if v == "" {
|
||||
continue
|
||||
}
|
||||
user, _ := dao.GetUserByID(db, "mobile", v)
|
||||
userID = append(userID, user.UserID)
|
||||
if store.MarketManPhone == store.OperatorPhone2 {
|
||||
break
|
||||
}
|
||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, user.UserID, "商户购买物料信息推送", fmt.Sprintf("门店%s:%d,在物料商城下单了:%s,请注意查看", store.Name, store.ID, order.VendorOrderID))
|
||||
//userID = append(userID, user.UserID)
|
||||
//if store.MarketManPhone == store.OperatorPhone2 {
|
||||
// break
|
||||
//}
|
||||
}
|
||||
weixinmsg.SendUserMessage(jxcontext.AdminCtx, "商户购买物料信息推送", fmt.Sprintf("门店%s:%d,在物料商城下单了:%s,请注意查看", store.Name, store.ID, order.VendorOrderID), userID, true, true)
|
||||
//weixinmsg.SendUserMessage(jxcontext.AdminCtx, "商户购买物料信息推送", fmt.Sprintf("门店%s:%d,在物料商城下单了:%s,请注意查看", store.Name, store.ID, order.VendorOrderID), userID, true, true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -427,7 +427,7 @@ func (p *PurchaseHandler) createOrUpdateStoreSkus(ctx *jxcontext.Context, storeI
|
||||
saleStart = "0" + saleStart
|
||||
}
|
||||
if len(saleEnd) != 4 {
|
||||
saleEnd += "0" + saleEnd
|
||||
saleEnd = "0" + saleEnd
|
||||
}
|
||||
if len(saleEnd) == 4 && len(saleStart) == 4 {
|
||||
break
|
||||
|
||||
@@ -3,6 +3,8 @@ package controllers
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/platformapi/dingdingapi"
|
||||
"git.rosy.net.cn/jx-callback/business/jxutils/ddmsg"
|
||||
"git.rosy.net.cn/jx-callback/business/model"
|
||||
"git.rosy.net.cn/jx-callback/business/partner/im"
|
||||
"io/ioutil"
|
||||
@@ -255,9 +257,9 @@ func (c *DjswController) imMsg() {
|
||||
} else {
|
||||
var base *jdapi.BaseInfo
|
||||
if utils.UnmarshalUseNumber(msg, &base); err == nil {
|
||||
globals.SugarLogger.Debugf("-----url := %s", url)
|
||||
globals.SugarLogger.Debugf("-----msg := %s", string(msg))
|
||||
globals.SugarLogger.Debugf("-----base := %s", utils.Format4Output(base, false))
|
||||
if url == "msgReadAck" || url == "chatRiskMsg" {
|
||||
ddmsg.SendUserMessage(dingdingapi.MsgTyeText, "2452A93EEB9111EC9B06525400E86DC0", fmt.Sprintf("jdIm:%s消息推送", url), utils.Format4Output(msg, false))
|
||||
}
|
||||
callbackResponse = jdapi.Err2CallbackResponse(im.ReadMsgFromVendor(model.VendorIDJD, url, []byte(base.JdParamJson)), "")
|
||||
callbackResponse = jdapi.Err2CallbackResponse(nil, "")
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
package controllers
|
||||
|
||||
import (
|
||||
"git.rosy.net.cn/baseapi/platformapi/jdapi"
|
||||
"git.rosy.net.cn/baseapi/utils"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestName(t *testing.T) {
|
||||
msg := `{"app_key":"1dba76d40cac446ca500c0391a0b6c9d","format":"json","jd_param_json":"{\"statusId\":\"\",\"billId\":\"\",\"extendJsonData\":\"{\\\"ver\\\":\\\"4.2\\\",\\\"fromChannelId\\\":-1,\\\"mid\\\":376841420,\\\"body\\\":{\\\"chatinfo\\\":{\\\"venderId\\\":\\\"store_10352814_1000051632\\\",\\\"isJdSuperMarket\\\":\\\"0\\\",\\\"source\\\":\\\"jimitwo_service_smart_sdk\\\",\\\"deviceNo\\\":\\\"dd_dvc_aes_73FF2098F02392E999FE00A26817AE212E55DF89C9D405370B4B09A908F3A355\\\",\\\"label\\\":1,\\\"IMService\\\":false,\\\"storeId\\\":\\\"1000051632\\\",\\\"distinguishPersonJimi\\\":2,\\\"proVer\\\":\\\"smart_android_15.2.90\\\",\\\"sid\\\":\\\"9ec16e789610328114db937025384666\\\",\\\"entry\\\":\\\"sdk_recent\\\",\\\"askAllocateType\\\":\\\"multiChat\\\",\\\"leaveMsgTable\\\":1,\\\"venderName\\\":\\\"京西菜市-新都三河店\\\",\\\"askType\\\":\\\"o2o\\\",\\\"disputeId\\\":-1,\\\"ddSessionType\\\":\\\"1\\\",\\\"appId\\\":\\\"im.waiter\\\",\\\"systemVer\\\":\\\"android_12_BRA-AL00\\\",\\\"eidtoken\\\":\\\"jdd01SVZE72NCBZ6AXTRFHLIRLNUSF25PCOYF4OPNU3BOITK5SR62TUHMBIDGFBOYGQ7TWY7WRDPLHA3LP6NME42NE5IQNXASKIGJA6ULRAI01234567\\\",\\\"region\\\":\\\"CN\\\",\\\"verification\\\":\\\"slide\\\"},\\\"llmStream\\\":0,\\\"thumbnail\\\":\\\"\\\",\\\"param\\\":{\\\"$ref\\\":\\\"$.body.chatinfo\\\"},\\\"type\\\":\\\"text\\\",\\\"requestData\\\":{\\\"entry\\\":\\\"sdk_recent\\\",\\\"venderId\\\":\\\"store_10352814_1000051632\\\"},\\\"content\\\":\\\"高处不胜寒\\\",\\\"sid\\\":\\\"9ec16e789610328114db937025384666\\\"},\\\"type\\\":\\\"chat_message\\\",\\\"clientTime\\\":1765872110902,\\\"datetime\\\":1765872111084,\\\"len\\\":0,\\\"from\\\":{\\\"app\\\":\\\"im.customer\\\",\\\"art\\\":\\\"\\\",\\\"clientType\\\":\\\"android\\\",\\\"pin\\\":\\\"jd_52db6569f724f\\\"},\\\"subType\\\":\\\"text\\\",\\\"id\\\":\\\"b9fd3e9b5b194599a2d74df33c319c7b\\\",\\\"to\\\":{\\\"app\\\":\\\"im.waiter\\\",\\\"pin\\\":\\\"liyang12345ly\\\"},\\\"lang\\\":\\\"zh_CN\\\",\\\"timestamp\\\":1765872111084}\",\"storeId\":\"11998833\",\"timestamp\":\"2025-12-16 16:01:51\"}","sign":"34C4AC9FAEB277FDEA9D9CBEC18BCFDB","timestamp":"2025-12-16 16:01:51","token":"de4a9818-b171-41ed-ba37-0b060cad001f","v":"1.0"}`
|
||||
var base *jdapi.BaseInfo
|
||||
if err := utils.Map2StructByJson(msg, &base, false); err == nil {
|
||||
}
|
||||
|
||||
}
|
||||
@@ -309,8 +309,9 @@ func (c *OrderController) ExportMTWaybills() {
|
||||
// @Param toDate query string false "结束日期(包含),格式(2006-01-02),如果订单号为空此项必须要求"
|
||||
// @Param isDateFinish query bool false "是否fromDate与toDate指的是订单结束日期,缺省不是"
|
||||
// @Param vendorIDs query string false "订单所属厂商列表[1,2,3],缺省不限制"
|
||||
// @Param waybillVendorIDs query string false "承运人所属厂商列表[1,2,3],缺省不限制"
|
||||
// @Param waybillVendorIDs query string false "承运人所属厂商列表[1,2,3],缺省不限制"
|
||||
// @Param storeIDs query string false "京西门店ID列表[1,2,3],缺省不限制"
|
||||
// @Param fromStoreIDs query string false "物料京西门店ID列表[1,2,3],缺省不限制"
|
||||
// @Param statuss query string false "订单状态列表[1,2,3],缺省不限制"
|
||||
// @Param lockStatuss query string false "订单锁定状态列表[1,2,3],缺省不限制"
|
||||
// @Param cities query string false "城市code列表[1,2,3],缺省不限制"
|
||||
|
||||
138377
swagger/param_parser.go.txt
138377
swagger/param_parser.go.txt
File diff suppressed because it is too large
Load Diff
@@ -11645,6 +11645,12 @@
|
||||
"description": "京西门店ID列表[1,2,3],缺省不限制",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "fromStoreIDs",
|
||||
"description": "物料京西门店ID列表[1,2,3],缺省不限制",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "statuss",
|
||||
@@ -11832,6 +11838,12 @@
|
||||
"description": "京西门店ID列表[1,2,3],缺省不限制",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "fromStoreIDs",
|
||||
"description": "物料京西门店ID列表[1,2,3],缺省不限制",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"in": "query",
|
||||
"name": "statuss",
|
||||
|
||||
@@ -7893,6 +7893,10 @@ paths:
|
||||
name: storeIDs
|
||||
description: 京西门店ID列表[1,2,3],缺省不限制
|
||||
type: string
|
||||
- in: query
|
||||
name: fromStoreIDs
|
||||
description: 物料京西门店ID列表[1,2,3],缺省不限制
|
||||
type: string
|
||||
- in: query
|
||||
name: statuss
|
||||
description: 订单状态列表[1,2,3],缺省不限制
|
||||
@@ -8019,6 +8023,10 @@ paths:
|
||||
name: storeIDs
|
||||
description: 京西门店ID列表[1,2,3],缺省不限制
|
||||
type: string
|
||||
- in: query
|
||||
name: fromStoreIDs
|
||||
description: 物料京西门店ID列表[1,2,3],缺省不限制
|
||||
type: string
|
||||
- in: query
|
||||
name: statuss
|
||||
description: 订单状态列表[1,2,3],缺省不限制
|
||||
|
||||
Reference in New Issue
Block a user