商品列表 销量/库存展示

This commit is contained in:
wangw 2024-03-12 16:36:11 +08:00
parent 0e1833fe32
commit 2c5c32883d
1 changed files with 73 additions and 74 deletions

View File

@ -1,18 +1,18 @@
/* /*
* Copyright 2019-2020 Zheng Jie * Copyright 2019-2020 Zheng Jie
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
package cn.ysk.cashier.service.impl.productimpl; package cn.ysk.cashier.service.impl.productimpl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
@ -54,11 +54,11 @@ import java.util.stream.Collectors;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
/** /**
* @website https://eladmin.vip * @author lyf
* @description 服务实现 * @website https://eladmin.vip
* @author lyf * @description 服务实现
* @date 2023-12-11 * @date 2023-12-11
**/ **/
@Service @Service
@RequiredArgsConstructor @RequiredArgsConstructor
public class TbProductServiceImpl implements TbProductService { public class TbProductServiceImpl implements TbProductService {
@ -74,11 +74,11 @@ public class TbProductServiceImpl implements TbProductService {
@Override @Override
public Map<String,Object> queryAll(TbProductQueryCriteria criteria){ public Map<String, Object> queryAll(TbProductQueryCriteria criteria) {
Sort sort = Sort.by(Sort.Direction.DESC, "id"); Sort sort = Sort.by(Sort.Direction.DESC, "id");
Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getSize(), sort); Pageable pageable = PageRequest.of(criteria.getPage(), criteria.getSize(), sort);
//查询商品数据 //查询商品数据
Page<TbProduct> page = tbProductRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); Page<TbProduct> page = tbProductRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder), pageable);
List<String> productId = new ArrayList<>(); List<String> productId = new ArrayList<>();
List<Integer> unitId = new ArrayList<>(); List<Integer> unitId = new ArrayList<>();
List<Integer> specId = new ArrayList<>(); List<Integer> specId = new ArrayList<>();
@ -86,8 +86,8 @@ public class TbProductServiceImpl implements TbProductService {
//记录商品id //记录商品id
productId.add(product.getId().toString()); productId.add(product.getId().toString());
//记录单位id //记录单位id
if (product.getUnitId() != null){ if (product.getUnitId() != null) {
if (!"".equals(product.getUnitId())){ if (!"".equals(product.getUnitId())) {
unitId.add(product.getUnitId()); unitId.add(product.getUnitId());
} }
} }
@ -98,7 +98,7 @@ public class TbProductServiceImpl implements TbProductService {
List<TbProductSku> tbProductSkus = tbProductSkuRepository.searchSku(productId); List<TbProductSku> tbProductSkus = tbProductSkuRepository.searchSku(productId);
//单位 //单位
List<TbShopUnit> tbShopUnits = new ArrayList<>(); List<TbShopUnit> tbShopUnits = new ArrayList<>();
if (!unitId.isEmpty()){ if (!unitId.isEmpty()) {
tbShopUnits = tbShopUnitRepository.searchUnit(unitId); tbShopUnits = tbShopUnitRepository.searchUnit(unitId);
} }
//商品规格 //商品规格
@ -107,7 +107,7 @@ public class TbProductServiceImpl implements TbProductService {
tbProductSpecs = tbProductSpecRepository.searchSpec(specId); tbProductSpecs = tbProductSpecRepository.searchSpec(specId);
} }
//组装 //组装
List<TbProductVo> tbProductVoList = new ArrayList<>(); List<TbProductVo> tbProductVoList = new ArrayList<>();
for (TbProduct product : page.getContent()) { for (TbProduct product : page.getContent()) {
List<TbProductSku> skuList = new ArrayList<>(); List<TbProductSku> skuList = new ArrayList<>();
TbProductVo tbProductVo = new TbProductVo(); TbProductVo tbProductVo = new TbProductVo();
@ -116,33 +116,33 @@ public class TbProductServiceImpl implements TbProductService {
Double stockNumber = 0.00; Double stockNumber = 0.00;
for (TbProductSku sku : tbProductSkus) { for (TbProductSku sku : tbProductSkus) {
//sku //sku
if (sku.getProductId().equals(product.getId().toString())){ if (sku.getProductId().equals(product.getId().toString())) {
skuList.add(sku); skuList.add(sku);
realSalesNumber = realSalesNumber + sku.getRealSalesNumber();
stockNumber = stockNumber + sku.getStockNumber();
} }
realSalesNumber = realSalesNumber + sku.getRealSalesNumber();
stockNumber = stockNumber + sku.getStockNumber();
} }
tbProductVo.setRealSalesNumber(realSalesNumber); tbProductVo.setRealSalesNumber(realSalesNumber);
tbProductVo.setStockNumber(stockNumber); tbProductVo.setStockNumber(stockNumber);
tbProductVo.setSkuList(skuList); tbProductVo.setSkuList(skuList);
//单位 //单位
if (tbShopUnits.isEmpty()){ if (tbShopUnits.isEmpty()) {
tbProductVo.setUnitName(""); tbProductVo.setUnitName("");
}else { } else {
for (TbShopUnit tbShopUnit : tbShopUnits) { for (TbShopUnit tbShopUnit : tbShopUnits) {
if(tbShopUnit.getId().equals(product.getUnitId())){ if (tbShopUnit.getId().equals(product.getUnitId())) {
tbProductVo.setUnitName(tbShopUnit.getName()); tbProductVo.setUnitName(tbShopUnit.getName());
} }
} }
} }
//商品规格 //商品规格
if (tbProductSpecs.isEmpty()){ if (tbProductSpecs.isEmpty()) {
tbProductVo.setSpecsInfo(new HashMap<>()); tbProductVo.setSpecsInfo(new HashMap<>());
}else { } else {
for (TbProductSpec spec :tbProductSpecs) { for (TbProductSpec spec : tbProductSpecs) {
if (spec.getId().equals(product.getSpecId())){ if (spec.getId().equals(product.getSpecId())) {
HashMap<String, String> specsMap = new HashMap<>(); HashMap<String, String> specsMap = new HashMap<>();
specsMap.put(spec.getName(),spec.getSpecList()); specsMap.put(spec.getName(), spec.getSpecList());
tbProductVo.setSpecsInfo(specsMap); tbProductVo.setSpecsInfo(specsMap);
} }
} }
@ -151,16 +151,16 @@ public class TbProductServiceImpl implements TbProductService {
BeanUtils.copyProperties(product, tbProductVo); BeanUtils.copyProperties(product, tbProductVo);
tbProductVoList.add(tbProductVo); tbProductVoList.add(tbProductVo);
} }
return PageUtil.toPage(tbProductVoList,page.getTotalElements()); return PageUtil.toPage(tbProductVoList, page.getTotalElements());
} }
@Override @Override
public TbProductVo findByProductId(Integer id) throws Exception{ public TbProductVo findByProductId(Integer id) throws Exception {
TbProduct tbProduct = tbProductRepository.findById(id).orElseGet(TbProduct::new); TbProduct tbProduct = tbProductRepository.findById(id).orElseGet(TbProduct::new);
//单位 //单位
CompletableFuture<TbShopUnit> tbShopUnits = CompletableFuture.supplyAsync(() -> CompletableFuture<TbShopUnit> tbShopUnits = CompletableFuture.supplyAsync(() ->
tbShopUnitRepository.searchUnit(Integer.valueOf(StringUtils.isEmpty(tbProduct.getUnitId())? null:tbProduct.getUnitId() ))); tbShopUnitRepository.searchUnit(Integer.valueOf(StringUtils.isEmpty(tbProduct.getUnitId()) ? null : tbProduct.getUnitId())));
//sku //sku
CompletableFuture<List<TbProductSku>> tbProductSkus = CompletableFuture.supplyAsync(() -> CompletableFuture<List<TbProductSku>> tbProductSkus = CompletableFuture.supplyAsync(() ->
tbProductSkuRepository.searchSku(tbProduct.getId().toString())); tbProductSkuRepository.searchSku(tbProduct.getId().toString()));
@ -168,19 +168,19 @@ public class TbProductServiceImpl implements TbProductService {
CompletableFuture<TbProductSpec> tbProductSpec = CompletableFuture.supplyAsync(() -> CompletableFuture<TbProductSpec> tbProductSpec = CompletableFuture.supplyAsync(() ->
tbProductSpecRepository.searchSpec(tbProduct.getSpecId())); tbProductSpecRepository.searchSpec(tbProduct.getSpecId()));
Threads.call(tbShopUnits,tbProductSkus,tbProductSpec); Threads.call(tbShopUnits, tbProductSkus, tbProductSpec);
//组装 //组装
TbProductVo tbProductVo = new TbProductVo(); TbProductVo tbProductVo = new TbProductVo();
tbProductVo.setCategoryId(Integer.valueOf(tbProduct.getCategoryId())); tbProductVo.setCategoryId(Integer.valueOf(tbProduct.getCategoryId()));
//单位 //单位
if (tbProduct.getUnitId() == null){ if (tbProduct.getUnitId() == null) {
tbProductVo.setUnitId(null); tbProductVo.setUnitId(null);
tbProductVo.setUnitName(null); tbProductVo.setUnitName(null);
} }
//套餐 //套餐
if (tbProduct.getGroupSnap() == null){ if (tbProduct.getGroupSnap() == null) {
tbProductVo.setGroupSnap(new JSONArray()); tbProductVo.setGroupSnap(new JSONArray());
}else { } else {
tbProductVo.setGroupSnap(ListUtil.stringChangeList(tbProduct.getGroupSnap())); tbProductVo.setGroupSnap(ListUtil.stringChangeList(tbProduct.getGroupSnap()));
} }
BeanUtils.copyProperties(tbProduct, tbProductVo); BeanUtils.copyProperties(tbProduct, tbProductVo);
@ -189,16 +189,16 @@ public class TbProductServiceImpl implements TbProductService {
HashMap<String, String> map = new HashMap<>(); HashMap<String, String> map = new HashMap<>();
//商品规格 //商品规格
if (tbProductSpec.get() == null){ if (tbProductSpec.get() == null) {
tbProductVo.setSpecsInfo(map); tbProductVo.setSpecsInfo(map);
}else { } else {
map.put(tbProductSpec.get().getName(),tbProductSpec.get().getSpecList()); map.put(tbProductSpec.get().getName(), tbProductSpec.get().getSpecList());
tbProductVo.setSpecsInfo(map); tbProductVo.setSpecsInfo(map);
} }
//sku //sku
if (tbProductSkus.get() == null){ if (tbProductSkus.get() == null) {
tbProductVo.setSkuList(new ArrayList<>()); tbProductVo.setSkuList(new ArrayList<>());
}else { } else {
tbProductVo.setSkuList(tbProductSkus.get()); tbProductVo.setSkuList(tbProductSkus.get());
} }
return tbProductVo; return tbProductVo;
@ -215,15 +215,15 @@ public class TbProductServiceImpl implements TbProductService {
} }
@Override @Override
public List<TbProductDto> queryAlls(TbProductQueryCriteria criteria){ public List<TbProductDto> queryAlls(TbProductQueryCriteria criteria) {
return tbProductMapper.toDto(tbProductRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); return tbProductMapper.toDto(tbProductRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root, criteria, criteriaBuilder)));
} }
@Override @Override
@Transactional @Transactional
public TbProductDto findById(Integer id) { public TbProductDto findById(Integer id) {
TbProduct tbProduct = tbProductRepository.findById(id).orElseGet(TbProduct::new); TbProduct tbProduct = tbProductRepository.findById(id).orElseGet(TbProduct::new);
ValidationUtil.isNull(tbProduct.getId(),"TbProduct","id",id); ValidationUtil.isNull(tbProduct.getId(), "TbProduct", "id", id);
return tbProductMapper.toDto(tbProduct); return tbProductMapper.toDto(tbProduct);
} }
@ -233,13 +233,13 @@ public class TbProductServiceImpl implements TbProductService {
public Object create(TbProductVo resources) { public Object create(TbProductVo resources) {
TbProduct product = new TbProduct(); TbProduct product = new TbProduct();
//组装 //组装
BeanUtil.copyProperties(resources,product, CopyOptions.create().setIgnoreNullValue(true)); BeanUtil.copyProperties(resources, product, CopyOptions.create().setIgnoreNullValue(true));
if (resources.getCategoryId() == null){ if (resources.getCategoryId() == null) {
throw new BadRequestException("必填内容未填写"); throw new BadRequestException("必填内容未填写");
} }
if (resources.getIsShowMall()==1){ if (resources.getIsShowMall() == 1) {
for (TbProductSku sku : resources.getSkuList()) { for (TbProductSku sku : resources.getSkuList()) {
if(sku.getStockNumber()<=0){ if (sku.getStockNumber() <= 0) {
throw new BadRequestException("上架区域包括小程序时,库存数量必须大于0。"); throw new BadRequestException("上架区域包括小程序时,库存数量必须大于0。");
} }
} }
@ -252,19 +252,19 @@ public class TbProductServiceImpl implements TbProductService {
product.setStatus(1); product.setStatus(1);
product.setCreatedAt(Instant.now().toEpochMilli()); product.setCreatedAt(Instant.now().toEpochMilli());
product.setUpdatedAt(Instant.now().toEpochMilli()); product.setUpdatedAt(Instant.now().toEpochMilli());
if (!resources.getGroupSnap().isEmpty()){ if (!resources.getGroupSnap().isEmpty()) {
ListUtil.JSONArrayChangeString(resources.getGroupSnap()); ListUtil.JSONArrayChangeString(resources.getGroupSnap());
} }
if (resources.getUnitId() != null){ if (resources.getUnitId() != null) {
product.setUnitId(resources.getUnitId()); product.setUnitId(resources.getUnitId());
} }
//套餐内容 //套餐内容
if (!resources.getGroupSnap().isEmpty()){ if (!resources.getGroupSnap().isEmpty()) {
product.setGroupSnap(ListUtil.JSONArrayChangeString(resources.getGroupSnap())); product.setGroupSnap(ListUtil.JSONArrayChangeString(resources.getGroupSnap()));
} }
TbProduct save = tbProductRepository.save(product); TbProduct save = tbProductRepository.save(product);
if (save.getId() == null){ if (save.getId() == null) {
throw new BadRequestException("添加商品失败"); throw new BadRequestException("添加商品失败");
} }
//sku //sku
@ -280,10 +280,10 @@ public class TbProductServiceImpl implements TbProductService {
List<TbProductSku> tbProductSkus = tbProductSkuRepository.saveAll(skuList); List<TbProductSku> tbProductSkus = tbProductSkuRepository.saveAll(skuList);
Map<Integer, Double> idStockMap = tbProductSkus.stream() Map<Integer, Double> idStockMap = tbProductSkus.stream()
.collect(Collectors.toMap(TbProductSku::getId, TbProductSku::getStockNumber)); .collect(Collectors.toMap(TbProductSku::getId, TbProductSku::getStockNumber));
redisUtils.redisUp(1,save.getShopId(),idStockMap); redisUtils.redisUp(1, save.getShopId(), idStockMap);
} }
//保存到sku_result //保存到sku_result
if ("sku".equals(resources.getTypeEnum())){ if ("sku".equals(resources.getTypeEnum())) {
TbProductSkuResult productSkuResult = new TbProductSkuResult(); TbProductSkuResult productSkuResult = new TbProductSkuResult();
productSkuResult.setCreatedAt(Instant.now().toEpochMilli()); productSkuResult.setCreatedAt(Instant.now().toEpochMilli());
productSkuResult.setUpdatedAt(Instant.now().toEpochMilli()); productSkuResult.setUpdatedAt(Instant.now().toEpochMilli());
@ -295,7 +295,6 @@ public class TbProductServiceImpl implements TbProductService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(TbProductVo resources) { public void update(TbProductVo resources) {
@ -309,14 +308,14 @@ public class TbProductServiceImpl implements TbProductService {
product.setUpdatedAt(Instant.now().toEpochMilli()); product.setUpdatedAt(Instant.now().toEpochMilli());
product.setCategoryId(resources.getCategoryId().toString()); product.setCategoryId(resources.getCategoryId().toString());
product.setImages(resources.getImages().toString()); product.setImages(resources.getImages().toString());
if (!resources.getGroupSnap().isEmpty()){ if (!resources.getGroupSnap().isEmpty()) {
ListUtil.JSONArrayChangeString(resources.getGroupSnap()); ListUtil.JSONArrayChangeString(resources.getGroupSnap());
} }
TbProduct save = tbProductRepository.save(product); TbProduct save = tbProductRepository.save(product);
//sku //sku
if (resources.getSkuList() != null) { if (resources.getSkuList() != null) {
if ("sku".equals(save.getTypeEnum())){ if ("sku".equals(save.getTypeEnum())) {
tbProductSkuRepository.deleteByProductId(String.valueOf(save.getId())); tbProductSkuRepository.deleteByProductId(String.valueOf(save.getId()));
} }
List<TbProductSku> skuList = new ArrayList<>(); List<TbProductSku> skuList = new ArrayList<>();
@ -330,7 +329,7 @@ public class TbProductServiceImpl implements TbProductService {
} }
//保存到sku_result //保存到sku_result
if ("sku".equals(resources.getTypeEnum())){ if ("sku".equals(resources.getTypeEnum())) {
TbProductSkuResult productSkuResult = new TbProductSkuResult(); TbProductSkuResult productSkuResult = new TbProductSkuResult();
productSkuResult.setCreatedAt(Instant.now().toEpochMilli()); productSkuResult.setCreatedAt(Instant.now().toEpochMilli());
productSkuResult.setUpdatedAt(Instant.now().toEpochMilli()); productSkuResult.setUpdatedAt(Instant.now().toEpochMilli());
@ -345,11 +344,11 @@ public class TbProductServiceImpl implements TbProductService {
public void deleteAll(Integer[] ids) { public void deleteAll(Integer[] ids) {
List<Integer> list = Arrays.asList(ids); List<Integer> list = Arrays.asList(ids);
tbProductRepository.updateByStatus(list); tbProductRepository.updateByStatus(list);
list.forEach(productId->{ list.forEach(productId -> {
List<TbProductSku> tbProductSkus = tbProductSkuRepository.searchSku(productId.toString()); List<TbProductSku> tbProductSkus = tbProductSkuRepository.searchSku(productId.toString());
Map<Integer, Double> idStockMap = tbProductSkus.stream() Map<Integer, Double> idStockMap = tbProductSkus.stream()
.collect(Collectors.toMap(TbProductSku::getId, TbProductSku::getStockNumber)); .collect(Collectors.toMap(TbProductSku::getId, TbProductSku::getStockNumber));
redisUtils.redisUp(2,tbProductSkus.get(0).getShopId(),idStockMap); redisUtils.redisUp(2, tbProductSkus.get(0).getShopId(), idStockMap);
}); });
} }
@ -357,7 +356,7 @@ public class TbProductServiceImpl implements TbProductService {
public void download(List<TbProductDto> all, HttpServletResponse response) throws IOException { public void download(List<TbProductDto> all, HttpServletResponse response) throws IOException {
List<Map<String, Object>> list = new ArrayList<>(); List<Map<String, Object>> list = new ArrayList<>();
for (TbProductDto tbProduct : all) { for (TbProductDto tbProduct : all) {
Map<String,Object> map = new LinkedHashMap<>(); Map<String, Object> map = new LinkedHashMap<>();
map.put("商品来源 NORMAL普通商品 --,SCORE积分商品", tbProduct.getSourcePath()); map.put("商品来源 NORMAL普通商品 --,SCORE积分商品", tbProduct.getSourcePath());
map.put("商户Id", tbProduct.getMerchantId()); map.put("商户Id", tbProduct.getMerchantId());
map.put("店铺id", tbProduct.getShopId()); map.put("店铺id", tbProduct.getShopId());
@ -367,11 +366,11 @@ public class TbProductServiceImpl implements TbProductService {
map.put("商品最低价", tbProduct.getLowPrice()); map.put("商品最低价", tbProduct.getLowPrice());
map.put("单位Id", tbProduct.getUnitId()); map.put("单位Id", tbProduct.getUnitId());
map.put("商品封面图", tbProduct.getCoverImg()); map.put("商品封面图", tbProduct.getCoverImg());
map.put(" categoryId", tbProduct.getCategoryId()); map.put(" categoryId", tbProduct.getCategoryId());
map.put("商品规格", tbProduct.getSpecId()); map.put("商品规格", tbProduct.getSpecId());
map.put("品牌Id", tbProduct.getBrandId()); map.put("品牌Id", tbProduct.getBrandId());
map.put("短标题--促销语", tbProduct.getShortTitle()); map.put("短标题--促销语", tbProduct.getShortTitle());
map.put(" lowMemberPrice", tbProduct.getLowMemberPrice()); map.put(" lowMemberPrice", tbProduct.getLowMemberPrice());
map.put("单位镜像", tbProduct.getUnitSnap()); map.put("单位镜像", tbProduct.getUnitSnap());
map.put("商品分享图", tbProduct.getShareImg()); map.put("商品分享图", tbProduct.getShareImg());
map.put("商品图片(第一张为缩略图,其他为详情)", tbProduct.getImages()); map.put("商品图片(第一张为缩略图,其他为详情)", tbProduct.getImages());
@ -399,8 +398,8 @@ public class TbProductServiceImpl implements TbProductService {
map.put("vip专属", tbProduct.getIsVip()); map.put("vip专属", tbProduct.getIsVip());
map.put("是否删除", tbProduct.getIsDelete()); map.put("是否删除", tbProduct.getIsDelete());
map.put("购买须知", tbProduct.getNotice()); map.put("购买须知", tbProduct.getNotice());
map.put(" createdAt", tbProduct.getCreatedAt()); map.put(" createdAt", tbProduct.getCreatedAt());
map.put(" updatedAt", tbProduct.getUpdatedAt()); map.put(" updatedAt", tbProduct.getUpdatedAt());
map.put("基础出售数量", tbProduct.getBaseSalesNumber()); map.put("基础出售数量", tbProduct.getBaseSalesNumber());
map.put("实际销量", tbProduct.getRealSalesNumber()); map.put("实际销量", tbProduct.getRealSalesNumber());
map.put("合计销量", tbProduct.getSalesNumber()); map.put("合计销量", tbProduct.getSalesNumber());
@ -412,8 +411,8 @@ public class TbProductServiceImpl implements TbProductService {
map.put("支持虚拟", tbProduct.getFurnishVir()); map.put("支持虚拟", tbProduct.getFurnishVir());
map.put("是否套餐", tbProduct.getIsCombo()); map.put("是否套餐", tbProduct.getIsCombo());
map.put("套餐内容", tbProduct.getGroupSnap()); map.put("套餐内容", tbProduct.getGroupSnap());
map.put(" isShowCash", tbProduct.getIsShowCash()); map.put(" isShowCash", tbProduct.getIsShowCash());
map.put(" isShowMall", tbProduct.getIsShowMall()); map.put(" isShowMall", tbProduct.getIsShowMall());
map.put("是否需要审核", tbProduct.getIsNeedExamine()); map.put("是否需要审核", tbProduct.getIsNeedExamine());
map.put("线上商城展示状态0待审核 -1 异常 1正常", tbProduct.getShowOnMallStatus()); map.put("线上商城展示状态0待审核 -1 异常 1正常", tbProduct.getShowOnMallStatus());
map.put("提交审核时间", tbProduct.getShowOnMallTime()); map.put("提交审核时间", tbProduct.getShowOnMallTime());