Billing System 2.2.3

Перейти вниз

Billing System 2.2.3

Сообщение  Admin в Вт Дек 07, 2010 12:08 am

Биллинговая система РФ (Премиум + кеш шоп)+ фикс: Переписанная процедура на покупку вещи. Дюп кеш вещей больше не работает.
Сначала ставим базу из архива потом фикс.
______________________________________________________________________________________________________
код:
USE [BILLING]
GO

/****** Object: StoredProcedure [dbo].[RF_ChargeBalance] by TriRozhka Script Date: 02/19/2010 15:25:25 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[RF_ChargeBalance]
@s_userid varchar(12)
, @s_character varchar(50)
, @s_pscode varchar(20)
, @s_quantity int
, @s_server varchar (50)
, @s_scode bigint
, @s_price int
, @s_dcrate int
, @p9 int output
AS

set nocount on

DECLARE
@totalAmount int,
@cashBalance int

select @cashBalance=Cash from tbl_user where UserID=@s_userid
set @totalAmount=@s_price*@s_quantity
if @@error <> 0 or @s_quantity < 1 or @s_quantity >99 or @s_price < 1
begin
set @p9 = 0
return
end
else
if @s_dcrate < 100 and (@totalAmount*((100-@s_dcrate)/100)) <= @cashBalance
begin
set @p9 = 1
set @cashBalance=@cashbalance-(@totalAmount*((100-@s_dcrate)/100))
insert into tbl_cashlogrf (userid,character,pscode,quantity,server,scode,price,dcrate,status)
values (@s_userid,@s_character,@s_pscode,@s_quantity,@s_server,@s_scode,@s_price,@s_dcrate,@p9)
update tbl_user set Cash = @cashBalance where UserID = @s_userid
return
end
else
if (@cashbalance + @s_dcrate) >= @totalAmount
begin
set @p9 = 1
set @cashBalance=@cashbalance-@totalAmount+@s_dcrate
insert into tbl_cashlogrf (userid,character,pscode,quantity,server,scode,price,dcrate,status)
values (@s_userid,@s_character,@s_pscode,@s_quantity,@s_server,@s_scode,@s_price,@s_dcrate,@p9)
update tbl_user set Cash = @cashBalance where UserID = @s_userid
return
end
else
begin
set @p9 = 0
return
end

GO
_____________________________________________________________________________________________________
Так же реализована система скидок. значение скидки идёт под переменной @s_dcrate.
У меня всё что меньше 100 считается как скидка по % всё что больше 100 считается как скидка в кредитах.
Напоминаю что скидка по монетам не должна превышать 10% от стоимости покупки. В противном случае сервер не даст реализовать покупку.
_____________________________________________________________________________________________________
[Вы должны быть зарегистрированы и подключены, чтобы видеть эту ссылку]
Sleep

Admin
Admin

Сообщения : 71
Дата регистрации : 2010-12-06
Возраст : 26
Откуда : Москва

Посмотреть профиль http://rf-moscow.2x2forumy.net

Вернуться к началу Перейти вниз

Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения