696 lines
22 KiB
JavaScript
696 lines
22 KiB
JavaScript
const axios = require('axios')
|
|
const FormData = require('form-data')
|
|
const qs = require('querystring')
|
|
const cheerio = require('cheerio')
|
|
const _ = require('lodash')
|
|
const Aigle = require('aigle')
|
|
const moment = require('moment')
|
|
const sleep = require('atomic-sleep')
|
|
const iconv = require('iconv-lite')
|
|
const { delay } = require('lodash')
|
|
|
|
Aigle.mixin(_)
|
|
|
|
// let test = {}
|
|
// test.deliveryInfo = ['우체국택배', '7865401358906']
|
|
// checkPostOffice(test)
|
|
|
|
if (!process.argv[2]) {
|
|
console.log('사용방법')
|
|
console.log('node test.js 완료일자 start|check')
|
|
console.log(moment(new Date()).subtract(1, 'day').format('YYYY-MM-DD'))
|
|
return false
|
|
}
|
|
|
|
if (!process.argv[3]) {
|
|
console.log('사용방법')
|
|
console.log('node test.js 완료일자 start|check')
|
|
return false
|
|
}
|
|
|
|
let data = {
|
|
username: 'aa509004',
|
|
password: 'daesik102049@@',
|
|
}
|
|
|
|
const WRITE_END_DATE = true
|
|
const END_DATE = process.argv[2]
|
|
|
|
// let loginForm = new FormData()
|
|
// loginForm.append('app_name',"크롬(chrome)")
|
|
// loginForm.append('from',"pc")
|
|
// loginForm.append('nhoj',"home3470")
|
|
// loginForm.append('mluap',"5aee9b59574a3b9666400f9ea3ee5b4b")
|
|
|
|
let loginObj = {
|
|
app_name: '크롬(chrome)',
|
|
from: 'pc',
|
|
nhoj: 'aa509004',
|
|
mluap: '5aee9b59574a3b9666400f9ea3ee5b4b',
|
|
}
|
|
|
|
let cookie = [
|
|
'ds_yn=y; save_id=aa509004; ccn172=84ed141356cb95148bac1afb88b5ddaa663fd58c36ffa2f5ea536285791c754bb938f93336c4c72ac18203fc2ce5bcb004baf34ab6953952a1cb4bbf7be5186f8340853bef8e73ef33bfbdba0d2ce833e5acf7fe074a6d3bb79aa47e4de0dd120ac8821e605e23838cc4d70f65aa4186ed66ee406e0c003514e8a7edb3a7a47f3e5fe9c9ea44467ed469ccfd3fc368da37267711de8f9571b504605793f4c11a32694799eebc8c456ecd7e631a854cbc5cb586ac65a9c1965b0f04fe477e6aec127d7ecb8a0397d811ed70064f5fa09c',
|
|
'ds_yn=y; path=/; domain=hyun.bizmax.net; HttpOnly',
|
|
]
|
|
|
|
let hanjinCookie = []
|
|
|
|
async function createCookie() {
|
|
await axios.get('https://www.hanjin.co.kr').then(response => {
|
|
console.log(response.headers['set-cookie'])
|
|
hanjinCookie = response.headers['set-cookie']
|
|
})
|
|
}
|
|
|
|
let bodyFormData = new URLSearchParams()
|
|
bodyFormData.set('form', JSON.stringify(loginObj))
|
|
|
|
function setCookie() {
|
|
return new Promise(resolve => {
|
|
axios
|
|
.post(
|
|
'https://hyun.bizmax.net/login_pcs_jr.php',
|
|
qs.stringify(loginObj),
|
|
{
|
|
headers: {
|
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
'Host': 'hyun.bizmax.net',
|
|
'Origin': 'https://hyun.bizmax.net',
|
|
'Accept-Encoding': 'gzip, deflate',
|
|
'Accept-Language':
|
|
'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,la;q=0.6,zh-CN;q=0.5,zh;q=0.4',
|
|
'Cache-Control': 'no-cache',
|
|
'Connection': 'keep-alive',
|
|
'Content-Length': '96',
|
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
|
'Cookie': 'ds_yn=y; save_id=home3470',
|
|
'Host': 'hyun.bizmax.net',
|
|
'Origin': 'https://hyun.bizmax.net',
|
|
'Pragma': 'no-cache',
|
|
'Referer': 'https://hyun.bizmax.net/?from=&dmy=1614347086',
|
|
'User-Agent':
|
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36',
|
|
'X-BizMax-Ajax': 1,
|
|
'X-Requested-With': 'XMLHttpRequest',
|
|
'X-Site-Gubun': 'pc',
|
|
},
|
|
}
|
|
)
|
|
.then(response => {
|
|
// console.log(response)
|
|
cookie = response.headers['set-cookie']
|
|
resolve(response.headers['set-cookie'])
|
|
})
|
|
})
|
|
}
|
|
|
|
async function getLists(page) {
|
|
let searchDate = {
|
|
start: moment(new Date()).subtract(1, 'month').format('YYYY-MM-DD'),
|
|
// start: moment(new Date()).subtract(6, 'day').format('YYYY-MM-DD'),
|
|
end: moment(new Date()).subtract(2, 'day').format('YYYY-MM-DD'),
|
|
}
|
|
console.log(searchDate)
|
|
|
|
let reqObj = {
|
|
'state': 8,
|
|
'_content_only': 'y',
|
|
'_ihl': 'n',
|
|
'_ihr': 'n',
|
|
'clm': 0,
|
|
'use_date_1': 'a.reg_date',
|
|
'data_orderby': 'a.reg_date',
|
|
'start_date_1': searchDate.start,
|
|
'end_date_1': searchDate.end,
|
|
'excel_ext': 'csv',
|
|
'mode': 'search',
|
|
'page': page,
|
|
'post_size': 500,
|
|
'sale_name_clm_q': '4b40dd075943efaf446b15696ebec5e3',
|
|
'site_gubun': 'pc',
|
|
'tbs_end_date': '2021-02-26',
|
|
'tbs_start_date': '2021-02-26',
|
|
}
|
|
|
|
let testStr = `
|
|
s_customer_group=&s_customer_group_src=&s_customer_group_dsp=-+%EA%B3%A0%EA%B0%9D%EA%B7%B8%EB%A3%B9&s_open_branch_prim=&s_open_branch_prim_src=&s_open_branch_prim_dsp=-+%EA%B0%9C%ED%86%B5%EC%B2%98&s_sale_branch_prim=&s_sale_branch_prim_src=&s_sale_branch_prim_dsp=-+%ED%8C%90%EB%A7%A4%EC%A0%90&s_sale_id=&state=8&state_obc=rgb(255%2C+255%2C+255)&state_otc=rgb(0%2C+0%2C+0)&state_src=&state_dsp=%E2%96%B6%EB%B0%9C%EC%86%A1&open_state=&open_state_obc=%23fff&open_state_otc=%23000&open_state_src=&open_state_dsp=-+%EA%B0%9C%ED%86%B5%EC%83%81%ED%83%9C&pre_model_return=&pre_model_return_obc=%23fff&pre_model_return_otc=%23000&pre_model_return_src=&pre_model_return_dsp=-+%EA%B2%B0%EC%A0%9C%EA%B5%AC%EB%B6%84&excel_ext=csv&conf_self=&conf_self_obc=%23fff&conf_self_otc=%23000&conf_self_src=&conf_self_dsp=-+2%EC%B0%A8%EC%A7%84%ED%96%89%EC%83%81%ED%83%9C&new_model_return=&new_model_return_obc=%23fff&new_model_return_otc=%23000&new_model_return_src=&new_model_return_dsp=-+%EA%B2%B0%EC%A0%9C%ED%98%84%ED%99%A9&post_size=500&data_orderby=a.reg_date&clm=0&search_word=&new_model=&new_model_src=&new_model_dsp=-+1%EC%B0%A8+%EC%83%81%ED%92%88&use_date_1=a.reg_date&start_date_1=${searchDate.start}&end_date_1=${searchDate.end}&age_sch_1=1&age_1=&age_cdn_1=1&age_cdn_join=1&age_sch_2=1&age_2=&age_cdn_2=1&ac_clm=0&ac_sbp=&sale_name_clm_q=eaaebfbf2fe3153006702ee0fda10b16&mode=search&page=${page}&hcv_p2=&list_type=&ol_type=logis&dv_prim=&team_prim=&tdm_prim=&prd_ds=&fav_group_prim=&no_ctm_rd_spd=&no_ctm_md_spd=&smr_vs=&no_sch_hl=&all_memo_sch_clm=&tbs_start_date=2022-10-05&tbs_end_date=2022-10-05&_ihr=n&_ihl=n&_content_only=y&site_gubun=pc
|
|
`
|
|
try {
|
|
} catch (error) {}
|
|
|
|
return axios
|
|
.post(
|
|
// 'http://hyun.bizmax.net/customer/tpl/customer_list.php?list_type=&svc_gubun=0&prd_ds=&dss=',
|
|
`https://hyun.bizmax.net/customer/tpl/customer_list.php?list_type=&team_prim=&tdm_prim=&svc_gubun=0&prd_ds=&dss=&dv_prim=`,
|
|
// qs.stringify(reqObj),
|
|
testStr,
|
|
{
|
|
headers: {
|
|
'Cookie': cookie[0],
|
|
// 'Content-Type': 'application/x-www-form-urlencoded',
|
|
// 'Host': 'hyun.bizmax.net',
|
|
// 'Origin': 'https://hyun.bizmax.net',
|
|
// 'Accept-Encoding': 'gzip, deflate',
|
|
// 'Accept-Language':
|
|
// 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,la;q=0.6,zh-CN;q=0.5,zh;q=0.4',
|
|
// 'Cache-Control': 'no-cache',
|
|
// 'Connection': 'keep-alive',
|
|
// 'Content-Length': '96',
|
|
// 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
|
// 'Host': 'hyun.bizmax.net',
|
|
// 'Origin': 'https://hyun.bizmax.net',
|
|
// 'Pragma': 'no-cache',
|
|
// 'Referer':
|
|
// 'https://hyun.bizmax.net/customer/tpl/customer_list.php?list_type=&team_prim=&tdm_prim=&svc_gubun=0&prd_ds=&dss=&dv_prim=',
|
|
// 'User-Agent':
|
|
// 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36',
|
|
// 'X-BizMax-Ajax': '1',
|
|
// 'x-pvsn': 'V1',
|
|
// 'X-Requested-With': 'XMLHttpRequest',
|
|
// 'X-Site-Gubun': 'pc',
|
|
|
|
'accept': '*/*',
|
|
'accept-language':
|
|
'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,la;q=0.6,zh-CN;q=0.5,zh;q=0.4',
|
|
'cache-control': 'no-cache',
|
|
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
|
'pragma': 'no-cache',
|
|
'sec-ch-ua':
|
|
'"Google Chrome";v="105", "Not)A;Brand";v="8", "Chromium";v="105"',
|
|
'sec-ch-ua-mobile': '?0',
|
|
'sec-ch-ua-platform': '"Windows"',
|
|
'sec-fetch-dest': 'empty',
|
|
'sec-fetch-mode': 'cors',
|
|
'sec-fetch-site': 'same-origin',
|
|
'x-bizmax-ajax': '1',
|
|
'x-pvsn': 'V1',
|
|
'x-requested-with': 'XMLHttpRequest',
|
|
'x-site-gubun': 'pc',
|
|
'cookie': cookie[0],
|
|
|
|
'Referer':
|
|
'https://hyun.bizmax.net/customer/tpl/customer_list.php?list_type=&team_prim=&tdm_prim=&svc_gubun=0&prd_ds=&dss=&dv_prim=',
|
|
'Referrer-Policy': 'strict-origin-when-cross-origin',
|
|
},
|
|
}
|
|
)
|
|
.then(async response => {
|
|
try {
|
|
let lists = parseLists(response)
|
|
// console.log(lists)
|
|
console.log(lists.length)
|
|
// return false
|
|
|
|
return lists
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
})
|
|
|
|
function parseLists(response) {
|
|
let $ = cheerio.load(response.data)
|
|
let lists = $('.sort_tr')
|
|
// console.log(lists)
|
|
lists = _.map(lists, list => {
|
|
let item = {
|
|
name: _.get(list, 'children[0].children[0].attribs.name'),
|
|
uuid: _.get(list, 'children[0].children[1].attribs.value'),
|
|
receipt_dt: _.get(list, 'children[1].children[0].data'),
|
|
group: _.get(list, 'children[2].children[0].data'),
|
|
store: _.get(list, 'children[3].children[0].data'),
|
|
r_name: _.get(list, 'children[4].children[0].data'),
|
|
product: _.get(list, 'children[5].children[0].data'),
|
|
progStatus: _.get(list, 'children[6].children[0].data'),
|
|
openStatus: _.get(list, 'children[7].children[0].data'),
|
|
deliveryInfo: parseDelivery(
|
|
_.get(list, 'children[8].children[0].attribs.onclick')
|
|
),
|
|
deliveryStatus: _.get(list, 'children[11].children[0].data'),
|
|
}
|
|
return item
|
|
})
|
|
return lists
|
|
}
|
|
}
|
|
|
|
async function checkLogis(lists) {
|
|
try {
|
|
let i = 0
|
|
await Aigle.eachSeries(lists, async order => {
|
|
try {
|
|
// console.log('order in', order)
|
|
order.deliveryInfo[1] = order.deliveryInfo[1].replace(/-/g, '')
|
|
|
|
// if (i % 30 === 0 || hanjinCookie.length == 0) {
|
|
// await createCookie()
|
|
// }
|
|
// sleep(1000)
|
|
i += 1
|
|
try {
|
|
console.log(`${i} :`, order.deliveryInfo)
|
|
if (_.get(order, 'deliveryInfo')[0] == 'CJ택배') {
|
|
let check = await checkCJ(order)
|
|
if (check) {
|
|
order.deliveryEndDate = moment(new Date(check.endDate)).format(
|
|
'YYYY-MM-DD'
|
|
)
|
|
order.deliveryEnd = true
|
|
}
|
|
}
|
|
if (_.get(order, 'deliveryInfo')[0] == '우체국택배') {
|
|
let check = await checkPostOffice(order)
|
|
if (check) {
|
|
order.deliveryEndDate = moment(new Date(check.endDate)).format(
|
|
'YYYY-MM-DD'
|
|
)
|
|
order.deliveryEnd = true
|
|
}
|
|
// sleep(1500)
|
|
}
|
|
if (_.get(order, 'deliveryInfo')[0] == '한진택배') {
|
|
// let check = await checkHanjin(order)
|
|
let check = await checkNewHanjin(order)
|
|
if (check) {
|
|
order.deliveryEndDate = moment(new Date(check.endDate)).format(
|
|
'YYYY-MM-DD'
|
|
)
|
|
order.deliveryEnd = true
|
|
}
|
|
}
|
|
} catch (error) {
|
|
console.log('errorObject', order)
|
|
console.log(error)
|
|
}
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
})
|
|
return lists
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
}
|
|
|
|
function parseDelivery(deliveryStr) {
|
|
if (deliveryStr) {
|
|
// return deliveryStr
|
|
// .replace('logisTrace("', '')
|
|
// .replace('")', '')
|
|
// .split('", "')
|
|
|
|
return deliveryStr.split('");')[0].replace('logisTrace("', '').split('", "')
|
|
} else {
|
|
return undefined
|
|
}
|
|
}
|
|
|
|
async function checkCJ(order) {
|
|
let url = `https://www.doortodoor.co.kr/parcel/doortodoor.do?fsp_action=PARC_ACT_002&fsp_cmd=retrieveInvNoACT&invc_no=${order.deliveryInfo[1]}`
|
|
|
|
try {
|
|
let body = await axios.get(url)
|
|
let $ = cheerio.load(body.data)
|
|
let status = _.trim(
|
|
$('.cont:eq(1)')
|
|
.children('.board_area')
|
|
.find('table > tbody > tr:last-child > td:first-child')
|
|
.text()
|
|
)
|
|
let endDate = ''
|
|
if (status == '배달완료') {
|
|
endDate = _.trim(
|
|
$('.cont:eq(1)')
|
|
.children('.board_area')
|
|
.find('table > tbody > tr:last-child > td:nth-child(2)')
|
|
.text()
|
|
)
|
|
return {
|
|
endDate: endDate,
|
|
}
|
|
}
|
|
return false
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
}
|
|
|
|
async function checkNewHanjin(order) {
|
|
try {
|
|
let url = `https://www.hanjinexpress.hanjin.net/customer/hddcw18.tracking?w_num=${order.deliveryInfo[1]}`
|
|
|
|
let body = await axios.get(url, {
|
|
responseType: 'arraybuffer',
|
|
responseEncoding: 'binary',
|
|
})
|
|
body.data = iconv.decode(body.data, 'EUC-KR')
|
|
|
|
let $ = cheerio.load(body.data)
|
|
let status = _.trim(
|
|
$('.board-list-table')
|
|
.eq(1)
|
|
.find('tbody > tr:last-child > td:last-child')
|
|
.text()
|
|
)
|
|
|
|
let endDate = ''
|
|
if (status.indexOf('배송완료 되었습니다') !== -1) {
|
|
endDate = _.trim(
|
|
$('.board-list-table')
|
|
.eq(1)
|
|
.find('tbody > tr:last-child > td:first-child')
|
|
.text()
|
|
)
|
|
|
|
return {
|
|
endDate: endDate,
|
|
}
|
|
}
|
|
|
|
return false
|
|
} catch (error) {
|
|
console.log(error)
|
|
if (error.response.status === 403) {
|
|
process.exit(0)
|
|
}
|
|
}
|
|
}
|
|
|
|
async function checkHanjin(order) {
|
|
try {
|
|
let url = `https://www.hanjin.co.kr/kor/CMS/DeliveryMgr/WaybillResult.do`
|
|
|
|
let formData = {
|
|
'mCode': 'MN038',
|
|
'wblnum': order.deliveryInfo[1],
|
|
// 'wblnum': 420095497301,
|
|
'schLang': 'KR',
|
|
'wblnumText': '',
|
|
}
|
|
|
|
let body = await axios
|
|
.post(url, qs.stringify(formData), {
|
|
headers: {
|
|
'accept':
|
|
'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
|
|
'accept-encoding': 'gzip, deflate, br',
|
|
'accept-language':
|
|
'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,la;q=0.6,zh-CN;q=0.5,zh;q=0.4',
|
|
'cache-control': 'no-cache',
|
|
'content-type': 'application/x-www-form-urlencoded',
|
|
'cookie': hanjinCookie[0],
|
|
'origin': 'https://www.hanjin.co.kr',
|
|
'pragma': 'no-cache',
|
|
'referer':
|
|
'https://www.hanjin.co.kr/kor/CMS/DeliveryMgr/WaybillSch.do?mCode=MN038',
|
|
'sec-fetch-dest': 'document',
|
|
'sec-fetch-mode': 'navigate',
|
|
'sec-fetch-site': 'same-origin',
|
|
'sec-fetch-user': '?1',
|
|
'upgrade-insecure-requests': 1,
|
|
'user-agent':
|
|
'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36',
|
|
},
|
|
})
|
|
.then(response => {
|
|
return response
|
|
})
|
|
|
|
let $ = cheerio.load(body.data)
|
|
let status = _.trim(
|
|
$('.board-list-table')
|
|
.eq(1)
|
|
.find('tbody > tr:last-child > td:last-child')
|
|
.text()
|
|
)
|
|
|
|
let endDate = ''
|
|
if (status.indexOf('배송완료 되었습니다') !== -1) {
|
|
endDate = _.trim(
|
|
$('.board-list-table')
|
|
.eq(1)
|
|
.find('tbody > tr:last-child > td:first-child')
|
|
.text()
|
|
)
|
|
|
|
return {
|
|
endDate: endDate,
|
|
}
|
|
}
|
|
|
|
return false
|
|
} catch (error) {
|
|
console.log(error)
|
|
return false
|
|
}
|
|
}
|
|
async function checkPostOffice(order) {
|
|
let url = `https://service.epost.go.kr/trace.RetrieveDomRigiTraceList.comm?sid1=${order.deliveryInfo[1]}&displayHeader=N`
|
|
|
|
try {
|
|
let body = await axios.get(url)
|
|
let $ = cheerio.load(body.data)
|
|
let status = _.trim(
|
|
$('#processTable').find('tbody > tr:last-child > td:last-child').text()
|
|
)
|
|
let endDate = ''
|
|
if (status.indexOf('배달완료') !== -1) {
|
|
endDate = _.trim(
|
|
$('#processTable').find('tbody > tr:last-child > td:first-child').text()
|
|
)
|
|
endDate = _.replace(endDate, new RegExp('\\.', 'g'), '-')
|
|
return {
|
|
endDate: endDate,
|
|
}
|
|
}
|
|
return false
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
}
|
|
async function hanJinTest() {
|
|
try {
|
|
await createCookie()
|
|
let orderLists = [{ deliveryInfo: ['한진택배', '421714876844'] }]
|
|
await startCheckLogis(orderLists, false)
|
|
} catch (error) {}
|
|
}
|
|
|
|
;(async () => {
|
|
try {
|
|
//한진 테스트용
|
|
// await hanJinTest()
|
|
// return false
|
|
console.log('run end')
|
|
console.log(await setCookie())
|
|
let orderLists = []
|
|
let hanjinLists = []
|
|
|
|
await Aigle.eachSeries([1, 2, 3, 4, 5], async page => {
|
|
let result = await getLists(page)
|
|
orderLists = [...orderLists, ...result]
|
|
|
|
if (process.argv[3] == 'check') {
|
|
if (result.length < 500) {
|
|
console.log('총갯수:', orderLists.length)
|
|
console.log('리스트 끝')
|
|
process.exit(0)
|
|
}
|
|
}
|
|
})
|
|
|
|
console.log('orderLists count', orderLists.length)
|
|
// console.log(orderLists)
|
|
// return false
|
|
if (process.argv[3] == 'check') {
|
|
console.log('check')
|
|
return false
|
|
}
|
|
|
|
orderLists = _.filter(orderLists, order => {
|
|
return order.deliveryInfo !== undefined
|
|
})
|
|
|
|
hanjinLists = _.remove(orderLists, order => {
|
|
// console.log(order)
|
|
return _.get(order, 'deliveryInfo')[0] == '한진택배'
|
|
})
|
|
if (orderLists.length > 0) {
|
|
await startCheckLogis(orderLists, false)
|
|
}
|
|
if (hanjinLists.length > 0) {
|
|
await createCookie()
|
|
await startCheckLogis(hanjinLists, true)
|
|
}
|
|
|
|
console.log('ttt')
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
})()
|
|
|
|
async function startCheckLogis(procLists, loopDelay = undefined) {
|
|
procLists = _.reverse(procLists)
|
|
|
|
let chunkLists = _.chunk(procLists, 100)
|
|
|
|
// console.log(chunkLists[0])
|
|
// return false
|
|
|
|
console.log('배송대기 주문 갯수', procLists.length)
|
|
console.log(chunkLists[0].length)
|
|
await Aigle.eachSeries(chunkLists, async lists => {
|
|
let checkLists = await checkLogis(lists)
|
|
|
|
// orderLists = _.take(orderLists, 5)
|
|
let finishedLists = _.filter(checkLists, o => {
|
|
return o.deliveryEnd == true
|
|
})
|
|
// console.log(finishedLists)
|
|
// return false
|
|
let unfinishedLists = _.filter(checkLists, o => {
|
|
return o.deliveryEnd !== true
|
|
})
|
|
|
|
if (finishedLists.length > 0) {
|
|
await beforeChangePopUp(finishedLists)
|
|
}
|
|
sleep(3000)
|
|
if (loopDelay) {
|
|
console.log('5분 대기중 ...')
|
|
sleep(300000)
|
|
}
|
|
})
|
|
}
|
|
|
|
async function beforeChangePopUp(lists) {
|
|
let prims = {}
|
|
_.map(lists, (o, idx) => {
|
|
idx += 1
|
|
prims['prim_' + idx] = o.uuid
|
|
})
|
|
|
|
let defaultHeader = {
|
|
'list_cnt': 20,
|
|
'page': 1,
|
|
'bde_cnt': 0,
|
|
'bde_col_pos': 0,
|
|
'svc_gubun': 0,
|
|
'force_todo_cnt': 0,
|
|
'_ihr': 'n',
|
|
'_ihl': 'n',
|
|
'_content_only': 'y',
|
|
'site_gubun': 'pc',
|
|
}
|
|
|
|
let reqObj = _.merge(defaultHeader, prims)
|
|
|
|
let popup = await axios
|
|
.post(
|
|
'https://hyun.bizmax.net/customer/tpl/customer_list_logis_work.php',
|
|
qs.stringify(reqObj),
|
|
{
|
|
headers: {
|
|
'Cookie': cookie[0],
|
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
'Host': 'hyun.bizmax.net',
|
|
'Origin': 'https://hyun.bizmax.net',
|
|
'Accept-Encoding': 'gzip, deflate',
|
|
'Accept-Language':
|
|
'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,la;q=0.6,zh-CN;q=0.5,zh;q=0.4',
|
|
'Cache-Control': 'no-cache',
|
|
'Connection': 'keep-alive',
|
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
|
'Host': 'hyun.bizmax.net',
|
|
'Origin': 'https://hyun.bizmax.net',
|
|
'Pragma': 'no-cache',
|
|
'Referer': 'https://hyun.bizmax.net/?from=&dmy=1614347086',
|
|
'User-Agent':
|
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36',
|
|
'X-BizMax-Ajax': 1,
|
|
'X-Requested-With': 'XMLHttpRequest',
|
|
'X-Site-Gubun': 'pc',
|
|
},
|
|
}
|
|
)
|
|
.then(async response => {
|
|
try {
|
|
console.log(response)
|
|
let request = await processChange(response, lists)
|
|
} catch (error) {
|
|
console.log(error)
|
|
}
|
|
})
|
|
}
|
|
|
|
async function processChange(response, lists) {
|
|
let prims = {}
|
|
_.map(lists, (o, idx) => {
|
|
idx += 1
|
|
prims['prim_' + idx] = o.name
|
|
prims['logis_invoice_' + idx] = o.deliveryInfo[1]
|
|
})
|
|
let parseObj = parsePop(response.data)
|
|
let defaultHeader = {
|
|
'a_logis_invoice': 'on',
|
|
'a_logis_2_invoice': 'on',
|
|
'a_logis_return_invoice': 'on',
|
|
'a_open_seq': 'on',
|
|
'a_open_number': 'on',
|
|
'a_usim_seq': 'on',
|
|
}
|
|
|
|
let reqObj = _.merge(defaultHeader, parseObj, prims)
|
|
|
|
if (WRITE_END_DATE) {
|
|
// reqObj.logis_end_date = moment(new Date()).format('YYYY-MM-DD')
|
|
reqObj.logis_end_date = END_DATE
|
|
}
|
|
|
|
let result = await axios.post(
|
|
// 'http://hyun.bizmax.net/customer/mng_customer/customer_list_logis_work_pcs_if.php',
|
|
// 'http://hyun.bizmax.net/customer/mng_customer/customer_list_logis_work_pcs_if.php',
|
|
'https://hyun.bizmax.net/customer/mng_customer/ctm_list_logis_work_pcs_jr.php',
|
|
qs.stringify(reqObj),
|
|
{
|
|
headers: {
|
|
'Cookie': cookie[0],
|
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
'Host': 'hyun.bizmax.net',
|
|
'Origin': 'https://hyun.bizmax.net',
|
|
'Accept-Encoding': 'gzip, deflate',
|
|
'Accept-Language':
|
|
'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,la;q=0.6,zh-CN;q=0.5,zh;q=0.4',
|
|
'Cache-Control': 'no-cache',
|
|
'Connection': 'keep-alive',
|
|
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
|
'Host': 'hyun.bizmax.net',
|
|
'Origin': 'https://hyun.bizmax.net',
|
|
'Pragma': 'no-cache',
|
|
'Referer': 'https://hyun.bizmax.net/?from=&dmy=1614347086',
|
|
'User-Agent':
|
|
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36',
|
|
'X-BizMax-Ajax': 1,
|
|
'X-Requested-With': 'XMLHttpRequest',
|
|
'X-Site-Gubun': 'pc',
|
|
},
|
|
}
|
|
)
|
|
console.log(result)
|
|
}
|
|
function parsePop(html) {
|
|
let $ = cheerio.load(html)
|
|
|
|
let result = {}
|
|
result.csl = $('input[name=csl]').val()
|
|
result.list_cnt = parseInt($('input[name=list_cnt]').val())
|
|
result.process_time = parseInt($('input[name=process_time]').val())
|
|
result.state = 6
|
|
|
|
return result
|
|
}
|
|
|
|
// changeTest()
|
|
// getLists()
|
|
|