This commit is contained in:
richboo111
2023-04-25 10:39:28 +08:00
57 changed files with 1242 additions and 260 deletions

View File

@@ -11,6 +11,7 @@ import (
"git.rosy.net.cn/jx-callback/business/partner/purchase/tiktok_store"
"git.rosy.net.cn/jx-callback/globals"
"github.com/astaxie/beego/server/web"
"strings"
"time"
)
@@ -742,6 +743,7 @@ func (c *SkuController) RefreshNoImgSku() {
// @Param categoryID query int false "商品名所属类别ID"
// @Param status query int false "查询起始状态0下架1正常, -1全部"
// @Param isBySku query bool false "是否将sku拆开缺省为false"
// @Param bestSeller query int false "是否为畅销品[0-不是/1-是]"
// @Param offset query int false "门店列表起始序号以0开始缺省为0"
// @Param pageSize query int false "门店列表页大小缺省为50-1表示全部"
// @Success 200 {object} controllers.CallResult
@@ -751,12 +753,28 @@ func (c *SkuController) GetSkuNamesNew() {
c.callGetSkuNamesNew(func(params *tSkuGetSkuNamesNewParams) (retVal interface{}, errCode string, err error) {
var skuIDs, skuNameIDs []int
if err = jxutils.Strings2Objs(params.SkuIDs, &skuIDs, params.NameIDs, &skuNameIDs); err == nil {
retVal, err = cms.GetSkuNamesNew(params.Ctx, params.Keyword, skuIDs, skuNameIDs, params.CategoryID, params.Status, params.IsBySku, params.Offset, params.PageSize)
retVal, err = cms.GetSkuNamesNew(params.Ctx, params.Keyword, skuIDs, skuNameIDs, params.CategoryID, params.Status, params.IsBySku, params.Offset, params.PageSize, params.BestSeller)
}
return retVal, "", err
})
}
// @Title 设置商品为热销/取消热销商品
// @Description 设置商品为热销/取消热销商品
// @Param token header string true "认证token"
// @Param skuNameId query string true "商品nameId,多个用逗号分割"
// @Param bestSeller query int true "是否为热销[0不是/1是]"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /SetSkuBestSeller [post]
func (c *SkuController) SetSkuBestSeller() {
c.callSetSkuBestSeller(func(params *tSkuSetSkuBestSellerParams) (retVal interface{}, errCode string, err error) {
nameIds := strings.Split(params.SkuNameId, ",")
err = cms.SetSkuNameSeller(utils.StringSlice2Int64(nameIds), params.BestSeller)
return nil, "", err
})
}
// @Title 根据分类id获取平台属性值
// @Description 根据分类id获取平台属性值
// @Param token header string true "认证token"

View File

@@ -2,6 +2,7 @@ package controllers
import (
"git.rosy.net.cn/baseapi/platformapi/jdapi"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/auth2"
"git.rosy.net.cn/jx-callback/business/model"
@@ -1039,3 +1040,18 @@ func (c *StoreSkuController) CopyMtToJd() {
return retVal, "", err
})
}
// @Title 美团门店复制到美团
// @Description 美团门店复制到美团
// @Param token header string true "认证token"
// @Param fromStoreID formData string true "被复制门店id"
// @Param toStoreID formData string true "复制到门店id"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /CopyMtToMt [post]
func (c *StoreSkuController) CopyMtToMt() {
c.callCopyMtToMt(func(params *tStoreSkuCopyMtToMtParams) (retVal interface{}, errCode string, err error) {
retVal, err = cms.CopyOnStoreSkuToOther(params.Ctx, utils.Str2Int(params.FromStoreID), utils.Str2Int(params.ToStoreID), false)
return retVal, errCode, err
})
}

View File

