aa
This commit is contained in:
@@ -332,14 +332,18 @@ func AcceptJob(ctx *jxcontext.Context, jobID, dropShippingDeliveryID, dropShippi
|
|||||||
job.ID = jobID
|
job.ID = jobID
|
||||||
err = dao.GetEntity(db, job)
|
err = dao.GetEntity(db, job)
|
||||||
if job.UserID == "" || job.Status == model.JobStatusFailed || job.Status == model.JobStatusOverdue || job.FinishedAt.Sub(time.Now()) <= 0 || job.SurplusCount <= 0 || job.LimitCountType <= 0 {
|
if job.UserID == "" || job.Status == model.JobStatusFailed || job.Status == model.JobStatusOverdue || job.FinishedAt.Sub(time.Now()) <= 0 || job.SurplusCount <= 0 || job.LimitCountType <= 0 {
|
||||||
|
if job.JobCategoryID == model.JobCategoryIDUnion {
|
||||||
|
return 0, errCode, fmt.Errorf("活动已结束,请等待下批次活动!")
|
||||||
|
} else {
|
||||||
return 0, errCode, fmt.Errorf("未找到该任务或该任务状态不正常,无法接单!")
|
return 0, errCode, fmt.Errorf("未找到该任务或该任务状态不正常,无法接单!")
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// num, err = checkJobOrders(db, 0, "<= "+utils.Int2Str(model.JobOrderStatusAccept), userID, utils.ZeroTimeValue, utils.ZeroTimeValue)
|
// num, err = checkJobOrders(db, 0, "<= "+utils.Int2Str(model.JobOrderStatusAccept), userID, utils.ZeroTimeValue, utils.ZeroTimeValue)
|
||||||
// if num >= AcceptMaxCount {
|
// if num >= AcceptMaxCount {
|
||||||
// return 0, errCode, fmt.Errorf("每人最多接取" + utils.Int2Str(AcceptMaxCount) + "个任务,请核实!")
|
// return 0, errCode, fmt.Errorf("每人最多接取" + utils.Int2Str(AcceptMaxCount) + "个任务,请核实!")
|
||||||
// }
|
// }
|
||||||
//非快递任务
|
//非快递任务
|
||||||
if jobID != 2 {
|
if jobID != 2 && job.JobCategoryID != model.JobCategoryIDUnion {
|
||||||
num, err = checkJobOrders(db, jobID, "<= "+utils.Int2Str(model.JobOrderStatusWaitAudit), userID, utils.ZeroTimeValue, utils.ZeroTimeValue)
|
num, err = checkJobOrders(db, jobID, "<= "+utils.Int2Str(model.JobOrderStatusWaitAudit), userID, utils.ZeroTimeValue, utils.ZeroTimeValue)
|
||||||
if num > 0 {
|
if num > 0 {
|
||||||
return 0, errCode, fmt.Errorf("您还有此任务未完成,请完成后再接取!")
|
return 0, errCode, fmt.Errorf("您还有此任务未完成,请完成后再接取!")
|
||||||
@@ -1961,26 +1965,24 @@ func GetUnionActList(ctx *jxcontext.Context, vendorID, actType int) (actList []*
|
|||||||
return actList, err
|
return actList, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func ShareUnionLink(ctx *jxcontext.Context, jobID, linkType int) (link string, err error) {
|
func ShareUnionLink(ctx *jxcontext.Context, jobID, shareType, linkType int) (link string, err error) {
|
||||||
var (
|
var (
|
||||||
db = dao.GetDB()
|
|
||||||
job = &model.Job{}
|
job = &model.Job{}
|
||||||
jobOrder = &model.JobOrder{}
|
sid string
|
||||||
|
jobOrderID int64
|
||||||
)
|
)
|
||||||
job.ID = jobID
|
if shareType == partner.ShareTypeOther {
|
||||||
err = dao.GetEntity(db, job)
|
jobOrderID, _, _ = AcceptJob(ctx, jobID, 0, 0)
|
||||||
if err != nil {
|
} else {
|
||||||
return link, err
|
sid = partner.MtUnionJxSID
|
||||||
}
|
}
|
||||||
jobOrder.JobID = job.ID
|
if jobOrderID != 0 {
|
||||||
err = dao.GetEntity(db, jobOrder, "JobID")
|
sid = utils.Int64ToStr(jobOrderID)
|
||||||
if err != nil {
|
|
||||||
return link, err
|
|
||||||
}
|
}
|
||||||
if handler := partner.GetHandler(job.VendorID); handler != nil {
|
if handler := partner.GetHandler(job.VendorID); handler != nil {
|
||||||
link, err = handler.ShareUnionLink(ctx, linkType, job.UnionActID, utils.Int64ToStr(jobOrder.ID))
|
link, err = handler.ShareUnionLink(ctx, linkType, job.UnionActID, sid)
|
||||||
if job.VendorID == model.VendorIDMTWM && linkType == partner.LinkTypeWeiXinMini {
|
if job.VendorID == model.VendorIDMTWM && linkType == partner.LinkTypeWeiXinMini {
|
||||||
if resBinary, _, err := jxutils.DownloadFileByURL(link + "?imageView2/1/w/100/h/100/q/75"); err == nil {
|
if resBinary, _, err := jxutils.DownloadFileByURL(link + "?imageView2/1/w/150/h/150/q/75"); err == nil {
|
||||||
if downloadURL, err := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())+link[strings.LastIndex(link, "/")+1:len(link)]); err == nil {
|
if downloadURL, err := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())+link[strings.LastIndex(link, "/")+1:len(link)]); err == nil {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
link = jxutils.MixWatermarkImg(downloadURL, job.UnionImg, job.UnionQrcodePosition)
|
link = jxutils.MixWatermarkImg(downloadURL, job.UnionImg, job.UnionQrcodePosition)
|
||||||
|
|||||||
@@ -194,7 +194,12 @@ func UnionOrderCallBack(unionOrder *partner.UnionOrderInfo) (err error) {
|
|||||||
jobOrder = &model.JobOrder{}
|
jobOrder = &model.JobOrder{}
|
||||||
db = dao.GetDB()
|
db = dao.GetDB()
|
||||||
)
|
)
|
||||||
jobOrder.ID = unionOrder.JobOrderID
|
if unionOrder.SID == partner.MtUnionJxSID {
|
||||||
|
globals.SugarLogger.Debugf("result UnionOrderCallBack jxsysorder")
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
jobOrder.ID = utils.Str2Int64(unionOrder.SID)
|
||||||
txDB, _ := dao.Begin(db)
|
txDB, _ := dao.Begin(db)
|
||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ func OnCallback(call *mtunionapi.CallBackResult) (err error) {
|
|||||||
if call.Status == mtunionapi.MtUnionOrderStatusFinished {
|
if call.Status == mtunionapi.MtUnionOrderStatusFinished {
|
||||||
if order, err := api.MtUnionAPI.Rtnotify(call.Orderid, call.Type); order != nil && err == nil {
|
if order, err := api.MtUnionAPI.Rtnotify(call.Orderid, call.Type); order != nil && err == nil {
|
||||||
unionOrder := &partner.UnionOrderInfo{
|
unionOrder := &partner.UnionOrderInfo{
|
||||||
JobOrderID: utils.Str2Int64(order.Order.Sid),
|
SID: order.Order.Sid,
|
||||||
Profit: jxutils.StandardPrice2Int(utils.Str2Float64(order.Coupon[0].Profit)),
|
Profit: jxutils.StandardPrice2Int(utils.Str2Float64(order.Coupon[0].Profit)),
|
||||||
VendorID: model.VendorIDMTWM,
|
VendorID: model.VendorIDMTWM,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,12 +11,16 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
LinkTypeWeiXinMini = 1 //微信小程序
|
LinkTypeWeiXinMini = 5 //微信小程序二维码
|
||||||
LinkTypeH5 = 2 //H5
|
|
||||||
|
ShareTypeOther = 1 //分享给别人
|
||||||
|
ShareTypeOwn = 2 //自己领
|
||||||
|
|
||||||
|
MtUnionJxSID = "000000001"
|
||||||
)
|
)
|
||||||
|
|
||||||
type UnionOrderInfo struct {
|
type UnionOrderInfo struct {
|
||||||
JobOrderID int64 `json:"jobOrderID"`
|
SID string `json:"sid"`
|
||||||
Profit int64 `json:"profit"` //订单实际返佣金额
|
Profit int64 `json:"profit"` //订单实际返佣金额
|
||||||
VendorID int `json:"vendorID"`
|
VendorID int `json:"vendorID"`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -569,14 +569,15 @@ func (c *JobController) GetUnionActList() {
|
|||||||
// @Title 分享联盟链接
|
// @Title 分享联盟链接
|
||||||
// @Description 分享联盟链接
|
// @Description 分享联盟链接
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
// @Param jobID formData int true "任务ID"
|
// @Param jobID formData int false "任务ID"
|
||||||
// @Param linkType formData int true "链接类型,1为小程序,2为H5"
|
// @Param shareType formData int true "分享类型,1为当前用户分享给别人,2为当前用户自己领取"
|
||||||
|
// @Param linkType formData int true "链接类型,1 h5链接 2 deeplink(唤起)链接 3 中间页唤起链接 4 微信小程序唤起路径, 5为小程序二维码"
|
||||||
// @Success 200 {object} controllers.CallResult
|
// @Success 200 {object} controllers.CallResult
|
||||||
// @Failure 200 {object} controllers.CallResult
|
// @Failure 200 {object} controllers.CallResult
|
||||||
// @router /ShareUnionLink [post]
|
// @router /ShareUnionLink [post]
|
||||||
func (c *JobController) ShareUnionLink() {
|
func (c *JobController) ShareUnionLink() {
|
||||||
c.callShareUnionLink(func(params *tJobShareUnionLinkParams) (retVal interface{}, errCode string, err error) {
|
c.callShareUnionLink(func(params *tJobShareUnionLinkParams) (retVal interface{}, errCode string, err error) {
|
||||||
retVal, err = cms.ShareUnionLink(params.Ctx, params.JobID, params.LinkType)
|
retVal, err = cms.ShareUnionLink(params.Ctx, params.JobID, params.ShareType, params.LinkType)
|
||||||
return retVal, "", err
|
return retVal, "", err
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user