/*
代码功能解释:
该文件为商品订单(ShangpinOrder)的后端接口控制器类,包含商品订单相关的增删改查等操作。主要功能包括:
1. 后端列表(page):根据参数分页查询商品订单信息,并返回分页结果。
2. 后端详情(info):根据ID查询商品订单详情,包括订单中的商品、收货地址等信息,并返回详情数据。
3. 后端保存(save):保存新的商品订单信息,并返回保存结果。
4. 后端修改(update):根据ID更新商品订单信息,并返回更新结果。
5. 删除(delete):批量删除指定ID的商品订单信息,并返回删除结果。
6. 前端列表(list):根据参数分页查询商品订单信息,并返回分页结果,与前端列表页面相关。
7. 前端详情(detail):根据ID查询商品订单详情,与前端详情页面相关。
8. 前端保存(add):根据商品ID、购买数量等信息,新增商品订单信息,并返回保存结果。
9. 添加订单(order):根据购物车中的商品信息,生成商品订单,并更新商品库存和积分记录,返回添加结果。
10. 退款(refund):根据订单ID进行退款操作,更新订单状态和积分记录,并返回退款结果。
11. 评价(commentback):根据订单ID和评论内容,进行商品订单评价,并更新订单状态,返回评价结果。
12. 收货(receiving):根据订单ID,设置订单状态为已收货,并返回收货结果。
13. 支付(pay):根据订单信息,更新订单状态为已支付,并更新用户余额,返回支付结果。
*/
package com.controller;
import java.math.BigDecimal;
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.StringUtil;
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("/shangpinOrder")
public class ShangpinOrderController {
private static final Logger logger = LoggerFactory.getLogger(ShangpinOrderController.class);
@Autowired
private ShangpinOrderService shangpinOrderService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
@Autowired
private AddressService addressService;
@Autowired
private ShangpinService shangpinService;
@Autowired
private YonghuService yonghuService;
@Autowired
private CartService cartService;
@Autowired
private JifenjiluService jifenjiluService;
@Autowired
private ShangpinCommentbackService shangpinCommentbackService;
/**
* 后端列表
*/
@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(StringUtil.isEmpty(role))
return R.error(511,"权限为空");
else if("用户".equals(role))
params.put("yonghuId",request.getSession().getAttribute("userId"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = shangpinOrderService.queryPage(params);
List<ShangpinOrderView> list =(List<ShangpinOrderView>)page.getList();
for(ShangpinOrderView c:list){
dictionaryService.dictionaryConvert(c);
}
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
ShangpinOrderEntity shangpinOrder = shangpinOrderService.selectById(id);
if(shangpinOrder !=null){
ShangpinOrderView view = new ShangpinOrderView();
BeanUtils.copyProperties( shangpinOrder , view );//把实体数据重构到view中
AddressEntity address = addressService.selectById(shangpinOrder.getAddressId());
if(address != null){
BeanUtils.copyProperties( address , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setAddressId(address.getId());
}
ShangpinEntity shangpin = shangpinService.selectById(shangpinOrder.getShangpinId());
if(shangpin != null){
BeanUtils.copyProperties( shangpin , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setShangpinId(shangpin.getId());
}
YonghuEntity yonghu = yonghuService.selectById(shangpinOrder.getYonghuId());
if(yonghu != null){
BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setYonghuId(yonghu.getId());
}
dictionaryService.dictionaryConvert(view);
return R.ok().put("data", view);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody ShangpinOrderEntity shangpinOrder, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,shangpinOrder:{}",this.getClass().getName(),shangpinOrder.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isEmpty(role))
return R.error(511,"权限为空");
else if("用户".equals(role))
shangpinOrder.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
shangpinOrder.setInsertTime(new Date());
shangpinOrder.setCreateTime(new Date());
shangpinOrderService.insert(shangpinOrder);
return R.ok();
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody ShangpinOrderEntity shangpinOrder, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,shangpinOrder:{}",this.getClass().getName(),shangpinOrder.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(StringUtil.isEmpty(role))
return R.error(511,"权限为空");
else if("用户".equals(role))
shangpinOrder.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
Wrapper<ShangpinOrderEntity> queryWrapper = new EntityWrapper<ShangpinOrderEntity>()
.eq("id",0)
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
ShangpinOrderEntity
没有合适的资源?快使用搜索试试~ 我知道了~
(源码)基于SSM框架的个体户商城系统.zip

共1484个文件
js:413个
gif:216个
css:185个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 127 浏览量
2025-06-12
04:06:29
上传
评论
收藏 17.83MB ZIP 举报
温馨提示
# 基于SSM框架的个体户商城系统 ## 项目简介 本项目是一个个体户商城系统,采用Java开发技术及SSM(Spring+SpringMVC+MyBatis)框架,旨在帮助个体商户在互联网上开设并运营电商业务。系统提供前台和后台登录页面,具备商品展示、用户购买、后台管理等功能。 ## 项目的主要特性和功能 1. 前台功能商品展示、商品搜索、用户注册登录、购买商品、个人中心等。 2. 后台功能商品管理、用户管理、订单管理、支付设置等管理员操作功能。 ## 安装使用步骤(假设已下载项目源码文件) 1. 配置数据库依据提供的数据库配置信息,在srcmainresourcesconfig.properties文件中编辑数据库连接信息,包含数据库URL、用户名和密码等,确保数据库服务已启动且配置正确。
资源推荐
资源详情
资源评论



















收起资源包目录





































































































共 1484 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
资源评论


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


最新资源
- 2015最新工会行业信息化解决方案(1).docx
- 2023年信息技术学业水平考试模拟练习题算法与程序设计.doc
- 新型计算模型和顺序交互的数学计算机科学导论第九讲ppt课件市公开课获奖课件省名师优质课赛课一等奖课件.ppt
- 医院信息化硬件招标书.doc
- (完整版)基于PLC的音乐喷泉控制系统设计.doc
- 2023年全国01月自学考试00051《管理系统中计算机应用》.doc
- 电子商务网站建设方案策划书.docx
- MATLAB语言程序设计教程(第二版)教学课件整本书电子教案全套教学教程电子教案.ppt
- (完整版)按揭贷款还款计算器(等额本金-等额本息)EXCEL.xls
- 2023年西电天线CAD大作业.docx
- 教育信息化工作整体推进的战略思考.doc
- 保定市招商网站.doc
- 20161120公司信息化建设规划方案.doc
- 2010年软考软件设计师(上午题)全真模拟试卷(4)-中大网校.doc
- Office办公软件应用高级教程--word全套电子教案教学教程整套全书课件.pptx
- 大数据在医疗行业应用.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



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