Java 实战练手项目之校园超市管理系统的实现流程

网友投稿 239 2022-11-22

Java 实战练手项目之校园超市管理系统的实现流程

前端模板框架为Bootstrap,系统分为前台和后台。后台主要为管理员角色,功能有:商品类型管理、商品管理、订单管理、会员管理、管理员管理等。前台用户功能有:登录、注册、查看商品、加入购物车、付款、查看订单、个人中心等。该系统总共9张表

运行环境:windows/linux、jdk1.8、mysql5.x、maven3.5\3.6、tomcat7.0

前端商品控制器:

/**

*

* 前端控制器

*

*/

@RestController

@RequestMapping("/goods")

public class GoodsController {

@Autowired

private GoodsService goodsService;

@Autowired

private ProviderService providerService;

@Autowired

private CategoryService categoryService;

/**

* 商品模糊查询

*

* @param

* @return

*/

@SysLog("商品查询操作")

@RequestMapping("/goodsList")

public DataGridViewResult goodsList(GoodsVO goodsVO) {

//创建分页信息 参数1 当前页 参数2 每页显示条数

IPage page = new Page<>(goodsVO.getPage(), goodsVO.getLimit());

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.eq(goodsVO.getProviderid() != null && goodsVO.getProviderid() != 0, "providerid", goodsVO.getProviderid());

queryWrapper.like(!StringUtils.isEmpty(goodsVO.getGname()), "gname", goodsVO.getGname());

IPage goodsIPage = goodsService.page(page, queryWrapper);

List records = goodsIPage.getRecords();

for (Goods goods : records) {

Provider provider = providerService.getById(goods.getProviderid());

if (null != provider) {

goods.setProvidername(provider.getProvidername());

}

}

return new DataGridViewResult(goodsIPage.getTotal(), records);

}

/**

* 添加商品信息

*

* @param goods

* @return

*/

@SysLog("商品添加操作")

@PostMapping("/addgoods")

public Result addGoods(Goods goods) {

String id = RandomStringUtils.randomAlphanumeric(8);

if (goods.getGoodsimg()!=null&&goods.getGoodsimg().endsWith("_temp")){

String newName = AppFileUtils.renameFile(goods.getGoodsimg());

goods.setGoodsimg(newName);

}

goods.setGnumbering(id);

boolean bool = goodsService.save(goods);

if (bool) {

return Result.success(true, "200", "添加成功!");

}

return Result.error(false, null, "添加失败!");

}

/**

* 修改商品信息

*

* @param goods

* @return

*/

@SysLog("商品修改操作")

@PostMapping("/updategoods")

public Result updateGoods(Goods goods) {

//商品图片不是默认图片

if (!(goods.getGoodsimg()!=null&&goods.getGoodsimg().equals(Constast.DEFAULT_IMG))){

if (goods.getGoodsimg().endsWith("_temp")){

String newName = AppFileUtils.renameFile(goods.getGoodsimg());

goods.setGoodsimg(newName);

//删除原先的图片

String oldPath = goodsService.getById(goods.getGid()).getGoodsimg();

AppFileUtils.removeFileByPath(oldPath);

}

}

boolean bool = goodsService.updateById(goods);

if (bool) {

return Result.success(true, "200", "修改成功!");

}

return Result.error(false, null, "修改失败!");

}

/**

* 删除单条数据

*

* @param id

* @return

*/

@SysLog("商品删除操作")

@RequestMapping("/deleteOne")

public Result deleteOne(int id) {

boolean bool = goodsService.removeById(id);

if (bool) {

return Result.success(true, "200", "删除成功!");

}

return Result.error(false, null, "删除失败!");

}

/**

* 根据id查询当前商品拥有的类别

*

* @param id

* @return

*/

@RequestMapping("/initGoodsByCategoryId")

public DataGridViewResult initGoodsByCategoryId(int id) {

List> mapList = null;

try {

//查询所有类别列表

mapList = categoryService.listMaps();

//根据商品id查询商品拥有的类别

Set cateIdList = categoryService.findGoodsByCategoryId(id);

for (Map map : mapList) {

//定义标记 默认不选中

boolean flag = false;

int cateId = (int) map.get("cateid");

for (Integer cid : cateIdList) {

if (cid == cateId) {

flag = true;

break;

}

}

map.put("LAY_CHECKED", flag);

}

} catch (Exception e) {

e.printStackTrace();

}

return new DataGridViewResult(Long.valueOf(mapList.size()), mapList);

}

/**

* 根据商品id加载商品信息

* @param goodsid

* @return

*/

@GetMapping("/loadGoodsById")

public DataGridViewResult loadGoodsById(int goodsid) {

QueryWrapper goodsQueryWrapper = new QueryWrapper<>();

goodsQueryWrapper.eq(goodsid != 0, "gid", goodsid);

Goods goods = goodsService.getById(goodsid);

return new DataGridViewResult(goods);

}

/**

* 为商品分配类别

*

* @param categoryids

* @param goodsid

* @return

*/

@SysLog("类别添加操作")

@RequestMapping("/saveGoodsCategory")

public Result saveGoodsCategory(String categoryids, int goodsid) {

try {

if (goodsService.saveGoodsCategory(goodsid, categoryids)) {

return Result.success(true, null, "分配成功http://");

}

} catch (Exception e) {

e.printStackTrace();

}

return Result.error(false, null, "分配失败");

}

/**

* 加载下拉框

*

* @return

*/

@RequestMapping("/loadAllGoods")

public DataGridViewResult loadAllGoods() {

QueryWrapper queryWrapper = new QueryWrapper<>();

List list = goodsService.list(queryWrapper);

return new DataGridViewResult(list);

}

/**

* 根据供应商查商品下拉框

*

* @param providerid

* @return

*/

@RequestMapping("/loadGoodsByProvidreId")

public DataGridViewResult loadGoodsByProvidreId(Integer providerid) {

QueryWrapper goodsQueryWrapper = new QueryWrapper<>();

goodsQueryWrapper.eq(providerid != null, "providerid", providerid);

List list = goodsService.list(goodsQueryWrapper);

for (Goods goods : list) {

Provider provider = providerService.getById(goods.getProviderid());

if (null != provider) {

goods.setProvidername(provider.getProvidername());

}

}

return new DataGridViewResult(list);

}

}

