前端【新增】完善用户提现前端领取金额的处理。

This commit is contained in:
jianweie code
2025-07-29 17:55:49 +08:00
parent c8b4bbd78d
commit 820d1a85cb
14 changed files with 373 additions and 219 deletions

View File

@@ -8382,6 +8382,11 @@
反馈结果 反馈结果
</summary> </summary>
</member> </member>
<member name="P:CoreCms.Net.Model.Entities.CoreCmsUserTocash.needUserGet">
<summary>
需要用户领取
</summary>
</member>
<member name="P:CoreCms.Net.Model.Entities.CoreCmsUserTocash.statusName"> <member name="P:CoreCms.Net.Model.Entities.CoreCmsUserTocash.statusName">
<summary> <summary>
状态说明 状态说明

View File

@@ -1,10 +1,10 @@
/*********************************************************************** /***********************************************************************
* Project: CoreCms * Project: CoreCms
* ProjectName: 核心内容管理系统 * ProjectName: 核心内容管理系统
* Web: https://www.corecms.net * Web: https://www.corecms.net
* Author: 大灰灰 * Author: 大灰灰
* Email: jianweie@163.com * Email: jianweie@163.com
* CreateTime: 2022/7/4 23:39:39 * CreateTime: 2025/7/29 16:51:40
* Description: 暂无 * Description: 暂无
***********************************************************************/ ***********************************************************************/
@@ -32,142 +32,115 @@ namespace CoreCms.Net.Model.Entities
[Display(Name = "id")] [Display(Name = "id")]
[SugarColumn(IsPrimaryKey = true, IsIdentity = true)] [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
[Required(ErrorMessage = "请输入{0}")] [Required(ErrorMessage = "请输入{0}")]
public System.Int32 id { get; set; } public System.Int32 id { get; set; }
/// <summary> /// <summary>
/// 用户ID /// 用户ID
/// </summary> /// </summary>
[Display(Name = "用户ID")] [Display(Name = "用户ID")]
[Required(ErrorMessage = "请输入{0}")] [Required(ErrorMessage = "请输入{0}")]
public System.Int32 userId { get; set; } public System.Int32 userId { get; set; }
/// <summary> /// <summary>
/// 提现金额 /// 提现金额
/// </summary> /// </summary>
[Display(Name = "提现金额")] [Display(Name = "提现金额")]
[Required(ErrorMessage = "请输入{0}")] [Required(ErrorMessage = "请输入{0}")]
public System.Decimal money { get; set; } public System.Decimal money { get; set; }
/// <summary> /// <summary>
/// 银行名称 /// 银行名称
/// </summary> /// </summary>
[Display(Name = "银行名称")] [Display(Name = "银行名称")]
[StringLength(maximumLength: 60, ErrorMessage = "{0}不能超过{1}字")] [StringLength(maximumLength: 60, ErrorMessage = "{0}不能超过{1}字")]
public System.String bankName { get; set; } public System.String bankName { get; set; }
/// <summary> /// <summary>
/// 银行缩写 /// 银行缩写
/// </summary> /// </summary>
[Display(Name = "银行缩写")] [Display(Name = "银行缩写")]
[StringLength(maximumLength: 12, ErrorMessage = "{0}不能超过{1}字")] [StringLength(maximumLength: 12, ErrorMessage = "{0}不能超过{1}字")]
public System.String bankCode { get; set; } public System.String bankCode { get; set; }
/// <summary> /// <summary>
/// 账号地区ID /// 账号地区ID
/// </summary> /// </summary>
[Display(Name = "账号地区ID")] [Display(Name = "账号地区ID")]
public System.Int32? bankAreaId { get; set; } public System.Int32? bankAreaId { get; set; }
/// <summary> /// <summary>
/// 开户行 /// 开户行
/// </summary> /// </summary>
[Display(Name = "开户行")] [Display(Name = "开户行")]
[StringLength(maximumLength: 255, ErrorMessage = "{0}不能超过{1}字")] [StringLength(maximumLength: 255, ErrorMessage = "{0}不能超过{1}字")]
public System.String accountBank { get; set; } public System.String accountBank { get; set; }
/// <summary> /// <summary>
/// 账户名 /// 账户名
/// </summary> /// </summary>
[Display(Name = "账户名")] [Display(Name = "账户名")]
[StringLength(maximumLength: 60, ErrorMessage = "{0}不能超过{1}字")] [StringLength(maximumLength: 60, ErrorMessage = "{0}不能超过{1}字")]
public System.String accountName { get; set; } public System.String accountName { get; set; }
/// <summary> /// <summary>
/// 卡号 /// 卡号
/// </summary> /// </summary>
[Display(Name = "卡号")] [Display(Name = "卡号")]
[StringLength(maximumLength: 30, ErrorMessage = "{0}不能超过{1}字")] [StringLength(maximumLength: 30, ErrorMessage = "{0}不能超过{1}字")]
public System.String cardNumber { get; set; } public System.String cardNumber { get; set; }
/// <summary> /// <summary>
/// 提现服务费 /// 提现服务费
/// </summary> /// </summary>
[Display(Name = "提现服务费")] [Display(Name = "提现服务费")]
[Required(ErrorMessage = "请输入{0}")] [Required(ErrorMessage = "请输入{0}")]
public System.Decimal withdrawals { get; set; } public System.Decimal withdrawals { get; set; }
/// <summary> /// <summary>
/// 提现状态 /// 提现状态
/// </summary> /// </summary>
[Display(Name = "提现状态")] [Display(Name = "提现状态")]
[Required(ErrorMessage = "请输入{0}")] [Required(ErrorMessage = "请输入{0}")]
public System.Int32 status { get; set; } public System.Int32 status { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
[Display(Name = "创建时间")] [Display(Name = "创建时间")]
[Required(ErrorMessage = "请输入{0}")] [Required(ErrorMessage = "请输入{0}")]
public System.DateTime createTime { get; set; } public System.DateTime createTime { get; set; }
/// <summary> /// <summary>
/// 更新时间 /// 更新时间
/// </summary> /// </summary>
[Display(Name = "更新时间")] [Display(Name = "更新时间")]
public System.DateTime? updateTime { get; set; } public System.DateTime? updateTime { get; set; }
/// <summary> /// <summary>
/// 提现方式 /// 提现方式
/// </summary> /// </summary>
[Display(Name = "提现方式")] [Display(Name = "提现方式")]
[Required(ErrorMessage = "请输入{0}")] [Required(ErrorMessage = "请输入{0}")]
public System.Int32 type { get; set; } public System.Int32 type { get; set; }
/// <summary> /// <summary>
/// 反馈结果 /// 反馈结果
/// </summary> /// </summary>
[Display(Name = "反馈结果")] [Display(Name = "反馈结果")]
[StringLength(maximumLength: 100, ErrorMessage = "{0}不能超过{1}字")]
[StringLength(maximumLength: 1000, ErrorMessage = "{0}不能超过{1}字")]
public System.String message { get; set; } public System.String message { get; set; }
/// <summary>
/// 需要用户领取
/// </summary>
[Display(Name = "需要用户领取")]
[Required(ErrorMessage = "请输入{0}")]
public System.Boolean needUserGet { get; set; }
} }
} }

