Java实战之小米交易商城系统的实现

 更新时间:2022年04月06日 14:44:22   作者:qq_1334611189  
这篇文章将利用Java实现小米交易商城系统,文中采用的技术有:JSP 、Spring、SpringMVC、MyBatis等,感兴趣的小伙伴可以跟随小编一起学习一下

一、项目简述

环境配置:

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

项目技术:

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

二、效果图

三、核心代码

用户购物车控制层

@CrossOrigin
@RestController
@RequestMapping("carts")
public class CartController {
 
    @Autowired
    private RegLogServiceImp regLogServiceImp;
    @Autowired
    private GoodServiceImp goodServiceImp;
    @Autowired
    private CartServiceImp cartServiceImp;
 
    @PostMapping("/push")
    public CartResult putShop(@RequestBody pushCart pushcart) throws IOException {
 
        CartResult cartResult = new CartResult();
        boolean success = TokenUtil.verify(pushcart.getToken());
        if (success) {
            cartResult.setStatus(0);
            User user = regLogServiceImp.getUserByUserName(pushcart.getUsername().trim());
            String userid = user.getUserid();
            CartGood cartGood = goodServiceImp.getGoodByid(userid, pushcart.getProductId());
            if (cartGood == null) {
                int goodcount = 1;
                CartGoodInsert goodByidinsert = goodServiceImp.getGoodByidinsert(pushcart.getProductId());
 
                goodServiceImp.insCartGood(userid, pushcart.getProductId(), goodByidinsert.getName(),
                        goodByidinsert.getPrice(), goodcount, goodByidinsert.getSubtitle(), goodByidinsert.getProductStock(),
                        goodByidinsert.getStatus(), true);
            } else {
                goodServiceImp.updateCartGood(userid, cartGood.getCount() + 1, pushcart.getProductId(), (cartGood.getCount() + 1) * cartGood.getPrice());
            }
 
            cartProductVoList cartProductVoList = cartServiceImp.getCartProduct(userid);
 
            int cartTotalPrice = 0;
            boolean selectedAll = true;
            int cartTotalQuantity = 0;
            for (cartProduct cartProduct : cartProductVoList.getList()) {
                cartTotalPrice += cartProduct.getProductTotalPrice();
                if (!cartProduct.isProductSelected()) {
                    selectedAll = false;
                }
                cartTotalQuantity += cartProduct.getCount();
            }
 
            cartResult.setStatus(0);
            cartResult.setCartTotalPrice(cartTotalPrice);
            cartResult.setCartTotalQuantity(cartTotalQuantity);
            cartResult.setData(cartProductVoList);
            cartResult.setImageHost("www.mi.com");
            cartResult.setSelectedAll(selectedAll);
        } else {
            cartResult.setStatus(10);
        }
        return cartResult;
    }
    @GetMapping("/sum")
    public CartResult getCartSum(@RequestParam("username") String username) throws IOException {
        CartResult cartResult = new CartResult();
 
        User user = regLogServiceImp.getUserByUserName(username);
        String userid = user.getUserid();
        cartProductVoList cartProductVoList = cartServiceImp.getCartProduct(userid);
        if(cartProductVoList==null){
            cartResult.setStatus(0);
            cartResult.setCartTotalQuantity(0);
        }
        else {
            int cartTotalQuantity=0;
            for(cartProduct cartProduct:cartProductVoList.getList()){
                cartTotalQuantity+=cartProduct.getCount();
            }
            cartResult.setStatus(0);
            cartResult.setCartTotalQuantity(cartTotalQuantity);
        }
    return cartResult;
    }
    @RequestMapping("/del")
    public CartResult delCarts(@RequestParam("id") int goodid,
                               @RequestParam("username") String username) throws IOException {
        User user = regLogServiceImp.getUserByUserName(username);
        String userid = user.getUserid();
        goodServiceImp.delGoodByid(userid,goodid);
        CartResult cartResult = getCarts(username);
        return cartResult;
    }
 
