Merge branch 'master' of https://codeup.aliyun.com/bsdtec/biz-api-cloud
This commit is contained in:
commit
261b9564e0
12 files changed
+370
-12
No files matched your search
+10
@@ -0,0 +1,10 @@
|
||||
package com.bsd.pjcloud.supermarket.dto;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class SmSpuPageDTO {
|
||||
|
||||
private String productName;
|
||||
}
|
||||
+5
@@ -85,4 +85,9 @@ public class SmErpAuxiliaryCodeEntity extends Model<SmErpAuxiliaryCodeEntity> {
|
||||
|
||||
@Schema(description="包装单位id")
|
||||
private Long unitId;
|
||||
|
||||
|
||||
@Schema(description="包装单位")
|
||||
@TableField(exist = false)
|
||||
private String unit;
|
||||
}
|
||||
+118
@@ -0,0 +1,118 @@
|
||||
package com.bsd.pjcloud.supermarket.vo;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpAuxiliaryCodeEntity;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpUnitEntity;
|
||||
import com.bsd.pjcloud.supermarket.vo.sm.smspu.app.SmErpUnitAppVo;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* app在线商城 商品列表数据
|
||||
*/
|
||||
@Data
|
||||
public class OnlineShopVo {
|
||||
|
||||
|
||||
|
||||
@Schema(description="线上SPU 编号,自增")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 库存商品id
|
||||
*/
|
||||
@Schema(description="库存商品id")
|
||||
private Long erpSpuId;
|
||||
|
||||
/**
|
||||
* 商品详情
|
||||
*/
|
||||
@Schema(description="商品详情")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 商品轮播图地址
|
||||
数组,以逗号分隔
|
||||
最多上传15张
|
||||
*/
|
||||
@Schema(description="商品轮播图地址")
|
||||
private String sliderPicUrls;
|
||||
|
||||
|
||||
/**
|
||||
* 销量
|
||||
*/
|
||||
@Schema(description="销量")
|
||||
private Integer salesCount;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 货号
|
||||
*/
|
||||
@Schema(description="货号")
|
||||
private String productCode;
|
||||
|
||||
/**
|
||||
* 自编码/条码
|
||||
*/
|
||||
@Schema(description="自编码/条码")
|
||||
private String barcode;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
@Schema(description="商品名称")
|
||||
private String productName;
|
||||
|
||||
|
||||
/**
|
||||
* 商品简介
|
||||
*/
|
||||
@Schema(description="商品简介")
|
||||
private String introduction;
|
||||
|
||||
|
||||
/**
|
||||
* 商品封面图
|
||||
*/
|
||||
@Schema(description="商品封面图")
|
||||
private String picUrl;
|
||||
|
||||
|
||||
/**
|
||||
* 库存
|
||||
*/
|
||||
@Schema(description="库存")
|
||||
private Double stock;
|
||||
|
||||
|
||||
/**
|
||||
* 商品性质(字典)
|
||||
*/
|
||||
@Schema(description="商品性质(字典)")
|
||||
private String productNature;
|
||||
|
||||
|
||||
/**
|
||||
* 货商id
|
||||
*/
|
||||
@Schema(description="货商id")
|
||||
private Long supplierName;
|
||||
|
||||
|
||||
|
||||
|
||||
@Schema(description = "包装对象集合对象")
|
||||
private List<SmErpUnitAppVo> smErpUnitEntityList;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
package com.bsd.pjcloud.supermarket.vo.sm.smspu.app;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Data
|
||||
@Schema(description = "移动端商品列表包装对象vo")
|
||||
public class SmErpUnitAppVo {
|
||||
/**
|
||||
* 包装单位id
|
||||
*/
|
||||
@Schema(description="包装单位id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 条码
|
||||
*/
|
||||
@Schema(description="条码")
|
||||
private String barCode;
|
||||
|
||||
/**
|
||||
* 规格
|
||||
*/
|
||||
@Schema(description="规格")
|
||||
private String spec;
|
||||
|
||||
/**
|
||||
* 单位
|
||||
*/
|
||||
@Schema(description="单位")
|
||||
private String unit;
|
||||
|
||||
/**
|
||||
* 状态(0正常,1停销)
|
||||
*/
|
||||
@Schema(description="状态(0正常,1停销)")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 内装数量
|
||||
*/
|
||||
@Schema(description="内装数量")
|
||||
private Integer packageNum;
|
||||
|
||||
/**
|
||||
* 零售价/单位分
|
||||
*/
|
||||
@Schema(description="零售价/单位分")
|
||||
private Integer retailPrice;
|
||||
|
||||
/**
|
||||
* spuID
|
||||
*/
|
||||
@Schema(description="spuID")
|
||||
private Long spuId;
|
||||
|
||||
/**
|
||||
* 促销价
|
||||
*/
|
||||
@Schema(description="促销价")
|
||||
private Integer promotionPrice;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Schema(description = "是否是基础库存,默认0否,1是")
|
||||
private Boolean isBase;
|
||||
}
|
||||
+2
-1
@@ -84,6 +84,7 @@ public class SmErpSpuController {
|
||||
wrapper.eq(StringUtils.isNotBlank(supermarketSpu.getProductCode()), SmErpSpuEntity::getProductCode,supermarketSpu.getProductCode());
|
||||
wrapper.eq(StringUtils.isNotBlank(supermarketSpu.getBarcode()), SmErpSpuEntity::getBarcode,supermarketSpu.getBarcode());
|
||||
wrapper.like(StringUtils.isNotBlank(supermarketSpu.getProductName()), SmErpSpuEntity::getProductName,supermarketSpu.getProductName());
|
||||
wrapper.orderByDesc(SmErpSpuEntity::getCreateTime);
|
||||
return R.ok(smErpSpuService.pageScope(page, wrapper));
|
||||
}
|
||||
|
||||
@@ -229,7 +230,7 @@ public class SmErpSpuController {
|
||||
*/
|
||||
@PostMapping("/import")
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_import')" )
|
||||
@Idempotent(key = "#key", expireTime = 10, info = "请勿重复导入,10秒后再重新尝试")
|
||||
@Idempotent(expireTime = 10, info = "请勿重复导入,10秒后再重新尝试")
|
||||
public R importErpSpu(@RequestExcel List<SmErpSpuImportDto> dtos, BindingResult bindingResult) {
|
||||
List<SmErpSpuImportDto> collect = dtos.stream().filter(smErpSpuImportDto -> smErpSpuImportDto.getProductCode() != null).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(collect)) {
|
||||
|
||||
+63
-1
@@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum;
|
||||
@@ -11,11 +12,16 @@ import com.bsd.pjcloud.common.core.util.BeanUtils;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.log.annotation.SysLog;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.supermarket.dto.SmSpuPageDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpCategoryEntity;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmSpuEntity;
|
||||
import com.bsd.pjcloud.supermarket.mapper.SmErpSpuMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpCategoryService;
|
||||
import com.bsd.pjcloud.supermarket.service.SmErpSpuService;
|
||||
import com.bsd.pjcloud.supermarket.service.SmSpuService;
|
||||
import com.bsd.pjcloud.supermarket.vo.OnlineShopVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.erp.SmErpCategorySimpleVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmSpuEditVo;
|
||||
import com.bsd.pjcloud.wallet.api.feign.RemoteMchService;
|
||||
import com.bsd.pjcloud.wallet.api.vo.MchManageVo;
|
||||
@@ -31,6 +37,7 @@ import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 线上超市
|
||||
@@ -50,6 +57,10 @@ public class SmSpuController {
|
||||
private final SmErpSpuService smErpSpuService;
|
||||
|
||||
private final RemoteMchService remoteMchService;
|
||||
|
||||
private final SmErpCategoryService smErpCategoryService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
* @param page 分页对象
|
||||
@@ -59,7 +70,7 @@ public class SmSpuController {
|
||||
@Operation(summary = "分页查询" , description = "分页查询" )
|
||||
@GetMapping("/page" )
|
||||
@PreAuthorize("@pms.hasPermission('supermarket_smSpu_view')" )
|
||||
public R getSmSpuPage(@ParameterObject Page page, @ParameterObject SmSpuEntity smSpu) {
|
||||
public R getSmSpuPage(@ParameterObject Page page, @ParameterObject SmSpuPageDTO smSpu) {
|
||||
return R.ok(smSpuService.pageScope(page, smSpu));
|
||||
}
|
||||
|
||||
@@ -145,5 +156,56 @@ public class SmSpuController {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取商户下所有的在线商品,并且获取分类
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "APP在线商城数据查询",description = "通过商户id获取该商户下的在线商品数据")
|
||||
@GetMapping("/app/onlineShopList")
|
||||
public R<IPage<OnlineShopVo>> getOnlineShopList(@RequestParam("categoryId")Long categoryId,@ParameterObject Page page) {
|
||||
|
||||
IPage<OnlineShopVo> onlineShopList = smSpuService.getOnlineShopList(categoryId, page);
|
||||
|
||||
return R.ok(onlineShopList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取商户下所有获取分类
|
||||
* @return
|
||||
*/
|
||||
@Operation(summary = "APP在线商城分类数据查询",description = "获取商户下所有获取分类通过商户id")
|
||||
@GetMapping("/app/onlineCategoryList")
|
||||
public R<List<SmErpCategorySimpleVo>> getOnlineCategoryList(@RequestParam("merchantId")Long merchantId) {
|
||||
|
||||
// R<MchManageVo> byId = remoteMchService.getById(merchantId);
|
||||
// MchManageVo data = byId.getData();
|
||||
// if (Objects.isNull(data)){
|
||||
// return R.failed("商户不存在");
|
||||
// }
|
||||
// Long deptId = data.getDeptId();
|
||||
//
|
||||
// List<SmErpCategoryEntity> categoryEntities = smErpCategoryService.list(Wrappers.<SmErpCategoryEntity>lambdaQuery().eq(SmErpCategoryEntity::getDeptId, deptId));
|
||||
// List<SmErpCategorySimpleVo> bean = BeanUtils.toBean(categoryEntities, SmErpCategorySimpleVo.class);
|
||||
LambdaQueryWrapper<SmSpuEntity> eq = new LambdaQueryWrapper<SmSpuEntity>()
|
||||
.eq(SmSpuEntity::getMerchantId, merchantId)
|
||||
//上架数据 0
|
||||
.eq(SmSpuEntity::getStatus, "0");
|
||||
List<SmSpuEntity> list = smSpuService.list(eq);
|
||||
List<Long> erpSpuIds = list.stream().map(smSpuEntity -> smSpuEntity.getErpSpuId()).collect(Collectors.toList());
|
||||
|
||||
LambdaQueryWrapper<SmErpSpuEntity> smErpSpuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
smErpSpuEntityLambdaQueryWrapper.in(SmErpSpuEntity::getId, erpSpuIds);
|
||||
List<SmErpSpuEntity> erpSpuEntities = smErpSpuService.list(smErpSpuEntityLambdaQueryWrapper);
|
||||
|
||||
List<Long> categoryIds= erpSpuEntities.stream().map(smErpSpuEntity -> smErpSpuEntity.getCategoryId()).collect(Collectors.toList());
|
||||
|
||||
LambdaQueryWrapper<SmErpCategoryEntity> smErpCategoryEntityLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
smErpCategoryEntityLambdaQueryWrapper.in(SmErpCategoryEntity::getId, categoryIds);
|
||||
List<SmErpCategoryEntity> categoryEntities = smErpCategoryService.list(smErpCategoryEntityLambdaQueryWrapper);
|
||||
List<SmErpCategorySimpleVo> bean = BeanUtils.toBean(categoryEntities, SmErpCategorySimpleVo.class);
|
||||
return R.ok(bean);
|
||||
}
|
||||
|
||||
}
|
||||
+14
-1
@@ -5,13 +5,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper;
|
||||
import com.bsd.pjcloud.supermarket.dto.SmSpuPageDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.SupermarketSpuAppQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmSpuEntity;
|
||||
import com.bsd.pjcloud.supermarket.vo.OnlineShopVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmErpPageScopeVo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mapper
|
||||
public interface SmSpuMapper extends PjcloudBaseMapper<SmSpuEntity> {
|
||||
|
||||
@@ -23,7 +27,7 @@ public interface SmSpuMapper extends PjcloudBaseMapper<SmSpuEntity> {
|
||||
* @param of
|
||||
* @return
|
||||
*/
|
||||
IPage<SmErpPageScopeVo> selectSmErpPageScopeVo(Page page, @Param("smspu") SmSpuEntity smSpu, DataScope of);
|
||||
IPage<SmErpPageScopeVo> selectSmErpPageScopeVo(Page page, @Param("smspu") SmSpuPageDTO smSpu, DataScope of);
|
||||
|
||||
|
||||
/**
|
||||
@@ -33,4 +37,13 @@ public interface SmSpuMapper extends PjcloudBaseMapper<SmSpuEntity> {
|
||||
* @return
|
||||
*/
|
||||
IPage<SupermarketAppSpuVo> getAppPage(Page page, @Param("supermarketSpuQueryDTO")SupermarketSpuAppQueryDTO supermarketSpuQueryDTO);
|
||||
|
||||
|
||||
/**
|
||||
* 移动端分页获取线上商品数据
|
||||
* @param categoryId
|
||||
* @param page
|
||||
* @return
|
||||
*/
|
||||
IPage<OnlineShopVo> getOnlineShopList(@Param("categoryId") Long categoryId, Page page);
|
||||
}
|
||||
+5
@@ -102,4 +102,9 @@ public interface SmErpSpuService extends IService<SmErpSpuEntity> {
|
||||
*/
|
||||
R importErpSpu(List<SmErpSpuImportDto> smErpSupplierImportDtos, BindingResult bindingResult);
|
||||
|
||||
|
||||
|
||||
|
||||
// R calculateCostPrice();
|
||||
|
||||
}
|
||||
+11
-1
@@ -1,10 +1,13 @@
|
||||
package com.bsd.pjcloud.supermarket.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.bsd.pjcloud.supermarket.dto.SmSpuPageDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.SupermarketSpuAppQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmSpuEntity;
|
||||
import com.bsd.pjcloud.supermarket.vo.OnlineShopVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo;
|
||||
|
||||
import java.util.List;
|
||||
@@ -13,9 +16,16 @@ public interface SmSpuService extends IService<SmSpuEntity> {
|
||||
|
||||
|
||||
|
||||
Object pageScope(Page page, SmSpuEntity smSpu);
|
||||
Object pageScope(Page page, SmSpuPageDTO smSpu);
|
||||
|
||||
|
||||
|
||||
Object getAppPage(Page page, SupermarketSpuAppQueryDTO supermarketSpuQueryDTO);
|
||||
|
||||
/**
|
||||
* 查询该分类下的所有在线商品数据
|
||||
* @param categoryId
|
||||
* @return
|
||||
*/
|
||||
IPage<OnlineShopVo> getOnlineShopList(Long categoryId, Page page);
|
||||
}
|
||||
+34
-6
@@ -108,6 +108,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
|
||||
baseMapper.insert(supermarketSpu);
|
||||
|
||||
|
||||
//库存表
|
||||
SmErpStockEntity smErpStockEntity = new SmErpStockEntity();
|
||||
smErpStockEntity.setErpSpuId(supermarketSpu.getId());
|
||||
@@ -123,16 +124,26 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
if (isBaseNum.size()!=1){
|
||||
return R.failed("必须且只能指定一个基础包装单位!");
|
||||
}
|
||||
List<SmErpUnitEntity> unitCollect = smErpUnitEntityList.stream().filter(smErpUnitEntity -> smErpUnitEntity.getPackageNum() <= 0).collect(Collectors.toList());
|
||||
if (CollectionUtils.isNotEmpty(unitCollect)){
|
||||
return R.failed("包装类型内装数量不能小于等于0!");
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(smErpUnitEntityList)) {
|
||||
smErpUnitEntityList.forEach(supermarketUnitEntity -> supermarketUnitEntity.setSpuId(supermarketSpu.getId()));
|
||||
smErpUnitService.saveBatch(smErpUnitEntityList);
|
||||
} else {
|
||||
return R.failed("包装类型不能为空");
|
||||
}
|
||||
Map<String, SmErpUnitEntity> unitMap = smErpUnitEntityList.stream().collect(Collectors.toMap(smErpUnitEntity -> smErpUnitEntity.getUnit(), smErpUnitEntity -> smErpUnitEntity));
|
||||
|
||||
//辅助条码
|
||||
List<SmErpAuxiliaryCodeEntity> smErpAuxiliaryCodeEntityList = supermarketSpu.getSmErpAuxiliaryCodeEntityList();
|
||||
if (CollectionUtils.isNotEmpty(smErpAuxiliaryCodeEntityList)) {
|
||||
smErpAuxiliaryCodeEntityList.forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()));
|
||||
for (int i = 0; i < smErpAuxiliaryCodeEntityList.size(); i++) {
|
||||
SmErpAuxiliaryCodeEntity smErpAuxiliaryCodeEntity = smErpAuxiliaryCodeEntityList.get(i);
|
||||
smErpAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId());
|
||||
smErpAuxiliaryCodeEntity.setUnitId(unitMap.get(smErpAuxiliaryCodeEntity.getUnit()).getId());
|
||||
}
|
||||
smErpAuxiliaryCodeService.saveBatch(smErpAuxiliaryCodeEntityList);
|
||||
}
|
||||
|
||||
@@ -165,7 +176,8 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
|
||||
//新增包装类型
|
||||
List<SmErpUnitEntity> smErpUnitEntityList = supermarketSpu.getSmErpUnitEntityList();
|
||||
|
||||
List<SmErpUnitEntity> insertUnits= new ArrayList<>();
|
||||
List<SmErpUnitEntity> updateUnits= new ArrayList<>();
|
||||
if (CollectionUtils.isNotEmpty(smErpUnitEntityList)) {
|
||||
|
||||
List<SmErpUnitEntity> baseUnits = smErpUnitEntityList.stream()
|
||||
@@ -178,10 +190,10 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
}
|
||||
|
||||
//id为null新增
|
||||
List<SmErpUnitEntity> insertUnits = smErpUnitEntityList.stream()
|
||||
insertUnits = smErpUnitEntityList.stream()
|
||||
.filter(supermarketUnitEntity -> supermarketUnitEntity.getId() == null).collect(Collectors.toList());
|
||||
insertUnits.forEach(supermarketUnitEntity -> supermarketUnitEntity.setSpuId(supermarketSpu.getId()));
|
||||
List<SmErpUnitEntity> updateUnits = smErpUnitEntityList.stream()
|
||||
updateUnits = smErpUnitEntityList.stream()
|
||||
.filter(supermarketUnitEntity -> supermarketUnitEntity.getId() != null).collect(Collectors.toList());
|
||||
smErpUnitService.updateBatchById(updateUnits);
|
||||
smErpUnitService.saveBatch(insertUnits);
|
||||
@@ -234,7 +246,19 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
if (CollectionUtils.isNotEmpty(smErpAuxiliaryCodeEntityList)) {
|
||||
List<SmErpAuxiliaryCodeEntity> insertCollect = smErpAuxiliaryCodeEntityList.stream().filter(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.getId() == null).collect(Collectors.toList());
|
||||
List<SmErpAuxiliaryCodeEntity> updateCollect = smErpAuxiliaryCodeEntityList.stream().filter(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.getId() != null).collect(Collectors.toList());
|
||||
insertCollect.stream().forEach(supermarketAuxiliaryCodeEntity -> supermarketAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId()));
|
||||
Map<String, SmErpUnitEntity> unitMap;
|
||||
if (CollectionUtils.isNotEmpty(insertUnits)){
|
||||
unitMap = insertUnits.stream().collect(Collectors.toMap(smErpUnitEntity -> smErpUnitEntity.getUnit(), smErpUnitEntity -> smErpUnitEntity));
|
||||
}else {
|
||||
unitMap = updateUnits.stream().collect(Collectors.toMap(smErpUnitEntity -> smErpUnitEntity.getUnit(), smErpUnitEntity -> smErpUnitEntity));
|
||||
}
|
||||
for (int i = 0; i < insertCollect.size(); i++) {
|
||||
SmErpAuxiliaryCodeEntity smErpAuxiliaryCodeEntity = insertCollect.get(i);
|
||||
smErpAuxiliaryCodeEntity.setSpuId(supermarketSpu.getId());
|
||||
smErpAuxiliaryCodeEntity.setUnitId(unitMap.get(smErpAuxiliaryCodeEntity.getUnit()).getId());
|
||||
}
|
||||
|
||||
|
||||
smErpAuxiliaryCodeService.saveBatch(insertCollect);
|
||||
smErpAuxiliaryCodeService.updateBatchById(updateCollect);
|
||||
|
||||
@@ -558,7 +582,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
String productCode = dto.getProductCode();
|
||||
|
||||
try {
|
||||
//================================ 新增代码开始 ================================//
|
||||
//================================ 新增代码开始 ======= =========================//
|
||||
// 检查本批次内部重复
|
||||
List<Integer> duplicateRows = importProductCodeMap.get(productCode);
|
||||
if (duplicateRows.size() > 1) {
|
||||
@@ -610,6 +634,10 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
|
||||
spu.setCategoryId(categoryId);
|
||||
spu.setSupplierId(supplierId);
|
||||
spu.setDeptId(deptId);
|
||||
spu.setCostPrice(BigDecimal.valueOf(dto.getCostPrice())
|
||||
.multiply(BigDecimal.valueOf(100))
|
||||
.setScale(0, RoundingMode.HALF_UP)
|
||||
.doubleValue());
|
||||
|
||||
SmErpSpuEntity existingSpu = existingSpuMap.get(productCode);
|
||||
// 合并两种错误检查
|
||||
|
||||
+11
-1
@@ -7,12 +7,14 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.bsd.pjcloud.common.core.util.R;
|
||||
import com.bsd.pjcloud.common.data.datascope.DataScope;
|
||||
import com.bsd.pjcloud.common.security.util.SecurityUtils;
|
||||
import com.bsd.pjcloud.supermarket.dto.SmSpuPageDTO;
|
||||
import com.bsd.pjcloud.supermarket.dto.SupermarketSpuAppQueryDTO;
|
||||
import com.bsd.pjcloud.supermarket.entity.SmSpuEntity;
|
||||
import com.bsd.pjcloud.supermarket.mapper.SmErpSpuMapper;
|
||||
import com.bsd.pjcloud.supermarket.mapper.SmErpUnitMapper;
|
||||
import com.bsd.pjcloud.supermarket.mapper.SmSpuMapper;
|
||||
import com.bsd.pjcloud.supermarket.service.SmSpuService;
|
||||
import com.bsd.pjcloud.supermarket.vo.OnlineShopVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo;
|
||||
import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmErpPageScopeVo;
|
||||
import com.bsd.pjcloud.wallet.api.feign.RemoteMchService;
|
||||
@@ -38,7 +40,7 @@ public class SmSpuServiceImpl extends ServiceImpl<SmSpuMapper, SmSpuEntity> impl
|
||||
private final SmErpUnitMapper smErpUnitMapper;
|
||||
|
||||
@Override
|
||||
public Object pageScope(Page page, SmSpuEntity smSpu) {
|
||||
public Object pageScope(Page page, SmSpuPageDTO smSpu) {
|
||||
IPage<SmErpPageScopeVo> pageData = baseMapper.selectSmErpPageScopeVo(page,smSpu, DataScope.of());
|
||||
return pageData;
|
||||
}
|
||||
@@ -48,4 +50,12 @@ public class SmSpuServiceImpl extends ServiceImpl<SmSpuMapper, SmSpuEntity> impl
|
||||
IPage<SupermarketAppSpuVo> appPage=baseMapper.getAppPage(page,supermarketSpuQueryDTO);
|
||||
return appPage;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<OnlineShopVo> getOnlineShopList(Long categoryId, Page page) {
|
||||
|
||||
IPage<OnlineShopVo> list = baseMapper.getOnlineShopList(categoryId,page);
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
+23
-1
@@ -30,7 +30,13 @@
|
||||
on sp.erp_spu_id = esp.id
|
||||
left join sm_erp_category eca
|
||||
on esp.category_id = eca.id
|
||||
where sp.del_flag = 0
|
||||
<where>
|
||||
esp.del_flag = 0 and sp.del_flag = 0
|
||||
<if test="smspu.productName != null">
|
||||
and esp.product_name like concat('%', #{smspu.productName}, '%')
|
||||
</if>
|
||||
</where>
|
||||
|
||||
</select>
|
||||
|
||||
<select id="getAppPage" resultType="com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo">
|
||||
@@ -53,4 +59,20 @@
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
<select id="getOnlineShopList" resultType="com.bsd.pjcloud.supermarket.vo.OnlineShopVo">
|
||||
SELECT esp.id as erp_spu_id,esp.product_code,esp.barcode,esp.product_name,esp.category_id,
|
||||
esp.pic_url,esp.sort,esp.status,esp.merchant_id,esp.dept_id,esp.bar_code,
|
||||
sp.create_time,sp.id,sp.slider_pic_urls,sp.description,
|
||||
eca.name as category_name,
|
||||
stock.current_stock as stock
|
||||
FROM `sm_spu` sp
|
||||
LEFT JOIN sm_erp_spu esp
|
||||
on sp.erp_spu_id = esp.id
|
||||
LEFT JOIN sm_erp_category eca
|
||||
on esp.category_id = eca.id
|
||||
left join sm_erp_stock stock
|
||||
on esp.id = stock.erp_spu_id
|
||||
WHERE esp.del_flag = 0 and sp.del_flag = 0 and
|
||||
esp.status = 0 and esp.category_id=${categoryId}
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in new issue
Block a user