lodash fp

by Mike Lin

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash-fp/0.10.4/lodash-fp.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
test

JavaScript

const orderDto = {
  orderStatus: '10'
}
const paoTuiPsList = [83, 84, 87, 96] // 同城直送/钉钉跑腿/微信跑腿/支付宝
const thirdPartyPsList = [92, 93] // 苏宁小店/天猫美妆
const data = _.cond([
      [() => paoTuiPsList.indexOf(orderDto.platformShopid) !== -1, () => [
        { code: 76, reason: '联系不到寄件人' },
        { code: 86, reason: '自身原因无法配送(车坏了,车没电了等)' },
        { code: 85, reason: '其他' },
      ]], [() => thirdPartyPsList.indexOf(orderDto.platformShopid) !== -1, () => [ // 天猫美妆的渠道
        { code: 86, reason: '自身原因无法配送(车坏了,车没电了等)' },
        { code: 85, reason: '其他' },
      ]], [() => +orderDto.orderStatus === 10, () => [
        { code: 86, reason: '自身原因无法配送(车坏了,车没电了等)' },
        { code: 87, reason: '因商家原因取消(不给单,订单已送走等)' },
        { code: 84, reason: '等餐还要很久' },
        { code: 85, reason: '其他' },
      ]], [() => true, () => [
        { code: 86, reason: '自身原因无法配送(车坏了,车没电了等)' },
        { code: 87, reason: '因商家原因取消(不给单,订单已送走等)' },
        { code: 85, reason: '其他' },
      ]]
    ])

console.log('-----', data())