    @RequestMapping("/getcarts")
    public CartResult getCarts (@RequestParam("username") String username) throws IOException {
        CartResult cartResult = new CartResult();
        User user = regLogServiceImp.getUserByUserName(username);
        String userid = user.getUserid();
        cartProductVoList cartProductVoList = cartServiceImp.getCartProduct(userid);
        if(cartProductVoList==null){
            cartResult.setStatus(0);
            cartResult.setCartTotalQuantity(0);
            cartResult.setSelectedAll(false);
            cartResult.setImageHost("www.mi.com");
            cartResult.setCartTotalQuantity(0);
        }
        else {
            int carttotalPrice=0;
            boolean selectedall=true;
            int carttotalQuantity=0;
            for(cartProduct cartProduct:cartProductVoList.getList()){
                if(cartProduct.isProductSelected())
                    carttotalPrice+=cartProduct.getProductTotalPrice();
                if(!cartProduct.isProductSelected()){
                    selectedall=false;
                    }
                    carttotalQuantity+=cartProduct.getCount();
                }
 
                cartResult.setStatus(0);
                cartResult.setCartTotalPrice(carttotalPrice);
                cartResult.setCartTotalQuantity(carttotalQuantity);
                cartResult.setData(cartProductVoList);
                cartResult.setImageHost("www.mi.com");
                cartResult.setSelectedAll(selectedall);
            }
            return cartResult;
        }
 
        @GetMapping("/updatecart")
        public CartResult getCarts (
                @RequestParam("goodid") int  goodid,
                @RequestParam("username") String username,
                @RequestParam("quantity") int count,
                @RequestParam("selected") boolean selected
        ) throws IOException {
            User user = regLogServiceImp.getUserByUserName(username);
            String userid = user.getUserid();
 
            CartGood goodByid = goodServiceImp.getGoodByid(userid, goodid);
            goodServiceImp.updaCartNumSel(userid,goodid,count,selected,goodByid.getPrice()*count);
            CartResult carts = getCarts(username);
            return carts;
        }
 
        @GetMapping("/selectAll")
        public CartResult SelectAllCart(@RequestParam("username") String username) throws IOException {
            User user = regLogServiceImp.getUserByUserName(username);
            String userid = user.getUserid();
            goodServiceImp.updaCartSelect(userid);
            CartResult cartResult = getCarts(username);
            return cartResult;
        }
 
        @GetMapping("/unSelectAll")
        public CartResult unSelectAllCart(@RequestParam("username") String username) throws IOException {
            User user = regLogServiceImp.getUserByUserName(username);
            String userid = user.getUserid();
            goodServiceImp.updaCartunSelect(userid);
            CartResult cartResult = getCarts(username);
            cartResult.setCartTotalQuantity(0);
            cartResult.setCartTotalPrice(0);
            return cartResult;
    }
}

后台登录控制层

@CrossOrigin
@RestController
@RequestMapping("Login")
public class LoginController {
 
    @Autowired
    private LoginServiceImp loginServiceImp;
 
    Map<String, String> keyMap = RSAUtils.createKeys(512);
//    String  publicKey = keyMap.get("publicKey");
//    String  privateKey = keyMap.get("privateKey");
//    private String publicKey = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIS-9P6aiWK-mNIJxz0R_XXIbHM21pS_ZncpQcE8T5Mu6P6sJfoi5Cw6S4jcSqxNbRs5FSUc59GAkU1Ek9onrz8CAwEAAQ";
    private String privateKey = "MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAhL70_pqJYr6Y0gnHPRH9dchsczbWlL9mdylBwTxPky7o_qwl-iLkLDpLiNxKrE1tGzkVJRzn0YCRTUST2ievPwIDAQABAkAviOHaOiRwQ6gdrnq2F7cXcknDiCOW6GMc0J1HQP2Nyn52HKtc9E9Ailm-eQesTw6P-qTsvHMyfuVYz8fLhfkhAiEAvhvoG2Dz6qSN6IHeuPboJP7YHK9zTt6M_NGCJKAenasCIQCywU7eStITcHFTRDjjShH0CfO-vR6q-zgWQPjtNI_YvQIgY8UNiODW4bu-ZdlSY8vghRnhnRxO7YNKhpwFKueFacUCIQCZ-P65ZVNs4ScMZTBnP48VWVk2S-rVto0KRi7lC6h4NQIgEa_GhBO6U2p6G5cGAR25ZiQVH9dFnrMVyPxY7P7-WsA";
 
