shop--8.商品类别--批量操作--删除(后端)

Posted SkyeAngel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shop--8.商品类别--批量操作--删除(后端)相关的知识,希望对你有一定的参考价值。

dao层

/**
     * 根据productCategoryId和shopId删除商品类别
     * @param productCategoryId
     * @param shopId
     * @return
     */
    public int deleteProductCategory(@Param("productCategoryId") long productCategoryId,
                                     @Param("shopId") long shopId);

  

<delete id="deleteProductCategory" parameterType="java.lang.Long">
        DELETE
        FROM product_category
        WHERE
        product_category_id=#{productCategoryId}
        AND
        shop_id=#{shopId}
    </delete>

  

service层

    /**
     * 将此商品类别下的商品的类别id置为空,在删除掉该商品类别
     * @param productCategoryId
     * @param shopId
     * @return
     */
    public ProductCategoryExecution deleteProductCategory(long productCategoryId, long shopId);

  

impl

   @Override
    @Transactional
    public ProductCategoryExecution deleteProductCategory(long productCategoryId, long shopId) {
        //将此商品类别下的商品的商品类别置为null

        try{
            int effectNum = productCategoryDao.deleteProductCategory( productCategoryId, shopId );
            if(effectNum <= 0){
                throw new ProductCategoryException( "商品类别删除失败" );
            }else{
                return new ProductCategoryExecution(ProductCategoryEnum.SUCCESS);
            }
        }catch (Exception e){
            throw new ProductCategoryException("delete productCategory Error: " + e.getMessage() );
        }
    }

  

controller层

/**
     * 批量删除商品类别
     * @param productCategoryId
     * @param request
     * @return
     */
    @RequestMapping(value="/removeproductcategory", method=RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> removeProductCategory(Long productCategoryId, HttpServletRequest request){
        Map<String, Object> modelMap = new HashMap<>();
        if(productCategoryId != null && productCategoryId > 0){
            try{
                /*Shop currentShop = (Shop) request.getSession().getAttribute("currentShop");*/
                Shop currentShop = new Shop();
                currentShop.setShopId(1L);
                ProductCategoryExecution productCategoryExecution =
                        productCategoryService.deleteProductCategory( productCategoryId, currentShop.getShopId() );
                if(productCategoryExecution.getState() == ProductCategoryEnum.SUCCESS.getState()){
                    modelMap.put("success", true);
                }else{
                    modelMap.put( "success", false );
                    modelMap.put("errMsg", productCategoryExecution.getStateInfo());
                }

            } catch(ProductCategoryException e){
                modelMap.put( "success", false );
                modelMap.put("errMsg", e.toString());
                return modelMap;
            }
        } else{
            modelMap.put( "success", false );
            modelMap.put("errMsg", "请至少选择一个商品类别");
        }
        return modelMap;
    }

  

 

以上是关于shop--8.商品类别--批量操作--删除(后端)的主要内容,如果未能解决你的问题,请参考以下文章

校园商铺-7商品类别模块-5商品类别删除后端开发

Hibernate批量抓取

ecshop快速批量删除商品,包含图片一起删除

shop--8.店铺列表展示--Dao层

一个例子读懂 JS 异步编程: Callback / Promise / Generator / Async

第三篇商城系统-商品类别管理