前端销售控制器:

/**

*

* 前端控制器

*

*/

@RestController

@RequestMapping("/sale")

public class SaleController {

@Autowired

private SaleService saleService;

@Autowired

private GoodsService goodsService;

@Autowired

private CustomerService customerService;

/**

* 销售查询

*

* @param

* @return

*/

@SysLog("销售查询操作")

@RequestMapping("/saleList")

public DataGridViewResult saleList(SaleVO saleVO) {

//创建分页信息 参数1 当前页 参数2 每页显示条数

IPage page = new Page<>(saleVO.getPage(), saleVO.getLimit());

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.like(!StringUtils.isEmpty(saleVO.getNumbering()),"numbering", saleVO.getNumbering());

queryWrapper.eq(saleVO.getGid() != null && saleVO.getGid() != 0, "gid", saleVO.getGid());

queryWrapper.ge(saleVO.getStartTime() != null, "buytime", saleVO.getStartTime());

queryWrapper.le(saleVO.getEndTime() != null, "buytime", saleVO.getEndTime());

queryWrapper.orderByDesc("buytime");

IPage saleIPage = saleService.page(page, queryWrapper);

List records = saleIPage.getRecords();

for (Sale sale : records) {

sale.setAllmoney(sale.getMoney()*sale.getBuyquantity());

Customer customer = customerService.getById(sale.getCustid());

if (null != customer) {

sale.setCustomervip(customer.getCustvip());

sale.setCustomername(customer.getCustname());

}

Goods goods = goodsService.getById(sale.getGid());

if (null != goods) {

sale.setGoodsname(goods.getGname());

sale.setGnumbering(goods.getGnumbering());

}

}

return new DataGridViewResult(saleIPage.getTotal(), records);

}

/**

* 添加销售单信息

*

* @param sale

* @return

*/

@SysLog("销售添加操作")

@PostMapping("/addsale")

public Result addsale(Sale sale, HttpSession session) {

if (sale.getGid()==0){

return Result.error(false, null, "添加失败!未选商品");

}

Goods goods = goodsService.getById(sale.getGid());

Integer gquantity = goods.getGquantity();

if(gquantity

return Result.error(false, null, "添加失败!库存不足,库存为:"+gquantity);

}

User user = (User) session.getAttribute("username");

String num = RandomStringUtils.randomAlphanumeric(7);

sale.setNumbering(num);

sale.setPerson(user.getUsername());

sale.setBuytime(new Date());

sale.setRealnumber(sale.getBuyquantity());

boolean bool = saleService.save(sale);

if (bool) {

return Result.success(true, "200", "添加成功!");

}

return Result.error(false, null, "添加失败!库存不足");

}

/**

* 修改销售单信息

*

* @param sale

* @return

*/

@SysLog("销售修改操作")

@PostMapping("/updatesale")

public Result updatesale(Sale sale, HttpSession session) {

User user = (User) session.getAttribute("username");

sale.setPerson(user.getUsername());

sale.setBuytime(new Date());

boolean bool = saleService.updateById(sale);

if (bool) {

return Result.success(true, "200", "修改成功!");

}

return Result.error(false, null, "修改失败!");

}

/**

* 删除单条数据

*

* @param id

* @return

*/

@SysLog("销售删除操作")

@RequestMapping("/deleteOne")

public Result deleteOne(int id) {

boolean bool = saleService.removeById(id);

if (bool) {

return Result.success(true, "200", "删除成功!");

}

return Result.error(false, null, "删除失败!");

}

}