View File

@@ -32,5 +32,12 @@ namespace CoreCms.Net.Model.Entities
[Display(Name = "用户昵称")] [Display(Name = "用户昵称")]
[SugarColumn(IsIgnore = true)] [SugarColumn(IsIgnore = true)]
public string userNickName { get; set; } public string userNickName { get; set; }
/// <summary>
/// 商家转账反馈数据
/// </summary>
[Display(Name = "商家转账反馈数据")]
[SugarColumn(IsIgnore = true)]
public object merchantTransferData { get; set; }
} }
} }

View File

@@ -69,7 +69,8 @@ namespace CoreCms.Net.Repository
updateTime = p.updateTime, updateTime = p.updateTime,
userNickName = sc.nickName, userNickName = sc.nickName,
type = p.type, type = p.type,
message = p.message message = p.message,
needUserGet = p.needUserGet
}) })
.With(SqlWith.NoLock) .With(SqlWith.NoLock)
.MergeTable() .MergeTable()
@@ -96,7 +97,8 @@ namespace CoreCms.Net.Repository
updateTime = p.updateTime, updateTime = p.updateTime,
userNickName = sc.nickName, userNickName = sc.nickName,
type = p.type, type = p.type,
message = p.message message = p.message,
needUserGet = p.needUserGet
}) })
.MergeTable() .MergeTable()
.OrderByIF(orderByExpression != null, orderByExpression, orderByType) .OrderByIF(orderByExpression != null, orderByExpression, orderByType)

View File

