ソースを参照

feat(KIP-9806): Temp parking | 提交开票申请、开票抬头、开票邮箱 增加unionid 入参字段

john 2 年 前
コミット
fed560b4f3
2 ファイル変更113 行追加84 行削除
  1. 6 0
      src/api/parking/index.js
  2. 107 84
      src/store/index.js

+ 6 - 0
src/api/parking/index.js

@@ -169,3 +169,9 @@ export function paperCoupon(couponCode, vehicleNo) {
 }
 
 
+// 跟新用户历史订单数据
+// curl --location --request PUT 'https://qa-kip-service-internal.kerryplus.com/temporary-parking-service/update-union-id?openId=ozdsB49w5Rz5IWzy-si52UVXr4M0&unionId=union-id-2&vipCode=null'
+
+export function updateUnionId({openId, unionId, vipCode = null}) {
+  return window.requestms.put(`update-union-id?openId=${openId}&unionId=${unionId}&vipCode=${vipCode}`, {}, { loading: false });
+}

+ 107 - 84
src/store/index.js

@@ -1,21 +1,22 @@
 import Vue from 'vue';
 import Vuex from 'vuex';
-import { Encrypt,Decrypt } from '@/utils/crypto';
+import { Encrypt, Decrypt } from '@/utils/crypto';
 import { crmQueryMemberInfo } from '@/utils/api-crm-member';
 import uni from '@/utils/uniHooks';
-import { kipAllCities,kipGetUserDetail,getVIPIntegral } from '@/utils/api-kip';
+import { kipAllCities, kipGetUserDetail, getVIPIntegral } from '@/utils/api-kip';
 import cachedViews from './cachedViews';
 import order from './order/index';
 import invoice from './invoice';
 import { lbsDictionary } from '@/common/js/BaseDictionary';
+import { updateUnionId } from '@/api/parking/index'
 import { getGroupIdAndMallIdByLsbId } from '@/utils';
 // import { parkingLots } from '@/utils/api-crm-ms';
 
 Vue.use(Vuex);
 
