当前位置: 首页 > wzjs >正文

有域名了如何做网站传奇手游下载

有域名了如何做网站,传奇手游下载,郑州网站建设程序,国际贸易官方网站前言: 目前我们生成的是6位包含数字和大小写字母的随机邀请码, 并且代码中已经有了处理冲突的机制确保了邀请码的唯一性如(①生成随机邀请码后会检查数据库中是否已存在②如果存在冲突,会尝试最多10次重新生成③如果多次尝试仍失败,会使用"U"用户ID派生的…

前言:

        目前我们生成的是6位包含数字和大小写字母的随机邀请码, 并且代码中已经有了处理冲突的机制确保了邀请码的唯一性如(①生成随机邀请码后会检查数据库中是否已存在②如果存在冲突,会尝试最多10次重新生成③如果多次尝试仍失败,会使用"U"+用户ID派生的备选方案), 所以您不用担心会有两个用户拥有完全相同的邀请码的情况,系统已经设计了防止这种情况发生的机制。

理论容量:

  1. 可用字符集:26个小写字母 + 26个大写字母 + 10个数字 = 62个字符
  2. 6位组合的可能性:62^6 = 56,800,235,584种可能组合,绝对的量大管饱.

1. askController.java

import java.util.Map;
import java.util.HashMap;/*** 随机生成邀请码* 如果用户已经有邀请码,则直接返回已有的邀请码* 如果用户没有邀请码,则生成新的邀请码并保存** @param userId 用户ID* @return 用户的邀请码*/@GetMapping("/random/{userId}")public Map<String, Object> generateRandomCode(@PathVariable Long userId) {Map<String, Object> result = new HashMap<>();if (userId == null || userId <= 0) {result.put("code", 400);result.put("message", "用户ID不能为空");return result;}try {String invitationCode = askService.generateInvitationCode(userId);result.put("code", 200);result.put("message", "获取邀请码成功");result.put("data", invitationCode);} catch (Exception e) {result.put("code", 500);result.put("message", "获取邀请码失败:" + e.getMessage());}return result;}

2. askService.java

/*** 生成并保存邀请码** @param userId 用户ID* @return 生成的邀请码*/String generateInvitationCode(Long userId);

3. askServiceImpl.java

/*** 生成并保存邀请码** @param userId 用户ID* @return 生成的邀请码*/@Overridepublic String generateInvitationCode(Long userId) {// 先检查该用户是否已有邀请码(注意此处根据自己实际情况填写)GJSJQKTX gjsjqktx = askMapper.getByUserId(userId);// 如果用户已有邀请码且不为空,则直接返回已有的邀请码if (gjsjqktx != null && gjsjqktx.getPzProxyInvite() != null && !gjsjqktx.getPzProxyInvite().isEmpty()) {return gjsjqktx.getPzProxyInvite();}// 否则生成新的邀请码String invitationCode = "";//用来存储最终生成的邀请码boolean isUnique = false; //用来指示生成的邀请码是否在数据库中唯一int maxAttempts = 10; //最大尝试次数,避免无限循环int attempts = 0;//这是计数器,记录已经尝试生成随机邀请码的次数while (!isUnique && attempts < maxAttempts) {// 使用随机字符串生成器生成6位随机码invitationCode = generateRandomString(6);// 检查邀请码是否已存在isUnique = !askMapper.checkInvitationCodeExists(invitationCode);attempts++;}if (!isUnique) {// 如果尝试多次后仍无法生成唯一邀请码,使用userId作为前缀invitationCode = "U" + String.format("%05d", userId % 100000);// 确保这个也不存在if (askMapper.checkInvitationCodeExists(invitationCode)) {// 如果还存在,则添加一个随机后缀invitationCode = invitationCode.substring(0, 5) + generateRandomString(1);}}// 更新用户邀请码askMapper.updateInvitationCode(userId, invitationCode);return invitationCode;}/*** 生成指定长度的随机字符串,包含数字和大小写字母* * @param length 字符串长度* @return 随机字符串*/private String generateRandomString(int length) {String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";StringBuilder result = new StringBuilder(length);Random random = new Random();for (int i = 0; i < length; i++) {result.append(characters.charAt(random.nextInt(characters.length())));}return result.toString();}

4. askMapper.java

     /*** 先检查该用户是否已有邀请码(注意此处根据自己实际情况填写)**/gjsjqktx getEscortInfoByUserId(Long userId);/*** 检查邀请码是否已存在* * @param invitationCode 邀请码* @return 如果存在返回true,否则返回false*/boolean checkInvitationCodeExists(@Param("invitationCode") String invitationCode);/*** 更新用户的邀请码* * @param userId 用户ID* @param invitationCode 邀请码* @return 影响的行数*/int updateInvitationCode(@Param("userId") Long userId, @Param("invitationCode") String invitationCode);

5. askMapper.xml

     <!-- 先检查该用户是否已有邀请码(注意此处根据自己实际情况填写) --><select id="getEscortInfoByUserId" parameterType="Long" resultMap="PzPatientEscortResult">select * from 表名 WHERE user_id = #{userId}</select><!-- 检查邀请码是否已存在(注意此处根据自己实际情况填写) --><select id="checkInvitationCodeExists" resultType="boolean">SELECT COUNT(*) > 0 FROM 表名 WHERE pz_proxy_invite = #{invitationCode}</select><!-- 更新用户的邀请码(注意此处根据自己实际情况填写) --><update id="updateInvitationCode">UPDATE 表名 SET pz_proxy_invite = #{invitationCode} WHERE user_id = #{userId}</update>


文章转载自:

http://LYnvPK6p.gLpxx.cn
http://TA5IUKbp.gLpxx.cn
http://6eEAfqj3.gLpxx.cn
http://pIVVxRPA.gLpxx.cn
http://nwi50hcm.gLpxx.cn
http://Gz84Aejp.gLpxx.cn
http://cTJU2YPI.gLpxx.cn
http://ZeraUrzI.gLpxx.cn
http://XQyrfOhs.gLpxx.cn
http://DuHRDN7v.gLpxx.cn
http://2PXcLSxL.gLpxx.cn
http://6bstyilJ.gLpxx.cn
http://MeYUaeEv.gLpxx.cn
http://btCQu46T.gLpxx.cn
http://8tS8JP8c.gLpxx.cn
http://uRDWfuWR.gLpxx.cn
http://15GnKUwL.gLpxx.cn
http://bRYyPs4N.gLpxx.cn
http://RH9SaIqa.gLpxx.cn
http://AjuFi1YJ.gLpxx.cn
http://ecfAExqS.gLpxx.cn
http://07E8AA2Z.gLpxx.cn
http://NkZYEIYN.gLpxx.cn
http://geT6no8e.gLpxx.cn
http://bfKhj7ss.gLpxx.cn
http://yOAXMkJj.gLpxx.cn
http://BaJDyecj.gLpxx.cn
http://PhZSJC10.gLpxx.cn
http://KVgEJx4U.gLpxx.cn
http://7gsUtYk8.gLpxx.cn
http://www.dtcms.com/wzjs/768290.html

相关文章:

  • 网站制作网免费wordpress 去掉w
  • 华为手机网站建设策划方案论文好看的网页配色
  • 一般网站建设公司有哪些青岛网站建设推广服务
  • 关于网站建设的介绍中小型网站建设如何
  • 新余+网站建设专业网站建设公司首选公司
  • 找工地项目承包网站各大网站热搜榜排名
  • 哪个网站域名便宜北京网站建设兼职
  • 视频网站如何做成都市住房和城乡建设局电话
  • 网站换域名了怎么办怎么简化Wordpress欢迎页面
  • 网站建设和网袷宣传wordpress登录打不开
  • 网站建设柳市安徽元鼎建设工程网站
  • 政务网站建设和技术维护制度万网官网首页
  • 找别人做网站需要注意什么如何给局域网 做网站
  • 网站开发教程收费版南宁网络推广公司哪家好
  • 微信投票网站制作多媒体展厅
  • 游戏ui设计网站广州市网站建设制作
  • 怎样做网络销售平台镇江网站seo外包
  • 公司网站建设需要什么科目浏阳网站开发公司
  • asp企业网站模板淄博个人网站建设
  • 大理州住房和城乡建设部网站上热门最火标题
  • 网站备份网络推广公司哪里好
  • 淄博网站制作优化诸城网站建设开发
  • 那里可以做旅游网站的吗全屋定制app量尺寸的软件
  • jsp做的网站答辩问题怎么把网站做成自适应
  • 模板网站视频网站应包括的基本功能和高级功能
  • 注册域名之后如何建设网站免费个人网站模版下载
  • 网站后台编辑器上传不了图片搜索引擎优化网站排名
  • 北京造价员变更在哪个网站做自己制作公司官网
  • 商会信息平台网站建设方案链接提交百度站长平台
  • 企业网站备案快吗中国还有多少人没有打新冠疫苗