前端用户控制器:

/**

*

* 前端控制器

*

return Result.error(false, null, "添加失败!库存不足,库存为:"+gquantity);

}

User user = (User) session.getAttribute("username");

String num = RandomStringUtils.randomAlphanumeric(7);

sale.setNumbering(num);

sale.setPerson(user.getUsername());

sale.setBuytime(new Date());

sale.setRealnumber(sale.getBuyquantity());

boolean bool = saleService.save(sale);

if (bool) {

return Result.success(true, "200", "添加成功!");

}

return Result.error(false, null, "添加失败!库存不足");

}

/**

* 修改销售单信息

*

* @param sale

* @return

*/

@SysLog("销售修改操作")

@PostMapping("/updatesale")

public Result updatesale(Sale sale, HttpSession session) {

User user = (User) session.getAttribute("username");

sale.setPerson(user.getUsername());

sale.setBuytime(new Date());

boolean bool = saleService.updateById(sale);

if (bool) {

return Result.success(true, "200", "修改成功!");

}

return Result.error(false, null, "修改失败!");

}

/**

* 删除单条数据

*

* @param id

* @return

*/

@SysLog("销售删除操作")

@RequestMapping("/deleteOne")

public Result deleteOne(int id) {

boolean bool = saleService.removeById(id);

if (bool) {

return Result.success(true, "200", "删除成功!");

}

return Result.error(false, null, "删除失败!");

}

}

前端用户控制器:

/**

*

* 前端控制器

*

*

*/

@RestController

@RequestMapping("/user")