-function getValue( state,key ) {
+function getValue(state, key) {
   let value = state[key];
-  if ( !value ) {
+  if (!value) {
     value = uni.getStorageSync(key);
   }
   // console.log(1414141414141414, { key, value });
@@ -60,122 +61,122 @@ const store = new Vuex.Store({
     sourceId: '' // 微信:unionId; 支付宝:userId
   },
   mutations: {
-    SET_GROUP_ID( state,payload ) {
-      uni.setStorageSync('groupId',payload);
+    SET_GROUP_ID(state, payload) {
+      uni.setStorageSync('groupId', payload);
       state.groupId = payload;
     },
-    SET_KIP_USER_ID( state,payload ) {
-      uni.setStorageSync('kipUserId',payload);
+    SET_KIP_USER_ID(state, payload) {
+      uni.setStorageSync('kipUserId', payload);
       state.kipUserId = payload;
     },
-    SET_MALL_ID( state,payload ) {
-      uni.setStorageSync('mallId',payload);
+    SET_MALL_ID(state, payload) {
+      uni.setStorageSync('mallId', payload);
       state.mallId = payload;
     },
-    SET_OPENID( state,payload ) {
-      uni.setStorageSync('openid',payload);
+    SET_OPENID(state, payload) {
+      uni.setStorageSync('openid', payload);
       state.openid = payload;
     },
-    SET_WX_ACCESS_TOKEN( state,payload ) {
-      uni.setStorageSync('wxAccessToken',payload);
+    SET_WX_ACCESS_TOKEN(state, payload) {
+      uni.setStorageSync('wxAccessToken', payload);
       state.access_token = payload;
     },
-    SET_WX_REFRESH_TOKEN( state,payload ) {
-      uni.setStorageSync('wxRefreshToken',payload);
+    SET_WX_REFRESH_TOKEN(state, payload) {
+      uni.setStorageSync('wxRefreshToken', payload);
       state.refresh_token = payload;
     },
-    SET_MEMBER( state,payload ) {
-      uni.setStorageSync('member',payload);
+    SET_MEMBER(state, payload) {
+      uni.setStorageSync('member', payload);
       state.member = payload;
     },
-    SET_USER_INFO( state,payload ) {
-      uni.setStorageSync('userInfo',payload);
+    SET_USER_INFO(state, payload) {
+      uni.setStorageSync('userInfo', payload);
       state.userInfo = payload;
     },
-    SET_MOBILE( state,payload ) {
-      uni.setStorageSync('mobile',payload);
+    SET_MOBILE(state, payload) {
+      uni.setStorageSync('mobile', payload);
       state.mobile = payload;
     },
-    SET_PARAMS_SCENE( state,payload ) {
-      uni.setStorageSync('paramsScene',payload);
+    SET_PARAMS_SCENE(state, payload) {
+      uni.setStorageSync('paramsScene', payload);
       state.paramsScene = payload;
     },
-    SET_PARK_FEE( state,payload ) {
+    SET_PARK_FEE(state, payload) {
       state.parkFee = payload;
     },
-    SET_MARKET_LIST( state,payload ) {
+    SET_MARKET_LIST(state, payload) {
       state.marketList = payload;
     },
-    SET_PROJECT_ID( state,payload ) {
-      uni.setStorageSync('projectId',payload);
+    SET_PROJECT_ID(state, payload) {
+      uni.setStorageSync('projectId', payload);
       state.projectId = payload;
     },
-    SET_IS_LOGIN( state,payload ) {
+    SET_IS_LOGIN(state, payload) {
       state.isLogin = payload;
       // uni.setStorageSync('passLogin', payload);
     },
-    SET_ACCESS_TOKEN( state,payload ) {
+    SET_ACCESS_TOKEN(state, payload) {
       state.accessToken = payload;
       // uni.setStorageSync('accessToken', payload);
-      uni.setStorageSync('kipAccessToken',payload);
+      uni.setStorageSync('kipAccessToken', payload);
     },
-    setTempParkingOrder( state,payload ) {
+    setTempParkingOrder(state, payload) {
       state.tempParkingOrder = payload;
     },
-    setTempParkingMoney( state,payload ) {
+    setTempParkingMoney(state, payload) {
       state.tempParkingMoney = payload;
     },
     // setbonusCopy
-    SET_BONUS_COPY( state,payload ) {
+    SET_BONUS_COPY(state, payload) {
       state.bonusCopy = payload;
     },
-    SET_CUST_TYPE_ID( state,payload ) {
-      uni.setStorageSync('custTypeId',payload);
+    SET_CUST_TYPE_ID(state, payload) {
+      uni.setStorageSync('custTypeId', payload);
       state.custTypeId = payload;
     },
-    SET_SOURCE( state,payload ) {
-      uni.setStorageSync('source',payload);
+    SET_SOURCE(state, payload) {
+      uni.setStorageSync('source', payload);
       state.source = payload;
     },
-    SET_APPID( state,payload ) {
-      uni.setStorageSync('appId',payload);
+    SET_APPID(state, payload) {
+      uni.setStorageSync('appId', payload);
       state.appId = payload;
     },
-    SET_BRAND_INFO( state,payload ) {
-      uni.setStorageSync('brandInfo',payload);
+    SET_BRAND_INFO(state, payload) {
+      uni.setStorageSync('brandInfo', payload);
       state.brandInfo = payload;
     },
-    SET_CUR_MARKET( state,payload ) {
-      uni.setStorageSync('curMarket',payload);
+    SET_CUR_MARKET(state, payload) {
+      uni.setStorageSync('curMarket', payload);
       state.curMarket = payload;
     },
-    SET_IS_INIT( state,payload ) {
+    SET_IS_INIT(state, payload) {
       // TODO: 与小程序通信时打开
       state.isInit = payload;
     },
-    SET_LBS_ID( state,payload ) {
-      uni.setStorageSync('lbsId',payload);
-      uni.setStorageSync('mallId',payload);
+    SET_LBS_ID(state, payload) {
+      uni.setStorageSync('lbsId', payload);
+      uni.setStorageSync('mallId', payload);
       state.lbsId = payload;
     },
-    SET_BRAND_ID( state,payload ) {
+    SET_BRAND_ID(state, payload) {
       state.brandId = payload;
     },
     // 无牌车
-    SET_UNLICENSED_INFO( state,payload ) {
+    SET_UNLICENSED_INFO(state, payload) {
       console.log(163, payload);
       state.unlicensedInfo = payload;
     },
-    SET_ENDLESS_LOOP( state,payload ) {
+    SET_ENDLESS_LOOP(state, payload) {
       state.endlessLoop = payload;
     },
-    SET_SOURCE_ID( state,payload ) {
+    SET_SOURCE_ID(state, payload) {
       uni.setStorageSync('sourceId', payload);
       state.sourceId = payload;
     },
   },
   actions: {
-    async baseInit( {commit,dispatch},{options,callback} ) {
+    async baseInit({ commit, dispatch }, { options, callback }) {
       try {
         // console.log(
         //   'Encrypt',
@@ -184,7 +185,7 @@ const store = new Vuex.Store({
         //     '8aaa81947c6e1ca0017c7201e82d0001#8aaa80cc7d4fc7b3017d55c4d6120000#8aaa80b47c784020017c78b00d060022#ozdsB4yx3I7ez2Ba3DgEmeSR-CFY#13601829387'
         //   )
         // );
-        console.log(128,options);
+        console.log(128, options);
         // if (!pageId) return;
         let {
           groupId = '',
@@ -208,7 +209,7 @@ const store = new Vuex.Store({
           // curMarket = {}
           unionId = ''
         } = options;
-        console.log({lbsId});
+        console.log({ lbsId });
 
         /* {
          buildingId: mallId,
@@ -218,8 +219,8 @@ const store = new Vuex.Store({
          * */
         // const resp = await parkingLots();
         // console.log(171171, resp);
-        commit('SET_SOURCE',source);
-        commit('SET_APPID',appId);
+        commit('SET_SOURCE', source);
+        commit('SET_APPID', appId);
 
         // let { groupId, mallId } =
         if (!/CRM|PUDONG|JINGAN/.test(source)) {
@@ -227,28 +228,28 @@ const store = new Vuex.Store({
           groupId = groupIdAndMallId.groupId;
           mallId = groupIdAndMallId.mallId;
           // console.log('lbsId', groupIdAndMallId)
-          commit('SET_LBS_ID',mallId);
+          commit('SET_LBS_ID', mallId);
         } else {
-          commit('SET_LBS_ID',lbsId);
+          commit('SET_LBS_ID', lbsId);
         }
-        if(unionId) {
-          commit('SET_SOURCE_ID',unionId); 
+        if (unionId) {
+          commit('SET_SOURCE_ID', unionId);
         }
-        
-        commit('SET_CUST_TYPE_ID',custTypeId);
+
+        commit('SET_CUST_TYPE_ID', custTypeId);
         // 如果为 false,则表示当前用户是从小程序端未登录进入的
-        if ( !isLogin ) {
+        if (!isLogin) {
           // 如果用户未登录,清理原来的数据, 小程序入口不需要处理
         }
         const href = window.location.href;
-        commit('SET_GROUP_ID',groupId);
-        commit('SET_MALL_ID',mallId);
-        commit('SET_BRAND_ID',brandId);
+        commit('SET_GROUP_ID', groupId);
+        commit('SET_MALL_ID', mallId);
+        commit('SET_BRAND_ID', brandId);
         // console.log('用户扫码进入的', unlicensedInfo, unlicensedInfo?.type);
         // 如果是无牌车
-        if ( unlicensedInfo?.type ) {
+        if (unlicensedInfo?.type) {
           // console.log('用户扫码进入的', unlicensedInfo);
-          commit('SET_UNLICENSED_INFO',unlicensedInfo)
+          commit('SET_UNLICENSED_INFO', unlicensedInfo)
           // commit('SET_ENDLESS_LOOP', true)
         }
         /*if (/dev-|8080|qa-/.test(href)) {
@@ -260,44 +261,66 @@ const store = new Vuex.Store({
          mallId = '8a888aed7d0295e5017d029ff1f40000';
          commit('SET_MALL_ID', '8a888aed7d0295e5017d029ff1f40000');
          }*/
-        commit('SET_OPENID',openid || uni.getStorageSync('openid'));
-        if ( isLogin ) {
-          commit('SET_ACCESS_TOKEN',accessToken);
-          commit('SET_KIP_USER_ID',kipUserId);
-          commit('SET_MOBILE',mobile);
+        commit('SET_OPENID', openid || uni.getStorageSync('openid'));
+        if (isLogin) {
+          commit('SET_ACCESS_TOKEN', accessToken);
+          commit('SET_KIP_USER_ID', kipUserId);
+          commit('SET_MOBILE', mobile);
           dispatch('getUserDetail');
           const memberRes = await getVIPIntegral()
+          console.log(271, memberRes);
+          dispatch('updateUnionIdActive', {
+            unionId: unionId,
+            openId: openid || uni.getStorageSync('openid'),
+            vipCode: memberRes.vipcode
+          })
           // const memberRes = await crmQueryMemberInfo({
           //   groupId,
           //   kipUserId,
           //   mallId,
           // });
           // 请求 projectId
-          window.toWXSendMsg({
+          /* window.toWXSendMsg({
             type: 'getProjectId',
             options: {},
-          });
-          const marketListRes = await kipAllCities();
+          }); */
+          // const marketListRes = await kipAllCities();
           if ( memberRes) {
-            dispatch('getUserDetail');
+            // dispatch('getUserDetail');
             commit('SET_MEMBER',memberRes);
           }
           // console.log(929292, marketListRes);
+        } else {
+          dispatch('updateUnionIdActive', {
+            unionId: unionId,
+            openId: openid || uni.getStorageSync('openid')
+          })
         }
         callback && callback();
-      } catch ( e ) {
+      } catch (e) {
         console.log(e);
         callback && callback();
       }
     },
-    async getUserDetail( {commit} ) {
+    async getUserDetail({ commit }) {
       const res = await kipGetUserDetail();
-      commit('SET_USER_INFO',res.data);
+      console.log(296, res);
+      commit('SET_USER_INFO', res.data);
       // console.log('user_info', res);
     },
-    clearUnlicensed( {state,commit} ) {
-      commit('SET_UNLICENSED_INFO','');
-      commit('SET_ENDLESS_LOOP','');
+    // updateUnionId
+    async updateUnionIdActive({ commit }, { openId, unionId, vipCode = null }) {
+      try {
+        await updateUnionId({
+          openId, unionId, vipCode
+        })
+      } catch (err) {
+        console.log(318, err);
+      }
+    },
+    clearUnlicensed({ state, commit }) {
+      commit('SET_UNLICENSED_INFO', '');
+      commit('SET_ENDLESS_LOOP', '');
     }
   },
   modules: {