    @PostMapping("/login")
    public LoginResult Login(@RequestBody User adminUser) throws IOException, InvalidKeySpecException, NoSuchAlgorithmException {
        User user = loginServiceImp.getUserByUserName(adminUser.getUsername());
        LoginResult result = new LoginResult();
        LoginData loginData = new LoginData();
 
        if (user == null) {
            result.setMsg("无此用户,请重新输入正确用户名");
            result.setStatus(2008);
        } else {
            if (RSAUtils.privateDecrypt(user.getPwd(), RSAUtils.getPrivateKey(privateKey)).equals(adminUser.getPwd())){
                result.setStatus(0);
                String token = TokenUtil.token(user.getId().trim());
                loginData.setToken(token);
                result.setMsg("登录成功");
                result.setStatus(1010);
                result.setData(loginData);
            }else{
                result.setStatus(2007);
                result.setMsg("密码错误");
            }
        }
        return result;
    }
}

后台商品管理控制层

@CrossOrigin
@RestController
@RequestMapping("Good")
public class GoodController {
 
    @Autowired
    private GoodServiceImp goodServiceImp;
 
    @GetMapping("/getGood")
    private GoodResult getGood(@RequestParam("pageIndex") int pageIndex,
                               @RequestParam("pageSize") int pageSize,
                               @RequestParam("name") String goodname
                               ) throws IOException {
        GoodResult goodResult = goodServiceImp.getGood(pageIndex,pageSize,goodname);
        return goodResult;
    }
 
    @GetMapping("/getGoodById")
    private GoodResult getGoodById(@RequestParam("category") int pageIndex,
                               @RequestParam("pageSize") int pageSize
    ) throws IOException {
        GoodResult goodResult = goodServiceImp.getGoodById(pageIndex,pageSize);
        return goodResult;
    }
    @RequestMapping("/getGoodByName")
    private GoodResult getGoodByName(@RequestParam("name") String goodname) throws IOException {
        GoodResult goodResult = goodServiceImp.getGoodByName(goodname);
        return goodResult;
    }
 
    @RequestMapping("/updGood")
    private GoodResult getGoodByName(@RequestParam("good_id") int goodid,
                                     @RequestParam("name") String goodname,
                                     @RequestParam("newhot") int newhot) throws IOException {
        GoodResult goodResult = goodServiceImp.updGood(goodid,goodname,newhot);
        return goodResult;
    }
 
 
    @GetMapping("/getGoodPicById")
    private GoodPicResult getGoodPicById(@RequestParam("category") int pageIndex,
                                   @RequestParam("pageSize") int pageSize
    ) throws IOException {
        GoodPicResult goodpicResult = goodServiceImp.getGoodPic(pageIndex,pageSize);
        return goodpicResult;
    }
    @RequestMapping("/getGoodPicByName")
    private GoodPicResult getGoodPicByName(@RequestParam("name") String goodname) throws IOException {
//        int categor = Integer.parseInt(category);
        GoodPicResult goodResult = goodServiceImp.getGoodPicByName(goodname);
        return goodResult;
    }
 
 
    @PostMapping("/pushGood")
    private GoodPushResult pushGood(@RequestBody good good) throws IOException {
        GoodPushResult goodPushResult = goodServiceImp.getGoodPush(good);
        return goodPushResult;
    }
 
    @PostMapping("/delGood")
    private void delGood(@RequestBody good good) throws IOException {
          goodServiceImp.delGood(good);
    }
 
    @PostMapping("/delMulGood")
    private void delMulGood(@RequestBody List<good> goods) throws IOException {
        goodServiceImp.delMulGood(goods);
    }
 
    @GetMapping("/getGoodPic")
    private GoodPicResult getGoodPic(@RequestParam("pageIndex") int pageIndex,
                                     @RequestParam("pageSize") int pageSize) throws IOException {
        GoodPicResult goodPicResult = goodServiceImp.getGoodPic(pageIndex,pageSize);
        return goodPicResult;
    }
 
