基于微信小程序的桥牌计分系统设计与实现-计算机毕业设计源码+LW文档

news2024/11/25 7:12:17

小程序开发说明

开发语言:Java
框架:ssm
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7(一定要5.7版本)
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器

小程序框架:uniapp
小程序开发软件:HBuilder X
小程序运行软件:微信开发者

关键逻辑代码:


/**
 * 裁判
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-22 16:16:30
 */
@RestController
@RequestMapping("/caipan")
public class CaipanController {
    @Autowired
    private CaipanService caipanService;


    
@Autowired
private TokenService tokenService;

/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
CaipanEntity user = caipanService.selectOne(new EntityWrapper<CaipanEntity>().eq("caipanzhanghao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("账号或密码不正确");
}

String token = tokenService.generateToken(user.getId(), username,"caipan",  "裁判" );
return R.ok().put("token", token);
}

/**
     * 注册
     */
@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody CaipanEntity caipan){
    //ValidatorUtils.validateEntity(caipan);
    CaipanEntity user = caipanService.selectOne(new EntityWrapper<CaipanEntity>().eq("caipanzhanghao", caipan.getCaipanzhanghao()));
if(user!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
caipan.setId(uId);
        caipanService.insert(caipan);
        return R.ok();
    }


/**
* 退出
*/
@RequestMapping("/logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}

/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    Long id = (Long)request.getSession().getAttribute("userId");
        CaipanEntity user = caipanService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    CaipanEntity user = caipanService.selectOne(new EntityWrapper<CaipanEntity>().eq("caipanzhanghao", username));
    if(user==null) {
    return R.error("账号不存在");
    }
        user.setMima("123456");
        caipanService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,CaipanEntity caipan,
HttpServletRequest request){
        EntityWrapper<CaipanEntity> ew = new EntityWrapper<CaipanEntity>();
PageUtils page = caipanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caipan), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,CaipanEntity caipan, 
HttpServletRequest request){
        EntityWrapper<CaipanEntity> ew = new EntityWrapper<CaipanEntity>();
PageUtils page = caipanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caipan), params), params));
        return R.ok().put("data", page);
    }

/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( CaipanEntity caipan){
        EntityWrapper<CaipanEntity> ew = new EntityWrapper<CaipanEntity>();
      ew.allEq(MPUtil.allEQMapPre( caipan, "caipan")); 
        return R.ok().put("data", caipanService.selectListView(ew));
    }

/**
     * 查询
     */
    @RequestMapping("/query")
    public R query(CaipanEntity caipan){
        EntityWrapper< CaipanEntity> ew = new EntityWrapper< CaipanEntity>();
  ew.allEq(MPUtil.allEQMapPre( caipan, "caipan")); 
CaipanView caipanView =  caipanService.selectView(ew);
return R.ok("查询裁判成功").put("data", caipanView);
    }

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/13462.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

m基于MATLAB的FM调制收音机仿真实现

目录 1.算法概述 2.仿真效果预览 3.核心MATLAB代码预览 4.完整MATLAB程序 1.算法概述 那么FM调制端的基本原理图如下所示&#xff1a; FM解调 FM解调的基本原理框图为&#xff1a; 在不考虑频偏的情况下&#xff0c;FM解调运算就相当于FM调制的逆运算&#xff0c;任务的第…

二叉树的性质的结点数与高度的计算题

二叉树是一种特殊的树形结构&#xff0c;每个结点最多只有两棵子树&#xff0c;即度最大为2&#xff0c;且二叉树左右子树不能颠倒。 主要常见分类有&#xff1a; 满二叉树&#xff1a; 除了叶子结点外&#xff0c;每个结点的度数都是2&#xff0c;若高度为h&#xff0c;则一…

Redis的5大数据类型

Redis的5大数据类型 这里说的数据类型是value的数据类型&#xff0c;key的类型都是字符串。 5种数据类型&#xff1a; redis字符串&#xff08;String&#xff09;redis列表&#xff08;List&#xff09;redis集合&#xff08;Set&#xff09;redis哈希表&#xff08;Hash&a…

PMP®|对如何做好项目管理的几点建议

PMP|对如何做好项目管理的几点建议 来自一位从事工程项目管理多年&#xff0c;也接触过软件开发项目的资深人士针对如何做好项目管理泛泛提些建议。 1、明确项目组自身定位。不同公司对项目管理的理解不同&#xff0c;项目制的执行方式不同&#xff0c;项目组在各公司的地位…

使用springboot每日推送早安问候语到用户微信【部署篇】

上一篇介绍文章 上一篇介绍文章 https://blog.csdn.net/weixin_45206218/article/details/127872136代码仓库 代码仓库 https://gitee.com/stevezhaozps/daily-weather前期准备 一台云服务器云服务器安装MySQL8.x云服务器安装jdk8 数据库初始化 由于本项目使用的是springd…

LIVOX HAP激光雷达使用方法

一、Livox HAP介绍 Livox HAP 由 Livox 团队耗时两年精心打造&#xff0c;是 Livox 首款面向智能辅助驾驶市场研发的车规级激光雷达。HAP 于 2021 年在全新自建的车规级智能制造中心进行批量生产&#xff0c;可满足 74 项严苛的车规可靠性要求。HAP 已成功为小鹏汽车、一汽解放…

C#【必备技能篇】Release下的pdb文件有什么用,是否可以删除?

