基于javaweb的校园鲜花销售商城系统(java+ssm+jsp+html+layui+mysql)

基于javaweb的校园鲜花销售商城系统(java+ssm+jsp+html+layui+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+ssm的校园鲜花销售商城系统(java+SSM+JSP+html+layui+mysql)

一、项目简述 环境配置:

Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。

功能介绍:用户管理、商品管理、评论管理、订单管理、管理员管理、资讯管理、登录注册 等等。

用户管理控制层:

/**

    用户

**/

@RestController

@RequestMapping(“user”)

public class UserController {

@Autowired

UserService userService;

@Autowired

UserDao dao;

@RequestMapping(“/test”)

R test() {

R r = new R();

return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(dao.findAll());

@RequestMapping(“/queryInfoByAccount”)

R queryInfoByAccount(@RequestParam(“account”) String account) {

R r = new R();

if (StringUtil.isEmpty(account)){

return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM);

User loginUser = userService.queryInfo(account);

if (loginUser == null){

return r.setCode(4000).setMsg(HttpMsg.INVALID_USER);

return r.setCode(2000).setData(loginUser);

@RequestMapping(“/find”)

R find(@RequestParam(“page”) int page, @RequestParam(“searchKey”) String searchKey) {

R r = new R();

Map<String, Object> map = new HashMap<>();

List users = userService.find(searchKey);

if (users == null) {

return r.setCode(2000);

List items = users.size() >= page * Constant.PAGE_SIZE ?

users.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE)

: users.subList((page - 1) * Constant.PAGE_SIZE, users.size());

int len = users.size() % Constant.PAGE_SIZE == 0 ? users.size() / Constant.PAGE_SIZE

: (users.size() / Constant.PAGE_SIZE + 1);

map.put(“items”, items);

map.put(“len”, len);

return r.setCode(2000).setData(map);

@RequestMapping(“/create”)

R create(@RequestBody User user) {

R r = new R();

int ans = userService.add(user);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.ADD_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.ADD_USER_FAILED);

@RequestMapping(“/update”)

R update(@RequestBody User user) {

R r = new R();

int ans = userService.update(user);

if (ans >= 0) {

return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED);

@DeleteMapping(“/delete”)

R delete(@RequestParam(“id”) int id) {

R r = new R();

int ans = userService.delete(id);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED);

订单管理控制层:

@RestController

@RequestMapping(“order”)

public class OrderController {

@Autowired

OrderService orderService;

@Autowired

UserDao userDao;

@Autowired

OrderDao orderDao;

@Autowired

FlowersDao flowersDao;

@RequestMapping(“/test”)

R test() {

R r = new R();

return r.setCode(4000).setMsg(Constant.IMG_PATH).setData(orderDao.findAll(null));

@RequestMapping(“/queryByAccount”)

R queryByAccount(@RequestParam(“account”) String account) {

R r = new R();

if (StringUtil.isEmpty(account)) {

return r.setCode(4000).setMsg(HttpMsg.INVALID_PARAM);

List orders = orderService.queryByAccount(account);

return r.setCode(2000).setData(orders);

@RequestMapping(“/find”)

R find(@RequestParam(“page”) int page, @RequestParam(“searchKey”) String searchKey, @RequestParam(“account”) String account) {

R r = new R();

Map<String, Object> map = new HashMap<>();

List orders = orderService.find(searchKey, account);

if (orders == null) {

return r.setCode(2000);

map.put(“items”, orders);

map.put(“len”, orders.size());

return r.setCode(2000).setData(map);

@RequestMapping(“/findAll”)

R findAll(@RequestParam(“page”) int page, @RequestParam(“searchKey”) String searchKey) {

R r = new R();

Map<String, Object> map = new HashMap<>();

List orders = orderService.findAll(searchKey);

if (orders == null) {

return r.setCode(2000);

List items = orders.size() >= page * Constant.PAGE_SIZE ?

orders.subList((page - 1) * Constant.PAGE_SIZE, page * Constant.PAGE_SIZE)

: orders.subList((page - 1) * Constant.PAGE_SIZE, orders.size());

int len = orders.size() % Constant.PAGE_SIZE == 0 ? orders.size() / Constant.PAGE_SIZE

: (orders.size() / Constant.PAGE_SIZE + 1);

List vos = new ArrayList<>();

for (Order item : items) {

User user = userDao.queryById(item.getUid());

OrderVo vo = new OrderVo();

vo.setAddress(user.getAddress()).setPhone(user.getPhone()).setUsername(user.getName())

.setAmount(item.getAmount()).setFlower(item.getFlower()).setId(item.getId())

.setUid(item.getUid()).setOrder_guid(item.getOrder_guid()).setPrice(item.getPrice())

.setState(item.getState());

vos.add(vo);

map.put(“items”, vos);

map.put(“len”, len);

return r.setCode(2000).setData(map);

@RequestMapping(“/update”)

R update(@RequestBody Order order) {

R r = new R();

int ans = orderService.update(order);

if (ans >= 0) {

return r.setCode(2000).setMsg(HttpMsg.UPDATE_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.UPDATE_USER_FAILED);

@RequestMapping(“/changeState”)

R changeState(@RequestBody Order order) {

orderDao.changeState(order);

return new R().setCode(2000).setMsg(HttpMsg.UPDATE_ORDER_OK);

@DeleteMapping(“/delete”)

R delete(@RequestParam(“id”) int id) {

R r = new R();

int ans = orderService.delete(id);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.DELETE_USER_OK);

return r.setCode(4000).setMsg(HttpMsg.DELETE_USER_FAILED);

商品管理控制层:

/**

    商品

**/

@RestController

@RequestMapping(“flower”)

public class FlowerController {

@Autowired

FlowersService flowerService;

@Autowired

FlowersDao flowersDao;

@RequestMapping(“/test”)

R test() {

R r = new R();

return r;

//find

@RequestMapping(“/find”)

R find(@RequestParam(“page”) int page, @RequestParam(“searchKey”) String searchKey, @RequestParam(“searchType”) String searchType) {

R r = new R();

List flowers = flowerService.find(searchKey, searchType);

if (flowers == null) {

return r.setCode(2000);

return getResponse(flowers, page, Constant.SHOW_PAGE_SIZE, r);

// 管理员查询所有

@RequestMapping(“/findAll”)

R findAll(@RequestParam(“page”) int page, @RequestParam(“searchKey”) String searchKey) {

R r = new R();

List flowers = flowerService.findAll(searchKey);

if (flowers == null) {

return r.setCode(2000);

return getResponse(flowers, page, Constant.PAGE_SIZE, r);

// 返回结果

private R getResponse(List flowers, int page, int pageSize, R r) {

Map<String, Object> map = new HashMap<>();

List items = flowers.size() >= page * pageSize ?

flowers.subList((page - 1) * pageSize, page * pageSize)

: flowers.subList((page - 1) * pageSize, flowers.size());

int len = flowers.size() % pageSize == 0 ? flowers.size() / pageSize

: (flowers.size() / pageSize + 1);

for (Flower item : items) {

if (item.getImg_guid() == null) {

item.setImg_guid(Constant.DEFAULT_IMG);

item.setImg_guid(Constant.IMG_USE_PATH + item.getImg_guid());

map.put(“items”, items);

map.put(“len”, len);

return r.setCode(2000).setData(map);

@RequestMapping(“/create”)

R create(@RequestBody Flower flower) {

R r = new R();

int ans = flowerService.add(flower);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.ADD_FLOWER_OK);

return r.setCode(4000).setMsg(HttpMsg.ADD_FLOWER_FAILED);

@RequestMapping(“/update”)

R update(@RequestBody Flower flower) {

R r = new R();

int ans = flowerService.update(flower);

if (ans >= 0) {

return r.setCode(2000).setMsg(HttpMsg.UPDATE_FLOWER_OK);

return r.setCode(4000).setMsg(HttpMsg.UPDATE_FLOWER_FAILED);

@RequestMapping(“/changeState”)

R changeState(@RequestBody Flower flower) {

R r = new R();

flowersDao.changeState(flower);

String msg = flower.getState() == 1?HttpMsg.GOODS_UP_OK:HttpMsg.GOODS_DOWN_OK;

return r.setCode(2000).setMsg(msg);

// 保存上传的图片

@RequestMapping(“/updateImg”)

R updateImg(@RequestParam(“file”) MultipartFile file) {

R r = new R();

// 只接收 jpg/png 图片

String filename = file.getOriginalFilename();

if (!filename.endsWith(“.jpg”) && !filename.endsWith(“.png”)){

return r.setCode(4000).setMsg(HttpMsg.ERROR_FILE_TYPE);

String img_guid = UUID.randomUUID().toString().replaceAll(“-”, “”) + “.jpg”;

try {

savePic(file.getInputStream(), img_guid);

return r.setCode(2000).setMsg(HttpMsg.UPDATE_PIC_OK).setData(img_guid);

} catch (IOException e) {

return r.setCode(4000).setMsg(HttpMsg.UPDATE_PIC_FAILED);

@PutMapping(“/updateImgGuid”)

R updateImgGuid(@RequestParam(“guid”) String guid, @RequestParam(“id”) int id) {

R r = new R();

int ans = flowerService.updateImg(guid, id);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.UPDATE_PIC_OK);

return r.setCode(4000).setMsg(HttpMsg.UPDATE_PIC_FAILED);

@DeleteMapping(“/delete”)

R delete(@RequestParam(“id”) int id) {

R r = new R();

int ans = flowerService.delete(id);

if (ans == 1) {

return r.setCode(2000).setMsg(HttpMsg.DELETE_FLOWER_OK);

return r.setCode(4000).setMsg(HttpMsg.DELETE_FLOWER_FAILED);

private void savePic(InputStream inputStream, String fileName) {

OutputStream os = null;

try {

String path = Constant.IMG_PATH;

// 1K的数据缓冲

byte[] bs = new byte[1024];

// 读取到的数据长度

int len;

// 输出的文件流保存到本地文件

os = new FileOutputStream(new File(path + fileName));

// 开始读取

while ((len = inputStream.read(bs)) != -1) {

os.write(bs, 0, len);

} catch (Exception e) {

e.printStackTrace();

} finally {

// 完毕,关闭所有链接

try {

os.close();

inputStream.close();

} catch (IOException e) {

e.printStackTrace();


经验分享 程序员 微信小程序 职场和发展