From 55d4b8619213d9e26ae1cbbeb6b3bc135239515b Mon Sep 17 00:00:00 2001 From: hu177768073 <177768073@qq.com> Date: Mon, 26 May 2025 14:03:16 +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 --- .../agent-list/agent-list.component.html | 4 + .../agent/agent-list/agent-list.component.ts | 41 ++++ .../cms/cms-list/cms-list.component.html | 20 +- .../cms/cms-list/cms-list.component.less | 3 + .../pages/cms/cms-list/cms-list.component.ts | 2 + ...spread-user-withdraw-record.component.html | 84 ++++++++ ...spread-user-withdraw-record.component.less | 0 .../spread-user-withdraw-record.component.ts | 200 ++++++++++++++++++ src/app/pages/spread/spread.routes.ts | 2 + src/app/services/agent/agent.service.ts | 24 +++ .../services/spread/spread-user.service.ts | 12 ++ 11 files changed, 391 insertions(+), 1 deletion(-) create mode 100644 src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.html create mode 100644 src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.less create mode 100644 src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.ts diff --git a/src/app/pages/agent/agent-list/agent-list.component.html b/src/app/pages/agent/agent-list/agent-list.component.html index 66a4491..30d6b5a 100644 --- a/src/app/pages/agent/agent-list/agent-list.component.html +++ b/src/app/pages/agent/agent-list/agent-list.component.html @@ -63,6 +63,7 @@ 代理名称 联系人 联系方式 + 状态 创建时间 操作 @@ -74,6 +75,7 @@ {{data.name}} {{data.contactsName}} {{data.contactsTelephone}} + {{data.status | dictionary : 'AGENT_STATUS'}} {{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}} @@ -86,6 +88,8 @@
  • 余额充值
  • 动账记录
  • 接入参数
  • +
  • 禁用账户
  • +
  • 恢复账户
  • diff --git a/src/app/pages/agent/agent-list/agent-list.component.ts b/src/app/pages/agent/agent-list/agent-list.component.ts index 5e00e6b..9b94e97 100644 --- a/src/app/pages/agent/agent-list/agent-list.component.ts +++ b/src/app/pages/agent/agent-list/agent-list.component.ts @@ -388,4 +388,45 @@ export class AgentListComponent { closeRecord() { this.agentApiRecordModal = false; } + + /** + * 恢复 + */ + enable(agentNo: string) { + this.modal.confirm({ + nzTitle: '提示', + nzContent: '确定启用账户吗?', + nzOnOk: () => + this.agentService.enable({agentNo: agentNo}, (data: any) => { + if (data['return_code'] == '000000') { + // 刷新数据 + this.queryData(); + this.message.create('success', '操作成功'); + } else { + this.message.create('error', data['return_msg']); + } + }) + }); + } + + /** + * 禁用 + */ + disabled(agentNo: string) { + this.modal.confirm({ + nzTitle: '提示', + nzContent: '确定禁用账户吗?', + nzOnOk: () => + this.agentService.disable({agentNo: agentNo}, (data: any) => { + if (data['return_code'] == '000000') { + // 刷新数据 + this.queryData(); + this.message.create('success', '操作成功'); + } else { + this.message.create('error', data['return_msg']); + } + }) + }); + } + } diff --git a/src/app/pages/cms/cms-list/cms-list.component.html b/src/app/pages/cms/cms-list/cms-list.component.html index da0679e..2dd389a 100644 --- a/src/app/pages/cms/cms-list/cms-list.component.html +++ b/src/app/pages/cms/cms-list/cms-list.component.html @@ -37,7 +37,7 @@ 跳转地址 图片 状态 + 定时上线时间 + 定时下线时间 创建时间 操作 @@ -70,6 +72,8 @@ {{data.jumpUrl}} {{data.status | dictionary : 'CMS_STATUS'}} + {{data.startTime | date : 'yyyy-MM-dd HH:mm:ss'}} + {{data.endTime | date : 'yyyy-MM-dd HH:mm:ss'}} {{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}} @@ -144,6 +148,20 @@ + + 定时上线时间 + + + + + + + 定时下线时间 + + + + +
    diff --git a/src/app/pages/cms/cms-list/cms-list.component.less b/src/app/pages/cms/cms-list/cms-list.component.less index 8654bcc..91e13b5 100644 --- a/src/app/pages/cms/cms-list/cms-list.component.less +++ b/src/app/pages/cms/cms-list/cms-list.component.less @@ -7,3 +7,6 @@ nz-date-picker { .submit-btn { width: 150px; } +nz-range-picker { + width: 100%; +} diff --git a/src/app/pages/cms/cms-list/cms-list.component.ts b/src/app/pages/cms/cms-list/cms-list.component.ts index 555c640..0fc27a1 100644 --- a/src/app/pages/cms/cms-list/cms-list.component.ts +++ b/src/app/pages/cms/cms-list/cms-list.component.ts @@ -129,6 +129,8 @@ export class CmsListComponent { imgUrl: ['', [Validators.required]], jumpType: [''], jumpUrl: [''], + startTime: [''], + endTime: [''], }); // 查询数据 this.queryData(); diff --git a/src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.html b/src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.html new file mode 100644 index 0000000..1018b03 --- /dev/null +++ b/src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.html @@ -0,0 +1,84 @@ + + + + + +
    +
    +
    + + 时间 + + + + + + + +
    +
    + + 用户手机号 + + + + +
    +
    + + + + + + +
    +
    +
    + + + + + 用户手机号 + 提现金额 + 提现前余额 + 提现后余额 + 来源内容 + 创建时间 + + + + + + {{data.userPhone}} + ¥{{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-withdraw-record/spread-user-withdraw-record.component.less b/src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.less new file mode 100644 index 0000000..e69de29 diff --git a/src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.ts b/src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.ts new file mode 100644 index 0000000..42eb4ab --- /dev/null +++ b/src/app/pages/spread/spread-user-withdraw-record/spread-user-withdraw-record.component.ts @@ -0,0 +1,200 @@ +import {Component, Input} from '@angular/core'; +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 {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 {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, NzDatePickerModule} from "ng-zorro-antd/date-picker"; +import {NzInputNumberModule} from "ng-zorro-antd/input-number"; +import {WeekPipe} from "../../../pipes/common/week.pipe"; +import {NzStatisticModule} from "ng-zorro-antd/statistic"; +import {NzRadioModule} from "ng-zorro-antd/radio"; + +@Component({ + selector: 'app-spread-user-withdraw-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-withdraw-record.component.html', + styleUrl: './spread-user-withdraw-record.component.less' +}) +export class SpreadUserWithdrawRecordComponent { + // 表单页数 + tablePageNum = 1; + // 每页数量 + tablePageSize = 10; + // 表单数据 + tableData: any = []; + // 搜索表单 + searchForm: FormGroup; + // 时间快速选择项 + dateTypeSelect = DateSelectType; + // 记录金额 + countRecordAmount = 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({ + userPhone: [null], + sourceType: ['2'], + createTimeSelect: ['1'], + createTimeArray: [[]], + createTimeS: [null], + createTimeE: [null], + }); + // 初始化创建时间 + this.payTimeInit(); + // 统计数据 + this.queryCount(); + // 记录数据 + 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]); + } + } + + /** + * 获取数据 + */ + queryCount() { + 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.sourceType = 2; + this.searchForm.value.pageNum = this.tablePageNum; + this.searchForm.value.pageSize = this.tablePageSize; + this.searchForm.value.time = new Date().getTime(); + this.spreadUserService.countRecordAmount(this.searchForm.value, (data: any) => { + if (data['return_code'] == '000000') { + this.countRecordAmount = 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.sourceType = 2; + 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.queryCount(); + // 记录数据 + this.queryData(); + } + + /** + * 搜索表单重置 + */ + searchFormReset(): void { + this.searchForm.reset(); + } +} diff --git a/src/app/pages/spread/spread.routes.ts b/src/app/pages/spread/spread.routes.ts index 15dc7bf..881d997 100644 --- a/src/app/pages/spread/spread.routes.ts +++ b/src/app/pages/spread/spread.routes.ts @@ -3,10 +3,12 @@ import {SpreadUserListComponent} from "./spread-user-list/spread-user-list.compo 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"; +import {SpreadUserWithdrawRecordComponent} from "./spread-user-withdraw-record/spread-user-withdraw-record.component"; export const SPREAD_ROUTES: Routes = [ { path : 'user-list', component: SpreadUserListComponent }, { path : 'user-commission', component: SpreadCommissionComponent }, { path : 'channel-config', component: SpreadChannelConfigComponent }, + { path : 'withdraw-list', component: SpreadUserWithdrawRecordComponent }, ]; diff --git a/src/app/services/agent/agent.service.ts b/src/app/services/agent/agent.service.ts index d6ed983..3ff40a5 100644 --- a/src/app/services/agent/agent.service.ts +++ b/src/app/services/agent/agent.service.ts @@ -57,4 +57,28 @@ export class AgentService { callBack(data); }); } + + /** + * 禁用 + * @param param + * @param callBack + */ + public disable(param: any, callBack:any) { + param.tm = new Date().getTime(); + this.http.post(environment.baseUrl + 'agent/disable', param).subscribe(data => { + callBack(data); + }); + } + + /** + * 启用 + * @param param + * @param callBack + */ + public enable(param: any, callBack:any) { + param.tm = new Date().getTime(); + this.http.post(environment.baseUrl + 'agent/enable', param).subscribe(data => { + callBack(data); + }); + } } diff --git a/src/app/services/spread/spread-user.service.ts b/src/app/services/spread/spread-user.service.ts index fafb89f..0a5b4e4 100644 --- a/src/app/services/spread/spread-user.service.ts +++ b/src/app/services/spread/spread-user.service.ts @@ -67,6 +67,18 @@ export class SpreadUserService { callBack(data); }); } + + /** + * 统计记录金额 + * @param params + * @param callBack + */ + public countRecordAmount(params: any, callBack:any) { + this.http.get(environment.baseUrl + 'userSpread/countRecordAmount?'+ObjectData.objectByString(params)).subscribe(data => { + callBack(data); + }); + } + /** * 查询推广订单 * @param params