文章目录一、简介二、问答三、Release中删除pdb文件四、重要事项一、简介 英文全称&#xff1a;Program Database File 中文全称&#xff1a;程序数据库 文件 程序数据库 (PDB) 文件保存着调试和项目状态信息&#xff0c;使用这些信息可以对程序的调试配置进行增量链接。 在…

ORCID以及ResearcherID注册

ORCID以及ResearcherID注册 ORCID 网址&#xff1a; https://orcid.org/ 点击注册 开始注册 跟着流程走一遍 最后登录进入个人首页&#xff0c;可以看到自己的ORCID。 ResearcherID 网址&#xff1a;https://webofscience.com 注册 邮箱点击确认邮件后&#xff0c;登录进…

操作系统 | 实验七 SPOOLING技术

文章目录一、实验目的二、实验内容三、数据结构3.1 数据结构3.2 函数以及功能四、程序流程图五、实验代码六、实验结果七、实验体会总结一、实验目的 理解和掌握SPOOLING假脱机技术 二、实验内容 通过SPOOLING技术可将一台物理I/O设备虚拟为多台逻辑I/O设备&#xff0c;同样…

奇技淫巧第7期

终于腾出时间了&#xff0c;现在对3~11月份知识点作总结。 这段时间主要在写论文&#xff0c;跑案例分析。暑期的比赛另写了一个小系列&#xff0c;这里就不再写了。 总的来说&#xff0c;零散的代码知识点在积累几个月后还是要汇总回顾一下的。 文章目录Python 歪门邪道fnmatc…

SpringBoot SpringBoot 开发实用篇 3 测试 3.7 匹配响应体【JSON】

SpringBoot 【黑马程序员SpringBoot2全套视频教程&#xff0c;springboot零基础到项目实战&#xff08;spring boot2完整版&#xff09;】 SpringBoot 开发实用篇 文章目录SpringBootSpringBoot 开发实用篇3 测试3.7 匹配响应体【JSON】3.7.1 问题引入3.7.2 匹配响应体【JSON…

力扣刷题day50|739每日温度、496下一个更大元素 I

文章目录739. 每日温度暴力思路单调栈思路什么时候用单调栈&#xff1f;解题思路496. 下一个更大元素 I思路单调栈739. 每日温度 力扣题目链接 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对…

[Games 101] Lecture 11-12 Geometry 2 (Curves and Surfaces)

Lecture 11-12 Geometry 2 (Curves and Surfaces) Curves Bzier Curves 贝塞尔曲线 使用一系列的控制点定义某个曲线&#xff0c;控制点定义曲线满足的一些性质可以定义出唯一的曲线&#xff0c;从 p0p_0p0​ 开始&#xff0c;p3p_3p3​ 结束 de Casteljau Algorithm 绘制贝…

Linux16 ---共享内存、操作函数、使用示例

一、共享内存 1、 共享内存为多个进程之间共享和传递数据提供了一种有效的方式。共享内存是先在物理内存上申请一块空间&#xff0c;多个进程可以将其映射到自己的虚拟地址空间中。 所有进程都可以访问共享内存中的地址&#xff0c;就好像它们是由 malloc 分配的一样。如果某…

(二)Easyexcel 的使用(读取数据到map集合中)

前面讲述了使用实体类的方式绑定excel表头的方式进行读取和写入操作&#xff0c;是比较简单的&#xff0c;那么由于表头可能会变&#xff0c;那么就不能使用绑定实体类的方式进行了&#xff0c;于是搜索百度一番&#xff0c;借鉴别人的博客&#xff0c;使用map集合的方式进行读…

一文详解Cookie 和 Session 会话技术

目录 Cookie Session 分布式下Seesion的不足 Cookie 定义&#xff1a;Cookie是服务器发送到浏览器&#xff0c;并保存在浏览器端的一小块数据。浏览器下次访问该服务器时&#xff0c;会自动携带该数据块&#xff0c;将其发送给服务器。 作用&#xff1a;由于HTTP是无状态的&…

tomcat修改默认端口详细步骤(包含运行测试)

前言&#xff1a; 在tomcat端口被占用或者需要把默认的8080端口换成其他的端口&#xff0c;就可以修改默认端口。 一、修改步骤 1.打开tomacat的文件位置--conf目录 2.找到server.xml右键打开方式选择记事本打开 3.找到这个文件的Connector port "8080" 大概位…

TVM 中文站正式上线!最全机器学习模型部署「参考书」它来了

内容一览&#xff1a; 近日&#xff0c;由 MLC 社区志愿者共同翻译校对的 TVM 中文文档正式发布&#xff0c;现已托管至超神经官网 Hyper.AI。 关键词&#xff1a; TVM 开源 机器学习编译器 本文首发自微信公众号&#xff1a;HyperAI超神经 面世5年&#xff0c;TVM成备受追捧的…

tensorflow2.0 学习笔记:一、神经网络计算

mooc课程Tensorflow2.0 笔记 人工智能三学派 行为主义&#xff1a;基于控制论&#xff0c;构建感知-动作控制系统&#xff08;自适应控制系统&#xff09;符号主义&#xff1a;基于算数逻辑表达式&#xff0c;求解问题时先把问题描述为表达式&#xff0c;再求解表达式&#x…

AMD EPYC(霄龙)Genoa服务器 | 综合评测

9004 | EYPC | 9654P | AMD 9654 | 7703 | Genoa | Intel 当生命科学、医药研发、东数西算、数据分析、数据挖掘、算力、数据中心、智算中心、遥感测绘、地质遥感等场景逐渐成熟&#xff0c;上层应用场景改变了底层硬件基础&#xff0c;计算、存储、网络架构的迭代升级和调整融…