package com.xueshengchengji.controller;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartResolver;
import com.github.pagehelper.PageHelper;
import com.xueshengchengji.dao.BanjiDao;
import com.xueshengchengji.dao.GoodsDao;
import com.xueshengchengji.dao.NianjiDao;
import com.xueshengchengji.dao.RoleMapper;
import com.xueshengchengji.dao.ShopDao;
import com.xueshengchengji.dao.UserDao;
import com.xueshengchengji.module.Banji;
import com.xueshengchengji.module.Goods;
import com.xueshengchengji.module.Nianji;
import com.xueshengchengji.module.Role;
import com.xueshengchengji.module.Shop;
import com.xueshengchengji.module.User;
import com.xueshengchengji.service.UserService;
import com.xueshengchengji.util.DataEntity;
import com.xueshengchengji.util.JsonUtils;
import tk.mybatis.mapper.entity.Example;
import tk.mybatis.mapper.entity.Example.Criteria;
@RequestMapping("/admin/goods")
@Controller
public class GoodsController {
@Autowired
private GoodsDao dao;
@Autowired
private BanjiDao bdao;
@Autowired
private ShopDao sdao;
@Autowired
private UserDao udao;
// 处理 "/admin/goods/index" GET 请求的方法
@RequestMapping(value="/index",method=RequestMethod.GET)
public String index(HttpServletRequest request) {
// 从会话中获取用户对象
User user = (User)request.getSession().getAttribute("admin");
// 创建 Shop 类的示例
Example example = new Example(Shop.class);
Criteria criteria = example.createCriteria();
// 如果用户的角色为 2,则根据用户的 ID 过滤商店
if (user.getRid()==2) {
criteria.andEqualTo("uid", user.getId());
}
// 根据示例查询商店列表
List<Shop> shoplist = sdao.selectByExample(example);
// 将商店列表设置为请求属性,用于在视图中显示
request.setAttribute("shoplist", shoplist);
// 返回视图名
return "goods/index";
}
// 处理 "/admin/goods/index2" GET 请求的方法
@RequestMapping(value="/index2",method=RequestMethod.GET)
public String index2(HttpServletRequest request) {
// 从会话中获取用户对象
User user = (User)request.getSession().getAttribute("admin");
// 创建 Shop 类的示例
Example example = new Example(Shop.class);
Criteria criteria = example.createCriteria();
// 如果用户的角色为 2,则根据用户的 ID 过滤商店
if (user.getRid()==2) {
criteria.andEqualTo("uid", user.getId());
}
// 根据示例查询商店列表
List<Shop> shoplist = sdao.selectByExample(example);
// 将商店列表设置为请求属性,用于在视图中显示
request.setAttribute("shoplist", shoplist);
// 返回视图名
return "goods/index2";
}
// 处理 "/admin/goods/getList" GET 请求的方法
@RequestMapping(value="/getList",method=RequestMethod.GET)
@ResponseBody
public String getList(HttpServletRequest request, @RequestParam Integer sid, @RequestParam String sort,
@RequestParam(required = false, defaultValue = "1") int page,
@RequestParam(required = false, defaultValue = "10") int limit) {
// 从会话中获取用户对象
User user = (User)request.getSession().getAttribute("admin");
// 设置分页参数
PageHelper.startPage(page, limit, true);
// 创建 Goods 类的示例
Example example = new Example(Goods.class);
// 根据排序方式设置排序规则
if (sort.equals("desc")) {
example.orderBy("fen").desc();
} else {
example.orderBy("fen").asc();
}
Criteria criteria = example.createCriteria();
// 根据商店 ID 过滤商品
if (sid != 0) {
criteria.andEqualTo("sid", sid);
}
// 根据用户角色过滤商品
if (user.getRid() == 2) {
criteria.andEqualTo("bid", user.getBid());
}
// 根据用户角色过滤商品
if (user.getRid() == 3) {
criteria.andEqualTo("uid", user.getId());
}
// 根据示例查询商品列表
List<Goods> list = dao.selectByExample(example);
// 创建返回结果的 Map 对象
Map<String,Object> result = new HashMap<>();
result.put("code", 0);
result.put("msg", "");
result.put("count", dao.selectAll().size());
result.put("data", list);
// 将结果转换为 JSON 格式
String json = JsonUtils.objectToJson(result);
// 返回 JSON 数据
return json;
}
// 处理 "/admin/goods/add" GET 请求的方法
@RequestMapping(value="/add",method=RequestMethod.GET)
public String addGET(HttpServletRequest request) {
// 从会话中获取用户对象
User user = (User)request.getSession().getAttribute("admin");
// 创建 Shop 类的示例
Example example = new Example(Shop.class);
Criteria criteria = example.createCriteria();
// 如果用户的角色为 2,则根据用户的 ID 过滤商店
if (user.getRid()==2) {
criteria.andEqualTo("uid", user.getId());
}
// 根据示例查询商店列表
List<Shop> shoplist = sdao.selectByExample(example);
// 将商店列表设置为请求属性,用于在视图中显示
request.setAttribute("shoplist", shoplist);
// 创建 User 类的示例
Example uexample = new Example(User.class);
Criteria ucriteria = uexample.createCriteria();
// 设置查询条件为角色为 3的用户
ucriteria.andEqualTo("rid", 3);
// 如果用户的角色为 2,则根据用户的机构 ID 过滤用户
if (user.getRid() == 2) {
ucriteria.andEqualTo("bid", user.getBid());
}
// 根据示例查询用户列表
List<User> userlist = udao.selectByExample(uexample);
// 将用户列表设置为请求属性,用于在视图中显示
request.setAttribute("userlist", userlist);
// 返回视图名
return "goods/add";
}
// 处理 "/admin/goods/add" POST 请求的方法
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public DataEntity addPOST(Goods data) {
// 根据商品的店铺 ID 查询店铺对象
Shop shop = sdao.selectByPrimaryKey(data.getSid());
data.setSname(shop.getName());
// 根据商品的用户 ID 查询用户对象
User user = udao.selectByPrimaryKey(data.getUid());
data.setUname(user.getName());
data.setBid(user.getBid());
data.setBname(user.getBname());
data.setNid(user.getNid());
data.setNname(user.getNname());
// 插入商品数据
Integer res = dao.insert(data);
// 根据插入结果返回相应的数据实体对象
if (res == 1) {
return new DataEntity("200", "操作成功", null);
} else {
return new DataEntity("400", "操作失败", null);
}
}
// 处理 "/admin/goods/edit" GET 请求的方法
@RequestMapping(value="/edit",method=RequestMethod.GET)
public String editGET(@RequestParam Integer id, HttpServletRequest request) {
// 根据商品的 ID 查询商品对象
Goods data = dao.selectByPrimaryKey(id);
// 将商品对象设置为请求属性,用于在视图中�
java奋斗者
- 粉丝: 2282
- 资源: 260
最新资源
- 九钻美化(PUPG).zip
- Vue.js 框架 - 采用 Material Design 的即用型 Vue 组件,永久免费 .zip
- Vue.js 服务器端渲染指南(适用于 Vue 2).zip
- Vue.js 文件上传组件,多文件上传,上传目录,拖拽上传,拖拽目录,同时上传多个文件,html4(IE 9),`PUT` 方法,自定义过滤器.zip
- java毕业设计SpringBoot+Vue前后端分离的在线考试系统源码+数据库+文档说明(高分项目)
- SpringBoot+Vue前后端分离的在线考试系统源码+数据库+文档说明(毕业设计项目)
- vue.js pdf 查看器.zip
- vue-concise-slider,一个简单的vue滑动组件.zip
- 欢迎使用 EnFocus Pitstop Pro 2023 使用说明书 - 参考指南!本资源文件旨在为您提供详细的指导和参考,帮助您更好地理解和使用 EnFocus Pitstop Pro 2023
- Vue+ElementPlus 构建的 CMS 开发框架.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