Просмотр исходного кода

fix: 违规下架商品增加重新发布功能

周玉环 1 неделя назад
Родитель
Сommit
30b6ef48ac

+ 2 - 2
xinkeaboard-server/b2b2c-core/src/main/java/com/slodon/b2b2c/core/constant/ExpireTimeConst.java

@@ -12,9 +12,9 @@ public class ExpireTimeConst {
     public static final int EXPIRE_SECOND_15_DAY = 15 * 24 * 60 * 60;
 
     /**
-     * token过期时间1小时,单位毫秒
+     * token过期时间12小时,单位毫秒
      */
-    public static final long TOKEN_EXPIRE_TIME = 1000 * 60 * 60;
+    public static final long TOKEN_EXPIRE_TIME = 1000 * 60 * 60 * 12;
     /**
      * refresh_token过期时间15天,单位毫秒
      */

+ 13 - 13
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/goods/admin/GoodsCategoryController.java

@@ -483,11 +483,11 @@ public class GoodsCategoryController {
             for (GoodsCategory goodsCategory : list) {
                 GoodsExample goodsExample = new GoodsExample();
                 goodsExample.setCategoryId1(goodsCategory.getCategoryId());
-                Integer num = goodsModel.getGoodsCount(goodsExample);
-                if (StringUtil.isNullOrZero(num)) {
-                    //一级分类没有绑定商品则不缓存
-                    continue;
-                }
+//                Integer num = goodsModel.getGoodsCount(goodsExample);
+//                if (StringUtil.isNullOrZero(num)) {
+//                    //一级分类没有绑定商品则不缓存
+//                    continue;
+//                }
                 vos.add(new FrontGoodsCategoryVO(goodsCategory));
             }
             //更新缓存中的数据
@@ -546,11 +546,11 @@ public class GoodsCategoryController {
                     for (GoodsCategory goodsCategory3 : list3) {
                         GoodsExample goodsExample = new GoodsExample();
                         goodsExample.setCategoryId3(goodsCategory3.getCategoryId());
-                        Integer num = goodsModel.getGoodsCount(goodsExample);
-                        if (StringUtil.isNullOrZero(num)) {
-                            //三级分类没有绑定商品则不缓存
-                            continue;
-                        }
+//                        Integer num = goodsModel.getGoodsCount(goodsExample);
+//                        if (StringUtil.isNullOrZero(num)) {
+//                            //三级分类没有绑定商品则不缓存
+//                            continue;
+//                        }
                         FrontGoodsCategoryVO tree3 = new FrontGoodsCategoryVO(goodsCategory3);
                         //没有图片就用默认图片
                         if (StringUtils.isEmpty(goodsCategory3.getCategoryImage())) {
@@ -559,9 +559,9 @@ public class GoodsCategoryController {
                         vos3.add(tree3);
                     }
                 }
-                if (CollectionUtils.isEmpty(vos3)) {
-                    continue;
-                }
+//                if (CollectionUtils.isEmpty(vos3)) {
+//                    continue;
+//                }
                 tree2.setChildren(vos3);
                 vos2.add(tree2);
             }

+ 16 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/goods/seller/GoodsSellerController.java

@@ -298,6 +298,22 @@ public class GoodsSellerController extends BaseController {
         return SldResponse.success(number + "件商品上架成功", logMsg);
     }
 
+    @ApiOperation("违规下架商品 重新上架")
+    @VendorLogger(option = "违规下架商品 重新上架")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "goodsIds", value = "商品Id集合,用逗号隔开", required = true, paramType = "query")
+    })
+    @PostMapping("illegalUpperShelf")
+    public JsonResult<Integer> illegalUpperShelf(HttpServletRequest request, String goodsIds) {
+        // 验证参数是否为空
+        String logMsg = "上架商品Id" + goodsIds;
+        AssertUtil.notEmpty(goodsIds, "上架商品ID不能为空,请重试");
+        AssertUtil.notFormatFrontIds(goodsIds, "goodsIds格式错误,请重试");
+        Vendor vendor = UserUtil.getUser(request, Vendor.class);
+        int number = goodsSellerModel.illegalUpperShelf(vendor.getStoreId(), goodsIds);
+        return SldResponse.success(number + "件商品上架成功", logMsg);
+    }
+
     @ApiOperation("商品下架")
     @VendorLogger(option = "商品下架")
     @ApiImplicitParams({

+ 3 - 0
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/controller/member/seller/admin/VendorController.java

@@ -201,6 +201,9 @@ public class VendorController extends BaseController {
         Vendor vendorDb = vendorModel.getVendorByVendorId(vendorId);
         AssertUtil.notNull(vendorDb, "店铺管理员账号不存在");
 
+        String newPassword = Md5.getMd5String(confirmPwd);
+        AssertUtil.isTrue(vendorDb.getVendorPassword().equals(newPassword), "新密码不能与上次密码一致!");
+
         Vendor vendorNew = new Vendor();
         vendorNew.setVendorId(vendorId);
         vendorNew.setVendorPassword(Md5.getMd5String(confirmPwd));

+ 34 - 4
xinkeaboard-server/b2b2c-web/src/main/java/com/slodon/b2b2c/model/goods/GoodsSellerModel.java

@@ -581,7 +581,7 @@ public class GoodsSellerModel {
             return needAudit ? GoodsConst.GOODS_STATE_SELL_NOW_TO_AUDIT : GoodsConst.GOODS_STATE_UPPER;
         } else {
             //放入仓库
-            return needAudit ? GoodsConst.GOODS_STATE_WAREHOUSE_TO_AUDIT : GoodsConst.GOODS_STATE_WAREHOUSE_NO_AUDIT;
+            return needAudit ? GoodsConst.GOODS_STATE_LOWER_BY_STORE : GoodsConst.GOODS_STATE_WAREHOUSE_NO_AUDIT;
         }
     }
     //endregion
@@ -619,7 +619,7 @@ public class GoodsSellerModel {
         this.checkSku(productList, goodsDb.getWebSite());
 
         //-更新商品信息
-        Goods updateGoods = this.updateGoods(insertDTO, vendor);
+        Goods updateGoods = this.updateGoods(insertDTO, vendor,goodsDb.getState());
 
         //-更新商品扩展信息
         this.updateGoodsExtend(insertDTO, updateGoods);
@@ -741,7 +741,7 @@ public class GoodsSellerModel {
      * @param vendor
      * @return
      */
-    private Goods updateGoods(GoodsPublishInsertDTO insertDTO, Vendor vendor) {
+    private Goods updateGoods(GoodsPublishInsertDTO insertDTO, Vendor vendor,int state) {
         GoodsPublishInsertDTO.ProductInsertInfo defaultProduct = insertDTO.getDefaultProduct();
         //构造默认货品id
         long defaultProductId = StringUtil.isNullOrZero(defaultProduct.getProductId())
@@ -794,7 +794,11 @@ public class GoodsSellerModel {
         goods.setIsSpec(CollectionUtils.isEmpty(insertDTO.getSpecInfoList()) ? GoodsConst.IS_SPEC_NO : GoodsConst.IS_SPEC_YES);
         goods.setMainSpecId(insertDTO.getMainSpecId());
         goods.setVirtualSales(insertDTO.getVirtualSales());
-        goods.setState(this.dealGoodsState(insertDTO.getSellNow()));
+        if (state==GoodsConst.GOODS_STATE_LOWER_BY_SYSTEM) {
+            goods.setState(GoodsConst.GOODS_STATE_LOWER_BY_SYSTEM);
+        }else{
+            goods.setState(this.dealGoodsState(insertDTO.getSellNow()));
+        }
         goods.setIsSelf(vendor.getStore().getIsOwnStore());
         goods.setOnlineTime(goods.getState().equals(GoodsConst.GOODS_STATE_UPPER) ? new Date() : null);
         goods.setStoreId(vendor.getStoreId());
@@ -1150,6 +1154,32 @@ public class GoodsSellerModel {
         return num;
     }
 
+    public Integer illegalUpperShelf(Long storeId, String goodsIds) {
+        //违规商品 重新上架
+        //11-放入仓库无需审核 12-放入仓库审核通过 的商品才能上架
+        GoodsExample example = new GoodsExample();
+        example.setGoodsIdIn(goodsIds);
+        example.setStateIn(String.valueOf(GoodsConst.GOODS_STATE_LOWER_BY_SYSTEM));
+        example.setStoreId(storeId);
+        List<Goods> goodsList = goodsModel.getGoodsList(example, null);
+
+        Goods goodsUpdate = new Goods();
+        goodsUpdate.setState(GoodsConst.GOODS_STATE_SELL_NOW_TO_AUDIT);
+        goodsUpdate.setOnlineTime(new Date());
+        goodsUpdate.setUpdateTime(new Date());
+        int num = goodsModel.updateGoodsByExample(goodsUpdate, example);
+        goodsList.forEach(goods -> {
+            VendorExample vendorExample = new VendorExample();
+            vendorExample.setStoreId(goods.getStoreId());
+            vendorExample.setIsStoreAdmin(VendorConst.IS_STORE_ADMIN_1);
+            List<Vendor> vendorList  =vendorModel.getVendorList(vendorExample, null);
+            AssertUtil.isTrue(CollectionUtils.isEmpty(vendorList), "获取店铺信息失败");
+            goods.setState(GoodsConst.GOODS_STATE_SELL_NOW_TO_AUDIT);
+            productModel.upsertProduct(goods, vendorList.get(0));
+        });
+        return num;
+    }
+
     /**
      * 商品下架
      *