package com.xyd.controller.shopadmin;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.xyd.dto.ImageHolder;
import com.xyd.dto.ProductCategoryExecution;
import com.xyd.dto.ShopExecution;
import com.xyd.entity.*;
import com.xyd.enums.ProductCategoryStateEnum;
import com.xyd.enums.ShopStateEnum;
import com.xyd.exceptions.ShopOperationException;
import com.xyd.service.AreaService;
import com.xyd.service.ProductCategoryService;
import com.xyd.service.ShopCategoryService;
import com.xyd.service.ShopService;
import com.xyd.utils.CodeUtil;
import com.xyd.utils.HttpServletRequestUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
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.ResponseBody;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import javax.servlet.http.HttpServletRequest;
import javax.xml.crypto.Data;
import java.io.*;
import java.util.*;
/**
* @author XuYuDong
* @version 1.0
* @description com.xyd.controller.shopadmin
* @date 2020/3/23
* @description
*/
@Controller
@RequestMapping("/shopadmin")
public class ShopManagementController {
@Autowired
private ShopService shopService;
@Autowired
private ShopCategoryService shopCategoryService;
@Autowired
private AreaService areaService;
@Autowired
private ProductCategoryService productCategoryService;
//获取区域 以及店铺类别的信息将他返回给前台
//需要选出parentid 不为空的 一级类别不能做为店铺类别
@RequestMapping(value = "/getshopinitinfo", method = RequestMethod.GET)
@ResponseBody
private Map<String, Object> getShopInitInfo() {
Map<String, Object> modelMap = new HashMap<>();
List<ShopCategory> shopCategoryList = new ArrayList<>();
List<Area> areaList = new ArrayList<>();
try {
//选出 所有shopcategory 里面的parentid不为空的
shopCategoryList = shopCategoryService.getShopCategoryList(new ShopCategory());
areaList = areaService.getAreaList();
modelMap.put("success", true);
modelMap.put("areaList", areaList);
modelMap.put("shopCategoryList", shopCategoryList);
} catch (Exception e) {
modelMap.put("success", false);
modelMap.put("errMsg", e.getMessage());
System.out.println("初始化查询店铺类别和区域信息失败");
}
return modelMap;
}
/**
* 注册店铺 将店铺信息添加到数据库中
*
* @param request
* @return
*/
@RequestMapping(value = "/registershop", method = RequestMethod.POST)
@ResponseBody
private Map<String, Object> registerShop(HttpServletRequest request) {
Map<String, Object> modelMap = new HashMap<>();
//如果两个验证码不相同的话 modelMap直接返回验证码不正确
if (!CodeUtil.checkVerifyCode(request)) {
modelMap.put("success", false);
modelMap.put("errMsg", "验证码不正确!!");
return modelMap;
}
//1.接收并转换相应的参数 包括店铺信息 以及图片信息
String shopStr = HttpServletRequestUtil.getString(request, "shopStr");
//把json对象转换成 java对象
ObjectMapper mapper = new ObjectMapper();
Shop shop = null;
try {
shop = mapper.readValue(shopStr, Shop.class);
} catch (Exception e) {
modelMap.put("success", false);
modelMap.put("errMsg", e.getMessage());
return modelMap;
}
//获取文件流
CommonsMultipartFile shopImg = null;
//把文件流剥离出来
//需要文件解析器 去解析文件信息
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
//判断是否有上传的文件流
if (commonsMultipartResolver.isMultipart(request)) {
//有文件流
//强制转换成文件流请求
MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
shopImg = (CommonsMultipartFile) multipartHttpServletRequest.getFile("shopImg");
} else {
//没有文件流 没有上传图片
modelMap.put("success", false);
modelMap.put("errMsg", "上传图片不能为空");
return modelMap;
}
//2.注册店铺
if (shop != null && shopImg != null) {
//通过session回话传进来的
PersonInfo owner = (PersonInfo) request.getSession().getAttribute("user");
//Session TODO
//owner.setUserId(1);
shop.setOwner(owner);
ShopExecution se = null;
try {
ImageHolder imageHolder = new ImageHolder(shopImg.getInputStream(),shopImg.getOriginalFilename());
se = shopService.addShop(shop, imageHolder);
if (se.getState() == ShopStateEnum.CHECK.getState()) {
//成功
modelMap.put("success", true);
//添加成功后 需要把信息填入session
List<Shop> shopList = (List) request.getSession().getAttribute("shopList");
if (shopList == null || shopList.size() == 0) {
shopList = new ArrayList();
}
shopList.add(se.getShop());
request.getSession().setAttribute("shopList", shopList);
return modelMap;
} else {
modelMap.put("success", false);
modelMap.put("errMsg", se.getStateInfo());
return modelMap;
}
} catch (ShopOperationException e) {
e.printStackTrace();
modelMap.put("success", false);
modelMap.put("errMsg", e.getMessage());
return modelMap;
} catch (IOException e) {
e.printStackTrace();
modelMap.put("success", false);
modelMap.put("errMsg", e.getMessage());
return modelMap;
}
} else {
//报错返回
modelMap.put("success", false);
modelMap.put("errMsg", "请输入店铺信息");
return modelMap;
}
//3.返回结果
}
/**
* 修改店铺信息
*
* @param request
* @return
*/
@RequestMapping(value = "/modifyshop", method = RequestMethod.POST)
@ResponseBody
private Map<String, Object> modifyShop(HttpServletRequest request) {
Map<String, Object> modelMap = new HashMap<>();
//如果两个验证码不相同的话 modelMap直接返回验证码不正确
if (!CodeUtil.checkVerifyCode(request)) {
modelMap.put("success", false);
modelMap.put("errMsg", "验证码不正确!!");
return modelMap;
}
//1.接收并转换相应的参数 包括店铺信息 以及图片信息
String shopStr = HttpServletRequestUtil.getString(request, "shopStr");
//把json对象转换成 java对象
ObjectMapper mapper = new ObjectMapper();
Shop shop = null;
try {
shop = mapper.readValue(shopStr, Shop.class);
} catch (Exception e) {
modelMap.put("success", false);
modelMap.put("errMsg", e.getMessage());
return modelMap;
}
//获取文�
没有合适的资源?快使用搜索试试~ 我知道了~
毕业设计项目基于O2O的校园商铺管理系统.zip
共422个文件
java:77个
class:74个
js:50个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 103 浏览量
2023-10-26
20:27:24
上传
评论
收藏 53.05MB ZIP 举报
温馨提示
matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行! matlab算法,毕设、课设程序,全部源码均已进行严格测试,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
毕业设计项目基于O2O的校园商铺管理系统.zip (422个子文件)
ShopManagementController.class 13KB
ShopManagementController.class 13KB
ProductManagementController.class 9KB
ProductManagementController.class 9KB
ProductServiceImpl.class 7KB
WechatUtil.class 6KB
ImageUtil.class 6KB
Product.class 5KB
ShopListController.class 5KB
ShopListController.class 5KB
Shop.class 5KB
ShopServiceImpl.class 5KB
ShopDetailController.class 4KB
ShopDetailController.class 4KB
DynamicDataSourceInterceptor.class 4KB
PersonInfo.class 3KB
ShopCategory.class 3KB
ProductCategoryServiceImpl.class 3KB
HeadLine.class 3KB
WechatLoginController.class 3KB
WechatLoginController.class 3KB
WechatUser.class 3KB
LocalAuth.class 3KB
AreaController.class 3KB
AreaController.class 3KB
ProductImg.class 2KB
ProductExecution.class 2KB
MainPageController.class 2KB
MainPageController.class 2KB
ShopExecution.class 2KB
ProductCategory.class 2KB
HttpServletRequestUtil.class 2KB
SignUtil.class 2KB
Area.class 2KB
WechatController.class 2KB
WechatController.class 2KB
WechatAuth.class 2KB
ProductDetailController.class 2KB
ProductDetailController.class 2KB
ShopStateEnum.class 2KB
ProductCategoryExecution.class 2KB
UserAccessToken.class 2KB
ProductCategoryStateEnum.class 2KB
ProductStateEnum.class 2KB
ShopAdminController.class 1KB
ShopAdminController.class 1KB
DynamicDataSourceHolder.class 1KB
PathUtil.class 1KB
ImageHolder.class 1KB
FrontendController.class 1KB
FrontendController.class 1KB
CodeUtil.class 1KB
ShopCategoryServiceImpl.class 1020B
HeadLineServiceImpl.class 998B
AreaServiceImpl.class 938B
ProductMapper.class 894B
MyX509TrustManager.class 881B
ProductCategoryMapper.class 714B
ShopMapper.class 701B
ProductCategoryService.class 664B
ProductImgMapper.class 659B
ProductService.class 649B
DynamicDataSource.class 555B
ShopCategoryMapper.class 550B
HeadLineMapper.class 518B
PageCalculator.class 457B
ShopService.class 442B
ProductCategoryOperationException.class 432B
ProductOperationException.class 408B
ShopOperationException.class 399B
HeadLineService.class 340B
AreaMapper.class 333B
ShopCategoryService.class 316B
AreaService.class 226B
sm.css 106KB
sm.css 106KB
sm.min.css 85KB
sm.min.css 85KB
docs.css 30KB
docs.css 30KB
docs.min.css 24KB
docs.min.css 24KB
sm-extend.css 17KB
sm-extend.css 17KB
sm-extend.min.css 13KB
sm-extend.min.css 13KB
pygments-manni.css 3KB
pygments-manni.css 3KB
demos.css 2KB
demos.css 2KB
index.css 1KB
index.css 1KB
shoplist.css 450B
shoplist.css 450B
shopdetail.css 387B
shopdetail.css 387B
productcategorymanagement.css 361B
productcategorymanagement.css 361B
productmanagement.css 328B
productmanagement.css 328B
共 422 条
- 1
- 2
- 3
- 4
- 5
资源评论
天天501
- 粉丝: 604
- 资源: 4666
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功