    @PostMapping("/updGoodPic")
    private void upGoodPic(@RequestBody GoodPic goodPic) throws IOException {
        int goodid= goodPic.getGood_id();
        String icon= goodPic.getIcon();
        String imageHead = goodPic.getImageHead();
        String imageFoot = goodPic.getImageFoot();
 
        goodServiceImp.updGoodPic(goodid,icon,1);
        goodServiceImp.updGoodPic(goodid,imageHead,2);
        goodServiceImp.updGoodPic(goodid,imageFoot,3);
    }
}

后台品类控制层

@CrossOrigin
@RestController
@RequestMapping("category")
public class CategoryController {
 
    @Autowired
    private CategServiceImp categServiceImp;
    @GetMapping("/getCategory")
        private CateResult getCategory(@RequestParam("pageIndex") int pageIndex,
                                    @RequestParam("pageSize") int pageSize) throws IOException {
        CateResult cateResult = categServiceImp.getCategory(pageIndex, pageSize);
        return cateResult;
    }
 
    @PostMapping("/updateCategory")
    private void updateCategory(@RequestBody Category category) throws IOException {
        categServiceImp.updCategory(category.getName(),category.getCategoryId());
    }
}

以上就是Java实战之小米交易商城系统的实现的详细内容,更多关于Java交易商城系统的资料请关注脚本之家其它相关文章!

相关文章

  • 通过图例了解IDEA引入JQuery实现步骤

    通过图例了解IDEA引入JQuery实现步骤

    这篇文章主要介绍了IDEA引入JQuery实现步骤图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Java中实现线程间通信的实例教程

    Java中实现线程间通信的实例教程

    线程通信的目标是使线程间能够互相发送信号,另一方面线程通信使线程能够等待其他线程的信号,这篇文章主要给大家介绍了关于Java中实现线程间通信的相关资料,本文通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • 关于Kafka消息队列原理的总结

    关于Kafka消息队列原理的总结

    这篇文章主要介绍了关于Kafka消息队列原理的总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 子类继承父类时构造函数相关问题解析

    子类继承父类时构造函数相关问题解析

    这篇文章主要介绍了子类继承父类时构造函数相关问题解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • java如何根据IP获取当前区域天气信息详解

    java如何根据IP获取当前区域天气信息详解

    根据IP自动获取当地的天气预报信息这个功能大家应该都遇到过,天气预报信息用途非常广泛,篇文章主要给大家介绍了关于java如何根据IP获取当前区域天气信息的相关资料,需要的朋友可以参考下
    2021-08-08
  • 基于SpringBoot和Leaflet的行政区划地图掩膜效果实战教程

    基于SpringBoot和Leaflet的行政区划地图掩膜效果实战教程

    本文讲解的是一种图层级的掩膜,即使用行政区划图层来进行掩膜,使用场景为,用户只需要在地图页面中展示目标行政区划内的影像信息,对于行政边界外的影像,这篇文章主要介绍了基于SpringBoot和Leaflet的行政区划地图掩膜效果实战,需要的朋友可以参考下
    2024-05-05
  • SpringBoot中如何进行统一异常处理

    SpringBoot中如何进行统一异常处理

    大家好,本篇文章主要讲的是SpringBoot中如何进行统一异常处理,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • java实现大文件分割与合并的实例代码

    java实现大文件分割与合并的实例代码

    java实现大文件分割与合并的实例代码,需要的朋友可以参考一下
    2013-03-03
  • SWT(JFace)体验之FillLayout布局

    SWT(JFace)体验之FillLayout布局

    FillLayout是非常简单的一种布局方式,它会以同样大小对父组件中的子组件进行布局,这些子组件将以一行或一列的形式排列。
    2009-06-06
  • SpringBoot接收接口入参的方式小结

    SpringBoot接收接口入参的方式小结

    这篇文章主要给大家介绍了SpringBoot接收接口入参的几种方式,我们从调用方的视角去看待这个问题,对调用方来说,它在调用接口时有好几种传参方式,下面,将会依次对这几种参数方式进行讲解和代码示例,需要的朋友可以参考下
    2024-01-01

最新评论