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

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>
</member>
<member name="P:CoreCms.Net.Model.Entities.CoreCmsUserTocash.needUserGet">
<summary>
需要用户领取
</summary>
</member>
<member name="P:CoreCms.Net.Model.Entities.CoreCmsUserTocash.statusName">
<summary>
状态说明

View File

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

View File

@@ -173,6 +173,7 @@ namespace CoreCms.Net.Services
cashModel.withdrawals = cateMoney;
cashModel.createTime = DateTime.Now;
cashModel.type = (int)GlobalEnumVars.UserTocashType.线;
cashModel.needUserGet = false;
var res = await _dal.InsertAsync(cashModel);
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)
{
var jm = new WebApiCallBack();
using var container = _serviceProvider.CreateScope();
var weChatPayConfigServices = container.ServiceProvider.GetService<IWeChatPayConfigServices>();
var where = PredicateBuilder.True<CoreCmsUserTocash>();
if (status > 0)
@@ -216,12 +220,27 @@ namespace CoreCms.Net.Services
var list = await _dal.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, page, limit);
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)
{
item.statusName = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.UserTocashStatus>(item.status);
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.data = list;
jm.otherData = new
@@ -591,7 +610,9 @@ namespace CoreCms.Net.Services
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
{

View File

@@ -80,4 +80,17 @@ export enum ServiceCardStatusEnum {
nullify = 2,
/** 已核销 */
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;
userNickName ?: string;
withdrawals ?: number;
needUserGet?:boolean;
}

View File

@@ -57,6 +57,13 @@
.date {
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>
<coreshop-page title="提现明细" mode="left">
<view class="box">
<view class="select-box" :style="{'top':`${statusBarHeight}px`}" @click="onSelectFilterType">
<view class="name">筛选类型:</view>
<view class="selected">
<text class="tit">{{state.selectFilterType}}</text>
<uv-icon name="arrow-down"></uv-icon>
</view>
</view>
<coreshop-page title="提现明细" mode="left">
<view class="box">
<view class="select-box" :style="{'top':`${statusBarHeight}px`}" @click="onSelectFilterType">
<view class="name">筛选类型:</view>
<view class="selected">
<text class="tit">{{state.selectFilterType}}</text>
<uv-icon name="arrow-down"></uv-icon>
</view>
</view>
<uv-picker ref="balanceFilterTypePickerRef" confirmColor="#D33123" :columns="state.balanceFilterTypes"
@confirm="onConfirm"></uv-picker>
<uv-picker ref="balanceFilterTypePickerRef" confirmColor="#D33123" :columns="state.balanceFilterTypes"
@confirm="onConfirm"></uv-picker>
<view class="list" v-if="state.list.length > 0">
<view class="item" v-for="item in state.list" :key="item.id">
<view class="header">
<view class="type">{{item.statusName}}</view>
<view class="remain">提现金额{{item.money}}</view>
</view>
<view class="withdraw_box">
<view class="withdraw">
<view class="money">提现卡号</view>
<view class="date">{{item.cardNumber}}</view>
</view>
<view class="date">
<view class="money">提现时间</view>
<view class="date">{{item.createTime}}</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 class="list" v-if="state.list.length > 0">
<view class="item" v-for="item in state.list" :key="item.id">
<view class="header">
<view class="type">{{item.statusName}}</view>
<view class="remain">提现金额{{item.money}}</view>
</view>
<view class="withdraw_box">
<view class="withdraw">
<view class="money">提现卡号</view>
<view class="date">{{item.cardNumber}}</view>
</view>
<view class="date">
<view class="money">提现时间</view>
<view class="date">{{item.createTime}}</view>
</view>
<view class="date">
<view class="money">提现方式</view>
<view class="date">
{{ getUserTocashType(item.type) }}
</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>
</coreshop-page>
</view>
</coreshop-page>
</template>
<script setup lang="ts">
import { reactive, ref } from "vue";
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { queryCashList } from '@/core/api';
import type { Response, CashType } from '@/core/models';
import { handleShowToast } from '@/core/utils';
import { EmptyEnum } from '@/core/enum';
import { useSystemInfo } from '@/core/hooks';
import { reactive, ref } from "vue";
import { onLoad, onReachBottom } from '@dcloudio/uni-app';
import { queryCashList } from '@/core/api';
import type { Response, CashType } from '@/core/models';
import { handleShowToast } from '@/core/utils';
import { EmptyEnum, UserTocashType } from '@/core/enum';
import { useSystemInfo } from '@/core/hooks';
// 获取自定义导航栏高度
const { statusBarHeight } = useSystemInfo();
// 获取自定义导航栏高度
const { statusBarHeight } = useSystemInfo();
const balanceFilterTypePickerRef = ref();
const balanceFilterTypePickerRef = ref();
const state = reactive<{
balanceFilterTypes : Array<Array<string>>;
selectFilterType : string;
id : number;
page : number;
limit : number;
list : Array<CashType>;
totalPages : number;
}>({
balanceFilterTypes: [['全部', '待审核', '提现成功', '提现失败']],
selectFilterType: '全部',
id: 0,
page: 1,
limit: 10,
list: [],
totalPages: 1,
})
const state = reactive<{
balanceFilterTypes : Array<Array<string>>;
selectFilterType : string;
id : number;
page : number;
limit : number;
list : Array<CashType>;
totalPages : number;
}>({
balanceFilterTypes: [['全部', '待审核', '提现成功', '提现失败']],
selectFilterType: '全部',
id: 0,
page: 1,
limit: 10,
list: [],
totalPages: 1,
})
onLoad(() => {
getCashList();
});
onLoad(() => {
getCashList();
});
onReachBottom(() => {
if (state.totalPages > state.page) {
state.page++;
getCashList();
}
});
onReachBottom(() => {
if (state.totalPages > state.page) {
state.page++;
getCashList();
}
});
/** 用户提现列表 */
const getCashList = async () => {
const cashList : Response<Array<CashType>> = await queryCashList({
id: state.id,
page: state.page,
limit: state.limit,
});
if (cashList.status) {
state.totalPages = cashList?.otherData?.totalPages;
state.list = state.list.concat(cashList.data);
} else {
handleShowToast(cashList.msg)
}
}
/** 用户提现列表 */
const getCashList = async () => {
const cashList : Response<Array<CashType>> = await queryCashList({
id: state.id,
page: state.page,
limit: state.limit,
});
if (cashList.status) {
state.totalPages = cashList?.otherData?.totalPages;
state.list = state.list.concat(cashList.data);
} else {
handleShowToast(cashList.msg)
}
}
const onSelectFilterType = () => {
balanceFilterTypePickerRef.value?.open();
}
const onConfirm = ({ indexs, value }) => {
state.id = indexs[0];
state.selectFilterType = value?.[0];
state.list = [];
state.page = 1;
getCashList();
}
const onSelectFilterType = () => {
balanceFilterTypePickerRef.value?.open();
}
const onConfirm = ({ indexs, value }) => {
state.id = indexs[0];
state.selectFilterType = value?.[0];
state.list = [];
state.page = 1;
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>
<style scoped lang="scss">
@import './index.scss';
@import './index.scss';
</style>

View File

@@ -8,12 +8,6 @@
* 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.Filter;
using CoreCms.Net.IServices;
@@ -22,6 +16,7 @@ using CoreCms.Net.Model.Entities;
using CoreCms.Net.Model.Entities.Expression;
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Services;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using CoreCms.Net.Web.Admin.Infrastructure;
@@ -30,6 +25,12 @@ using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using NPOI.HSSF.UserModel;
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
{
@@ -60,10 +61,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
}
#region ============================================================
// POST: Api/CoreCmsUserTocash/GetPageList
/// <summary>
/// 获取列表
/// 获取列表
/// </summary>
/// <returns></returns>
[HttpPost]
@@ -76,52 +76,27 @@ namespace CoreCms.Net.Web.Admin.Controllers
var where = PredicateBuilder.True<CoreCmsUserTocash>();
//获取排序字段
var orderField = Request.Form["orderField"].FirstOrDefault();
Expression<Func<CoreCmsUserTocash, object>> orderEx;
switch (orderField)
Expression<Func<CoreCmsUserTocash, object>> orderEx = orderField switch
{
case "id":
orderEx = p => p.id;
break;
case "userId":
orderEx = p => p.userId;
break;
case "money":
orderEx = p => p.money;
break;
case "bankName":
orderEx = p => p.bankName;
break;
case "bankCode":
orderEx = p => p.bankCode;
break;
case "bankAreaId":
orderEx = p => p.bankAreaId;
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;
}
"id" => p => p.id,
"userId" => p => p.userId,
"money" => p => p.money,
"bankName" => p => p.bankName,
"bankCode" => p => p.bankCode,
"bankAreaId" => p => p.bankAreaId,
"accountBank" => p => p.accountBank,
"accountName" => p => p.accountName,
"cardNumber" => p => p.cardNumber,
"withdrawals" => p => p.withdrawals,
"status" => p => p.status,
"createTime" => p => p.createTime,
"updateTime" => p => p.updateTime,
"type" => p => p.type,
"message" => p => p.message,
"needUserGet" => p => p.needUserGet,
_ => p => p.id
};
//设置排序方式
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);
if (id > 0) @where = @where.And(p => p.id == id);
if (id > 0)
{
where = where.And(p => p.id == id);
}
//用户ID int
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
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
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
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
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
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
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
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
var createTime = Request.Form["createTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(createTime))
@@ -179,7 +192,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
where = where.And(p => p.createTime > dt);
}
}
//更新时间 datetime
var updateTime = Request.Form["updateTime"].FirstOrDefault();
if (!string.IsNullOrEmpty(updateTime))
@@ -198,10 +210,28 @@ namespace CoreCms.Net.Web.Admin.Controllers
where = where.And(p => p.updateTime > dt);
}
}
//提现状态 int
//提现方式 int
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);
//返回数据
@@ -211,9 +241,9 @@ namespace CoreCms.Net.Web.Admin.Controllers
jm.msg = "数据调用成功!";
return jm;
}
#endregion
#region ============================================================
// POST: Api/CoreCmsUserTocash/GetIndex
@@ -276,7 +306,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
}
#endregion
#region ============================================================
// POST: Api/CoreCmsUser/DoSetisDelete/10
@@ -308,8 +337,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
#endregion
#region ============================================================
// POST: Api/CoreCmsUserTocash/GetDetails/10
/// <summary>
@@ -345,7 +372,6 @@ namespace CoreCms.Net.Web.Admin.Controllers
}
#endregion
#region ============================================================
// POST: Api/CoreCmsUserTocash/SelectExportExcel/10

View File

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

View File

@@ -69,6 +69,15 @@
<input type="text" name="createTime" id="searchTime-CoreCmsUserTocash-createTime" placeholder="请输入起止时间" class="layui-input">
</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">
<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>
@@ -185,6 +194,7 @@
},
{ field: 'createTime', 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' },
{ field: 'message', title: '反馈信息', sort: false },
]
@@ -333,6 +343,28 @@
type: 'datetime',
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);
if (entity.event_type== "MCHTRANSFER.BILL.FINISHED")
{
}
return NoContent();
}
catch (Exception ex)