基于SpringBoot点餐小程序的开发【前后端】
有个小伙伴临时找到小孟,要开发一个点餐的系统,时间比较着急,给了2天的时间。
马马虎虎的搞出来了,头发掉了一撮!
今年找工作真特么难!985 学生涌入现成当公务员,双非的学生搞得压力很大。硕士找不到工作的真不少。
今年大厂招生明显比去年少了很多,更难受的是有的小厂技术面竟然有三面。
一位杭电的朋友,去年找我学习,他后来去了阿里,今年他内推了很多师弟师妹都没戏,因为现在卡得太严了。除去大厂,现在一些非大厂的,例如小红书、快手、斗鱼等,招聘岗位都少了很多,
一位小伙伴非常优秀,拿过奖、编程类的大赛也拿过奖,投出去的简历杳无音讯。
寒气逼人。
字节2022秋招有8000hc,今年2023届秋招只有3000hc,减少了60%。阿里秋招8.18才开始,往年7月份就开始了,hc也少了很多。现在各大公司的转正卡得非常严。有的公司比例6:1,就是说6个人转正1个。
那么明年后面就业就会好吗?
今年年初互联网开始裁员,然后后面开始缩减招聘名额。据我所知,今年很多硕士找工作都很难,现在又有很多985的学生开始向县城发展。
下面介绍下本系统,感兴趣的小伙伴,可以参考开发下!
# 一,功能介绍
本点单系统主要是基于SpringBoot框架和小程序开发的,主要是为当代人们的生活提供更便利、更高效的服务,也为营销者提供更好的系统进行用户、商品、订单等信息管理。 该系统所实现的主要功能模块如下:
前台: 1)注册登录 2)个人中心 ① 修改个人信息 ② 修改收货地址 ③ 积分 3)商品浏览 4)商品搜索 5)购物车 6)下单支付 后台: 1)注册登录 2)个人中心 ① 修改个人信息 ② 修改密码 3)用户管理 ① 客户信息管理 ② 管理员信息管理 4)商品管理 ① 商品分类管理 ② 商品信息管理 ③ 库存与销量 5)订单管理 前台提供用户注册登录、个人中心、浏览商品、查找商品、添加商品入购物车、订单提交以及支付等功能。后台提供管理注册登录、修改密码、修改个人信息、用户信息管理、管理员信息管理、商品信息管理、商品分配管理、库存与销量统计、订单管理等功能。
# 二,开发语言介绍
采用的SpringBoot+Vue+微信小程序进行开发,数据库采用的是Mysql。
# 三,系统的界面介绍
# 四,核心代码演示
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Long id = (Long)request.getSession().getAttribute("userId");
UserEntity user = userService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
return R.error("用户名已存在。");
}
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
/**
* 订单
* 后端接口
* @author 小孟v:jishulearn
* @email
* @date 2022-06-26 09:41:24
*/
@RestController
@RequestMapping("/orders")
public class OrdersController {
@Autowired
private OrdersService ordersService;
@Autowired
private CaipinxinxiService caipinxinxiService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,OrdersEntity orders,
HttpServletRequest request){
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
orders.setUserid((Long)request.getSession().getAttribute("userId"));
}
EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,OrdersEntity orders, HttpServletRequest request){
EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
PageUtils page = ordersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, orders), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( OrdersEntity orders){
EntityWrapper<OrdersEntity> ew = new EntityWrapper<OrdersEntity>();
ew.allEq(MPUtil.allEQMapPre( orders, "orders"));
return R.ok().put("data", ordersService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(OrdersEntity orders){
EntityWrapper< OrdersEntity> ew = new EntityWrapper< OrdersEntity>();
ew.allEq(MPUtil.allEQMapPre( orders, "orders"));
OrdersView ordersView = ordersService.selectView(ew);
return R.ok("查询订单成功").put("data", ordersView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
OrdersEntity orders = ordersService.selectById(id);
return R.ok().put("data", orders);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
OrdersEntity orders = ordersService.selectById(id);
return R.ok().put("data", orders);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody OrdersEntity orders, HttpServletRequest request){
orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(orders);
orders.setUserid((Long)request.getSession().getAttribute("userId"));
ordersService.insert(orders);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody OrdersEntity orders, HttpServletRequest request){
orders.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(orders);
CaipinxinxiEntity caipinxinxiEntity = caipinxinxiService.selectById(orders.getGoodid());
if(caipinxinxiEntity.getStore()<orders.getBuynumber()){
return R.error("库存不足");
}
caipinxinxiEntity.setStore(caipinxinxiEntity.getStore()-orders.getBuynumber());
caipinxinxiEntity.setSell(caipinxinxiEntity.getSell()+orders.getBuynumber());
caipinxinxiService.updateById(caipinxinxiEntity);
ordersService.insert(orders);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody OrdersEntity orders, HttpServletRequest request){
//ValidatorUtils.validateEntity(orders);
ordersService.updateById(orders);//全部更新
return R.ok();
}
如果你想学习项目开发,请关注我。一起交流进步,加油奥里给!回复:项目大全,全是干货!
给准备秋招的朋友一些建议:
1,选择海投,能多投就多投,没必要挂住哪几个公司,不去。
2,多看看银行、研究所、国企等机会,这些单位不会像互联网公司那样,轻易毁约,而且公司加班不多,是个不错的选择,但是这些单位对于学历有要求,硕士机会多些,或者本科是211的。
银行和很多的国企招聘集中在9月份、10月份,所以现在可以准备了。
3,英语不错的,可以考虑外企或者国外了。最近很多找我学习的小伙伴,有几个985名校的开始考虑国外工作了,计算机这行,我知道很多的国外公司薪水比国内高,关键是不加班,没有35岁危机。
4,能去读个硕士就去读个硕士吧,三年后起点更高些,而且到时候可能就业机会会多些。
5,全面发展。现在找工作真的需要打通各个方面的能力,八股文得会,项目得有,算法得会,比赛得参加,参加过开源项目。
最后多多面试,从面试中不断吸取经验,不断强大自己。