Skip to content

Commit 7958475

Browse files
YunaiVgitee-org
authored andcommitted
!249 合并最新商城代码
Merge pull request !249 from 芋道源码/dev
2 parents 2a58e3f + ce78336 commit 7958475

File tree

32 files changed

+2640
-176
lines changed

32 files changed

+2640
-176
lines changed

src/api/mall/product/spu.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ export interface Sku {
2020
stock?: number // 库存
2121
weight?: number // 商品重量,单位:kg 千克
2222
volume?: number // 商品体积,单位:m^3 平米
23-
subCommissionFirstPrice?: number | string // 一级分销的佣金
24-
subCommissionSecondPrice?: number | string // 二级分销的佣金
23+
firstBrokerageRecord?: number | string // 一级分销的佣金
24+
secondBrokerageRecord?: number | string // 二级分销的佣金
2525
salesCount?: number // 商品销量
2626
}
2727

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import request from '@/config/axios'
2+
3+
// 查询佣金记录列表
4+
export const getBrokerageRecordPage = async (params: any) => {
5+
return await request.get({ url: `/trade/brokerage-record/page`, params })
6+
}
7+
8+
// 查询佣金记录详情
9+
export const getBrokerageRecord = async (id: number) => {
10+
return await request.get({ url: `/trade/brokerage-record/get?id=` + id })
11+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import request from '@/config/axios'
2+
3+
export interface BrokerageUserVO {
4+
id: number
5+
bindUserId: number
6+
bindUserTime: Date
7+
brokerageEnabled: boolean
8+
brokerageTime: Date
9+
price: number
10+
frozenPrice: number
11+
12+
nickname: string
13+
avatar: string
14+
}
15+
16+
// 查询分销用户列表
17+
export const getBrokerageUserPage = async (params: any) => {
18+
return await request.get({ url: `/trade/brokerage-user/page`, params })
19+
}
20+
21+
// 查询分销用户详情
22+
export const getBrokerageUser = async (id: number) => {
23+
return await request.get({ url: `/trade/brokerage-user/get?id=` + id })
24+
}
25+
26+
// 修改推广员
27+
export const updateBindUser = async (data: any) => {
28+
return await request.put({ url: `/trade/brokerage-user/update-bind-user`, data })
29+
}
30+
31+
// 清除推广员
32+
export const clearBindUser = async (data: any) => {
33+
return await request.put({ url: `/trade/brokerage-user/clear-bind-user`, data })
34+
}
35+
36+
// 修改推广资格
37+
export const updateBrokerageEnabled = async (data: any) => {
38+
return await request.put({ url: `/trade/brokerage-user/update-brokerage-enable`, data })
39+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import request from '@/config/axios'
2+
3+
export interface BrokerageWithdrawVO {
4+
id: number
5+
userId: number
6+
price: number
7+
feePrice: number
8+
totalPrice: number
9+
type: number
10+
name: string
11+
accountNo: string
12+
bankName: string
13+
bankAddress: string
14+
accountQrCodeUrl: string
15+
status: number
16+
auditReason: string
17+
auditTime: Date
18+
remark: string
19+
}
20+
21+
// 查询佣金提现列表
22+
export const getBrokerageWithdrawPage = async (params: any) => {
23+
return await request.get({ url: `/trade/brokerage-withdraw/page`, params })
24+
}
25+
26+
// 查询佣金提现详情
27+
export const getBrokerageWithdraw = async (id: number) => {
28+
return await request.get({ url: `/trade/brokerage-withdraw/get?id=` + id })
29+
}
30+
31+
// 佣金提现 - 通过申请
32+
export const approveBrokerageWithdraw = async (id: number) => {
33+
return await request.put({ url: `/trade/brokerage-withdraw/approve?id=` + id })
34+
}
35+
36+
// 审核佣金提现 - 驳回申请
37+
export const rejectBrokerageWithdraw = async (data: BrokerageWithdrawVO) => {
38+
return await request.put({ url: `/trade/brokerage-withdraw/reject`, data })
39+
}

src/api/mall/trade/config/index.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import request from '@/config/axios'
2+
3+
export interface ConfigVO {
4+
brokerageEnabled: boolean
5+
brokerageEnabledCondition: number
6+
brokerageBindMode: number
7+
brokeragePostUrls: string
8+
brokerageFirstPercent: number
9+
brokerageSecondPercent: number
10+
brokerageWithdrawMinPrice: number
11+
brokerageBankNames: string
12+
brokerageFrozenDays: number
13+
brokerageWithdrawType: string
14+
}
15+
16+
// 查询交易中心配置详情
17+
export const getTradeConfig = async () => {
18+
return await request.get({ url: `/trade/config/get` })
19+
}
20+
21+
// 保存交易中心配置
22+
export const saveTradeConfig = async (data: ConfigVO) => {
23+
return await request.put({ url: `/trade/config/save`, data })
24+
}

src/api/mall/trade/order/index.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,13 @@ export interface OrderVO {
5151
avatar?: string
5252
}
5353
// 订单操作日志
54-
orderLog: orderLog[]
54+
logs?: OrderLogRespVO[]
5555
}
5656

57-
export interface orderLog {
57+
export interface OrderLogRespVO {
5858
content?: string
5959
createTime?: Date
60+
userType?: number
6061
}
6162

6263
export interface OrderItemRespVO {
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import request from '@/config/axios'
2+
3+
export interface ExperienceRecordVO {
4+
id: number
5+
userId: number
6+
bizId: string
7+
bizType: number
8+
title: string
9+
description: string
10+
experience: number
11+
totalExperience: number
12+
}
13+
14+
// 查询会员经验记录列表
15+
export const getExperienceRecordPage = async (params) => {
16+
return await request.get({ url: `/member/experience-record/page`, params })
17+
}
18+
19+
// 查询会员经验记录详情
20+
export const getExperienceRecord = async (id: number) => {
21+
return await request.get({ url: `/member/experience-record/get?id=` + id })
22+
}

src/utils/constants.ts

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,3 +272,89 @@ export const PromotionDiscountTypeEnum = {
272272
name: '折扣'
273273
}
274274
}
275+
276+
/**
277+
* 分销关系绑定模式枚举
278+
*/
279+
export const BrokerageBindModeEnum = {
280+
ANYTIME: {
281+
mode: 0,
282+
name: '没有推广人'
283+
},
284+
REGISTER: {
285+
mode: 1,
286+
name: '新用户'
287+
}
288+
}
289+
/**
290+
* 分佣模式枚举
291+
*/
292+
export const BrokerageEnabledConditionEnum = {
293+
ALL: {
294+
condition: 0,
295+
name: '人人分销'
296+
},
297+
ADMIN: {
298+
condition: 1,
299+
name: '指定分销'
300+
}
301+
}
302+
/**
303+
* 佣金记录业务类型枚举
304+
*/
305+
export const BrokerageRecordBizTypeEnum = {
306+
ORDER: {
307+
type: 1,
308+
name: '获得推广佣金'
309+
},
310+
WITHDRAW: {
311+
type: 2,
312+
name: '提现申请'
313+
}
314+
}
315+
/**
316+
* 佣金提现状态枚举
317+
*/
318+
export const BrokerageWithdrawStatusEnum = {
319+
AUDITING: {
320+
status: 0,
321+
name: '审核中'
322+
},
323+
AUDIT_SUCCESS: {
324+
status: 10,
325+
name: '审核通过'
326+
},
327+
AUDIT_FAIL: {
328+
status: 20,
329+
name: '审核不通过'
330+
},
331+
WITHDRAW_SUCCESS: {
332+
status: 11,
333+
name: '提现成功'
334+
},
335+
WITHDRAW_FAIL: {
336+
status: 21,
337+
name: '提现失败'
338+
}
339+
}
340+
/**
341+
* 佣金提现类型枚举
342+
*/
343+
export const BrokerageWithdrawTypeEnum = {
344+
WALLET: {
345+
type: 1,
346+
name: '钱包'
347+
},
348+
BANK: {
349+
type: 2,
350+
name: '银行卡'
351+
},
352+
WECHAT: {
353+
type: 3,
354+
name: '微信'
355+
},
356+
ALIPAY: {
357+
type: 4,
358+
name: '支付宝'
359+
}
360+
}

src/utils/dict.ts

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -60,26 +60,33 @@ export const getBoolDictOptions = (dictType: string) => {
6060
return dictOption
6161
}
6262

63-
export const getDictObj = (dictType: string, value: any) => {
63+
/**
64+
* 获取指定字典类型的指定值对应的字典对象
65+
* @param dictType 字典类型
66+
* @param value 字典值
67+
* @return DictDataType 字典对象
68+
*/
69+
export const getDictObj = (dictType: string, value: any): DictDataType | undefined => {
6470
const dictOptions: DictDataType[] = getDictOptions(dictType)
65-
dictOptions.forEach((dict: DictDataType) => {
66-
if (dict.value === value.toString()) {
71+
for (const dict of dictOptions) {
72+
if (dict.value === value + '') {
6773
return dict
6874
}
69-
})
75+
}
7076
}
7177

7278
/**
7379
* 获得字典数据的文本展示
7480
*
7581
* @param dictType 字典类型
7682
* @param value 字典数据的值
83+
* @return 字典名称
7784
*/
78-
export const getDictLabel = (dictType: string, value: any) => {
85+
export const getDictLabel = (dictType: string, value: any): string => {
7986
const dictOptions: DictDataType[] = getDictOptions(dictType)
8087
const dictLabel = ref('')
8188
dictOptions.forEach((dict: DictDataType) => {
82-
if (dict.value === value) {
89+
if (dict.value === value + '') {
8390
dictLabel.value = dict.label
8491
}
8592
})
@@ -131,7 +138,7 @@ export enum DICT_TYPE {
131138
BPM_OA_LEAVE_TYPE = 'bpm_oa_leave_type',
132139

133140
// ========== PAY 模块 ==========
134-
PAY_CHANNEL_CODE = 'pay_channel_code_type', // 支付渠道编码类型
141+
PAY_CHANNEL_CODE = 'pay_channel_code', // 支付渠道编码类型
135142
PAY_ORDER_STATUS = 'pay_order_status', // 商户支付订单状态
136143
PAY_REFUND_STATUS = 'pay_refund_status', // 退款订单状态
137144
PAY_NOTIFY_STATUS = 'pay_notify_status', // 商户支付回调状态
@@ -143,6 +150,7 @@ export enum DICT_TYPE {
143150

144151
// ========== MALL - 会员模块 ==========
145152
MEMBER_POINT_BIZ_TYPE = 'member_point_biz_type', // 积分的业务类型
153+
MEMBER_EXPERIENCE_BIZ_TYPE = 'member_experience_biz_type', // 会员经验业务类型
146154

147155
// ========== MALL - 商品模块 ==========
148156
PRODUCT_UNIT = 'product_unit', // 商品单位
@@ -157,6 +165,13 @@ export enum DICT_TYPE {
157165
TRADE_ORDER_STATUS = 'trade_order_status', // 订单 - 状态
158166
TRADE_ORDER_ITEM_AFTER_SALE_STATUS = 'trade_order_item_after_sale_status', // 订单项 - 售后状态
159167
TRADE_DELIVERY_TYPE = 'trade_delivery_type', // 配送方式
168+
BROKERAGE_ENABLED_CONDITION = 'brokerage_enabled_condition', // 分佣模式
169+
BROKERAGE_BIND_MODE = 'brokerage_bind_mode', // 分销关系绑定模式
170+
BROKERAGE_BANK_NAME = 'brokerage_bank_name', // 佣金提现银行
171+
BROKERAGE_WITHDRAW_TYPE = 'brokerage_withdraw_type', // 佣金提现类型
172+
BROKERAGE_RECORD_BIZ_TYPE = 'brokerage_record_biz_type', // 佣金业务类型
173+
BROKERAGE_RECORD_STATUS = 'brokerage_record_status', // 佣金状态
174+
BROKERAGE_WITHDRAW_STATUS = 'brokerage_withdraw_status', // 佣金提现状态
160175

161176
// ========== MALL - 营销模块 ==========
162177
PROMOTION_DISCOUNT_TYPE = 'promotion_discount_type', // 优惠类型

src/utils/formatter.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { fenToYuan } from '@/utils'
2+
import { TableColumnCtx } from 'element-plus'
3+
4+
// 格式化金额【分转元】
5+
export const fenToYuanFormat = (
6+
row: any,
7+
column: TableColumnCtx<any>,
8+
cellValue: any,
9+
index: number
10+
) => {
11+
return `¥${fenToYuan(cellValue)}`
12+
}

0 commit comments

Comments
 (0)