@@ -173,6 +173,7 @@ namespace CoreCms.Net.Services
cashModel.withdrawals = cateMoney; cashModel.withdrawals = cateMoney;
cashModel.createTime = DateTime.Now; cashModel.createTime = DateTime.Now;
cashModel.type = (int)GlobalEnumVars.UserTocashType.线; cashModel.type = (int)GlobalEnumVars.UserTocashType.线;
cashModel.needUserGet = false;
var res = await _dal.InsertAsync(cashModel); var res = await _dal.InsertAsync(cashModel);
if (res > 0) if (res > 0)
@@ -203,6 +204,9 @@ namespace CoreCms.Net.Services
public async Task<WebApiCallBack> UserToCashList(int userId = 0, int page = 1, int limit = 10, int status = 0) public async Task<WebApiCallBack> UserToCashList(int userId = 0, int page = 1, int limit = 10, int status = 0)
{ {
var jm = new WebApiCallBack(); var jm = new WebApiCallBack();
using var container = _serviceProvider.CreateScope();
var weChatPayConfigServices = container.ServiceProvider.GetService<IWeChatPayConfigServices>();
var where = PredicateBuilder.True<CoreCmsUserTocash>(); var where = PredicateBuilder.True<CoreCmsUserTocash>();
if (status > 0) if (status > 0)
@@ -216,12 +220,27 @@ namespace CoreCms.Net.Services
var list = await _dal.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, page, limit); var list = await _dal.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, page, limit);
if (list.Any()) if (list.Any())
{ {
//获取商家转账的初始数据
var payConfig = await weChatPayConfigServices.QueryByClauseAsync(p =>
p.isDefault == true && p.isEnable == true &&
p.appType == nameof(GlobalEnumVars.WeiChatPayTradeType.JSAPI));
foreach (var item in list) foreach (var item in list)
{ {
item.statusName = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.UserTocashStatus>(item.status); item.statusName = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.UserTocashStatus>(item.status);
item.cardNumber = UserHelper.BankCardNoFormat(item.cardNumber); item.cardNumber = UserHelper.BankCardNoFormat(item.cardNumber);
if (item.type == (int)GlobalEnumVars.UserTocashType. && item.needUserGet)
{
item.merchantTransferData = new
{
payConfig.appId,
payConfig.mchId
};
}
} }
} }
jm.status = true; jm.status = true;
jm.data = list; jm.data = list;
jm.otherData = new jm.otherData = new
@@ -591,7 +610,9 @@ namespace CoreCms.Net.Services
response response
}); });
var bl = await _dal.UpdateAsync(p => new CoreCmsUserTocash() { status = status, updateTime = DateTime.Now, message = message, type = type }, p => p.id == id && (p.status == (int)GlobalEnumVars.UserTocashStatus. || p.status == (int)GlobalEnumVars.UserTocashStatus.)); bool needUserGet = response.State == "WAIT_USER_CONFIRM";
var bl = await _dal.UpdateAsync(p => new CoreCmsUserTocash() { status = status, updateTime = DateTime.Now, message = message, type = type, needUserGet = needUserGet }, p => p.id == id && (p.status == (int)GlobalEnumVars.UserTocashStatus. || p.status == (int)GlobalEnumVars.UserTocashStatus.));
NLogUtil.WriteAll(LogLevel.Trace, LogType.Refund, "微信提现商家转账回调(成功)", JsonConvert.SerializeObject(new NLogUtil.WriteAll(LogLevel.Trace, LogType.Refund, "微信提现商家转账回调(成功)", JsonConvert.SerializeObject(new
{ {

View File

@@ -80,4 +80,17 @@ export enum ServiceCardStatusEnum {
nullify = 2, nullify = 2,
/** 已核销 */ /** 已核销 */
verified = 3, verified = 3,
}
export enum UserTocashType {
/** 银行线下转账 */
offlineBankTransfer = 0,
/** 企业付款到零钱 */
enterprisePaymentToChange = 1,
/** 企业付款到银行卡 */
enterprisePaymentTobankcard = 2,
/** 商家转账到零钱 */
merchantsTransferMoneyToChange = 3,
/** 商家转账 */
merchantTransfer = 4,
} }

View File

@@ -47,4 +47,5 @@ export interface CashType {
userId ?: number; userId ?: number;
userNickName ?: string; userNickName ?: string;
withdrawals ?: number; withdrawals ?: number;
needUserGet?:boolean;
} }

View File

@@ -57,6 +57,13 @@
.date { .date {
margin-top: 10rpx; margin-top: 10rpx;
} }
.btn{
padding: 10rpx 20rpx;
font-size: 27rpx;
color: #fff;
background-color: #d33123;
border-radius: 10rpx;
}
} }
} }
} }

