From d87b23bc080516aa989990fbd48ef64b5368405e Mon Sep 17 00:00:00 2001
From: hu177768073 <177768073@qq.com>
Date: Wed, 14 May 2025 16:47:31 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/app/app.routes.ts | 6 +-
.../spread-channel-config.component.html | 73 +++++
.../spread-channel-config.component.less | 6 +
.../spread-channel-config.component.ts | 193 ++++++++++++
.../spread-commission.component.html | 100 +++++++
.../spread-commission.component.less | 0
.../spread-commission.component.ts | 200 +++++++++++++
.../spread-user-account-record.component.html | 96 ++++++
.../spread-user-account-record.component.less | 0
.../spread-user-account-record.component.ts | 197 +++++++++++++
.../spread-user-list.component.html | 140 +++++++++
.../spread-user-list.component.less | 3 +
.../spread-user-list.component.ts | 276 ++++++++++++++++++
src/app/pages/spread/spread.module.ts | 12 +
src/app/pages/spread/spread.routes.ts | 12 +
.../pipes/spread/spread-user-status.pipe.ts | 20 ++
.../spread/spread-oil-channel.service.ts | 35 +++
.../services/spread/spread-user.service.ts | 118 ++++++++
src/environments/environment.ts | 2 +-
19 files changed, 1487 insertions(+), 2 deletions(-)
create mode 100644 src/app/pages/spread/spread-channel-config/spread-channel-config.component.html
create mode 100644 src/app/pages/spread/spread-channel-config/spread-channel-config.component.less
create mode 100644 src/app/pages/spread/spread-channel-config/spread-channel-config.component.ts
create mode 100644 src/app/pages/spread/spread-commission/spread-commission.component.html
create mode 100644 src/app/pages/spread/spread-commission/spread-commission.component.less
create mode 100644 src/app/pages/spread/spread-commission/spread-commission.component.ts
create mode 100644 src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.html
create mode 100644 src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.less
create mode 100644 src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.ts
create mode 100644 src/app/pages/spread/spread-user-list/spread-user-list.component.html
create mode 100644 src/app/pages/spread/spread-user-list/spread-user-list.component.less
create mode 100644 src/app/pages/spread/spread-user-list/spread-user-list.component.ts
create mode 100644 src/app/pages/spread/spread.module.ts
create mode 100644 src/app/pages/spread/spread.routes.ts
create mode 100644 src/app/pipes/spread/spread-user-status.pipe.ts
create mode 100644 src/app/services/spread/spread-oil-channel.service.ts
create mode 100644 src/app/services/spread/spread-user.service.ts
diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts
index 7f85288..00f1723 100644
--- a/src/app/app.routes.ts
+++ b/src/app/app.routes.ts
@@ -1,7 +1,6 @@
import { Routes } from '@angular/router';
import {IndexComponent} from "./pages/body/index/index.component";
import {InitGuardService} from "./utils/initGuard.service";
-import {ERROR_ROUTES} from "./pages/error/error.routes";
import {Error404Component} from "./pages/error/error404/error404.component";
export const routes: Routes = [
{path: '', pathMatch: 'full', redirectTo: 'admin/index'},
@@ -46,6 +45,11 @@ export const routes: Routes = [
loadChildren: () => import('./pages/trade/trade.routes').then(m => m.TRADE_ROUTES),
canActivate: [InitGuardService]
},
+ {
+ path: 'spread',
+ loadChildren: () => import('./pages/spread/spread.routes').then(m => m.SPREAD_ROUTES),
+ canActivate: [InitGuardService]
+ },
{
path: 'system',
loadChildren: () => import('./pages/system/system.routes').then(m => m.SYSTEM_ROUTES),
diff --git a/src/app/pages/spread/spread-channel-config/spread-channel-config.component.html b/src/app/pages/spread/spread-channel-config/spread-channel-config.component.html
new file mode 100644
index 0000000..61d3d45
--- /dev/null
+++ b/src/app/pages/spread/spread-channel-config/spread-channel-config.component.html
@@ -0,0 +1,73 @@
+
+
+
+ 渠道 |
+ 一级佣金 |
+ 二级佣金 |
+ 更新时间 |
+ 操作 |
+
+
+
+
+ {{data.channel | dictionary: "MER_SOURCE_TYPE"}} |
+ {{data.rebate}} % |
+ {{data.rebateOne}} % |
+ {{data.updateTime | date : 'yyyy-MM-dd HH:mm:ss'}} |
+
+
+ |
+
+
+ 总计 {{ total }} 条
+
+
+
+
+
+
+
diff --git a/src/app/pages/spread/spread-channel-config/spread-channel-config.component.less b/src/app/pages/spread/spread-channel-config/spread-channel-config.component.less
new file mode 100644
index 0000000..9ca565b
--- /dev/null
+++ b/src/app/pages/spread/spread-channel-config/spread-channel-config.component.less
@@ -0,0 +1,6 @@
+nz-input-number {
+ width: 100%;
+}
+.submit-btn {
+ width: 150px;
+}
diff --git a/src/app/pages/spread/spread-channel-config/spread-channel-config.component.ts b/src/app/pages/spread/spread-channel-config/spread-channel-config.component.ts
new file mode 100644
index 0000000..49b34fa
--- /dev/null
+++ b/src/app/pages/spread/spread-channel-config/spread-channel-config.component.ts
@@ -0,0 +1,193 @@
+import { Component } from '@angular/core';
+import {DatePipe, NgForOf, NgIf} from "@angular/common";
+import {DictionaryPipe} from "../../../pipes/common/dictionary.pipe";
+import {NzButtonComponent} from "ng-zorro-antd/button";
+import {
+ NzCellFixedDirective,
+ NzTableCellDirective,
+ NzTableComponent, NzTableModule,
+ NzTbodyComponent, NzTheadComponent,
+ NzThMeasureDirective, NzTrDirective
+} from "ng-zorro-antd/table";
+import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid";
+import {NzFlexDirective} from "ng-zorro-antd/flex";
+import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form";
+import {NzInputNumberComponent, NzInputNumberModule} from "ng-zorro-antd/input-number";
+import {NzModalComponent, NzModalModule, NzModalService} from "ng-zorro-antd/modal";
+import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select";
+import {FormGroup, FormsModule, NonNullableFormBuilder, ReactiveFormsModule, Validators} from "@angular/forms";
+import {WeekPipe} from "../../../pipes/common/week.pipe";
+import {NzDividerComponent} from "ng-zorro-antd/divider";
+import {NzDropDownADirective, NzDropDownDirective, NzDropdownMenuComponent} from "ng-zorro-antd/dropdown";
+import {NzIconDirective} from "ng-zorro-antd/icon";
+import {NzInputDirective, NzInputGroupComponent} from "ng-zorro-antd/input";
+import {NzMenuDirective, NzMenuItemComponent} from "ng-zorro-antd/menu";
+import {NzDescriptionsModule} from "ng-zorro-antd/descriptions";
+import {NzUploadComponent} from "ng-zorro-antd/upload";
+import {NzAvatarModule} from "ng-zorro-antd/avatar";
+import {NzImageModule} from "ng-zorro-antd/image";
+import {NzSwitchComponent} from "ng-zorro-antd/switch";
+import {NzDatePickerComponent} from "ng-zorro-antd/date-picker";
+import {NzMessageService} from "ng-zorro-antd/message";
+import {BrowserStorageService} from "../../../utils/localStorage.service";
+import {OilChannelWeekService} from "../../../services/mer-oil-price/oil-channel-week.service";
+import {CommonService} from "../../../services/common/common.service";
+import {SpreadOilChannelService} from "../../../services/spread/spread-oil-channel.service";
+
+@Component({
+ selector: 'app-spread-channel-config',
+ standalone: true,
+ imports: [
+ DatePipe,
+ DictionaryPipe,
+ FormsModule,
+ NgForOf,
+ NgIf,
+ NzButtonComponent,
+ NzCellFixedDirective,
+ NzColDirective,
+ NzDividerComponent,
+ NzDropDownADirective,
+ NzDropDownDirective,
+ NzDropdownMenuComponent,
+ NzFormControlComponent,
+ NzFormDirective,
+ NzFormItemComponent,
+ NzFormLabelComponent,
+ NzIconDirective,
+ NzInputDirective,
+ NzMenuDirective,
+ NzMenuItemComponent,
+ NzOptionComponent,
+ NzRowDirective,
+ NzSelectComponent,
+ NzTableCellDirective,
+ NzTableComponent,
+ NzTbodyComponent,
+ NzThMeasureDirective,
+ NzTheadComponent,
+ NzTrDirective,
+ ReactiveFormsModule,
+ NzTableModule,
+ NzModalModule,
+ NzFlexDirective,
+ NzDescriptionsModule,
+ NzUploadComponent,
+ NzAvatarModule,
+ NzImageModule,
+ NzSwitchComponent,
+ NzDatePickerComponent,
+ NzInputNumberModule,
+ WeekPipe,
+ NzInputGroupComponent
+ ],
+ templateUrl: './spread-channel-config.component.html',
+ styleUrl: './spread-channel-config.component.less'
+})
+export class SpreadChannelConfigComponent {
+ // 表单数据
+ tableData: any = [];
+ // 搜索表单
+ searchForm: FormGroup;
+ // 油站渠道
+ merSourceTypeArray = new DictionaryPipe().getDictionaryList('MER_SOURCE_TYPE');
+ // 编辑数据表单
+ editDataForm: FormGroup;
+ editDataModal = false;
+ // 当前日期
+ today:number = new Date().getDay();
+ constructor(private fb: NonNullableFormBuilder,
+ private message: NzMessageService,
+ private storage: BrowserStorageService,
+ private spreadOilChannelService: SpreadOilChannelService,
+ private commonService: CommonService,
+ private modal: NzModalService) {
+ // 初始化搜索框
+ this.searchForm = this.fb.group({
+ });
+
+ this.editDataForm = this.fb.group({
+ id: [null, [Validators.required]],
+ channel: [null],
+ rebate: [null, [Validators.required]],
+ rebateOne: [null, [Validators.required]],
+ });
+ // 查询数据
+ this.queryData();
+ }
+
+ /**
+ * 获取数据
+ */
+ queryData() {
+ this.searchForm.value.time = new Date().getTime();
+ this.spreadOilChannelService.getOilChannelList(this.searchForm.value, (data: any) => {
+ if (data['return_code'] == '000000') {
+ this.tableData = data['return_data'];
+ }
+ });
+ }
+
+ /**
+ * 搜索表单提交
+ */
+ searchFormSubmit(): void {
+ this.queryData();
+ }
+
+ /**
+ * 搜索表单重置
+ */
+ searchFormReset(): void {
+ this.searchForm.reset();
+ }
+
+ /**
+ * 打开编辑模态框
+ */
+ showEditModal(data: any) {
+ data['channel'] = String(data['channel']);
+ this.editDataForm.patchValue(data);
+ this.editDataForm.controls['channel'].disable();
+ this.editDataModal = true;
+ }
+
+ /**
+ * 提交数据
+ */
+ submitData() {
+ if (this.editDataForm.valid) {
+ const param = {
+ channel: this.editDataForm.controls['channel'].value,
+ rebate: this.editDataForm.controls['rebate'].value,
+ rebateOne: this.editDataForm.controls['rebateOne'].value
+ };
+ this.spreadOilChannelService.editOilChannel(param, (data: any) => {
+ if (data['return_code'] == '000000') {
+ this.message.create('success', '操作成功');
+ // 刷新数据
+ this.queryData();
+ // 关闭弹窗
+ this.closeEditModal();
+ } else {
+ this.message.create('error', data['return_msg']);
+ }
+ });
+ } else {
+ Object.values(this.editDataForm.controls).forEach(control => {
+ if (control.invalid) {
+ control.markAsDirty();
+ control.updateValueAndValidity({ onlySelf: true });
+ }
+ });
+ }
+ }
+
+ /**
+ * 关闭编辑任务模态框
+ */
+ closeEditModal() {
+ this.editDataForm.reset();
+ this.editDataModal = false;
+ }
+}
diff --git a/src/app/pages/spread/spread-commission/spread-commission.component.html b/src/app/pages/spread/spread-commission/spread-commission.component.html
new file mode 100644
index 0000000..630ad38
--- /dev/null
+++ b/src/app/pages/spread/spread-commission/spread-commission.component.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+ 订单号 |
+ 油站名称 |
+ 油号 |
+ 枪号 |
+ 升数 |
+ 加油金额 |
+ 实付金额 |
+ 支付时间 |
+ 一级佣金 |
+ 二级佣金 |
+ 佣金 |
+
+
+
+
+
+ {{data.orderNo}} |
+ {{data.merName}} |
+ {{data.gasOilNo}}# |
+ {{data.gasGunNo}} |
+ {{data.gasOilLiters}}L |
+ ¥{{data.gasRefuelPrice}} |
+ ¥{{data.payablePrice}} |
+ {{data.payTime | date : 'yyyy-MM-dd HH:mm:ss'}} |
+ ¥{{data.gainsRebateAmount!=null?data.gainsRebateAmount:0}} |
+ ¥{{data.gainsRebateOneAmount!=null?data.gainsRebateOneAmount:0}} |
+ ¥
+ {{data.gainsRebateAmount}}
+ {{data.gainsRebateOneAmount}}
+ |
+
+
+
+ 总计 {{ total }} 条
+
diff --git a/src/app/pages/spread/spread-commission/spread-commission.component.less b/src/app/pages/spread/spread-commission/spread-commission.component.less
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/pages/spread/spread-commission/spread-commission.component.ts b/src/app/pages/spread/spread-commission/spread-commission.component.ts
new file mode 100644
index 0000000..c71d90c
--- /dev/null
+++ b/src/app/pages/spread/spread-commission/spread-commission.component.ts
@@ -0,0 +1,200 @@
+import {Component, Input, OnInit} from '@angular/core';
+import {DatePipe, NgForOf, NgIf} from "@angular/common";
+import {NzButtonComponent} from "ng-zorro-antd/button";
+import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid";
+import {NzDatePickerComponent, NzDatePickerModule, NzRangePickerComponent} from "ng-zorro-antd/date-picker";
+import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form";
+import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select";
+import {NzRadioButtonDirective, NzRadioComponent, NzRadioGroupComponent, NzRadioModule} from "ng-zorro-antd/radio";
+import {NzStatisticComponent, NzStatisticModule} from "ng-zorro-antd/statistic";
+import {
+ NzCellFixedDirective,
+ NzTableCellDirective,
+ NzTableComponent, NzTableModule,
+ NzTbodyComponent,
+ NzTheadComponent,
+ NzThMeasureDirective, NzTrDirective
+} from "ng-zorro-antd/table";
+import {FormGroup, FormsModule, NonNullableFormBuilder, ReactiveFormsModule} from "@angular/forms";
+import {DateSelectType, DateUtils} from "../../../utils/dateUtils.service";
+import {NzMessageService} from "ng-zorro-antd/message";
+import {BrowserStorageService} from "../../../utils/localStorage.service";
+import {SpreadUserService} from "../../../services/spread/spread-user.service";
+import {CommonService} from "../../../services/common/common.service";
+import {NzModalModule, NzModalService} from "ng-zorro-antd/modal";
+import {DictionaryPipe} from "../../../pipes/common/dictionary.pipe";
+import {NzDividerComponent} from "ng-zorro-antd/divider";
+import {NzDropDownADirective, NzDropDownDirective, NzDropdownMenuComponent} from "ng-zorro-antd/dropdown";
+import {NzIconDirective} from "ng-zorro-antd/icon";
+import {NzInputDirective} from "ng-zorro-antd/input";
+import {NzMenuDirective, NzMenuItemComponent} from "ng-zorro-antd/menu";
+import {NzFlexDirective} from "ng-zorro-antd/flex";
+import {NzDescriptionsModule} from "ng-zorro-antd/descriptions";
+import {NzUploadComponent} from "ng-zorro-antd/upload";
+import {NzAvatarModule} from "ng-zorro-antd/avatar";
+import {NzImageModule} from "ng-zorro-antd/image";
+import {NzSwitchComponent} from "ng-zorro-antd/switch";
+import {NzInputNumberModule} from "ng-zorro-antd/input-number";
+import {WeekPipe} from "../../../pipes/common/week.pipe";
+
+@Component({
+ selector: 'app-spread-commission',
+ standalone: true,
+ imports: [
+ DatePipe,
+ DictionaryPipe,
+ FormsModule,
+ NgForOf,
+ NgIf,
+ NzButtonComponent,
+ NzCellFixedDirective,
+ NzColDirective,
+ NzDividerComponent,
+ NzDropDownADirective,
+ NzDropDownDirective,
+ NzDropdownMenuComponent,
+ NzFormControlComponent,
+ NzFormDirective,
+ NzFormItemComponent,
+ NzFormLabelComponent,
+ NzIconDirective,
+ NzInputDirective,
+ NzMenuDirective,
+ NzMenuItemComponent,
+ NzOptionComponent,
+ NzRowDirective,
+ NzSelectComponent,
+ NzTableCellDirective,
+ NzTableComponent,
+ NzTbodyComponent,
+ NzThMeasureDirective,
+ NzTheadComponent,
+ NzTrDirective,
+ ReactiveFormsModule,
+ NzTableModule,
+ NzModalModule,
+ NzFlexDirective,
+ NzDescriptionsModule,
+ NzUploadComponent,
+ NzAvatarModule,
+ NzImageModule,
+ NzSwitchComponent,
+ NzDatePickerComponent,
+ NzInputNumberModule,
+ WeekPipe,
+ NzStatisticModule,
+ NzRadioModule,
+ NzDatePickerModule
+ ],
+ templateUrl: './spread-commission.component.html',
+ styleUrl: './spread-commission.component.less'
+})
+export class SpreadCommissionComponent implements OnInit {
+ @Input() userId: any;
+ // 表单页数
+ tablePageNum = 1;
+ // 每页数量
+ tablePageSize = 10;
+ // 表单数据
+ tableData: any = [];
+ // 搜索表单
+ searchForm: FormGroup;
+ // 时间快速选择项
+ dateTypeSelect = DateSelectType;
+ countData = 0;
+ constructor(private fb: NonNullableFormBuilder,
+ private message: NzMessageService,
+ private storage: BrowserStorageService,
+ private spreadUserService: SpreadUserService,
+ private commonService: CommonService,
+ private modal: NzModalService) {
+ // 初始化搜索框
+ this.searchForm = this.fb.group({
+ userId: [null],
+ orderStatus: ['2'],
+ payTimeSelect: ['1'],
+ payTimeArray: [[]],
+ payTimeS: [null],
+ payTimeE: [null],
+ });
+ // 初始化创建时间
+ this.payTimeInit();
+
+ }
+
+ ngOnInit(): void {
+ // 查询佣金统计
+ this.countAccount();
+ // 查询数据
+ this.queryData();
+ }
+
+ /**
+ * 创建时间初始化
+ */
+ payTimeInit() {
+ let createTimeSelect = this.searchForm.controls['payTimeSelect'].value;
+ if (createTimeSelect != null) {
+ let timeObj = DateUtils.getDate(new Date(), Number(createTimeSelect));
+ this.searchForm.controls['payTimeArray'].setValue([timeObj.timeS, timeObj.timeE]);
+ }
+ }
+
+ /**
+ * 查询佣金统计
+ */
+ countAccount() {
+ if (this.searchForm.controls['payTimeArray'].value != null
+ && this.searchForm.controls['payTimeArray'].value.length > 0) {
+ this.searchForm.controls['payTimeS'].setValue(new Date(this.searchForm.controls['payTimeArray'].value[0]).getTime());
+ this.searchForm.controls['payTimeE'].setValue(new Date(this.searchForm.controls['payTimeArray'].value[1]).getTime());
+ } else {
+ this.searchForm.controls['payTimeS'].setValue(null);
+ this.searchForm.controls['payTimeE'].setValue(null);
+ }
+ this.searchForm.value.userId = this.userId;
+ // 佣金情况
+ this.spreadUserService.countAccount(this.searchForm.value,(data: any) => {
+ if (data['return_code'] == '000000'){
+ this.countData = data['return_data'];
+ }
+ })
+ }
+ /**
+ * 获取数据
+ */
+ queryData() {
+ if (this.searchForm.controls['payTimeArray'].value != null
+ && this.searchForm.controls['payTimeArray'].value.length > 0) {
+ this.searchForm.controls['payTimeS'].setValue(new Date(this.searchForm.controls['payTimeArray'].value[0]).getTime());
+ this.searchForm.controls['payTimeE'].setValue(new Date(this.searchForm.controls['payTimeArray'].value[1]).getTime());
+ } else {
+ this.searchForm.controls['payTimeS'].setValue(null);
+ this.searchForm.controls['payTimeE'].setValue(null);
+ }
+ this.searchForm.value.userId = this.userId;
+ this.searchForm.value.pageNum = this.tablePageNum;
+ this.searchForm.value.pageSize = this.tablePageSize;
+ this.searchForm.value.time = new Date().getTime();
+ this.spreadUserService.queryOilOrderSpread(this.searchForm.value, (data: any) => {
+ if (data['return_code'] == '000000') {
+ this.tableData = data['return_data'];
+ }
+ });
+ }
+
+ /**
+ * 搜索表单提交
+ */
+ searchFormSubmit(): void {
+ this.queryData();
+ this.countAccount();
+ }
+
+ /**
+ * 搜索表单重置
+ */
+ searchFormReset(): void {
+ this.searchForm.reset();
+ }
+}
diff --git a/src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.html b/src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.html
new file mode 100644
index 0000000..8777533
--- /dev/null
+++ b/src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 类型 |
+ 记录来源 |
+ 交易金额 |
+ 变更前金额 |
+ 变更后金额 |
+ 来源内容 |
+ 创建时间 |
+
+
+
+
+
+ {{data.type | dictionary: 'USER_SPREAD_ACCOUNT_RECORD_TYPE'}} |
+ {{data.sourceType | dictionary: 'USER_SPREAD_ACCOUNT_RECORD_SOURCE_TYPE'}} |
+ ¥{{data.transactionAmount}} |
+ ¥{{data.beforeAmount}} |
+ ¥{{data.afterAmount}} |
+ {{data.sourceContent}} |
+ {{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}} |
+
+
+
+ 总计 {{ total }} 条
+
diff --git a/src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.less b/src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.less
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.ts b/src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.ts
new file mode 100644
index 0000000..91d40c3
--- /dev/null
+++ b/src/app/pages/spread/spread-user-account-record/spread-user-account-record.component.ts
@@ -0,0 +1,197 @@
+import {Component, Input, OnInit} from '@angular/core';
+import {DatePipe, NgForOf, NgIf} from "@angular/common";
+import {FormGroup, FormsModule, NonNullableFormBuilder, ReactiveFormsModule, Validators} from "@angular/forms";
+import {NzButtonComponent} from "ng-zorro-antd/button";
+import {
+ NzCellFixedDirective,
+ NzTableCellDirective,
+ NzTableComponent, NzTableModule,
+ NzTbodyComponent, NzTheadComponent,
+ NzThMeasureDirective, NzTrDirective
+} from "ng-zorro-antd/table";
+import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid";
+import {NzDropDownADirective, NzDropDownDirective, NzDropdownMenuComponent} from "ng-zorro-antd/dropdown";
+import {NzFlexDirective} from "ng-zorro-antd/flex";
+import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form";
+import {NzIconDirective} from "ng-zorro-antd/icon";
+import {NzInputDirective} from "ng-zorro-antd/input";
+import {NzInputNumberComponent, NzInputNumberModule} from "ng-zorro-antd/input-number";
+import {NzMenuDirective, NzMenuItemComponent} from "ng-zorro-antd/menu";
+import {NzModalComponent, NzModalModule, NzModalService} from "ng-zorro-antd/modal";
+import {NzStatisticComponent, NzStatisticModule} from "ng-zorro-antd/statistic";
+import {SpreadUserStatusPipe} from "../../../pipes/spread/spread-user-status.pipe";
+import {NzMessageService} from "ng-zorro-antd/message";
+import {BrowserStorageService} from "../../../utils/localStorage.service";
+import {SpreadUserService} from "../../../services/spread/spread-user.service";
+import {CommonService} from "../../../services/common/common.service";
+import {DictionaryPipe} from "../../../pipes/common/dictionary.pipe";
+import {NzDividerComponent} from "ng-zorro-antd/divider";
+import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select";
+import {NzDescriptionsModule} from "ng-zorro-antd/descriptions";
+import {NzUploadComponent} from "ng-zorro-antd/upload";
+import {NzAvatarModule} from "ng-zorro-antd/avatar";
+import {NzImageModule} from "ng-zorro-antd/image";
+import {NzSwitchComponent} from "ng-zorro-antd/switch";
+import {NzDatePickerComponent, NzDatePickerModule, NzRangePickerComponent} from "ng-zorro-antd/date-picker";
+import {WeekPipe} from "../../../pipes/common/week.pipe";
+import {DateSelectType, DateUtils} from "../../../utils/dateUtils.service";
+import {NzRadioButtonDirective, NzRadioComponent, NzRadioGroupComponent, NzRadioModule} from "ng-zorro-antd/radio";
+
+@Component({
+ selector: 'app-spread-user-account-record',
+ standalone: true,
+ imports: [
+ DatePipe,
+ DictionaryPipe,
+ FormsModule,
+ NgForOf,
+ NgIf,
+ NzButtonComponent,
+ NzCellFixedDirective,
+ NzColDirective,
+ NzDividerComponent,
+ NzDropDownADirective,
+ NzDropDownDirective,
+ NzDropdownMenuComponent,
+ NzFormControlComponent,
+ NzFormDirective,
+ NzFormItemComponent,
+ NzFormLabelComponent,
+ NzIconDirective,
+ NzInputDirective,
+ NzMenuDirective,
+ NzMenuItemComponent,
+ NzOptionComponent,
+ NzRowDirective,
+ NzSelectComponent,
+ NzTableCellDirective,
+ NzTableComponent,
+ NzTbodyComponent,
+ NzThMeasureDirective,
+ NzTheadComponent,
+ NzTrDirective,
+ ReactiveFormsModule,
+ NzTableModule,
+ NzModalModule,
+ NzFlexDirective,
+ NzDescriptionsModule,
+ NzUploadComponent,
+ NzAvatarModule,
+ NzImageModule,
+ NzSwitchComponent,
+ NzDatePickerComponent,
+ NzInputNumberModule,
+ WeekPipe,
+ NzStatisticModule,
+ NzRadioModule,
+ NzDatePickerModule
+ ],
+ templateUrl: './spread-user-account-record.component.html',
+ styleUrl: './spread-user-account-record.component.less'
+})
+export class SpreadUserAccountRecordComponent implements OnInit {
+ @Input() userId: any;
+ // 表单页数
+ tablePageNum = 1;
+ // 每页数量
+ tablePageSize = 10;
+ // 表单数据
+ tableData: any = [];
+ // 搜索表单
+ searchForm: FormGroup;
+ // 时间快速选择项
+ dateTypeSelect = DateSelectType;
+ countData: any = {
+ amount: 0,
+ cashOutAmount: 0,
+ notCashOutAmount: 0,
+ };
+ constructor(private fb: NonNullableFormBuilder,
+ private message: NzMessageService,
+ private storage: BrowserStorageService,
+ private spreadUserService: SpreadUserService,
+ private commonService: CommonService,
+ private modal: NzModalService) {
+ // 初始化搜索框
+ this.searchForm = this.fb.group({
+ userId: [null],
+ sourceType: ['1'],
+ createTimeSelect: ['1'],
+ createTimeArray: [[]],
+ createTimeS: [null],
+ createTimeE: [null],
+ });
+ // 初始化创建时间
+ this.payTimeInit();
+
+ }
+
+ ngOnInit(): void {
+ // 查询佣金统计
+ this.countAccount();
+ // 查询数据
+ this.queryData();
+ }
+
+ /**
+ * 创建时间初始化
+ */
+ payTimeInit() {
+ let createTimeSelect = this.searchForm.controls['createTimeSelect'].value;
+ if (createTimeSelect != null) {
+ let timeObj = DateUtils.getDate(new Date(), Number(createTimeSelect));
+ this.searchForm.controls['createTimeArray'].setValue([timeObj.timeS, timeObj.timeE]);
+ }
+ }
+
+ /**
+ * 查询佣金统计
+ */
+ countAccount() {
+ this.searchForm.value.userId = this.userId;
+ // 佣金情况
+ this.spreadUserService.getAccount(this.searchForm.value,(data: any) => {
+ if (data['return_code'] == '000000'){
+ this.countData = data['return_data'];
+ }
+ })
+ }
+ /**
+ * 获取数据
+ */
+ queryData() {
+ if (this.searchForm.controls['createTimeArray'].value != null
+ && this.searchForm.controls['createTimeArray'].value.length > 0) {
+ this.searchForm.controls['createTimeS'].setValue(new Date(this.searchForm.controls['createTimeArray'].value[0]).getTime());
+ this.searchForm.controls['createTimeE'].setValue(new Date(this.searchForm.controls['createTimeArray'].value[1]).getTime());
+ } else {
+ this.searchForm.controls['createTimeS'].setValue(null);
+ this.searchForm.controls['createTimeE'].setValue(null);
+ }
+ this.searchForm.value.userId = this.userId;
+ this.searchForm.value.pageNum = this.tablePageNum;
+ this.searchForm.value.pageSize = this.tablePageSize;
+ this.searchForm.value.time = new Date().getTime();
+ this.spreadUserService.getRecordList(this.searchForm.value, (data: any) => {
+ if (data['return_code'] == '000000') {
+ this.tableData = data['return_data'];
+ }
+ });
+ }
+
+ /**
+ * 搜索表单提交
+ */
+ searchFormSubmit(): void {
+ this.queryData();
+ this.countAccount();
+ }
+
+ /**
+ * 搜索表单重置
+ */
+ searchFormReset(): void {
+ this.searchForm.reset();
+ }
+
+}
diff --git a/src/app/pages/spread/spread-user-list/spread-user-list.component.html b/src/app/pages/spread/spread-user-list/spread-user-list.component.html
new file mode 100644
index 0000000..f25e461
--- /dev/null
+++ b/src/app/pages/spread/spread-user-list/spread-user-list.component.html
@@ -0,0 +1,140 @@
+
+
+
+ 充值
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 用户手机号 |
+ 用户名 |
+ 佣金余额 |
+ 已提现 |
+ 推广人数 |
+ 状态 |
+ 成为时间 |
+ 操作 |
+
+
+
+
+ {{data.phone}} |
+ {{data.userName}} |
+ ¥{{data.amount}} |
+ ¥{{data.cashOutAmount}} |
+ {{data.spreadCount}} |
+ {{data.status | spreadUserStatus}} |
+ {{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}} |
+
+
+ 操作列表
+
+
+
+
+
+ |
+
+
+ 总计 {{ total }} 条
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/pages/spread/spread-user-list/spread-user-list.component.less b/src/app/pages/spread/spread-user-list/spread-user-list.component.less
new file mode 100644
index 0000000..90447c4
--- /dev/null
+++ b/src/app/pages/spread/spread-user-list/spread-user-list.component.less
@@ -0,0 +1,3 @@
+nz-input-number {
+ width: 100%;
+}
diff --git a/src/app/pages/spread/spread-user-list/spread-user-list.component.ts b/src/app/pages/spread/spread-user-list/spread-user-list.component.ts
new file mode 100644
index 0000000..a51d808
--- /dev/null
+++ b/src/app/pages/spread/spread-user-list/spread-user-list.component.ts
@@ -0,0 +1,276 @@
+import { Component } from '@angular/core';
+import {FormGroup, FormsModule, NonNullableFormBuilder, ReactiveFormsModule, Validators} from "@angular/forms";
+import {DictionaryPipe} from "../../../pipes/common/dictionary.pipe";
+import {NzMessageService} from "ng-zorro-antd/message";
+import {BrowserStorageService} from "../../../utils/localStorage.service"
+import {CommonService} from "../../../services/common/common.service";
+import {NzModalModule, NzModalService} from "ng-zorro-antd/modal";
+import {DatePipe, NgForOf, NgIf} from "@angular/common";
+import {NzButtonComponent} from "ng-zorro-antd/button";
+import {
+ NzCellFixedDirective,
+ NzTableCellDirective,
+ NzTableComponent, NzTableModule,
+ NzTbodyComponent, NzTheadComponent,
+ NzThMeasureDirective, NzTrDirective
+} from "ng-zorro-antd/table";
+import {NzColDirective, NzRowDirective} from "ng-zorro-antd/grid";
+import {NzDividerComponent} from "ng-zorro-antd/divider";
+import {NzDropDownADirective, NzDropDownDirective, NzDropdownMenuComponent} from "ng-zorro-antd/dropdown";
+import {NzFormControlComponent, NzFormDirective, NzFormItemComponent, NzFormLabelComponent} from "ng-zorro-antd/form";
+import {NzIconDirective} from "ng-zorro-antd/icon";
+import {NzInputDirective} from "ng-zorro-antd/input";
+import {NzMenuDirective, NzMenuItemComponent} from "ng-zorro-antd/menu";
+import {NzOptionComponent, NzSelectComponent} from "ng-zorro-antd/select";
+import {NzFlexDirective} from "ng-zorro-antd/flex";
+import {NzDescriptionsModule} from "ng-zorro-antd/descriptions";
+import {NzUploadComponent} from "ng-zorro-antd/upload";
+import {NzAvatarModule} from "ng-zorro-antd/avatar";
+import {NzImageModule} from "ng-zorro-antd/image";
+import {NzSwitchComponent} from "ng-zorro-antd/switch";
+import {NzDatePickerComponent} from "ng-zorro-antd/date-picker";
+import {NzInputNumberModule} from "ng-zorro-antd/input-number";
+import {WeekPipe} from "../../../pipes/common/week.pipe";
+import {SpreadUserService} from "../../../services/spread/spread-user.service";
+import {SpreadUserStatusPipe} from "../../../pipes/spread/spread-user-status.pipe";
+import {NzStatisticModule} from "ng-zorro-antd/statistic";
+import {SpreadUserAccountRecordComponent} from "../spread-user-account-record/spread-user-account-record.component";
+import {SpreadCommissionComponent} from "../spread-commission/spread-commission.component";
+
+@Component({
+ selector: 'app-spread-user-list',
+ standalone: true,
+ imports: [
+ DatePipe,
+ DictionaryPipe,
+ FormsModule,
+ NgForOf,
+ NgIf,
+ NzButtonComponent,
+ NzCellFixedDirective,
+ NzColDirective,
+ NzDividerComponent,
+ NzDropDownADirective,
+ NzDropDownDirective,
+ NzDropdownMenuComponent,
+ NzFormControlComponent,
+ NzFormDirective,
+ NzFormItemComponent,
+ NzFormLabelComponent,
+ NzIconDirective,
+ NzInputDirective,
+ NzMenuDirective,
+ NzMenuItemComponent,
+ NzOptionComponent,
+ NzRowDirective,
+ NzSelectComponent,
+ NzTableCellDirective,
+ NzTableComponent,
+ NzTbodyComponent,
+ NzThMeasureDirective,
+ NzTheadComponent,
+ NzTrDirective,
+ ReactiveFormsModule,
+ NzTableModule,
+ NzModalModule,
+ NzFlexDirective,
+ NzDescriptionsModule,
+ NzUploadComponent,
+ NzAvatarModule,
+ NzImageModule,
+ NzSwitchComponent,
+ NzDatePickerComponent,
+ NzInputNumberModule,
+ WeekPipe,
+ SpreadUserStatusPipe,
+ NzStatisticModule,
+ SpreadCommissionComponent,
+ SpreadUserAccountRecordComponent,
+ ],
+ templateUrl: './spread-user-list.component.html',
+ styleUrl: './spread-user-list.component.less'
+})
+export class SpreadUserListComponent {
+ // 表单页数
+ tablePageNum = 1;
+ // 每页数量
+ tablePageSize = 10;
+ // 表单数据
+ tableData: any = [];
+ // 搜索表单
+ searchForm: FormGroup;
+
+ countDataObj: any = {
+ totalAmount: 0,
+ sysSperadAmount: 0,
+ cashOutAmount: 0,
+ surplusAmount: 0,
+ };
+
+ rechargeModal = false;
+ rechargeForm: FormGroup;
+
+ commissionModal = false;
+ userId = null;
+
+ settleModal = false;
+ constructor(private fb: NonNullableFormBuilder,
+ private message: NzMessageService,
+ private storage: BrowserStorageService,
+ private spreadUserService: SpreadUserService,
+ private commonService: CommonService,
+ private modal: NzModalService) {
+ // 初始化搜索框
+ this.searchForm = this.fb.group({
+ phone: [null],
+ });
+ this.rechargeForm = this.fb.group({
+ amount: ['',[Validators.required]],
+ });
+
+ this.queryCountCommission();
+ // 查询数据
+ this.queryData();
+ }
+
+ /**
+ * 查询佣金统计
+ */
+ queryCountCommission() {
+ // 佣金情况
+ this.spreadUserService.countCommission((data: any) => {
+ if (data['return_code'] == '000000'){
+ this.countDataObj = data['return_data'];
+ }
+ })
+ }
+ /**
+ * 获取数据
+ */
+ queryData() {
+ this.searchForm.value.pageNum = this.tablePageNum;
+ this.searchForm.value.pageSize = this.tablePageSize;
+ this.searchForm.value.time = new Date().getTime();
+ this.spreadUserService.getUserSpreadList(this.searchForm.value, (data: any) => {
+ if (data['return_code'] == '000000') {
+ this.tableData = data['return_data'];
+ }
+ });
+ }
+
+ /**
+ * 搜索表单提交
+ */
+ searchFormSubmit(): void {
+ this.queryData();
+ }
+
+ /**
+ * 搜索表单重置
+ */
+ searchFormReset(): void {
+ this.searchForm.reset();
+ }
+
+ /**
+ * 展示模态框
+ */
+ showRechargeModal() {
+ this.rechargeModal = true;
+ }
+
+ /**
+ * 提交模态框
+ */
+ submitRechargeModal() {
+ if (this.rechargeForm.valid) {
+ this.spreadUserService.recharge(this.rechargeForm.value, (data: any) => {
+ if (data['return_code'] == '000000') {
+ this.message.create('success', '操作成功');
+ // 刷新数据
+ this.queryCountCommission();
+ // 关闭弹窗
+ this.closeRechargeModal();
+ // 表单重置
+ this.rechargeForm.reset();
+ } else {
+ this.message.create('error', data['return_msg']);
+ }
+ });
+ } else {
+ Object.values(this.rechargeForm.controls).forEach(control => {
+ if (control.invalid) {
+ control.markAsDirty();
+ control.updateValueAndValidity({ onlySelf: true });
+ }
+ });
+ }
+ }
+
+ /**
+ * 关闭模态框
+ */
+ closeRechargeModal() {
+ this.rechargeModal = false;
+ }
+
+ /**
+ * 冻结账户
+ * @param id
+ */
+ freezeUserSpread(id: number) {
+ this.modal.confirm({
+ nzTitle: '提示',
+ nzContent: '确定冻结用户推广账户吗?',
+ nzOnOk: () =>
+ this.spreadUserService.freezeUserSpread({userId: id}, (data: any) => {
+ if (data['return_code'] == '000000') {
+ // 刷新数据
+ this.queryData();
+ this.message.create('success', '操作成功');
+ } else {
+ this.message.create('error', data['return_msg']);
+ }
+ })
+ });
+ }
+
+ /**
+ * 恢复账户
+ * @param id
+ */
+ unfreezeUserSpread(id: number) {
+ this.modal.confirm({
+ nzTitle: '提示',
+ nzContent: '确定恢复用户推广账户状态吗?',
+ nzOnOk: () =>
+ this.spreadUserService.unfreezeUserSpread({userId: id}, (data: any) => {
+ if (data['return_code'] == '000000') {
+ // 刷新数据
+ this.queryData();
+ this.message.create('success', '操作成功');
+ } else {
+ this.message.create('error', data['return_msg']);
+ }
+ })
+ });
+ }
+
+ /**
+ * 打开佣金明细
+ * @param userId
+ */
+ showCommission(userId: any) {
+ this.userId = userId;
+ this.commissionModal = true;
+ }
+
+ /**
+ * 打款结算明细
+ * @param userId
+ */
+ showSettle(userId: any) {
+ this.userId = userId;
+ this.settleModal = true;
+ }
+}
diff --git a/src/app/pages/spread/spread.module.ts b/src/app/pages/spread/spread.module.ts
new file mode 100644
index 0000000..4bbf2f1
--- /dev/null
+++ b/src/app/pages/spread/spread.module.ts
@@ -0,0 +1,12 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+
+
+
+@NgModule({
+ declarations: [],
+ imports: [
+ CommonModule
+ ]
+})
+export class SpreadModule { }
diff --git a/src/app/pages/spread/spread.routes.ts b/src/app/pages/spread/spread.routes.ts
new file mode 100644
index 0000000..15dc7bf
--- /dev/null
+++ b/src/app/pages/spread/spread.routes.ts
@@ -0,0 +1,12 @@
+import { Routes } from '@angular/router';
+import {SpreadUserListComponent} from "./spread-user-list/spread-user-list.component";
+import {SpreadChannelConfigComponent} from "./spread-channel-config/spread-channel-config.component";
+import {SpreadUserAccountRecordComponent} from "./spread-user-account-record/spread-user-account-record.component";
+import {SpreadCommissionComponent} from "./spread-commission/spread-commission.component";
+
+
+export const SPREAD_ROUTES: Routes = [
+ { path : 'user-list', component: SpreadUserListComponent },
+ { path : 'user-commission', component: SpreadCommissionComponent },
+ { path : 'channel-config', component: SpreadChannelConfigComponent },
+];
diff --git a/src/app/pipes/spread/spread-user-status.pipe.ts b/src/app/pipes/spread/spread-user-status.pipe.ts
new file mode 100644
index 0000000..f61cea8
--- /dev/null
+++ b/src/app/pipes/spread/spread-user-status.pipe.ts
@@ -0,0 +1,20 @@
+import { Pipe, PipeTransform } from '@angular/core';
+
+@Pipe({
+ name: 'spreadUserStatus',
+ standalone: true
+})
+export class SpreadUserStatusPipe implements PipeTransform {
+
+ transform(value: number): any {
+ switch (value) {
+ case 1:
+ return '正常';
+ case 2:
+ return '冻结';
+ default:
+ return '未知状态'
+ }
+ }
+
+}
diff --git a/src/app/services/spread/spread-oil-channel.service.ts b/src/app/services/spread/spread-oil-channel.service.ts
new file mode 100644
index 0000000..1c3431d
--- /dev/null
+++ b/src/app/services/spread/spread-oil-channel.service.ts
@@ -0,0 +1,35 @@
+import { Injectable } from '@angular/core';
+import {HttpClient} from "@angular/common/http";
+import {environment} from "../../../environments/environment";
+import {ObjectData} from "../../utils/objectData.service";
+
+@Injectable({
+ providedIn: 'root'
+})
+export class SpreadOilChannelService {
+
+ constructor(private http: HttpClient) { }
+
+ /**
+ * 编辑
+ * @param params
+ * @param callBack
+ */
+ public editOilChannel(params: any, callBack:any) {
+ params.time = new Date().getTime();
+ this.http.post(environment.baseUrl + 'userSpread/editOilChannel', params).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 查询列表
+ * @param params
+ * @param callBack
+ */
+ public getOilChannelList(params: any, callBack:any) {
+ this.http.get(environment.baseUrl + 'userSpread/getOilChannelList?'+ObjectData.objectByString(params)).subscribe(data => {
+ callBack(data);
+ });
+ }
+}
diff --git a/src/app/services/spread/spread-user.service.ts b/src/app/services/spread/spread-user.service.ts
new file mode 100644
index 0000000..fafb89f
--- /dev/null
+++ b/src/app/services/spread/spread-user.service.ts
@@ -0,0 +1,118 @@
+import { Injectable } from '@angular/core';
+import {HttpClient} from "@angular/common/http";
+import {environment} from "../../../environments/environment";
+import {ObjectData} from "../../utils/objectData.service";
+
+@Injectable({
+ providedIn: 'root'
+})
+export class SpreadUserService {
+
+ constructor(private http: HttpClient) { }
+
+ /**
+ * 冻结用户推广功能
+ * @param params
+ * @param callBack
+ */
+ public freezeUserSpread(params: any, callBack:any) {
+ params.time = new Date().getTime();
+ this.http.post(environment.baseUrl + 'userSpread/freezeUserSpread', params).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 解冻用户推广功能
+ * @param params
+ * @param callBack
+ */
+ public unfreezeUserSpread(params: any, callBack:any) {
+ params.time = new Date().getTime();
+ this.http.post(environment.baseUrl + 'userSpread/unfreezeUserSpread', params).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 充值佣金
+ * @param params
+ * @param callBack
+ */
+ public recharge(params: any, callBack:any) {
+ params.time = new Date().getTime();
+ this.http.post(environment.baseUrl + 'userSpread/recharge', params).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 推广用户列表
+ * @param params
+ * @param callBack
+ */
+ public getUserSpreadList(params: any, callBack:any) {
+ this.http.get(environment.baseUrl + 'userSpread/getUserSpreadList?'+ObjectData.objectByString(params)).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 用户账户记录列表
+ * @param params
+ * @param callBack
+ */
+ public getRecordList(params: any, callBack:any) {
+ this.http.get(environment.baseUrl + 'userSpread/getRecordList?'+ObjectData.objectByString(params)).subscribe(data => {
+ callBack(data);
+ });
+ }
+ /**
+ * 查询推广订单
+ * @param params
+ * @param callBack
+ */
+ public queryOilOrderSpread(params: any, callBack:any) {
+ this.http.get(environment.baseUrl + 'userSpread/queryOilOrderSpread?'+ObjectData.objectByString(params)).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 统计用户账户记录佣金
+ * @param params
+ * @param callBack
+ */
+ public countAccount(params: any, callBack:any) {
+ params.t = new Date().getTime()
+ this.http.get(environment.baseUrl + 'userSpread/countAccount?'+ObjectData.objectByString(params)).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+
+ /**
+ * 用户账户详情
+ * @param params
+ * @param callBack
+ */
+ public getAccount(params: any, callBack:any) {
+ params.t = new Date().getTime()
+ this.http.get(environment.baseUrl + 'userSpread/getAccount?'+ObjectData.objectByString(params)).subscribe(data => {
+ callBack(data);
+ });
+ }
+
+ /**
+ * 统计佣金情况
+ * @param callBack
+ */
+ public countCommission(callBack:any) {
+ const params = {
+ t: new Date().getTime()
+ };
+ this.http.get(environment.baseUrl + 'userSpread/countCommission?'+ObjectData.objectByString(params)).subscribe(data => {
+ callBack(data);
+ });
+ }
+}
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index e4e132f..78d8ba9 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -5,7 +5,7 @@
export const environment = {
production: false,
baseUrl: 'https://oil.dctpay.com/brest/', // 测试环境服务器地址(请求数据地址)
- imageUrl: 'https://oil.dctpay.com/filesystem/',
+ imageUrl: 'https://test-oil.dctpay.com/filesystem/',
};
/*