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("/chongwuyongpinOrder")
public class ChongwuyongpinOrderController {
private static final Logger logger = LoggerFactory.getLogger(ChongwuyongpinOrderController.class);
@Autowired
private ChongwuyongpinOrderService chongwuyongpinOrderService;
@Autowired
private TokenService tokenService;
@Autowired
private DictionaryService dictionaryService;
//级联表service
@Autowired
private AddressService addressService;
@Autowired
private ChongwuyongpinService chongwuyongpinService;
@Autowired
private YonghuService yonghuService;
@Autowired
private CartService cartService;
@Autowired
private ChongwuyongpinCommentbackService chongwuyongpinCommentbackService;
/**
* 后端列表
*/
@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"));
if(params.get("orderBy")==null || params.get("orderBy")==""){
params.put("orderBy","id");
}
PageUtils page = chongwuyongpinOrderService.queryPage(params);
//字典表数据转换
List<ChongwuyongpinOrderView> list =(List<ChongwuyongpinOrderView>)page.getList();
for(ChongwuyongpinOrderView 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);
ChongwuyongpinOrderEntity chongwuyongpinOrder = chongwuyongpinOrderService.selectById(id);
if(chongwuyongpinOrder !=null){
//entity转view
ChongwuyongpinOrderView view = new ChongwuyongpinOrderView();
BeanUtils.copyProperties( chongwuyongpinOrder , view );//把实体数据重构到view中
//级联表
AddressEntity address = addressService.selectById(chongwuyongpinOrder.getAddressId());
if(address != null){
BeanUtils.copyProperties( address , view ,new String[]{ "id", "createTime", "insertTime", "updateTime", "yonghuId"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setAddressId(address.getId());
view.setAddressYonghuId(address.getYonghuId());
}
//级联表
ChongwuyongpinEntity chongwuyongpin = chongwuyongpinService.selectById(chongwuyongpinOrder.getChongwuyongpinId());
if(chongwuyongpin != null){
BeanUtils.copyProperties( chongwuyongpin , view ,new String[]{ "id", "createTime", "insertTime", "updateTime"});//把级联的数据添加到view中,并排除id和创建时间字段
view.setChongwuyongpinId(chongwuyongpin.getId());
}
//级联表
YonghuEntity yonghu = yonghuService.selectById(chongwuyongpinOrder.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 ChongwuyongpinOrderEntity chongwuyongpinOrder, HttpServletRequest request){
logger.debug("save方法:,,Controller:{},,chongwuyongpinOrder:{}",this.getClass().getName(),chongwuyongpinOrder.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
if(false)
return R.error(511,"永远不会进入");
else if("用户".equals(role))
chongwuyongpinOrder.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
chongwuyongpinOrder.setInsertTime(new Date());
chongwuyongpinOrder.setCreateTime(new Date());
chongwuyongpinOrderService.insert(chongwuyongpinOrder);
return R.ok();
}
/**
* 后端修改
*/
@RequestMapping("/update")
public R update(@RequestBody ChongwuyongpinOrderEntity chongwuyongpinOrder, HttpServletRequest request){
logger.debug("update方法:,,Controller:{},,chongwuyongpinOrder:{}",this.getClass().getName(),chongwuyongpinOrder.toString());
String role = String.valueOf(request.getSession().getAttribute("role"));
// if(false)
// return R.error(511,"永远不会进入");
// else if("用户".equals(role))
// chongwuyongpinOrder.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));
//根据字段查询是否有相同数据
Wrapper<ChongwuyongpinOrderEntity> queryWrapper = new EntityWrapper<ChongwuyongpinOrderEntity>()
.eq("id",0)
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
ChongwuyongpinOrderEntity chongwuyongpinOrderEntity = chongwuyongpinOrderService.selectOne(queryWrapper);
if(chongwuyongpinOrderEntity==null){
chongwuyongpinOrderService.updateById(chongwuyongpinOrder);//根据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());
chongwuyongpinOrderService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 批量上传
*/
@RequestMapping("/batchInsert")
public R save( String fileName){
logger.debug("batchInsert方法:,,Controller:{},,fileName:{}",this.getClass().getName(),fileName);
普通网友
- 粉丝: 1612
- 资源: 6776
最新资源
- 基于java+ssm+mysql的网月科技公司门户网站 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的微博网站 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的校园服务平台管理系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的校园二手交易平台 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的校园二手交易市场系统 源码+数据库+论文(高分毕设项目).zip
- 《蓝桥杯真题大揭秘:Java与C/C++的解题之道》,聚焦蓝桥杯真题,深入剖析 Java 与 C/C++ 的解题之道
- 基于java+ssm+mysql的校园家教兼职信息交流平台 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的星火许电影小说网站 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的游戏销售系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的员工信息管理系统 源码+数据库+论文(高分毕设项目).zip
- 基于java+ssm+mysql的云端学习系统 源码+数据库+论文(高分毕设项目).zip
- 如何使用Java实现一个扫雷游戏?扫雷游戏Java源码
- 基于java+ssm+mysql的智慧养老平台 源码+数据库+论文(高分毕设项目).zip
- 基于Qt平台QuaZip方式压缩/解压缩动态库源码
- "基于COMSOL多物理场建模的隧洞开挖流固耦合模型研究:初始地应力平衡与土体变形应力分析",隧洞开挖流固耦合模型 采用COMSOL多物理场建模,渗透系数与渗透率均为应力的函数 通过平衡地应力求出
- 基于周立功CAN接口的Winform上位机源码:实现转速控制、通信与实时绘图功能,C#Winform开源一个can上位机源码,工控试验源码,通讯源码 can接口用的周立功的dll文件 绘图用的ze
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