V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  changyang  ›  全部回复第 1 页 / 共 1 页
回复总数  16
95%的农村人都 XXX
95%的城市人都 XXX
95%的女人都 XXX
95%的男人都 XXX
95%的河南人都 XXX
95%的东北人都 XXX
95 的上海人都 XXX
95%-99%真是一个很好用的范围数字,一方面可以把这个群体基本概括住,一方面也可以让别人的反对作为例外处理
```javascript
//看了一下问题,不知道我理解对了没,以下是我的思路:
//把 invoice 和 transaction 都当作一个交易表里面的记录,只是 type 不一样,就可以解决
const transactions = [
{ id: 1, type: 'invoice', name: 'JNL001',amount:100,balance:100 },
{ id: 2, type: 'invoice', name: 'JNL002',amount:-100,balance:0 },
{ id: 3, type: 'invoice', name: 'JNL003',amount:100,balance:100 },
{ id: 4, type: 'invoice', name: 'JNL004',amount:-100,balance:0 },
{ id: 5, type: 'invoice', name: 'JNL005',amount:130,balance:130 },
{ id: 6, type: 'transaction', name: 'INV001',amount:-100,balance:30 },
{ id: 7, type: 'invoice', name: 'JNL006',amount:100,balance:130 },
{ id: 8, type: 'invoice', name: 'JNL007',amount:-100,balance:30 },
{ id: 9, type: 'transaction', name: 'INV002',amount:-100,balance:0 }
];

function findRecordsBetween(name) {
const index = transactions.findIndex(transaction => {
if (transaction.name === name){
if(transaction.type === 'transaction'){
return true;
}else {
throw new Error('必须输入一个 transaction 的 name');
}
}
});
if (index === -1) {
return []; // 如果未找到与该名称匹配的记录,返回空数组
}
const transactionIndex = transactions.slice(0, index ).findLastIndex(transaction => transaction.type === 'transaction');
if (transactionIndex === -1) {
return transactions.slice(0, index); // 如果未找到最近一次 transaction ,返回到开始所有记录
}

return transactions.slice(transactionIndex + 1, index);
}

// 用例:

console.log(findRecordsBetween('INV001'));


```
2022-12-15 14:04:45 +08:00
回复了 yfixx 创建的主题 DevOps 怎么做好运维
@ReZer0 桌面运维确实很苦逼,多年前做过一段时间 IT 客服(内部的)。客户的问题千奇百怪,打印机卡纸,电脑连不上网,vpn 登不上这都属于正常的。有些财务 excel 函数不会用,有些采购 foxmail 不会用,他 /她都要找你处理。烦是真的烦,不过比程序员好一点的是更有机会遇见爱情(前提是你服务心态好的情况下)。
@yanqiyu 恩必
如果嫌慢可以加入线程,查询出 userList 后,把 userList 切分成 N 组放入线程任务中进行查询最后组合,会更快。
以上还可以优化一下 queryUserMoneyChangeListDescByCreateTime 方法,在 sql 中只限定查询问题时间以来的
这个要看余额变动表里面有没有记录本次扣除后剩余余额,如果记录的了的话就能根据这个剩余余额查询。
假设
用户表 user:
userId 用户 id
money 剩余金额

余额变动表 moneyChage:
userId 用户 id
createTime 创建时间
lastMoney 扣除后剩余金额
deductMoney 本次扣除金额

1 ,先查询最近一天的订单(问题以来的)
2 ,查询这些订单所属用户。userList
3 ,循环查询用户的余额变动记录,查询有问题的用户
for user in userList
userMoneyChangeList = queryUserMoneyChangeListDescByCreateTime(userId) (以创建时间倒排)
lastMoney = user.money
for changeItem in userMoneyChangeList
if lastMoney != changeItem.lastMoney:
print("该用户余额不符,userId: %s" , user.userId)
lastMoney = lastMoney + deductMoney
2022-11-02 15:22:12 +08:00
回复了 reayyu 创建的主题 硬件 决赛圈了,两套 4090 整机选哪个比较划算?
自己配一套啊,4090 先不买,买个健身卡用,到时候再卖了换 4090 不就完美解决了嘛
2020-11-26 10:10:06 +08:00
回复了 jumpalang 创建的主题 分享创造 一起听歌吧微信小程序,更方便的与好友同步在线听歌
搞得不错,很有新意
2020-09-17 09:47:56 +08:00
回复了 QLeelulu 创建的主题 分享创造 浏览网页时自然学外语的 Chrome 插件
@QLeelulu 你好,建议可以增加按文字比例,或者固定某个区间翻译词的设置。比如我想每个网页有 15 -20 个英文的词汇,就可以自己设置。
很不错的想法,但是图像参数调整什么的自己重写有点费事
2019-09-22 10:17:00 +08:00
回复了 changyang 创建的主题 VPS CI 云服务
自己搭的 jenkin docker 服务,在腾讯 vps 1 核 2G 配置 上跑 vue 项目一打包就挂了😂
2019-07-16 10:08:36 +08:00
回复了 changyang 创建的主题 问与答 有没有开源的淘宝/京东/拼多多返利小程序
有没有知道开源的返利小程序的呢,或者付费给源码的也行~
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2714 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 33ms · UTC 07:42 · PVG 15:42 · LAX 23:42 · JFK 02:42
Developed with CodeLauncher
♥ Do have faith in what you're doing.