最近接了一个生产万能胶的客户红包开发的要求,他想实现在他所有产品包装上贴一个小标签,上面有二维码可以扫码关注他的公众号,下面是一个刮刮银,刮开后是上串数字码,别人关注他的公众号后就可
以在公众号下面的菜单点“领红包”,然后打开领红包页面,输入刚刮开的数字码,领取不定额的红包,此举就是为了吸引装修工推荐他的产品给业主用,让业主买了产品,装修工好领包,我在网上找了半天
源码也没找到,有的说这叫一物一码,找到的全是php开发的,我又不会用,改又改不好,想想还是自已用asp开发写一个吧,经过近10天的努力,写完了,功能如下:
1、后台生成编码,可以设生成的编码前四位数是多少,一次生成多少个,带多少金额,金额是可以随机的,例如此次生成1万个码,编码开头用1006开始,红包金额是:0.1-2元之间随机生成。红包金额大小随意,不用按微信官方要求,必须1块钱等,我这个是多少都行,一分钱也行。
2、导出编码,修改编码,查询编码
3、前台领奖,领奖时先判断这个码是不是被领过,如果被领过就不能领了,提示他,如果没领过则可以领,弹出一个红包的窗,点一下就领了,就像微信发红包一样,领完了,此码就作废了。
4、领红包的流水全部写进库了,方便对帐
5、提现,我用asp开发的微信红包系统在领红包后不是直接到帐的,因为微信官方要求如果领红包直接到帐则金额必须大于1元,这对于客户来说投入太大,一元一个红包金额太大了,所以我给做的不限制,我提现用的是asp企业付款功能,最小的金额是三角,所以提现金额必须大于三角,直接到提现都的微信零钱。
6、提现流水也入库,方便查询
还有一些小功能就不提了,反正是能想到的全想到了,这个asp微信红包源码我估计是目前网上功能最完善的了,不说了,上主代码,如果有需要的可以找我下载。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%=anco_site_qq%>
<%=anco_site_qq%>
<% if request("action")="" then %>
<% elseif request("action")="save" then%>
<%
a_code=HTMLEncode(request.Form("a_code"))
'查查输入的号在库中有没有
set rsfg=conn.execute ("select * from [coudfgdfgrse] where a_code='"&a_code&"'")
if not rsfg.eof then'已经有了
%>
<%if rsfg("a_lq")=1 then%>
您输入的编号已被领取!
领取时间:
<%
yydate = SqlHelper("select a_lq_date from coudfgdfrse where a_code=?",array(a_code))(0)
response.Write(yydate)
%>
<%else%>
<% end if %>
<%
else
%>
对不起,系统没有查询到您输入的编号
请核对是否输入有误,或与我公司联系。
<%
end if
rsfg.close
set rsfg=nothing
%>
<% elseif request("action")="lq" then%>
<% b_code=Trim(HTMLEncode(Request.QueryString("a_code")))%>
<%
'开红包每天不能大于2个
hbcs = Conn.Execute("select count(id) from haaypagdgy where DateDiff('d',lqdata,Now())=0 and hygfid="&hdfgy_id&"")(0)
if int(hbcs) > 27 then
call infoopen("每天拆红包次数不得大于26次","hb.asp")
end if
'开红包end
%>
<%
set rsfg=conn.execute ("select * from [courdfvdse] where a_code='"&b_code&"'")
if not rsfg.eof then'已经有了
%>
<%if rsfg("a_lq")=1 then%>
该编码已被领取过!
领取时间:<%
yydate = SqlHelper("select a_lq_dadxte from cosdfcsaurse where a_code=?",array(b_code))(0)
response.Write(yydate)
%>
<%else%>
<%=wx_name%>
恭喜发财,大吉大利
<%=FormatCurrency(Rsfg("a_rsdfmb"),2,-1)%>
已存入会员中心,可随时提现到微信钱包
<%
if rsfg("a_lq")=0 then'再次判断该红包有没有被人领过如果没有则往下走
Call SqlHelper("Update [caagdfgse] set a_lq=?,a_lq_ddate=?,a_lq_id=? where a_code=?",Array(1,now(),hy_gisdd,b_csdode))'修改该红包编码为被领取过
Call SqlHelper("Update [gvfger] set imogney=ifdgney+? where id=?",Array(rsfg("a_rmb"),hy_id))'给会员余额加上领取的红包钱
Call SqlHelper("Insert Into [hggday](hygddfcode,cp_name,hb_rgmb) values(?,?,?,?)",Array(hysdf_id,rsfg("a_cge"),rsfg("a_tdfgtle"),rsfg("a_rsdfgb")))'写入红包领取流水
end if
%>
<% end if %>
<%
else'没有这个红包码
%>
<% call infoopen("没有找到该红包编号","hb.asp")%>
<%
end if
rsfg.close
set rsfg=nothing
%>
<% end if %>