/*
这段代码是一个用于管理美食订单的后端控制器,它包含了多个方法,分别对应了订单的查询、创建、修改、删除、批量上传、前端展示、退款、确认、收到、评价等功能。
1. `page` 方法用于分页查询订单,并进行了角色判断,对于不同的角色,如用户或商家,会查询不同的用户ID或商家ID,并可能根据角色设置默认的排序字段。
2. `info` 方法用于获取订单详情,包括订单信息、关联的美食、用户信息,并进行字典表数据的转换。
3. `save` 方法用于保存新的订单,会设置订单的基本信息,如创建时间、插入时间,并进行角色判断,如果是用户,则设置用户的ID。
4. `update` 方法用于更新订单信息,根据订单ID查询是否存在相同数据,如果存在则更新,否则返回错误。
5. `delete` 方法用于批量删除订单,根据传入的ID列表删除多个订单。
6. `batchInsert` 方法用于批量上传订单,从Excel文件中读取数据,并创建新的订单。
7. `list` 和 `detail` 方法用于前端展示订单列表和订单详情,分别对应前端页面展示的需求。
8. `add` 方法用于前端添加订单,会检查商品的库存和用户的余额,并更新订单状态、用户余额和积分。
9. `refund` 方法用于退款,会更新订单状态、用户余额和积分,以及商品的库存。
10. `deliver` 方法用于确认订单,将订单状态更新为已确认。
11. `receiving` 方法用于标记订单为已收到,将订单状态更新为已收到。
12. `commentback` 方法用于评价订单,将评价信息保存到评论表中,并更新订单状态为已评价。
*/
package com.controller;
import java.io.File;
import java.math.BigDecimal;
import java.net.URL;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;
import com.service.TokenService;
import com.utils.*;
import java.lang.reflect.InvocationTargetException;
import com.service.DictionaryService;
import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.entity.*;
import com.entity.view.*;
import com.service.*;
import com.utils.PageUtils;
import com.utils.R;
import com.alibaba.fastjson.*;
/**
* 美食订单
* 后端接口
* @author
* @email
*/
@RestController
@Controller
@RequestMapping("/meishiOrder")
public class MeishiOrderController {
private static final Logger logger = LoggerFactory.getLogger(MeishiOrderController.class);
@Autowired
private MeishiOrderService meishiOrderService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
@Autowired
private MeishiService meishiService;
@Autowired
private YonghuService yonghuService;
@Autowired
private CartService cartService;
@Autowired
private MeishiCommentbackService meishiCommentbackService;
@Autowired
private ShangjiaService shangjiaService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永不会进入");
else if("用户".equals(role))
params.put("yonghuId",request.getSession().getAttribute("userId"));
else if("商家".equals(role))
params.put("shangjiaId",request.getSession().getAttribute("userId"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = meishiOrderService.queryPage(params);
List<MeishiOrderView> list =(List<MeishiOrderView>)page.getList();
for(MeishiOrderView c:list){
dictionaryService.dictionaryConvert(c, request);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id, HttpServletRequest request){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
MeishiOrderEntity meishiOrder = meishiOrderService.selectById(id);
if(meishiOrder !=null){
MeishiOrderView view = new MeishiOrderView();
BeanUtils.copyProperties( meishiOrder , view );//把实体数据重构到view中
MeishiEntity meishi = meishiService.selectById(meishiOrder.getMeishiId());
if(meishi != null){
BeanUtils.copyProperties( meishi , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setMeishiId(meishi.getId());
}
YonghuEntity yonghu = yonghuService.selectById(meishiOrder.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
dictionaryService.dictionaryConvert(view, request);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody MeishiOrderEntity meishiOrder, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,meishiOrder:{}",this.getClass().getName(),meishiOrder.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
else if("用户".equals(role))
meishiOrder.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
meishiOrder.setInsertTime(new Date());
meishiOrder.setCreateTime(new Date());
meishiOrderService.insert(meishiOrder);
return R.ok();
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody MeishiOrderEntity meishiOrder, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,meishiOrder:{}",this.getClass().getName(),meishiOrder.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
Wrapper<MeishiOrderEntity> queryWrapper = new EntityWrapper<MeishiOrderEntity>()
.eq("id",0)
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
MeishiOrderEntity meishiOrderEntity = meishiOrderService.selectOne(queryWrapper);
if(meishiOrderEntity==null){
meishiOrderService.updateById(meishiOrder);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,
没有合适的资源?快使用搜索试试~ 我知道了~
(源码)基于Spring Boot框架的美食推荐商城.zip

共805个文件
svg:162个
js:156个
java:125个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 70 浏览量
2025-06-12
04:07:13
上传
评论
收藏 21MB ZIP 举报
温馨提示
# 基于Spring Boot框架的美食推荐商城 ## 项目简介 本项目是基于Spring Boot框架的美食推荐商城,涵盖前台用户展示页面与后台管理页面。用户可在前台浏览美食推荐,商家能于后台进行商品管理、用户管理等操作。 ## 项目的主要特性和功能 1. 前台功能用户可在前台登录页面(http:localhost:8080meishishangchengfrontindex.html)浏览美食推荐、查看商品详情。 2. 后台功能商家和管理员可通过后台登录页面(http:localhost:8080meishishangchengadmindistindex.html)进行商品管理、用户管理、订单管理、系统设置等操作。 ## 安装使用步骤 假设已下载本项目源码文件,按以下步骤操作 1. 配置数据库连接信息在srcmainresourcesapplication.yml文件中,配置数据库的url、用户名和密码。
资源推荐
资源详情
资源评论




























收起资源包目录





































































































共 805 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论


t0_54manong
- 粉丝: 2172
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 国家开放大学电大《计算机组网技术》机考2套题库及答案九.pdf
- 北邮远程-办公软件应用-第一次作业(3页).doc
- AIPAPS美国物理联合会美国物理学会全文数据库使用培训省名师优质课赛课获奖课件市赛课一等奖课件.ppt
- 2023年CAD实验报告格式绘制二维图形.doc
- 操作系统管理.tmp(1).doc
- Thesunisshining.教学设计.doc
- 哈工大matlab期末考试题试题及答案(95分)分解-推荐文档.pdf
- 微型计算机技术8.ppt
- LabVIEW中向Excel写入数据(7页).doc
- 第2章--电子商务交易模式ppt课件.ppt
- 电子商务系统规划、分析与设计.pptx
- 某单位计算机维护服务方案.doc
- 化妆品生产管理软件(化妆品工厂管理软件-国宇软件-化妆品仓库管理软件-化妆品库存管理软件-化妆品软件).doc
- (完整)数据库期末考试复习试题及答案-推荐文档(1).pdf
- 探究云计算下大数据的信息检索技术应用.doc
- (完整版)软件开发需求分析模板.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
