返利:达到等级发返利邮件

This commit is contained in:
luying
2022-09-13 20:10:07 +08:00
parent a398684284
commit e2b79f6d4d
6 changed files with 84 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
import { UserOrderModel, UserOrderModelType } from '../db/UserOrder';
import { ACTIVITY_TYPE, DEBUG_PRICE, ORDER_STATE, PAY_TYPE, PUSH_ROUTE, REFUND_PRICE_TO_GOLD, STATUS, TASK_TYPE, TA_EVENT, TA_USERSET_TYPE } from '../consts';
import { ACTIVITY_TYPE, DEBUG_PRICE, MAIL_TYPE, ORDER_STATE, PAY_TYPE, PUSH_ROUTE, REBATE_RATIO, REFUND_PRICE_TO_GOLD, STATUS, TASK_TYPE, TA_EVENT, TA_USERSET_TYPE } from '../consts';
import { dicRMB } from '../pubUtils/dictionary/DicRMB';
import { makeYuanbaoShopReward } from './activity/yuanbaoService';
import { RoleModel } from '../db/Role';
@@ -34,6 +34,10 @@ import { sendMessageToUserWithSuc } from './pushService';
import { gameData } from '../pubUtils/data';
import { checkParamPrice } from '../pubUtils/sdkUtil';
import { checkShopCanBuyInOrder, makeShopOrder } from './shopService';
import { UserModel } from '../db/User';
import { HistoryOrderModel } from '../db/HistoryOrder';
import { sendMailByContent } from './mailService';
import { getGoldObject } from './role/rewardService';
export async function checkOrderCanBuy(roleId: string, serverId: number, activityData: ActivityModelType, productID: string, paramStr: string) {
let activityId = activityData.activityId;
@@ -349,4 +353,18 @@ export async function refundOrderFromRedisPub(message: string) {
await UserOrderModel.refund(order.roleId, order.localOrderID, message);
return true
}
export async function rebateHistoryOrder(roleId: string, uid: number) {
let user = await UserModel.findUserByUid(uid);
if(user) {
let historyOrder = await HistoryOrderModel.findByChannelId(user.channelId);
if(historyOrder && !historyOrder.isReceived) {
let totalPay = historyOrder.totalPay;
if(totalPay > 0) {
await sendMailByContent(MAIL_TYPE.REBATE, roleId, { goods: [getGoldObject(totalPay * REBATE_RATIO)] });
await HistoryOrderModel.receive(user.channelId, roleId);
}
}
}
}