View File

@@ -1,115 +1,174 @@
<template> <template>
<coreshop-page title="提现明细" mode="left"> <coreshop-page title="提现明细" mode="left">
<view class="box"> <view class="box">
<view class="select-box" :style="{'top':`${statusBarHeight}px`}" @click="onSelectFilterType"> <view class="select-box" :style="{'top':`${statusBarHeight}px`}" @click="onSelectFilterType">
<view class="name">筛选类型:</view> <view class="name">筛选类型:</view>
<view class="selected"> <view class="selected">
<text class="tit">{{state.selectFilterType}}</text> <text class="tit">{{state.selectFilterType}}</text>
<uv-icon name="arrow-down"></uv-icon> <uv-icon name="arrow-down"></uv-icon>
</view> </view>
</view> </view>
<uv-picker ref="balanceFilterTypePickerRef" confirmColor="#D33123" :columns="state.balanceFilterTypes" <uv-picker ref="balanceFilterTypePickerRef" confirmColor="#D33123" :columns="state.balanceFilterTypes"
@confirm="onConfirm"></uv-picker> @confirm="onConfirm"></uv-picker>
<view class="list" v-if="state.list.length > 0"> <view class="list" v-if="state.list.length > 0">
<view class="item" v-for="item in state.list" :key="item.id"> <view class="item" v-for="item in state.list" :key="item.id">
<view class="header"> <view class="header">
<view class="type">{{item.statusName}}</view> <view class="type">{{item.statusName}}</view>
<view class="remain">提现金额{{item.money}}</view> <view class="remain">提现金额{{item.money}}</view>
</view> </view>
<view class="withdraw_box"> <view class="withdraw_box">
<view class="withdraw"> <view class="withdraw">
<view class="money">提现卡号</view> <view class="money">提现卡号</view>
<view class="date">{{item.cardNumber}}</view> <view class="date">{{item.cardNumber}}</view>
</view> </view>
<view class="date"> <view class="date">
<view class="money">提现时间</view> <view class="money">提现时间</view>
<view class="date">{{item.createTime}}</view> <view class="date">{{item.createTime}}</view>
</view> </view>
</view> <view class="date">
</view> <view class="money">提现方式</view>
<view class="no-data" v-if="state.page === state.totalPages">没有更多了</view> <view class="date">
</view> {{ getUserTocashType(item.type) }}
<view v-else class="layout-empty-box"> </view>
<coreshop-empty :mode="EmptyEnum.history" text="暂无数据"></coreshop-empty> </view>
</view> <view class="date" v-if="item.needUserGet && item.type == UserTocashType.merchantTransfer">
<view>
<!-- 您已领取到微信余额 -->
</view>
<view class="btn" @click="handlerReceiveWeChat(item)">领取到微信零钱</view>
</view>
</view>
</view>
<view class="no-data" v-if="state.page === state.totalPages">没有更多了</view>
</view>
<view v-else class="layout-empty-box">
<coreshop-empty :mode="EmptyEnum.history" text="暂无数据"></coreshop-empty>
</view>
</view> </view>
</coreshop-page> </coreshop-page>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { reactive, ref } from "vue"; import { reactive, ref } from "vue";
import { onLoad, onReachBottom } from '@dcloudio/uni-app'; import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { queryCashList } from '@/core/api'; import { queryCashList } from '@/core/api';
import type { Response, CashType } from '@/core/models'; import type { Response, CashType } from '@/core/models';
import { handleShowToast } from '@/core/utils'; import { handleShowToast } from '@/core/utils';
import { EmptyEnum } from '@/core/enum'; import { EmptyEnum, UserTocashType } from '@/core/enum';
import { useSystemInfo } from '@/core/hooks'; import { useSystemInfo } from '@/core/hooks';
// 获取自定义导航栏高度 // 获取自定义导航栏高度
const { statusBarHeight } = useSystemInfo(); const { statusBarHeight } = useSystemInfo();
const balanceFilterTypePickerRef = ref(); const balanceFilterTypePickerRef = ref();
const state = reactive<{ const state = reactive<{
balanceFilterTypes : Array<Array<string>>; balanceFilterTypes : Array<Array<string>>;
selectFilterType : string; selectFilterType : string;
id : number; id : number;
page : number; page : number;
limit : number; limit : number;
list : Array<CashType>; list : Array<CashType>;
totalPages : number; totalPages : number;
}>({ }>({
balanceFilterTypes: [['全部', '待审核', '提现成功', '提现失败']], balanceFilterTypes: [['全部', '待审核', '提现成功', '提现失败']],
selectFilterType: '全部', selectFilterType: '全部',
id: 0, id: 0,
page: 1, page: 1,
limit: 10, limit: 10,
list: [], list: [],
totalPages: 1, totalPages: 1,
}) })
onLoad(() => { onLoad(() => {
getCashList(); getCashList();
}); });
onReachBottom(() => { onReachBottom(() => {
if (state.totalPages > state.page) { if (state.totalPages > state.page) {
state.page++; state.page++;
getCashList(); getCashList();
} }
}); });
/** 用户提现列表 */ /** 用户提现列表 */
const getCashList = async () => { const getCashList = async () => {
const cashList : Response<Array<CashType>> = await queryCashList({ const cashList : Response<Array<CashType>> = await queryCashList({
id: state.id, id: state.id,
page: state.page, page: state.page,
limit: state.limit, limit: state.limit,
}); });
if (cashList.status) { if (cashList.status) {
state.totalPages = cashList?.otherData?.totalPages; state.totalPages = cashList?.otherData?.totalPages;
state.list = state.list.concat(cashList.data); state.list = state.list.concat(cashList.data);
} else { } else {
handleShowToast(cashList.msg) handleShowToast(cashList.msg)
} }
} }
const onSelectFilterType = () => { const onSelectFilterType = () => {
balanceFilterTypePickerRef.value?.open(); balanceFilterTypePickerRef.value?.open();
} }
const onConfirm = ({ indexs, value }) => { const onConfirm = ({ indexs, value }) => {
state.id = indexs[0]; state.id = indexs[0];
state.selectFilterType = value?.[0]; state.selectFilterType = value?.[0];
state.list = []; state.list = [];
state.page = 1; state.page = 1;
getCashList(); getCashList();
} }
/* 提现方式 */
const getUserTocashType = (type : number) => {
switch (type) {
case UserTocashType.offlineBankTransfer:
return '银行线下转账';
case UserTocashType.enterprisePaymentToChange:
return '企业付款到零钱';
case UserTocashType.enterprisePaymentTobankcard:
return '企业付款到银行卡';
case UserTocashType.merchantsTransferMoneyToChange:
return '商家转账到零钱';
case UserTocashType.merchantTransfer:
return '商家转账';
default:
break;
}
}
const handlerReceiveWeChat = (item:any) => {
// #ifdef MP-WEIXIN
let message = JSON.parse(item.message);
if(message.response.state != 'WAIT_USER_CONFIRM'){
return ;
}
if (wx.canIUse('requestMerchantTransfer')) {
wx.requestMerchantTransfer({
mchId: item.merchantTransferData.mchId,
appId: item.merchantTransferData.appId,
package: message.response.package_info,
success: () => {
state.page = 1;
state.list = [];
getCashList();
},
fail: (res) => {
console.log('fail:', res);
},
});
} else {
wx.showModal({
content: '你的微信版本过低,请更新至最新版本。',
showCancel: false,
});
}
// #endif
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@import './index.scss'; @import './index.scss';
</style> </style>

View File

@@ -8,12 +8,6 @@
* Description: 暂无 * Description: 暂无
***********************************************************************/ ***********************************************************************/
using System;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
using CoreCms.Net.Configuration; using CoreCms.Net.Configuration;
using CoreCms.Net.Filter; using CoreCms.Net.Filter;
using CoreCms.Net.IServices; using CoreCms.Net.IServices;
@@ -22,6 +16,7 @@ using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression; using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody; using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI; using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Services;
using CoreCms.Net.Utility.Extensions; using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper; using CoreCms.Net.Utility.Helper;
using CoreCms.Net.Web.Admin.Infrastructure; using CoreCms.Net.Web.Admin.Infrastructure;
@@ -30,6 +25,12 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel; using NPOI.HSSF.UserModel;
using SqlSugar; using SqlSugar;
using System;
using System.ComponentModel;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Threading.Tasks;
namespace CoreCms.Net.Web.Admin.Controllers namespace CoreCms.Net.Web.Admin.Controllers
{ {
@@ -60,10 +61,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
} }
#region ============================================================ #region ============================================================
// POST: Api/CoreCmsUserTocash/GetPageList // POST: Api/CoreCmsUserTocash/GetPageList
/// <summary> /// <summary>
/// 获取列表 /// 获取列表
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
@@ -76,52 +76,27 @@ namespace CoreCms.Net.Web.Admin.Controllers
var where = PredicateBuilder.True<CoreCmsUserTocash>(); var where = PredicateBuilder.True<CoreCmsUserTocash>();
//获取排序字段 //获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault(); var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsUserTocash, object>> orderEx;
switch (orderField) Expression<Func<CoreCmsUserTocash, object>> orderEx = orderField switch
{ {
case "id": "id" => p => p.id,
orderEx = p => p.id; "userId" => p => p.userId,
break; "money" => p => p.money,
case "userId": "bankName" => p => p.bankName,
orderEx = p => p.userId; "bankCode" => p => p.bankCode,
break; "bankAreaId" => p => p.bankAreaId,
case "money": "accountBank" => p => p.accountBank,
orderEx = p => p.money; "accountName" => p => p.accountName,
break; "cardNumber" => p => p.cardNumber,
case "bankName": "withdrawals" => p => p.withdrawals,
orderEx = p => p.bankName; "status" => p => p.status,
break; "createTime" => p => p.createTime,
case "bankCode": "updateTime" => p => p.updateTime,
orderEx = p => p.bankCode; "type" => p => p.type,
break; "message" => p => p.message,
case "bankAreaId": "needUserGet" => p => p.needUserGet,
orderEx = p => p.bankAreaId; _ => p => p.id
break; };
case "accountBank":
orderEx = p => p.accountBank;
break;
case "accountName":
orderEx = p => p.accountName;
break;
case "cardNumber":
orderEx = p => p.cardNumber;
break;
case "withdrawals":
orderEx = p => p.withdrawals;
break;
case "status":
orderEx = p => p.status;
break;
case "createTime":
orderEx = p => p.createTime;
break;
case "updateTime":
orderEx = p => p.updateTime;
break;
default:
orderEx = p => p.id;
break;
}
//设置排序方式 //设置排序方式
var orderDirection = Request.Form["orderDirection"].FirstOrDefault(); var orderDirection = Request.Form["orderDirection"].FirstOrDefault();
@@ -133,34 +108,72 @@ namespace CoreCms.Net.Web.Admin.Controllers
}; };
//查询筛选 //查询筛选
//ID号 int //id int
var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0); var id = Request.Form["id"].FirstOrDefault().ObjectToInt(0);
if (id > 0) @where = @where.And(p => p.id == id); if (id > 0)
{
where = where.And(p => p.id == id);
}
//用户ID int //用户ID int
var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0); var userId = Request.Form["userId"].FirstOrDefault().ObjectToInt(0);
if (userId > 0) @where = @where.And(p => p.userId == userId); if (userId > 0)
{
where = where.And(p => p.userId == userId);
}
//提现金额 decimal
var money = Request.Form["money"].FirstOrDefault().ObjectToDecimal(0);
if (money > 0)
{
where = where.And(p => p.money == money);
}
//银行名称 nvarchar //银行名称 nvarchar
var bankName = Request.Form["bankName"].FirstOrDefault(); var bankName = Request.Form["bankName"].FirstOrDefault();
if (!string.IsNullOrEmpty(bankName)) @where = @where.And(p => p.bankName.Contains(bankName)); if (!string.IsNullOrEmpty(bankName))
{
where = where.And(p => p.bankName.Contains(bankName));
}
//银行缩写 nvarchar //银行缩写 nvarchar
var bankCode = Request.Form["bankCode"].FirstOrDefault(); var bankCode = Request.Form["bankCode"].FirstOrDefault();
if (!string.IsNullOrEmpty(bankCode)) @where = @where.And(p => p.bankCode.Contains(bankCode)); if (!string.IsNullOrEmpty(bankCode))
{
where = where.And(p => p.bankCode.Contains(bankCode));
}
//账号地区ID int //账号地区ID int
var bankAreaId = Request.Form["bankAreaId"].FirstOrDefault().ObjectToInt(0); var bankAreaId = Request.Form["bankAreaId"].FirstOrDefault().ObjectToInt(0);
if (bankAreaId > 0) @where = @where.And(p => p.bankAreaId == bankAreaId); if (bankAreaId > 0)
{
where = where.And(p => p.bankAreaId == bankAreaId);
}
//开户行 nvarchar //开户行 nvarchar
var accountBank = Request.Form["accountBank"].FirstOrDefault(); var accountBank = Request.Form["accountBank"].FirstOrDefault();
if (!string.IsNullOrEmpty(accountBank)) @where = @where.And(p => p.accountBank.Contains(accountBank)); if (!string.IsNullOrEmpty(accountBank))
{
where = where.And(p => p.accountBank.Contains(accountBank));
}
//账户名 nvarchar //账户名 nvarchar
var accountName = Request.Form["accountName"].FirstOrDefault(); var accountName = Request.Form["accountName"].FirstOrDefault();
if (!string.IsNullOrEmpty(accountName)) @where = @where.And(p => p.accountName.Contains(accountName)); if (!string.IsNullOrEmpty(accountName))
{
where = where.And(p => p.accountName.Contains(accountName));
}
//卡号 nvarchar //卡号 nvarchar
var cardNumber = Request.Form["cardNumber"].FirstOrDefault(); var cardNumber = Request.Form["cardNumber"].FirstOrDefault();
if (!string.IsNullOrEmpty(cardNumber)) @where = @where.And(p => p.cardNumber.Contains(cardNumber)); if (!string.IsNullOrEmpty(cardNumber))
{
where = where.And(p => p.cardNumber.Contains(cardNumber));
}
//提现服务费 decimal
var withdrawals = Request.Form["withdrawals"].FirstOrDefault().ObjectToDecimal(0);
if (withdrawals > 0)
{
where = where.And(p => p.withdrawals == withdrawals);
}
//提现状态 int //提现状态 int
var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0); var status = Request.Form["status"].FirstOrDefault().ObjectToInt(0);
if (status > 0) @where = @where.And(p => p.status == status); if (status > 0)
{
where = where.And(p => p.status == status);
}
//创建时间 datetime //创建时间 datetime
var createTime = Request.Form["createTime"].FirstOrDefault(); var createTime = Request.Form["createTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(createTime)) if (!string.IsNullOrEmpty(createTime))
@@ -179,7 +192,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
where = where.And(p => p.createTime > dt); where = where.And(p => p.createTime > dt);
} }
} }
//更新时间 datetime //更新时间 datetime
var updateTime = Request.Form["updateTime"].FirstOrDefault(); var updateTime = Request.Form["updateTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(updateTime)) if (!string.IsNullOrEmpty(updateTime))
@@ -198,10 +210,28 @@ namespace CoreCms.Net.Web.Admin.Controllers
where = where.And(p => p.updateTime > dt); where = where.And(p => p.updateTime > dt);
} }
} }
//提现状态 int //提现方式 int
var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0); var type = Request.Form["type"].FirstOrDefault().ObjectToInt(0);
if (type > 0) @where = @where.And(p => p.type == type); if (type > 0)
{
where = where.And(p => p.type == type);
}
//反馈结果 nvarchar
var message = Request.Form["message"].FirstOrDefault();
if (!string.IsNullOrEmpty(message))
{
where = where.And(p => p.message.Contains(message));
}
//需要用户领取 bit
var needUserGet = Request.Form["needUserGet"].FirstOrDefault();
if (!string.IsNullOrEmpty(needUserGet) && needUserGet.ToLowerInvariant() == "true")
{
where = where.And(p => p.needUserGet == true);
}
else if (!string.IsNullOrEmpty(needUserGet) && needUserGet.ToLowerInvariant() == "false")
{
where = where.And(p => p.needUserGet == false);
}
//获取数据 //获取数据
var list = await _coreCmsUserTocashServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true); var list = await _coreCmsUserTocashServices.QueryPageAsync(where, orderEx, orderBy, pageCurrent, pageSize, true);
//返回数据 //返回数据
@@ -211,9 +241,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
jm.msg = "数据调用成功!"; jm.msg = "数据调用成功!";
return jm; return jm;
} }
#endregion #endregion
#region ============================================================ #region ============================================================
// POST: Api/CoreCmsUserTocash/GetIndex // POST: Api/CoreCmsUserTocash/GetIndex
@@ -276,7 +306,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
} }
#endregion #endregion
#region ============================================================ #region ============================================================
// POST: Api/CoreCmsUser/DoSetisDelete/10 // POST: Api/CoreCmsUser/DoSetisDelete/10
@@ -308,8 +337,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
#endregion #endregion
#region ============================================================ #region ============================================================
// POST: Api/CoreCmsUserTocash/GetDetails/10 // POST: Api/CoreCmsUserTocash/GetDetails/10
/// <summary> /// <summary>
@@ -345,7 +372,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
} }
#endregion #endregion
#region ============================================================ #region ============================================================
// POST: Api/CoreCmsUserTocash/SelectExportExcel/10 // POST: Api/CoreCmsUserTocash/SelectExportExcel/10

