新增接口,分类新增,优化添加分类的复杂性
This commit is contained in:
parent
92b94fc3fa
commit
4ccc4f5a2c
@ -1,6 +1,7 @@
|
|||||||
package com.suisung.mall.shop.base.controller.admin;
|
package com.suisung.mall.shop.base.controller.admin;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.suisung.mall.common.api.CommonResult;
|
import com.suisung.mall.common.api.CommonResult;
|
||||||
import com.suisung.mall.common.modules.base.ShopBaseProductCategory;
|
import com.suisung.mall.common.modules.base.ShopBaseProductCategory;
|
||||||
@ -10,10 +11,7 @@ import com.suisung.mall.shop.base.service.ShopBaseProductCategoryService;
|
|||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.RequestMethod;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser;
|
import static com.suisung.mall.common.utils.ContextUtil.getCurrentUser;
|
||||||
|
|
||||||
@ -168,5 +166,15 @@ public class ShopBaseProductCategoryController {
|
|||||||
return CommonResult.success(shopBaseProductCategoryService.tree(queryWrapper));
|
return CommonResult.success(shopBaseProductCategoryService.tree(queryWrapper));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增优化
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "商品分类表-新增优化", notes = "商品分类表-新增优化")
|
||||||
|
@RequestMapping(value = "/simpleAdd", method = {RequestMethod.POST})
|
||||||
|
public CommonResult simpleAdd(@RequestBody JSONArray jsonArray) {
|
||||||
|
return CommonResult.success(shopBaseProductCategoryService.simpleAdd(jsonArray));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
package com.suisung.mall.shop.base.service;
|
package com.suisung.mall.shop.base.service;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.suisung.mall.common.api.CommonResult;
|
||||||
import com.suisung.mall.common.domain.UserDto;
|
import com.suisung.mall.common.domain.UserDto;
|
||||||
import com.suisung.mall.common.modules.admin.ElTree;
|
import com.suisung.mall.common.modules.admin.ElTree;
|
||||||
import com.suisung.mall.common.modules.base.ShopBaseProductCategory;
|
import com.suisung.mall.common.modules.base.ShopBaseProductCategory;
|
||||||
@ -151,4 +153,6 @@ public interface ShopBaseProductCategoryService extends IBaseService<ShopBasePro
|
|||||||
|
|
||||||
void clearCategoryCache(String storeId);
|
void clearCategoryCache(String storeId);
|
||||||
|
|
||||||
|
CommonResult simpleAdd(JSONArray jsonArray);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,8 +7,11 @@ import cn.hutool.core.convert.Convert;
|
|||||||
import cn.hutool.core.util.NumberUtil;
|
import cn.hutool.core.util.NumberUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONArray;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.suisung.mall.common.api.CommonResult;
|
||||||
import com.suisung.mall.common.api.StateCode;
|
import com.suisung.mall.common.api.StateCode;
|
||||||
import com.suisung.mall.common.constant.CommonConstant;
|
import com.suisung.mall.common.constant.CommonConstant;
|
||||||
import com.suisung.mall.common.constant.RedisConstant;
|
import com.suisung.mall.common.constant.RedisConstant;
|
||||||
@ -47,6 +50,7 @@ import com.suisung.mall.shop.product.service.ShopProductItemService;
|
|||||||
import com.suisung.mall.shop.sixun.service.SxSyncCategoryService;
|
import com.suisung.mall.shop.sixun.service.SxSyncCategoryService;
|
||||||
import com.suisung.mall.shop.store.service.ShopStoreActivityItemService;
|
import com.suisung.mall.shop.store.service.ShopStoreActivityItemService;
|
||||||
import com.suisung.mall.shop.store.service.ShopStoreBaseService;
|
import com.suisung.mall.shop.store.service.ShopStoreBaseService;
|
||||||
|
import com.suisung.mall.shop.sync.service.SyncThirdDataService;
|
||||||
import com.suisung.mall.shop.user.service.ShopUserCartService;
|
import com.suisung.mall.shop.user.service.ShopUserCartService;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -54,7 +58,9 @@ import org.springframework.cache.annotation.CacheEvict;
|
|||||||
import org.springframework.cache.annotation.Cacheable;
|
import org.springframework.cache.annotation.Cacheable;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@ -86,6 +92,7 @@ public class ShopBaseProductCategoryServiceImpl extends BaseServiceImpl<ShopBase
|
|||||||
private ShopBaseProductAssistService productAssistService;
|
private ShopBaseProductAssistService productAssistService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopBaseProductAssistItemService productAssistItemService;
|
private ShopBaseProductAssistItemService productAssistItemService;
|
||||||
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopBaseProductBrandService productBrandService;
|
private ShopBaseProductBrandService productBrandService;
|
||||||
@Lazy
|
@Lazy
|
||||||
@ -126,6 +133,10 @@ public class ShopBaseProductCategoryServiceImpl extends BaseServiceImpl<ShopBase
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ShopStoreBaseService shopStoreBaseService;
|
private ShopStoreBaseService shopStoreBaseService;
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
@Resource
|
||||||
|
private SyncThirdDataService syncThirdDataService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ElTree> tree(QueryWrapper<ShopBaseProductCategory> queryWrapper) {
|
public List<ElTree> tree(QueryWrapper<ShopBaseProductCategory> queryWrapper) {
|
||||||
List<ShopBaseProductCategory> list = find(queryWrapper);
|
List<ShopBaseProductCategory> list = find(queryWrapper);
|
||||||
@ -1279,4 +1290,35 @@ public class ShopBaseProductCategoryServiceImpl extends BaseServiceImpl<ShopBase
|
|||||||
redisService.del(cache_key);
|
redisService.del(cache_key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public CommonResult simpleAdd(JSONArray jsonArray) {
|
||||||
|
UserDto userDto= ContextUtil.getCurrentUser();
|
||||||
|
if(null==userDto){
|
||||||
|
throw new ApiException("权限不足");
|
||||||
|
}
|
||||||
|
if(userDto.getRole_id()==2||userDto.getRole_id()==9){
|
||||||
|
String storeId=userDto.getStore_id();
|
||||||
|
QueryWrapper<ShopBaseProductBrand> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("store_id",Integer.valueOf(storeId));
|
||||||
|
queryWrapper.eq("brand_name","其它品牌");
|
||||||
|
List<ShopBaseProductBrand> shopBaseProductBrands=productBrandService.list(queryWrapper);
|
||||||
|
if(CollectionUtil.isEmpty(shopBaseProductBrands)){
|
||||||
|
ShopBaseProductBrand shopBaseProductBrand=new ShopBaseProductBrand();
|
||||||
|
shopBaseProductBrand.setBrand_name("其它品牌");
|
||||||
|
shopBaseProductBrand.setBrand_desc("其它品牌");
|
||||||
|
productBrandService.saveOrUpdateBrand(shopBaseProductBrand);
|
||||||
|
}
|
||||||
|
List<ShopBaseProductCategory> shopBaseProductCategories = JSONUtil.toList(jsonArray, ShopBaseProductCategory.class);
|
||||||
|
syncThirdDataService.baseSaveOrUpdateShopBaseProductCategoryBatch(shopBaseProductCategories,jsonArray,storeId);
|
||||||
|
String redisKey = RedisConstant.Product_Cate_Key + ":" + storeId;
|
||||||
|
redisService.del(redisKey);
|
||||||
|
}else{
|
||||||
|
throw new ApiException("权限不足");
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||||||
import com.suisung.mall.common.api.ResultCode;
|
import com.suisung.mall.common.api.ResultCode;
|
||||||
import com.suisung.mall.common.api.StateCode;
|
import com.suisung.mall.common.api.StateCode;
|
||||||
import com.suisung.mall.common.constant.CommonConstant;
|
import com.suisung.mall.common.constant.CommonConstant;
|
||||||
|
import com.suisung.mall.common.domain.UserDto;
|
||||||
import com.suisung.mall.common.enums.DicEnum;
|
import com.suisung.mall.common.enums.DicEnum;
|
||||||
import com.suisung.mall.common.exception.ApiException;
|
import com.suisung.mall.common.exception.ApiException;
|
||||||
import com.suisung.mall.common.feignService.AccountService;
|
import com.suisung.mall.common.feignService.AccountService;
|
||||||
@ -35,6 +36,7 @@ import com.suisung.mall.common.modules.store.ShopStoreBase;
|
|||||||
import com.suisung.mall.common.pojo.dto.LibraryProductDTO;
|
import com.suisung.mall.common.pojo.dto.LibraryProductDTO;
|
||||||
import com.suisung.mall.common.pojo.req.SyncThirdMemberReq;
|
import com.suisung.mall.common.pojo.req.SyncThirdMemberReq;
|
||||||
import com.suisung.mall.common.pojo.res.ThirdApiRes;
|
import com.suisung.mall.common.pojo.res.ThirdApiRes;
|
||||||
|
import com.suisung.mall.common.utils.ContextUtil;
|
||||||
import com.suisung.mall.common.utils.DateTimeUtils;
|
import com.suisung.mall.common.utils.DateTimeUtils;
|
||||||
import com.suisung.mall.common.utils.I18nUtil;
|
import com.suisung.mall.common.utils.I18nUtil;
|
||||||
import com.suisung.mall.common.utils.StringUtils;
|
import com.suisung.mall.common.utils.StringUtils;
|
||||||
@ -51,6 +53,7 @@ import com.suisung.mall.shop.sixun.dto.SxGoosModel;
|
|||||||
import com.suisung.mall.shop.store.service.ShopStoreActivityBaseService;
|
import com.suisung.mall.shop.store.service.ShopStoreActivityBaseService;
|
||||||
import com.suisung.mall.shop.store.service.ShopStoreBaseService;
|
import com.suisung.mall.shop.store.service.ShopStoreBaseService;
|
||||||
import org.apache.commons.lang3.math.NumberUtils;
|
import org.apache.commons.lang3.math.NumberUtils;
|
||||||
|
import org.hibernate.validator.internal.util.stereotypes.Lazy;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@ -71,6 +74,7 @@ public abstract class SyncBaseThirdSxAbstract{
|
|||||||
private final Logger logger = LoggerFactory.getLogger(SyncBaseThirdSxAbstract.class);
|
private final Logger logger = LoggerFactory.getLogger(SyncBaseThirdSxAbstract.class);
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopBaseProductBrandService productBrandService;
|
private ShopBaseProductBrandService productBrandService;
|
||||||
|
@Lazy
|
||||||
@Autowired
|
@Autowired
|
||||||
private ShopBaseProductCategoryService productCategoryService;
|
private ShopBaseProductCategoryService productCategoryService;
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -130,6 +134,11 @@ public abstract class SyncBaseThirdSxAbstract{
|
|||||||
public int baseSaveOrUpdateShopBaseProductCategoryBatch(List<ShopBaseProductCategory> list ,JSONArray categoryListJSON,
|
public int baseSaveOrUpdateShopBaseProductCategoryBatch(List<ShopBaseProductCategory> list ,JSONArray categoryListJSON,
|
||||||
String storeId){
|
String storeId){
|
||||||
int count = 0;
|
int count = 0;
|
||||||
|
UserDto userDto=ContextUtil.getCurrentUser();
|
||||||
|
Integer dataSource=1;
|
||||||
|
if(userDto==null){
|
||||||
|
dataSource=2;
|
||||||
|
}
|
||||||
List<ShopBaseProductType> productTypeList = new ArrayList<>();
|
List<ShopBaseProductType> productTypeList = new ArrayList<>();
|
||||||
Map<String,String> productTypeListMap=new HashMap<>();
|
Map<String,String> productTypeListMap=new HashMap<>();
|
||||||
for (int i = 0; i < list.size(); i++) {
|
for (int i = 0; i < list.size(); i++) {
|
||||||
@ -138,7 +147,7 @@ public abstract class SyncBaseThirdSxAbstract{
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
list.get(i).setStore_id(storeId); // app 记录传进来
|
list.get(i).setStore_id(storeId); // app 记录传进来
|
||||||
list.get(i).setData_source(2); // 思迅数据来源
|
list.get(i).setData_source(dataSource); // 思迅数据来源
|
||||||
list.get(i).setCategory_is_enable(1);
|
list.get(i).setCategory_is_enable(1);
|
||||||
|
|
||||||
JSONObject o = (JSONObject) categoryListJSON.get(i);
|
JSONObject o = (JSONObject) categoryListJSON.get(i);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user