123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316 |
- import { message } from 'antd';
- import { routerRedux } from 'dva/router';
- import {
- deviceUnbound,
- queryTerminalList,
- createTerminalItem,
- updateTerminalItem,
- deleteTerminalItem,
- querySpecialTerminalList,
- querySpecialTerminalItem,
- createSpecialTerminalItem,
- updateSpecialTerminalItem,
- deleteSpecialTerminalItem,
- queryTerminalAuthList,
- queryTerminalTagList,
- queryTerminalTagItem,
- createTerminalTagItem,
- updateTerminalTagItem,
- deleteTerminalTagItem,
- queryTerminalRecommendCourse,
- updateTerminalRecommendCourse,
- copyMerchantTag,
- } from '../services/terminal';
- export default {
- namespace: 'terminal',
- state: {
- list: [],
- pageNo: 1,
- pageSize: 15,
- totalSize: 0,
- currentItem: {},
- userTagList: [],
- userRecCourse: [],
- currentUserTagItem: {},
- },
- effects: {
- *fetchTerminalList({ payload }, { call, put }) {
- const response = yield call(queryTerminalList, payload);
- if (response.success) {
- yield put({
- type: 'querySuccess',
- payload: {
- list: response.data.list || [],
- pageSize: response.data.pageSize,
- totalSize: response.data.totalSize,
- pageNo: response.data.pageNo,
- },
- });
- }
- },
- *createTerminalItem({ payload, state }, { call, put }) {
- const response = yield call(createTerminalItem, payload);
- if (response.success) {
- message.success('创建终端成功');
- yield put(routerRedux.push({
- state,
- pathname: '/terminal/user/list',
- }));
- }
- },
- *deleteTerminalItem({ payload, states }, { call, put }) {
- const response = yield call(deleteTerminalItem, payload);
- if (response.success) {
- message.success('禁用终端成功');
- yield put({
- type: 'fetchTerminalList',
- payload: states.Queryers,
- });
- }
- },
- *recoverTerminalItem({ payload, states }, { call, put }) {
- const response = yield call(updateTerminalItem, payload);
- if (response.success) {
- message.success('解禁终端成功');
- yield put({
- type: 'fetchTerminalList',
- payload: states.Queryers,
- });
- }
- },
- *updateTerminalItem({ payload, states }, { call, put }) {
- const response = yield call(updateTerminalItem, payload);
- if (response.success) {
- message.success('修改终端成功');
- yield put(routerRedux.push({
- pathname: '/terminal/user/list',
- state: states,
- }));
- }
- },
- *fetchSpecialTerminalList({ payload }, { call, put }) {
- const response = yield call(querySpecialTerminalList, payload);
- if (response.success) {
- yield put({
- type: 'querySuccess',
- payload: {
- list: response.data.list || [],
- pageSize: response.data.pageSize,
- totalSize: response.data.totalSize,
- pageNo: response.data.pageNo,
- },
- });
- }
- },
- *fetchSpecialTerminalItem({ payload }, { call, put }) {
- const response = yield call(querySpecialTerminalItem, payload);
- if (response.success) {
- yield put({
- type: 'querySuccess',
- payload: {
- currentItem: response.data,
- },
- });
- }
- },
- *createSpecialTerminalItem({ payload, states }, { call, put }) {
- const response = yield call(createSpecialTerminalItem, payload);
- if (response.success) {
- message.success('创建白名单用户成功');
- yield put(routerRedux.push({
- state: states,
- pathname: '/terminal/whitelist/list',
- }));
- }
- },
- *deleteSpecialTerminalItem({ payload, states }, { call, put }) {
- const response = yield call(deleteSpecialTerminalItem, payload);
- if (response.success) {
- message.success('删除白名单用户成功');
- yield put({
- type: 'fetchSpecialTerminalList',
- payload: states.Queryers,
- });
- }
- },
- *updateSpecialTerminalItem({ payload, states }, { call, put }) {
- const response = yield call(updateSpecialTerminalItem, payload);
- if (response.success) {
- message.success('修改白名单用户成功');
- yield put(routerRedux.push({
- pathname: '/terminal/whitelist/list',
- state: states,
- }));
- }
- },
- *deviceUnbound({ payload, states }, { call, put }) {
- const response = yield call(deviceUnbound, payload);
- if (response.success) {
- message.success('账号已成功解绑');
- yield put({
- type: 'fetchTerminalList',
- payload: states.Queryers,
- });
- }
- },
- *fetchTerminalAuthList({ payload }, { call, put }) {
- const response = yield call(queryTerminalAuthList, payload);
- if (response.success) {
- yield put({
- type: 'querySuccess',
- payload: {
- list: response.data.list || [],
- pageSize: response.data.pageSize,
- totalSize: response.data.totalSize,
- pageNo: response.data.pageNo,
- },
- });
- }
- },
- *fetchTerminalTagList({ payload }, { call, put }) {
- const response = yield call(queryTerminalTagList, payload);
- if (response.success) {
- yield put({
- type: 'querySuccess',
- payload: {
- userTagList: response.data || [],
- },
- });
- }
- },
- *fetchTerminalTagItem({ payload }, { call, put }) {
- const response = yield call(queryTerminalTagItem, payload);
- if (response.success) {
- yield put({
- type: 'querySuccess',
- payload: {
- currentUserTagItem: response.data || {},
- },
- });
- }
- },
- *createTerminalTagItem({ payload }, { call, put }) {
- const response = yield call(createTerminalTagItem, payload);
- if (response.success) {
- message.success('终端用户标签创建成功');
- const { uid } = payload;
- yield put({
- type: 'fetchTerminalTagList',
- payload: { uid },
- });
- }
- },
- *updateTerminalTagItem({ payload }, { call, put }) {
- const response = yield call(updateTerminalTagItem, payload);
- if (response.success) {
- message.success('终端用户标签修改成功');
- const { uid } = payload;
- yield put({
- type: 'fetchTerminalTagList',
- payload: { uid },
- });
- }
- },
- *deleteTerminalTagItem({ payload }, { call, put }) {
- const response = yield call(deleteTerminalTagItem, payload);
- if (response.success) {
- message.success('终端用户标签删除成功');
- const { uid } = payload;
- yield put({
- type: 'fetchTerminalTagList',
- payload: { uid },
- });
- }
- },
- *copyMerchantTagToUser({ payload }, { call, put }) {
- const { uid, ...rest } = payload;
- const response = yield call(copyMerchantTag, rest);
- if (response.success) {
- message.success('复制渠道标签成功');
- yield put({
- type: 'fetchTerminalTagList',
- payload: { uid },
- });
- }
- },
- *fetchTerminalRecommendCourse({ payload }, { call, put }) {
- const response = yield call(queryTerminalRecommendCourse, payload);
- if (response.success) {
- yield put({
- type: 'querySuccess',
- payload: {
- userRecCourse: response.data || [],
- },
- });
- }
- },
- *updateTerminalRecommendCourse({ payload }, { call, put }) {
- const response = yield call(updateTerminalRecommendCourse, payload);
- if (response.success) {
- message.success('修改用户推荐课程成功');
- const { uid } = payload;
- yield put({
- type: 'fetchTerminalRecommendCourse',
- payload: { uid },
- });
- }
- },
- },
- reducers: {
- querySuccess(state, action) {
- return {
- ...state,
- ...action.payload,
- };
- },
- fixCurrentItem(state, action) {
- const { currentItem } = state;
- return {
- ...state,
- currentItem: {
- ...currentItem,
- ...action.payload,
- },
- };
- },
- fixCurrentUserTagItem(state, action) {
- const { currentUserTagItem } = state;
- return {
- ...state,
- currentUserTagItem: {
- ...currentUserTagItem,
- ...action.payload,
- },
- };
- },
- fixUserRecCourse(state, action) {
- return {
- ...state,
- userRecCourse: action.payload,
- };
- },
- cleanState(state) {
- return {
- ...state,
- list: [],
- pageNo: 1,
- pageSize: 15,
- totalSize: 0,
- userTagList: [],
- userRecCourse: [],
- currentItem: {},
- currentUserTagItem: {},
- };
- },
- resetUserTagItem(state) {
- return {
- ...state,
- currentUserTagItem: {},
- };
- },
- },
- };
|