View File

@@ -5657,7 +5657,7 @@
</member> </member>
<member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsUserTocashController.GetPageList"> <member name="M:CoreCms.Net.Web.Admin.Controllers.CoreCmsUserTocashController.GetPageList">
<summary> <summary>
获取列表 获取列表
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>

View File

@@ -69,6 +69,15 @@
<input type="text" name="createTime" id="searchTime-CoreCmsUserTocash-createTime" placeholder="请输入起止时间" class="layui-input"> <input type="text" name="createTime" id="searchTime-CoreCmsUserTocash-createTime" placeholder="请输入起止时间" class="layui-input">
</div> </div>
</div> </div>
<div class="layui-inline">
<div class="layui-input-inline">
<select name="needUserGet">
<option value="">请选择需要用户领取</option>
<option value="True"></option>
<option value="False"></option>
</select>
</div>
</div>
<div class="layui-inline"> <div class="layui-inline">
<button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsUserTocash-search"><i class="layui-icon layui-icon-search"></i></button> <button class="layui-btn layui-btn-sm" lay-submit lay-filter="LAY-app-CoreCmsUserTocash-search"><i class="layui-icon layui-icon-search"></i></button>
<button class="layui-btn layui-btn-sm layui-btn-primary" lay-submit lay-filter="LAY-app-CoreCmsUserTocash-clearSearch"><i class="layui-icon layui-icon-delete"></i></button> <button class="layui-btn layui-btn-sm layui-btn-primary" lay-submit lay-filter="LAY-app-CoreCmsUserTocash-clearSearch"><i class="layui-icon layui-icon-delete"></i></button>
@@ -185,6 +194,7 @@
}, },
{ field: 'createTime', title: '创建时间', width: 130, sort: false }, { field: 'createTime', title: '创建时间', width: 130, sort: false },
{ field: 'updateTime', title: '更新时间', width: 130, sort: false }, { field: 'updateTime', title: '更新时间', width: 130, sort: false },
{ field: 'needUserGet', title: '等待用户领取', width: 95, templet: '#switch_needUserGet', sort: false, unresize: true },
{ width: 120, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsUserTocash-tableBox-bar' }, { width: 120, align: 'center', title: '操作', fixed: 'right', toolbar: '#LAY-app-CoreCmsUserTocash-tableBox-bar' },
{ field: 'message', title: '反馈信息', sort: false }, { field: 'message', title: '反馈信息', sort: false },
] ]
@@ -333,6 +343,28 @@
type: 'datetime', type: 'datetime',
range: '到', range: '到',
}); });
//监听 表格复选框操作
layui.form.on('switch(switch_needUserGet)', function (obj) {
coreHelper.Post("Api/CoreCmsUserTocash/DoSetneedUserGet", { id: this.value, data: obj.elem.checked }, function (e) {
if (debug) { console.log(e); } //开启调试返回数据
//table.reloadData('LAY-app-CoreCmsUserTocash-tableBox');
layer.msg(e.msg);
});
});
//重载form
form.render();
}); });
}; };
</script> </script>
<!--设置需要用户领取-->
<script type="text/html" id="switch_needUserGet">
<input type="checkbox" name="switch_needUserGet" value="{{d.id}}" disabled="disabled" lay-skin="switch" lay-text="是否" lay-filter="switch_needUserGet" {{ d.needUserGet ? 'checked' : '' }}>
</script>

View File

@@ -181,6 +181,14 @@ namespace CoreCms.Net.Web.WebApi.Controllers.PayNotify
await _userTocashWeChatNotifyServices.InsertAsync(log); await _userTocashWeChatNotifyServices.InsertAsync(log);
if (entity.event_type== "MCHTRANSFER.BILL.FINISHED")
{
}
return NoContent(); return NoContent();
} }
catch (Exception ex) catch (Exception ex)