2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
var e=Object.defineProperty,l=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable,s=(l,a,t)=>a in l?e(l,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[a]=t,o=(e,l,a)=>new Promise((t,s)=>{var o=e=>{try{r(a.next(e))}catch(l){s(l)}},i=e=>{try{r(a.throw(e))}catch(l){s(l)}},r=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,i);r((a=a.apply(e,l)).next())});import{c1 as i,d as r,r as n,k as d,o as u,aP as m,b as p,e as c,g as _,w as y,K as f,f as h,v as b,E as v,j as g,h as x,i as j,N as w,O as k,b2 as V,ai as z,p as C,en as U,ab as E,eo as I,dB as P,b9 as O,T as S}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css */import{b as $,E as D,a as A}from"./el-dropdown-item-D7SYN_RE.js";/* empty css *//* empty css *//* empty css *//* empty css */import{a as M,E as B}from"./index-BcfO0-fK.js";import{E as N}from"./index-C_S0YbqD.js";import{E as T}from"./index-BaD29Izp.js";import{E as F}from"./index-rgHg98E6.js";import{E as G,a as H}from"./index-D2gD5Tn5.js";import{E as K}from"./index-dBzz0k3i.js";import{E as L,a as Q}from"./index-BjuMygln.js";import{E as Y}from"./index-ZsMdSUVI.js";import{E as q}from"./index-C1haaLtB.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./dropdown-Dk_wSiK6.js";import"./castArray-nM8ho4U3.js";import"./refs-Cw5r5QN8.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-BnK4BbY2.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";const J={class:"douyin-orders-page p-4"},R={class:"flex justify-between items-center"},W={class:"flex justify-between items-center"},X={class:"flex items-center gap-4"},Z={class:"flex items-center gap-2"},ee={key:0,class:"text-xs text-gray-400"},le={class:"mt-4 flex justify-end"},ae="http://t13319619426654:ln8aj9nl@s432.kdltps.com:15818",te=r({__name:"index",setup(e){const r=n(!1),te=n(!1),se=n(!1),oe=n(!1),ie=n([]),re=d({page:1,pageSize:20,total:0}),ne=n(!1),de=n(null);let ue=null;const me=d({cookie:"",interval_minutes:5,proxy:""}),pe=d({only_unmatched:!1,max_users:200,batch_size:20,concurrency:5,inter_batch_delay_ms:200}),ce=n(!1),_e=d({status:void 0,match_status:"",shop_order_id:"",douyin_user_id:""});function ye(){return o(this,null,function*(){oe.value=!0;try{yield(e={cookie:me.cookie,interval_minutes:me.interval_minutes,proxy:me.proxy},i.put({url:"/admin/douyin/config",data:e})),S.success("配置保存成功")}catch(l){S.error("保存配置失败")}finally{oe.value=!1}var e})}function fe(){return o(this,null,function*(){r.value=!0;try{const e={page:re.page,page_size:re.pageSize};"number"==typeof _e.status&&(e.status=_e.status),_e.match_status&&(e.match_status=_e.match_status),_e.shop_order_id&&(e.shop_order_id=_e.shop_order_id),_e.douyin_user_id&&(e.douyin_user_id=_e.douyin_user_id);const l=yield function(e){return i.get({url:"/admin/douyin/orders",params:e})}(e);ie.value=l.list||[],re.total=l.total}catch(e){}finally{r.value=!1}})}function he(){return o(this,null,function*(){te.value=!0,de.value=null;try{const o=yield(e=((e,o)=>{for(var i in o||(o={}))a.call(o,i)&&s(e,i,o[i]);if(l)for(var i of l(o))t.call(o,i)&&s(e,i,o[i]);return e})({},pe),i.post({url:"/admin/douyin/sync",data:e}));de.value=o,S.success("同步完成"),yield fe()}catch(o){S.error((null==o?void 0:o.message)||"同步失败")}finally{te.value=!1}var e})}function be(e){if(e){const e=60*me.interval_minutes*1e3;ue=setInterval(()=>o(this,null,function*(){yield he()}),e),S.success(`已开启定时刷新,间隔 ${me.interval_minutes} 分钟`)}else ue&&(clearInterval(ue),ue=null),S.info("已关闭定时刷新")}function ve(){re.page=1,fe()}function ge(){_e.status=void 0,_e.match_status="",_e.shop_order_id="",_e.douyin_user_id="",re.page=1,fe()}function xe(e){return o(this,null,function*(){te.value=!0;try{switch(e){case"sync-all":{const e=yield(l=1,i.post({url:"/admin/douyin/sync-all",data:{duration_hours:l}}));S.success(e.message),yield fe()}break;case"sync-refund":{const e=yield i.post({url:"/admin/douyin/sync-refund"});S.success(e.message),yield fe()}break;case"grant-prizes":{const e=yield i.post({url:"/admin/douyin/grant-prizes"});S.success(e.message)}}}catch(a){S.error((null==a?void 0:a.message)||"操作失败")}finally{te.value=!1}var l})}function je(e){return o(this,null,function*(){var l;if(null==e?void 0:e.shop_order_id)if(2===e.order_status)try{se.value=!0;const a=yield(l=e.shop_order_id,i.post({url:`/admin/douyin/orders/${l}/grant-reward`}));S.success(a.message||"奖品同步完成"),yield fe()}catch(a){S.error((null==a?void 0:a.message)||"同步奖品失败")}finally{se.value=!1}else S.info("仅待发货的订单可以补发奖励");else S.warning("缺少抖店订单号,无法发奖")})}return u(()=>o(this,null,function*(){yield function(){return o(this,null,function*(){try{const e=yield i.get({url:"/admin/douyin/config"});me.cookie=e.cookie||"",me.interval_minutes=e.interval_minutes||5,me.proxy=e.proxy||""}catch(e){}})}(),yield fe()})),m(()=>{ue&&clearInterval(ue)}),(e,l)=>{const a=v,t=f,s=B,o=N,i=M,n=T,d=F,u=z,m=A,S=D,se=$,ue=H,we=G,ke=K,Ve=Q,ze=Y,Ce=L,Ue=q,Ee=V;return c(),p("div",J,[_(n,{shadow:"never",class:"mb-4"},{header:y(()=>[h("div",R,[l[19]||(l[19]=h("span",{class:"font-bold"},"抖店配置",-1)),_(a,{type:"primary",size:"small",onClick:ye,loading:oe.value},{default:y(()=>[...l[18]||(l[18]=[g(" 保存配置 ",-1)])]),_:1},8,["loading"])])]),default:y(()=>[_(i,{inline:!0,model:me,"label-width":"100px"},{default:y(()=>[_(s,{label:"Cookie"},{default:y(()=>[_(t,{modelValue:me.cookie,"onUpdate:modelValue":l[0]||(l[0]=e=>me.cookie=e),type:"textarea",rows:2,placeholder:"请输入抖店Cookie",style:{width:"500px"}},null,8,["modelValue"])]),_:1}),_(s,{label:"代理IP (可选)"},{label:y(()=>[l[20]||(l[20]=h("span",null,"代理IP (可选)",-1)),h("div",{class:"text-xs text-gray-400 leading-tight"}," 默认: "+b(ae))]),default:y(()=>[_(t,{modelValue:me.proxy,"onUpdate:modelValue":l[1]||(l[1]=e=>me.proxy=e),placeholder:ae,style:{width:"500px"},clearable:""},null,8,["modelValue"])]),_:1}),_(s,{label:"同步间隔(分钟)"},{default:y(()=>[_(o,{modelValue:me.interval_minutes,"onUpdate:modelValue":l[2]||(l[2]=e=>me.interval_minutes=e),min:1,max:60,placeholder:"分钟"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),_(n,{shadow:"never"},{header:y(()=>[h("div",W,[l[27]||(l[27]=h("span",{class:"font-bold"},"抖店订单列表",-1)),h("div",X,[h("div",Z,[l[21]||(l[21]=h("span",{class:"text-sm text-gray-500"},"定时刷新",-1)),_(d,{modelValue:ne.value,"onUpdate:modelValue":l[3]||(l[3]=e=>ne.value=e),onChange:be},null,8,["modelValue"]),ne.value?(c(),p("span",ee," ("+b(me.interval_minutes)+"分钟) ",1)):j("",!0)]),_(se,{onCommand:xe},{dropdown:y(()=>[_(S,null,{default:y(()=>[_(m,{command:"sync-all"},{default:y(()=>[_(u,null,{default:y(()=>[_(C(I))]),_:1}),l[23]||(l[23]=g(" 全量订单同步 (1小时) ",-1))]),_:1}),_(m,{command:"sync-refund"},{default:y(()=>[_(u,null,{default:y(()=>[_(C(P))]),_:1}),l[24]||(l[24]=g(" 退款状态同步 ",-1))]),_:1}),_(m,{command:"grant-prizes"},{default:y(()=>[_(u,null,{default:y(()=>[_(C(O))]),_:1}),l[25]||(l[25]=g(" 发放直播奖品 ",-1))]),_:1})]),_:1})]),default:y(()=>[_(a,{type:"success",loading:te.value},{default:y(()=>[_(u,{class:"mr-1"},{default:y(()=>[_(C(U))]),_:1}),l[22]||(l[22]=g(" 高级同步 ",-1)),_(u,{class:"ml-1"},{default:y(()=>[_(C(E))]),_:1})]),_:1},8,["loading"])]),_:1}),_(a,{type:"primary",onClick:he,loading:te.value},{default:y(()=>[_(u,{class:"mr-1"},{default:y(()=>[_(C(I))]),_:1}),l[26]||(l[26]=g(" 手动刷新 ",-1))]),_:1},8,["loading"])])])]),default:y(()=>[_(i,{inline:!0,model:pe,"label-width":"100px",class:"mb-2 sync-options-form"},{default:y(()=>[_(s,{label:"仅未匹配"},{default:y(()=>[_(d,{modelValue:pe.only_unmatched,"onUpdate:modelValue":l[4]||(l[4]=e=>pe.only_unmatched=e)},null,8,["modelValue"])]),_:1}),_(s,{label:"同步用户数"},{default:y(()=>[_(o,{modelValue:pe.max_users,"onUpdate:modelValue":l[5]||(l[5]=e=>pe.max_users=e),min:50,max:1e3,step:50,"controls-position":"right"},null,8,["modelValue"])]),_:1}),_(s,null,{default:y(()=>[_(a,{type:"primary",link:"",onClick:l[6]||(l[6]=e=>ce.value=!ce.value)},{default:y(()=>[g(b(ce.value?"收起高级配置":"高级配置"),1)]),_:1})]),_:1})]),_:1},8,["model"]),ce.value?(c(),x(i,{key:0,inline:!0,model:pe,"label-width":"100px",class:"mb-4 sync-options-advanced"},{default:y(()=>[_(s,{label:"批次大小"},{default:y(()=>[_(o,{modelValue:pe.batch_size,"onUpdate:modelValue":l[7]||(l[7]=e=>pe.batch_size=e),min:5,max:50,step:5,"controls-position":"right"},null,8,["modelValue"])]),_:1}),_(s,{label:"并发数"},{default:y(()=>[_(o,{modelValue:pe.concurrency,"onUpdate:modelValue":l[8]||(l[8]=e=>pe.concurrency=e),min:1,max:pe.batch_size||50,"controls-position":"right"},null,8,["modelValue","max"])]),_:1}),_(s,{label:"批间延迟(ms)"},{default:y(()=>[_(o,{modelValue:pe.inter_batch_delay_ms,"onUpdate:modelValue":l[9]||(l[9]=e=>pe.inter_batch_delay_ms=e),min:0,max:2e3,step:100,"controls-position":"right"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])):j("",!0),_(i,{inline:!0,model:_e,"label-width":"90px",class:"mb-4 filter-form",onSubmit:l[14]||(l[14]=k(()=>{},["prevent"]))},{default:y(()=>[_(s,{label:"订单状态"},{default:y(()=>[_(we,{modelValue:_e.status,"onUpdate:modelValue":l[10]||(l[10]=e=>_e.status=e),placeholder:"全部状态",clearable:"",style:{width:"140px"}},{default:y(()=>[_(ue,{label:"待付款",value:1}),_(ue,{label:"待发货",value:2}),_(ue,{label:"已发货",value:3}),_(ue,{label:"已退款/取消",value:4}),_(ue,{label:"已完成",value:5})]),_:1},8,["modelValue"])]),_:1}),_(s,{label:"匹配状态"},{default:y(()=>[_(we,{modelValue:_e.match_status,"onUpdate:modelValue":l[11]||(l[11]=e=>_e.match_status=e),placeholder:"全部",clearable:"",style:{width:"120px"}},{default:y(()=>[_(ue,{label:"已匹配",value:"matched"}),_(ue,{label:"未匹配",value:"unmatched"})]),_:1},8,["modelValue"])]),_:1}),_(s,{label:"抖店订单号"},{default:y(()=>[_(t,{modelValue:_e.shop_order_id,"onUpdate:modelValue":l[12]||(l[12]=e=>_e.shop_order_id=e),modelModifiers:{trim:!0},placeholder:"支持完整订单号",clearable:"",style:{width:"240px"}},null,8,["modelValue"])]),_:1}),_(s,{label:"抖音用户ID"},{default:y(()=>[_(t,{modelValue:_e.douyin_user_id,"onUpdate:modelValue":l[13]||(l[13]=e=>_e.douyin_user_id=e),modelModifiers:{trim:!0},placeholder:"抖音UID",clearable:"",style:{width:"240px"}},null,8,["modelValue"])]),_:1}),_(s,null,{default:y(()=>[_(a,{type:"primary",onClick:ve},{default:y(()=>[...l[28]||(l[28]=[g("查询",-1)])]),_:1}),_(a,{onClick:ge},{default:y(()=>[...l[29]||(l[29]=[g("重置",-1)])]),_:1})]),_:1})]),_:1},8,["model"]),de.value?(c(),x(ke,{key:1,title:`同步完成:处理${de.value.processed_users}/${de.value.total_users}个用户,获取${de.value.total_fetched}条,新订单${de.value.new_orders}条,耗时${(de.value.elapsed_ms/1e3).toFixed(1)}秒`,type:"success",class:"mb-4",closable:"",onClose:l[15]||(l[15]=e=>de.value=null)},null,8,["title"])):j("",!0),w((c(),x(Ce,{data:ie.value,border:"",style:{width:"100%"}},{default:y(()=>[_(Ve,{prop:"shop_order_id",label:"抖店订单号",width:"180"}),_(Ve,{prop:"order_status",label:"状态",width:"120"},{default:y(({row:e})=>[5===e.order_status?(c(),x(ze,{key:0,type:"success",size:"small"},{default:y(()=>[...l[30]||(l[30]=[g("已完成",-1)])]),_:1})):4===e.order_status?(c(),x(ze,{key:1,type:"danger",size:"small"},{default:y(()=>[...l[31]||(l[31]=[g("已退款/取消",-1)])]),_:1})):3===e.order_status?(c(),x(ze,{key:2,type:"primary",size:"small"},{default:y(()=>[...l[32]||(l[32]=[g("已发货",-1)])]),_:1})):2===e.order_status?(c(),x(ze,{key:3,type:"warning",size:"small"},{default:y(()=>[...l[33]||(l[33]=[g("待发货",-1)])]),_:1})):1===e.order_status?(c(),x(ze,{key:4,type:"info",size:"small"},{default:y(()=>[...l[34]||(l[34]=[g("待付款",-1)])]),_:1})):(c(),x(ze,{key:5,type:"info",size:"small"},{default:y(()=>[g(b(e.order_status_text),1)]),_:2},1024))]),_:1}),_(Ve,{prop:"product_count",label:"购买数量",width:"100",align:"center"}),_(Ve,{prop:"douyin_user_id",label:"抖店用户ID",width:"140"}),_(Ve,{prop:"user_nickname",label:"抖音昵称",width:"120"}),_(Ve,{label:"匹配状态",width:"120"},{default:y(({row:e})=>[e.local_user_id>0?(c(),x(ze,{key:0,type:"success",size:"small"},{default:y(()=>[g(" 已匹配: "+b(e.local_user_nickname||e.local_user_id),1)]),_:2},1024)):(c(),x(ze,{key:1,type:"danger",size:"small"},{default:y(()=>[...l[35]||(l[35]=[g("未匹配",-1)])]),_:1}))]),_:1}),_(Ve,{prop:"actual_pay_amount",label:"实付金额",width:"100"},{default:y(({row:e})=>[g(" ¥"+b(e.actual_pay_amount),1)]),_:1}),_(Ve,{prop:"actual_receive_amount",label:"实收金额",width:"100"},{default:y(({row:e})=>[g(" ¥"+b(e.actual_receive_amount),1)]),_:1}),_(Ve,{prop:"pay_type_desc",label:"支付方式",width:"100"}),_(Ve,{prop:"remark",label:"备注","min-width":"150","show-overflow-tooltip":""}),_(Ve,{prop:"created_at",label:"同步时间",width:"170"}),_(Ve,{label:"操作",width:"160",fixed:"right"},{default:y(({row:e})=>[_(a,{type:"primary",link:"",size:"small",disabled:2!==e.order_status,onClick:l=>je(e)},{default:y(()=>[...l[36]||(l[36]=[g(" 同步奖品 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1},8,["data"])),[[Ee,r.value]]),h("div",le,[_(Ue,{"current-page":re.page,"onUpdate:currentPage":l[16]||(l[16]=e=>re.page=e),"page-size":re.pageSize,"onUpdate:pageSize":l[17]||(l[17]=e=>re.pageSize=e),total:re.total,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:fe,onCurrentChange:fe},null,8,["current-page","page-size","total"])])]),_:1})])}}});export{te as default};
|