public class UserController {

@Autowired

private UserService userService;

@Autowired

private RoleService roleService;

/**

* 登录

*

* @param username 用户名

* @param password 密码

* @param request

* @return

*/

@SysLog("登陆操作")

@PostMapping("/login")

public Result login(String username, String password, HttpServletRequest request) {

try {

//获取当前登录主体对象

Subject subject = SecurityUtils.getSubject();

UsernamePasswordToken token = new UsernamePasswordToken(username, password);

subject.login(token);

LoginUserVO userDTO = (LoginUserVO) subject.getPrincipal();

request.getSession().setAttribute("username", userDTO.getUser());

return Result.success(true, "200", "登录成功");

} catch (UnknownAccountException e) {

e.printStackTrace();

return Result.error(false, "400", "登录失败,用户名不存在");

}catch (IncorrectCredentialsException e) {

e.printStackTrace();

return Result.error(false, "400", "登录失败,密码错误");

}catch (AuthenticationException e) {

e.printStackTrace();

return Result.error(false, "400", "登录失败,账户禁用");

}

}

/**

* 得到登陆验证码

* @param response

* @param session

* @throws IOException

*/

@RequestMapping("/getCode")

public void getCode(HttpServletResponse response, HttpSession session) throws IOException {

//定义图形验证码的长和宽

LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(116, 36,4,5);

session.setAttribute("code",lineCaptcha.getCode());

try {

ServletOutputStream outputStream = response.getOutputStream();

lineCaptcha.write(outputStream);

outputStream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 查询所有用户信息

*

* @param userVO

* @return

*/

@SysLog("用户查询操作")

@RequestMapping("/userList")

public DataGridViewResult userList(UserVO userVO) {

//分页构造函数

IPage page = new Page<>(userVO.getPage(), userVO.getLimit());

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.like(!StringUtils.isEmpty(userVO.getUsername()), "username", userVO.getUsername());

queryWrapper.like(!StringUtils.isEmpty(userVO.getUname()), "uname", userVO.getUname());

/**

* 翻页查询

* @param page 翻页对象

* @param queryWrapper 实体对象封装操作类

*/

IPage userIPage = userService.page(page, queryWrapper);

return new DataGridViewResult(userIPage.getTotal(), userIPage.getRecords());

}

/**

* 添加用户信息

*

* @param user

* @return

*/

@SysLog("用户添加操作")

@PostMapping("/adduser")

public Result addRole(User user) {

user.setUcreatetime(new Date());

String salt = UUIDUtil.randomUUID();

user.setPassword(PasswordUtil.md5("000000", salt, 2));

user.setSalt(salt);

user.setType(1);

boolean bool = userService.save(user);

try {

if (bool) {

return Result.success(true, "200", "添加成功!");

}

} catch (Exception e) {

e.printStackTrace();

}

return Result.error(false, null, "添加失败!");

}

/**

* 校验用户名是否存在

*

* @param username

* @return

*/

@RequestMapping("/checkUserName")

public String checkUserName(String username) {

Map map = new HashMap<>();

try {

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.eq("username", username);

User user = userService.getOne(queryWrapper);

if (user != null) {

map.put("exist", true);

map.put("message", "用户名已存在");

} else {

map.put("exist", false);

map.put("message", "用户名可以使用");

}

} catch (Exception e) {

e.printStackTrace();

}

return jsON.toJSONString(map);

}

/**

* 修改用户信息

*

* @param user

* @return

*/

@SysLog("用户修改操作")

@PostMapping("/updateuser")

public Result updateUser(User user) {

boolean bool = userService.updateById(user);

try {

if (bool) {

return Result.success(true, "200", "修改成功!");

}

} catch (Exception e) {

e.printStackTrace();

}

return Result.error(false, null, "修改失败!");

}

/**

* 删除单条数据

*

* @param id

* @return

*/

@SysLog("用户删除操作")

@RequestMapping("/deleteOne")

public Result deleteOne(int id) {

boolean bool = userService.removeById(id);

try {

if (bool) {

return Result.success(true, "200", "删除成功!");

}

} catch (Exception e) {

e.printStackTrace();

}

return Result.error(false, null, "删除失败!");

}

/**

* 重置密码

*

* @param id

* @return

*/

@SysLog("用户修改操作")

@PostMapping("/resetPwd")

public Result resetPwd(int id) {

User user = new User();

String salt = UUIDUtil.randomUUID();

user.setUid(id);

user.setPassword(PasswordUtil.md5("000000", salt, 2));

user.setSalt(salt);

boolean bool = userService.updateById(user);

try {

if (bool) {

return Result.success(true, "200", "重置成功!");

}

} catch (Exception e) {

e.printStackTrace();

}

return Result.error(false, null, "重置失败!");

}

/**

* 根据id查询当前用户拥有的角色

*

* @param id

* @return

*/

@RequestMapping("/initRoleByUserId")

public DataGridViewResult initRoleByUserId(int id) {

List> mapList = null;

try {

//查询所有角色列表

mapList = roleService.listMaps();

//根据用户id查询用户拥有的角色

Set roleIdList = userService.findRoleByUserId(id);

for (Map map : mapList) {

//定义标记 默认不选中

boolean flag = false;

int roleId = (int) map.get("roleid");

for (Integer rid : roleIdList) {

if (rid == roleId) {

flag = true;

break;

}

}

map.put("LAY_CHECKED", flag);

}

} catch (Exception e) {

http:// e.printStackTrace();

}

return new DataGridViewResult(Long.valueOf(mapList.size()), mapList);

}

/**

* 为用户分配角色

*

* @param roleids

* @param userid

* @return

*/

@SysLog("用户添加操作")

@RequestMapping("/saveUserRole")

public Result saveUserRole(String roleids, int userid) {

try {

if (userService.saveUserRole(userid, roleids)) {

return Result.success(true, null, "分配成功");

}

} catch (Exception e) {

e.printStackTrace();

}

return Result.error(false, null, "分配失败");

}

/**

* 修改密码

*

* @param newPassWord1

* @param newPassWord2

* @return

*/

@RequestMapping("/updateUserPassWord")

public Result updateUserPassWord(String newPassWord1, String newPassWord2,HttpSession session) {

User sessionUser = (User) session.getAttribute("username");

if (newPassWord1.equals(newPassWord2)){

User user = new User();

String salt = UUIDUtil.randomUUID();

user.setUid(sessionUser.getUid());

user.setPassword(PasswordUtil.md5(newPassWord1, salt, 2));

user.setSalt(salt);

boolean bool = userService.updateById(user);

if (bool){

return Result.success(true,null,"修改成功");

}else {

return Result.error(false,null,"修改失败!");

}

}else {

return Result.error(false,null,"修改失败,两次密码不一致!");

}

}

}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Hadoop 入门笔记—核心组件 YARN
下一篇:如何将土壤湿度传感器与Arduino接口
相关文章

 发表评论

暂时没有评论,来抢沙发吧~