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("/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;
//级联表service
@Autowired
private AddressService addressService;
@Autowired
private ShangpinService shangpinService;
@Autowired
private YonghuService yonghuService;
@Autowired
private CartService cartService;
@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, 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);
ShangpinOrderEntity shangpinOrder = shangpinOrderService.selectById(id);
if(shangpinOrder !=null){
//entity转view
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, request);
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 shangpinOrderEntity = shangpinOrderService.selectOne(queryWrapper);
if(shangpinOrderEntity==null){
// String role = String.valueOf(request.getSession().getAttribute("role"));
// if("".equals(role)){
// shangpinOrder.set
// }
shangpinOrderService.updateById(shangpinOrder);//根据id更新
return R.ok();
}else {
return R.error(511,"表中有相同数据");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Integer[] ids){
logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
shangpinOrderService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 批量上传
*/
@RequestMapping("/batchInsert")
public R save( String fileName){
logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
try {
List<ShangpinOrderEntity> shangpinOrderList = new ArrayList<>();//上传的东西
Map<String, List<String>> seachFields= new HashMap<>();//要查询的字段
Date date = new Date();
没有合适的资源?快使用搜索试试~ 我知道了~
ssm448基于JAVA的水果商城的设计与研究jsp.rar
共1440个文件
js:398个
gif:216个
css:186个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 169 浏览量
2024-11-30
09:41:38
上传
评论
收藏 20.31MB RAR 举报
温馨提示
重点:所有项目都有sql文件,比其他博主项目要严谨一万倍所有项目本人亲自测试可运行使用!!有任何问题私我解决! 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 求注关 所有9.9的项目,企业项目都有SQL文件,购买后运行部署可联系包你满意。不容易啊,谢谢大家支持!!
资源推荐
资源详情
资源评论
收起资源包目录
ssm448基于JAVA的水果商城的设计与研究jsp.rar (1440个子文件)
homeworkPC.min.css 449KB
element.min.css 233KB
elementui.css 227KB
menuColor.css 172KB
pink-violet.css 171KB
yellow-green.css 149KB
bootstrap.min.css 143KB
bootstrap.min.css 141KB
bootstrap.css 126KB
bootstrap.min.css 120KB
bootstrap.min.css 98KB
layui.css 73KB
layui.css 73KB
style.css 69KB
skin.css 69KB
skin.css 68KB
skin.min.css 55KB
skin.min.css 55KB
animate.css 55KB
animate.min.css 54KB
ueditor.css 45KB
app.css 40KB
aos.css 37KB
ueditor.min.css 34KB
font-awesome.min.css 30KB
font-awesome.min.css 30KB
jquery-ui-1.10.4.custom.min.css 27KB
jquery.treetable.theme.default.css 25KB
animate.css 25KB
skin.mobile.css 25KB
skin.mobile.css 25KB
styles.css 23KB
entypo-icon.css 23KB
font-awesome.css 22KB
all.css 22KB
video-js.css 22KB
skin.mobile.min.css 21KB
skin.mobile.min.css 21KB
font-awesome.min.css 20KB
content.css 20KB
content.inline.css 20KB
content.inline.css 20KB
content.css 20KB
all.css 19KB
image.css 19KB
jquery.idealforms.css 18KB
content.min.css 18KB
content.inline.min.css 18KB
content.inline.min.css 18KB
content.min.css 17KB
uzlist.css 17KB
themify-icons.css 17KB
page.css 15KB
video.css 15KB
global.css 15KB
attachment.css 15KB
square.min.css 15KB
layer.css 14KB
layer.css 14KB
all.css 14KB
all.css 13KB
all.css 13KB
swiper.css 13KB
bootstrap-select.css 13KB
dropzone.css 12KB
all.css 12KB
style.css 11KB
bootstrap-switch.css 11KB
video-js.min.css 11KB
extra-pages.css 11KB
bootstrap-datetimepicker.min.css 11KB
style.css 11KB
ladda.min.css 11KB
layui.mobile.css 10KB
layui.mobile.css 10KB
apmin.css 10KB
tooltipster.css 10KB
calendar.css 9KB
iconfont.css 9KB
responsive.css 9KB
fancybox.css 8KB
theme.css 8KB
laydate.css 8KB
laydate.css 7KB
laydate.css 7KB
social.css 7KB
shCoreDefault.css 7KB
jquery-jvectormap.css 7KB
login.style.css 6KB
jquery.steps.css 6KB
clockface.css 6KB
dripicon.css 6KB
footable.core.css 6KB
weather-icons.min.css 5KB
dataTables.bootstrap4.min.css 5KB
datepicker.css 5KB
style-responsive.css 5KB
datepicker.css 5KB
tabelizer.min.css 5KB
datepicker.css 5KB
共 1440 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15
资源评论
项目资源总站点博客专家
- 粉丝: 1357
- 资源: 4134
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Android系统的手机地图应用软件开发中文3.78MB最新版本
- AndroidStudio环境下的jni调用(NDK)的方法中文最新版本
- Vue + UEditor + v-model 实体绑定.zip
- 最新版本ArcGISForAndroidEclipse环境配置中文最新版本
- VS Code 的 Vue 工具 .zip
- AndroidStudio快捷键中文最新版本
- TypeScript 和 Vue 的入门模板,带有详细的 README,描述了如何将两者结合使用 .zip
- The Net Ninja YouTube 频道上的 Vue.js 2 播放列表的课程文件.zip
- TDesign 的 Vue3.x UI 组件库 .zip
- 机器学习,深度学习,卷积神经网络ppt详细说明,详细推导
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功