@@ -2,7 +2,6 @@ package controllers
import (
"encoding/json"
"git.rosy.net.cn/jx-callback/business/partner/purchase/im"
"github.com/astaxie/beego/server/web"
)
@@ -16,13 +15,9 @@ type IMController struct {
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /StartWebSocket [get]
//func (c *IMController) StartWebSocket() {
// var (
// w http.ResponseWriter
// r *http.Request
// )
// im.StartWebSocket(w, r)
//}
func (c *IMController) StartWebSocket() {
im.StartWebSocket(c.Ctx.ResponseWriter, c.Ctx.Request)
}
// @Title IM获取门店用户聊天列表
// @Description IM获取门店用户聊天列表

View File

@@ -2,6 +2,7 @@ package controllers
import (
"encoding/json"
"errors"
"fmt"
"git.rosy.net.cn/jx-callback/business/bidding"
"strings"
@@ -827,6 +828,46 @@ func (c *OrderController) RefreshHistoryOrdersEarningPrice() {
// @router /PartRefundOrder [put]
func (c *OrderController) PartRefundOrder() {
c.callPartRefundOrder(func(params *tOrderPartRefundOrderParams) (retVal interface{}, errCode string, err error) {
var skuList []*model.OrderSku
err = jxutils.Strings2Objs(params.RefundSkuList, &skuList)
if err == nil {
if params.VendorID == model.VendorIDJX {
return nil, "", errors.New("京西小程序暂未开启此功能")
}
_, _, skuList = skuList2Map(skuList)
var order *model.GoodsOrder
order, err = partner.CurOrderManager.LoadOrder(params.VendorOrderID, params.VendorID)
if err == nil {
removedAll, err2 := fillSkuList(skuList, order.Skus)
if err = err2; err == nil {
if removedAll {
err = defsch.FixedScheduler.RefundOrder(params.Ctx, order, params.Reason)
} else {
err = defsch.FixedScheduler.PartRefundOrder(params.Ctx, order, skuList, params.Reason)
}
}
}
}
return retVal, "", err
})
}
// @Title 小程序用户申请售后(退款)
// @Description 小程序用户申请售后(退款)
// @Param token header string true "认证token"
// @Param vendorOrderID formData string true "订单ID"
// @Param vendorID formData int true "订单所属厂商ID"
// @Param refundSkuList formData string true "要去除的商品信息只有skuID与Count字段有效"
// @Param reason formData string true "原因"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /ApplyRefundOrder [post]
func (c *OrderController) ApplyRefundOrder() {
c.callApplyRefundOrder(func(params *tOrderApplyRefundOrderParams) (retVal interface{}, errCode string, err error) {
// 微信,支付宝-通联,(抖音-抖音支付,快手-快手支付) 小程序,下单时不区分平台,支付时区分()
// 1- 创建afsOrder 售后单
// 2-
var skuList []*model.OrderSku
err = jxutils.Strings2Objs(params.RefundSkuList, &skuList)
if err == nil {

View File

@@ -0,0 +1,72 @@
package controllers
import (
"git.rosy.net.cn/baseapi/platformapi/kuaishou_mini"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/partner/purchase/jx/localjx"
"git.rosy.net.cn/jx-callback/globals"
"git.rosy.net.cn/jx-callback/globals/api"
"github.com/astaxie/beego/server/web"
)
type KuaiShouController struct {
web.Controller
}
// KuaiShouCallBack 快手回调
func (c *KuaiShouController) KuaiShouCallback() {
payOrder, refundOrder, payType, msgId, err := api.KuaiShouApi.KauiShouCallback(c.Ctx.Request)
globals.SugarLogger.Debugf("KuaiShouCallBack payOrder =: %s", utils.Format4Output(payOrder, false))
globals.SugarLogger.Debugf("KuaiShouCallBack refundOrder=: %s", refundOrder)
globals.SugarLogger.Debugf("KuaiShouCallBack payType=: %s", payType)
globals.SugarLogger.Debugf("KuaiShouCallBack err=: %s", utils.Format4Output(err, false))
if err != nil {
c.Data["json"] = CallBackFail(msgId)
c.ServeJSON()
return
}
switch payType {
case kuaishou_mini.CallbackTypePay:
err = localjx.OnKSPayCallback(payOrder, nil, payType)
case kuaishou_mini.CallbackTypeRefund:
err = localjx.OnKSPayCallback(nil, refundOrder, payType)
case kuaishou_mini.CallbackTypeSettle:
c.Data["json"] = CallBackFail(msgId)
c.ServeJSON()
return
default:
c.Data["json"] = CallBackFail(msgId)
c.ServeJSON()
return
}
if err != nil {
c.Data["json"] = CallBackFail(msgId)
c.ServeJSON()
return
}
c.Data["json"] = CallBackSuccess(msgId)
c.ServeJSON()
return
}
type CallBackResult struct {
Result string `json:"result"`
MessageId string `json:"message_id"`
}
func CallBackSuccess(msgId string) *CallBackResult {
return &CallBackResult{
Result: "1",
MessageId: msgId,
}
}
func CallBackFail(msgId string) *CallBackResult {
return &CallBackResult{
Result: "-1",
MessageId: msgId,
}
}