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

SpringBoot+Vue银行信用卡额度管理系统源码+论文

代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹
分享万套开题报告+任务书+答辩PPT模板
作者完整代码目录供你选择:
《SpringBoot网站项目》1800套
《SSM网站项目》1500套
《小程序项目》1600套
《APP项目》1500套
《Python网站项目》1300套
⬇️文章末尾可以获取联系方式,需要源码或者演示视频可以联系⬇️
⚡感兴趣大家可以点点关注收藏,后续更新更多项目资料。⚡

采用技术:

编程语言:Java
后端框架:SpringBoot
前端框架:Vue
数据库:MySQL
数据表数量:11张表
运行软件:IDEA、Eclipse、VS Code都可以

系统功能:


本系统实现管理员、用户模块。
管理员模块功能:用户管理、信用卡申请管理、评估审核管理、信用卡发放管理、操作日志管理、还款记录管理、消费记录管理等。
用户模块功能:信用卡申请管理、评估审核管理、信用卡发放管理、消费记录管理、还款记录管理等。

运行截图:













论文目录:




核心代码:

packagecom.controller;importjava.text.SimpleDateFormat;importcom.alibaba.fastjson.JSONObject;importjava.util.*;importorg.springframework.beans.BeanUtils;importjavax.servlet.http.HttpServletRequest;importorg.springframework.web.context.ContextLoader;importjavax.servlet.ServletContext;importcom.service.TokenService;importcom.utils.StringUtil;importjava.lang.reflect.InvocationTargetException;importcom.service.DictionaryService;importorg.apache.commons.lang3.StringUtils;importcom.annotation.IgnoreAuth;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.*;importcom.baomidou.mybatisplus.mapper.EntityWrapper;importcom.baomidou.mybatisplus.mapper.Wrapper;importcom.entity.YonghuEntity;importcom.service.YonghuService;importcom.entity.view.YonghuView;importcom.utils.PageUtils;importcom.utils.R;@RestController@Controller@RequestMapping("/yonghu")publicclassYonghuController{privatestaticfinalLoggerlogger=LoggerFactory.getLogger(YonghuController.class);@AutowiredprivateYonghuServiceyonghuService;@AutowiredprivateTokenServicetokenService;@AutowiredprivateDictionaryServicedictionaryService;//级联表service/** * 后端列表 */@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,HttpServletRequestrequest){logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));params.put("orderBy","id");PageUtilspage=yonghuService.queryPage(params);//字典表数据转换List<YonghuView>list=(List<YonghuView>)page.getList();for(YonghuViewc:list){//修改对应字典表字段dictionaryService.dictionaryConvert(c);}returnR.ok().put("data",page);}/** * 后端详情 */@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);YonghuEntityyonghu=yonghuService.selectById(id);if(yonghu!=null){//entity转viewYonghuViewview=newYonghuView();BeanUtils.copyProperties(yonghu,view);//把实体数据重构到view中//修改对应字典表字段dictionaryService.dictionaryConvert(view);returnR.ok().put("data",view);}else{returnR.error(511,"查不到数据");}}/** * 后端保存 */@RequestMapping("/save")publicRsave(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug("save方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());Wrapper<YonghuEntity>queryWrapper=newEntityWrapper<YonghuEntity>().eq("username",yonghu.getUsername()).or().eq("yonghu_phone",yonghu.getYonghuPhone()).or().eq("yonghu_id_number",yonghu.getYonghuIdNumber());;logger.info("sql语句:"+queryWrapper.getSqlSegment());YonghuEntityyonghuEntity=yonghuService.selectOne(queryWrapper);if(yonghuEntity==null){yonghu.setCreateTime(newDate());yonghu.setPassword("123456");// String role = String.valueOf(request.getSession().getAttribute("role"));// if("".equals(role)){// yonghu.set// }yonghuService.insert(yonghu);returnR.ok();}else{returnR.error(511,"账户或者身份证号或者手机号已经被使用");}}/** * 后端修改 */@RequestMapping("/update")publicRupdate(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());//根据字段查询是否有相同数据Wrapper<YonghuEntity>queryWrapper=newEntityWrapper<YonghuEntity>().notIn("id",yonghu.getId()).andNew().eq("username",yonghu.getUsername()).or().eq("yonghu_phone",yonghu.getYonghuPhone()).or().eq("yonghu_id_number",yonghu.getYonghuIdNumber());;logger.info("sql语句:"+queryWrapper.getSqlSegment());YonghuEntityyonghuEntity=yonghuService.selectOne(queryWrapper);if("".equals(yonghu.getYonghuPhoto())||"null".equals(yonghu.getYonghuPhoto())){yonghu.setYonghuPhoto(null);}if(yonghuEntity==null){// String role = String.valueOf(request.getSession().getAttribute("role"));// if("".equals(role)){// yonghu.set// }yonghuService.updateById(yonghu);//根据id更新returnR.ok();}else{returnR.error(511,"账户或者身份证号或者手机号已经被使用");}}/** * 删除 */@RequestMapping("/delete")publicRdelete(@RequestBodyInteger[]ids){logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());yonghuService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}/** * 登录 */@IgnoreAuth@RequestMapping(value="/login")publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){YonghuEntityyonghu=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("username",username));if(yonghu==null||!yonghu.getPassword().equals(password)){returnR.error("账号或密码不正确");}Stringtoken=tokenService.generateToken(yonghu.getId(),username,"yonghu","用户");Rr=R.ok();r.put("token",token);r.put("role","用户");r.put("username",yonghu.getYonghuName());r.put("tableName","yonghu");r.put("userId",yonghu.getId());returnr;}/** * 注册 */@IgnoreAuth@PostMapping(value="/register")publicRregister(@RequestBodyYonghuEntityyonghu){// ValidatorUtils.validateEntity(user);if(yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("username",yonghu.getUsername()).orNew().eq("yonghu_phone",yonghu.getYonghuPhone()).orNew().eq("yonghu_id_number",yonghu.getYonghuIdNumber()))!=null){returnR.error("账户已存在或手机号或身份证号已经被使用");}yonghuService.insert(yonghu);returnR.ok();}/** * 重置密码 */@GetMapping(value="/resetPassword")publicRresetPassword(Integerid){YonghuEntityyonghu=newYonghuEntity();yonghu.setPassword("123456");yonghu.setId(id);yonghuService.updateById(yonghu);returnR.ok();}/** * 获取用户的session用户信息 */@RequestMapping("/session")publicRgetCurrYonghu(HttpServletRequestrequest){Integerid=(Integer)request.getSession().getAttribute("userId");YonghuEntityyonghu=yonghuService.selectById(id);returnR.ok().put("data",yonghu);}/** * 退出 */@GetMapping(value="logout")publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok("退出成功");}}t("data",yonghu);}/** * 退出 */@GetMapping(value="logout")publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok("退出成功");}}.invalidate();returnR.ok("退出成功");}}t("data",yonghu);}/** * 退出 */@GetMapping(value="logout")publicRlogout(HttpServletRequestrequest){request.getSession().invalidate();returnR.ok("退出成功");}}
http://www.jsqmd.com/news/548862/

相关文章:

  • 3倍性能跃升:CXPatcher重新定义Mac游戏体验的技术革命
  • 避雷指南:PyTorch 2.6.0与torch_geometric的兼容性陷阱(附各版本组合测试结果)
  • 避免清洗预算超支,Polars 2.0资源监控与弹性伸缩策略全解析,含AWS/GCP成本对比矩阵
  • macOS虚拟摄像头多场景应用完全指南:从安装到高级配置
  • 3步掌握Plus Jakarta Sans:设计师与开发者的开源无衬线字体解决方案
  • 别再手动调顺序了!用Vue3+Element Plus+Sortable.js给你的表格加个拖拽编辑弹窗(附完整代码)
  • 2026年朝阳靠谱隐形车衣店推荐,解决水性车漆易损难题 - mypinpai
  • 细聊推荐阻火模块哪家靠谱,江苏地区靠谱厂家大盘点 - 工业品网
  • S2-Pro自动化PPT生成:从技术报告到精美幻灯片的智能转换
  • 新手必看:用EAS II软件给ELMO Gold Twitter驱动器做Quick Tuning的保姆级图文教程
  • 2026示教车直销新趋势,教你慧眼识厂家,Ai录播教室智慧教室/虚拟演播室/电商实训室/Ai微格教室,示教车厂家选哪家 - 品牌推荐师
  • 造相-Z-Image-Turbo LoRA应用实战:轻松生成高质量亚洲美女图片
  • 深入Ceres优化器:OpenCalib中LiDAR-IMU标定的非线性优化核心是怎么玩的?
  • OpenClaw远程控制方案:Qwen3-32B实现安全内网穿透
  • 2026年河北益华门业性价比高吗门好用吗,全面分析优劣 - 工业品牌热点
  • 终极指南:5个核心方案彻底解决AEUX插件连接失败问题
  • HoYo-Glyphs终极指南:解锁米哈游游戏世界的11种神秘字体
  • Plus Jakarta Sans:城市协作美学的开源字体解决方案
  • Switch视频播放2024升级版:wiliwili全功能使用指南
  • Z-Image Atelier 与Git协作:团队共享模型配置与Prompt工程库
  • 终极指南:Navicat Premium Mac版无限试用重置的完整解决方案
  • nli-distilroberta-base智能助手:嵌入RAG系统提升检索结果逻辑可信度
  • Vxe-Table横向也能无限滚?搞定超宽表格列动态加载的完整配置指南
  • 告别卡顿!用Unreal Insights和Simpleperf给你的UE4手游做一次深度CPU性能体检(附实战分析流程)
  • STM32CubeIDE实战:从零搭建LED闪烁项目
  • OpenCV之cv::undistort:从理论到实践的图像畸变校正指南
  • Kimi-K2开源解析:万亿MoE模型如何炼成智能体新标杆
  • tidal-dl-ng:解锁HiRes音乐体验的TIDAL媒体下载解决方案
  • 深入解析pam_tally2模块:如何避免因登录失败次数过多被锁定
  • 零基础玩转Glyph视觉推理:5分钟部署,让AI帮你秒读万字长文档