| | |
| | | import cc.mrbird.febs.mall.mapper.*; |
| | | import cc.mrbird.febs.mall.service.IAdminMallGoodsService; |
| | | import cc.mrbird.febs.mall.vo.*; |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | |
| | | private final MallGoodsStyleMapper mallGoodsStyleMapper; |
| | | private final MallGoodsImagesMapper mallGoodsImagesMapper; |
| | | private final MallShoppingCartMapper mallShoppingCartMapper; |
| | | private final MallCarriageRuleMapper mallCarriageRuleMapper; |
| | | private final MallCarriageRuleInfoMapper mallCarriageRuleInfoMapper; |
| | | |
| | | @Override |
| | | public IPage<AdminMallGoodsVo> getCategoryListInPage(MallGoods mallGoods, QueryRequest request) { |
| | |
| | | if (mallGoodsByGoodsNo > 0) { |
| | | return new FebsResponse().fail().message("商品编号不能重复"); |
| | | } |
| | | Integer carriageType = addMallGoodsDto.getCarriageType(); |
| | | if(1 == carriageType){ |
| | | if(ObjectUtil.isEmpty(addMallGoodsDto.getCarriageAmount()) |
| | | || BigDecimal.ZERO.compareTo(addMallGoodsDto.getCarriageAmount()) >= 0){ |
| | | return new FebsResponse().fail().message("固定邮费不能小于零"); |
| | | } |
| | | }else{ |
| | | Long carriageRuleId = addMallGoodsDto.getCarriageRuleId(); |
| | | MallCarriageRule mallCarriageRule = mallCarriageRuleMapper.selectById(carriageRuleId); |
| | | if(ObjectUtil.isEmpty(mallCarriageRule)){ |
| | | return new FebsResponse().fail().message("邮费模板不能为空"); |
| | | } |
| | | } |
| | | |
| | | |
| | | // 付费商品 |
| | | if (addMallGoodsDto.getGoodsType() != 2) { |
| | |
| | | return new FebsResponse().fail().message("商品分类不能为空"); |
| | | } |
| | | |
| | | List<AddMallGoodsSkuDto> addSkus = addMallGoodsDto.getAddMallGoodsSkuDtos(); |
| | | if (CollUtil.isEmpty(addSkus)) { |
| | | return new FebsResponse().fail().message("商品规格不能为空"); |
| | | } |
| | | for (AddMallGoodsSkuDto addSku : addSkus) { |
| | | String skuName = addSku.getSkuName(); |
| | | if (StrUtil.isEmpty(skuName)) { |
| | | return new FebsResponse().fail().message("商品规格名称不能为空"); |
| | | if (addMallGoodsDto.getIsSku() == 1) { |
| | | List<AddMallGoodsSkuDto> addSkus = addMallGoodsDto.getAddMallGoodsSkuDtos(); |
| | | if (CollUtil.isEmpty(addSkus)) { |
| | | return new FebsResponse().fail().message("商品规格不能为空"); |
| | | } |
| | | String skuImage = addSku.getSkuImage(); |
| | | if (StrUtil.isEmpty(skuImage)) { |
| | | return new FebsResponse().fail().message("商品规格图片不能为空"); |
| | | } |
| | | Integer skuVolume = addSku.getSkuVolume() == null ? 0 : addSku.getSkuVolume(); |
| | | if (skuVolume < 0) { |
| | | return new FebsResponse().fail().message("商品规格销售数量不能小于0"); |
| | | } |
| | | Integer stock = addSku.getStock() == null ? 0 : addSku.getStock(); |
| | | if (stock < 0) { |
| | | return new FebsResponse().fail().message("商品规格库存必须大于0"); |
| | | } |
| | | String originalPrice = addSku.getOriginalPrice(); |
| | | if (StrUtil.isEmpty(originalPrice)) { |
| | | return new FebsResponse().fail().message("商品规格原价不能为空"); |
| | | } |
| | | String presentPrice = addSku.getPresentPrice(); |
| | | if (StrUtil.isEmpty(presentPrice)) { |
| | | return new FebsResponse().fail().message("商品规格现价不能为空"); |
| | | for (AddMallGoodsSkuDto addSku : addSkus) { |
| | | String skuName = addSku.getSkuName(); |
| | | if (StrUtil.isEmpty(skuName)) { |
| | | return new FebsResponse().fail().message("商品规格名称不能为空"); |
| | | } |
| | | String skuImage = addSku.getSkuImage(); |
| | | if (StrUtil.isEmpty(skuImage)) { |
| | | return new FebsResponse().fail().message("商品规格图片不能为空"); |
| | | } |
| | | Integer skuVolume = addSku.getSkuVolume() == null ? 0 : addSku.getSkuVolume(); |
| | | if (skuVolume < 0) { |
| | | return new FebsResponse().fail().message("商品规格销售数量不能小于0"); |
| | | } |
| | | Integer stock = addSku.getStock() == null ? 0 : addSku.getStock(); |
| | | if (stock < 0) { |
| | | return new FebsResponse().fail().message("商品规格库存必须大于0"); |
| | | } |
| | | String originalPrice = addSku.getOriginalPrice(); |
| | | if (StrUtil.isEmpty(originalPrice)) { |
| | | return new FebsResponse().fail().message("商品规格原价不能为空"); |
| | | } |
| | | String presentPrice = addSku.getPresentPrice(); |
| | | if (StrUtil.isEmpty(presentPrice)) { |
| | | return new FebsResponse().fail().message("商品规格现价不能为空"); |
| | | } |
| | | BigDecimal goodsWeight = addSku.getGoodsWeight(); |
| | | if(BigDecimal.ZERO.compareTo(goodsWeight) > 0){ |
| | | return new FebsResponse().fail().message("重量不能小于零"); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //新增商品 |
| | | MallGoods mallGoods = MallGoodsConversion.INSTANCE.dtoToEntity(addMallGoodsDto); |
| | | mallGoods.setIsSale(MallGoods.ISSALE_STATUS_DISABLED); |
| | | |
| | | // if (mallGoods.getHasCarriage() == 2) { |
| | | // mallGoods.setCarriage(BigDecimal.ZERO); |
| | | // } |
| | | mallGoodsMapper.insert(mallGoods); |
| | | |
| | | String thumbs = addMallGoodsDto.getThumbs(); |
| | |
| | | return new FebsResponse().success().message("添加成功"); |
| | | } |
| | | |
| | | // 单规格 |
| | | if (addMallGoodsDto.getIsSku() == 2) { |
| | | MallGoodsStyle style = new MallGoodsStyle(); |
| | | style.setGoodsId(mallGoods.getId()); |
| | | style.setName(mallGoods.getGoodsName()); |
| | | mallGoodsStyleMapper.insert(style); |
| | | |
| | | MallGoodsSku sku = new MallGoodsSku(); |
| | | sku.setGoodsId(mallGoods.getId()); |
| | | sku.setSkuImage(mallGoods.getThumb()); |
| | | sku.setSkuName(mallGoods.getGoodsName()); |
| | | sku.setCostPrice(mallGoods.getCostPrice()); |
| | | sku.setPresentPrice(new BigDecimal(mallGoods.getPresentPrice())); |
| | | sku.setOriginalPrice(new BigDecimal(mallGoods.getOriginalPrice())); |
| | | sku.setSkuVolume(mallGoods.getVolume()); |
| | | sku.setStock(mallGoods.getStock()); |
| | | sku.setStyleId(style.getId()); |
| | | sku.setGoodsWeight(mallGoods.getGoodsWeight()); |
| | | mallGoodsSkuMapper.insert(sku); |
| | | return new FebsResponse().success().message("添加成功"); |
| | | } |
| | | |
| | | |
| | | List<AddMallGoodsSkuDto> addMallGoodsSkuDtos = addMallGoodsDto.getAddMallGoodsSkuDtos(); |
| | | Set<String> styles = new HashSet<>(); |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | if (CollUtil.isNotEmpty(addMallGoodsSkuDtos)) { |
| | | for (AddMallGoodsSkuDto addMallGoodsSkuDto : addMallGoodsSkuDtos) { |
| | | MallGoodsStyle mallGoodsStyleSku = mallGoodsStyleMapper.selectByStyleName(addMallGoodsSkuDto.getStyleName(), mallGoods.getId()); |
| | |
| | | mallGoodsSku.setStyleId(mallGoodsStyleSku.getId()); |
| | | mallGoodsSku.setCostPrice(addMallGoodsSkuDto.getCostPrice()); |
| | | mallGoodsSku.setGoodsId(mallGoods.getId()); |
| | | mallGoodsSku.setGoodsWeight(addMallGoodsSkuDto.getGoodsWeight()); |
| | | mallGoodsSkuMapper.insert(mallGoodsSku); |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public MallGoods selectGoodsById(long id) { |
| | | MallGoods mallGoods = mallGoodsMapper.selectById(id); |
| | | |
| | | List<MallGoodsSku> skus = mallGoodsSkuMapper.selectSkuByGoodsId(mallGoods.getId()); |
| | | List<String> thumbs = mallGoodsImagesMapper.selectByGoodId(mallGoods.getId()); |
| | | mallGoods.setImages(thumbs); |
| | | mallGoods.setSkus(skus); |
| | | return mallGoods; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse updateMallGoods(MallGoodsUpdateDto mallGoodsUpdateDto) { |
| | | String goodsName = mallGoodsUpdateDto.getGoodsName(); |
| | |
| | | if (mallGoodsByGoodsNo > 0) { |
| | | return new FebsResponse().fail().message("商品编号不能重复"); |
| | | } |
| | | Long categoryId = mallGoodsUpdateDto.getCategoryId(); |
| | | if (ObjectUtil.isEmpty(categoryId)) { |
| | | return new FebsResponse().fail().message("商品分类不能为空"); |
| | | Integer carriageType = mallGoodsUpdateDto.getCarriageType(); |
| | | if(1 == carriageType){ |
| | | if(ObjectUtil.isEmpty(mallGoodsUpdateDto.getCarriageAmount()) |
| | | || BigDecimal.ZERO.compareTo(mallGoodsUpdateDto.getCarriageAmount()) > 0){ |
| | | return new FebsResponse().fail().message("固定邮费不能小于零"); |
| | | } |
| | | }else{ |
| | | Long carriageRuleId = mallGoodsUpdateDto.getCarriageRuleId(); |
| | | MallCarriageRule mallCarriageRule = mallCarriageRuleMapper.selectById(carriageRuleId); |
| | | if(ObjectUtil.isEmpty(mallCarriageRule)){ |
| | | return new FebsResponse().fail().message("邮费模板不能为空"); |
| | | } |
| | | } |
| | | List<MailGoodsSkuDto> addSkus = mallGoodsUpdateDto.getMailGoodsSkuDto(); |
| | | if (CollUtil.isEmpty(addSkus)) { |
| | | return new FebsResponse().fail().message("商品规格不能为空"); |
| | | } |
| | | for (MailGoodsSkuDto addSku : addSkus) { |
| | | String skuName = addSku.getSkuName(); |
| | | if (StrUtil.isEmpty(skuName)) { |
| | | return new FebsResponse().fail().message("商品规格名称不能为空"); |
| | | } |
| | | String skuImage = addSku.getSkuImage(); |
| | | if (StrUtil.isEmpty(skuImage)) { |
| | | return new FebsResponse().fail().message("商品规格图片不能为空"); |
| | | } |
| | | Integer skuVolume = addSku.getSkuVolume() == null ? 0 : addSku.getSkuVolume(); |
| | | if (skuVolume < 0) { |
| | | return new FebsResponse().fail().message("商品规格销售数量不能小于0"); |
| | | } |
| | | Integer stock = addSku.getStock() == null ? 0 : addSku.getStock(); |
| | | if (stock < 0) { |
| | | return new FebsResponse().fail().message("商品规格库存必须大于0"); |
| | | } |
| | | BigDecimal originalPrice = addSku.getOriginalPrice(); |
| | | if (originalPrice.compareTo(BigDecimal.ZERO) <= 0) { |
| | | return new FebsResponse().fail().message("商品规格原价不能小于0"); |
| | | } |
| | | BigDecimal presentPrice = addSku.getPresentPrice(); |
| | | if (presentPrice.compareTo(BigDecimal.ZERO) <= 0) { |
| | | return new FebsResponse().fail().message("商品规格现价不能小于0"); |
| | | |
| | | if (mallGoodsUpdateDto.getGoodsType() != 2) { |
| | | Long categoryId = mallGoodsUpdateDto.getCategoryId(); |
| | | if (ObjectUtil.isEmpty(categoryId)) { |
| | | return new FebsResponse().fail().message("商品分类不能为空"); |
| | | } |
| | | |
| | | if (mallGoodsUpdateDto.getIsSku() == 1) { |
| | | List<MailGoodsSkuDto> addSkus = mallGoodsUpdateDto.getMailGoodsSkuDto(); |
| | | if (CollUtil.isEmpty(addSkus)) { |
| | | return new FebsResponse().fail().message("商品规格不能为空"); |
| | | } |
| | | for (MailGoodsSkuDto addSku : addSkus) { |
| | | String skuName = addSku.getSkuName(); |
| | | if (StrUtil.isEmpty(skuName)) { |
| | | return new FebsResponse().fail().message("商品规格名称不能为空"); |
| | | } |
| | | String skuImage = addSku.getSkuImage(); |
| | | if (StrUtil.isEmpty(skuImage)) { |
| | | return new FebsResponse().fail().message("商品规格图片不能为空"); |
| | | } |
| | | Integer skuVolume = addSku.getSkuVolume() == null ? 0 : addSku.getSkuVolume(); |
| | | if (skuVolume < 0) { |
| | | return new FebsResponse().fail().message("商品规格销售数量不能小于0"); |
| | | } |
| | | Integer stock = addSku.getStock() == null ? 0 : addSku.getStock(); |
| | | if (stock < 0) { |
| | | return new FebsResponse().fail().message("商品规格库存必须大于0"); |
| | | } |
| | | BigDecimal originalPrice = addSku.getOriginalPrice(); |
| | | if (originalPrice.compareTo(BigDecimal.ZERO) <= 0) { |
| | | return new FebsResponse().fail().message("商品规格原价不能小于0"); |
| | | } |
| | | BigDecimal presentPrice = addSku.getPresentPrice(); |
| | | if (presentPrice.compareTo(BigDecimal.ZERO) < 0) { |
| | | return new FebsResponse().fail().message("商品规格现价不能小于0"); |
| | | } |
| | | BigDecimal goodsWeight = addSku.getGoodsWeight(); |
| | | if(BigDecimal.ZERO.compareTo(goodsWeight) > 0){ |
| | | return new FebsResponse().fail().message("重量不能小于零"); |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | //新增商品 |
| | | MallGoods mallGoods = mallGoodsMapper.selectById(mallGoodsUpdateDto.getId()); |
| | | mallGoods.setGoodsNo(mallGoodsUpdateDto.getGoodsNo()); |
| | | mallGoods.setGoodsName(mallGoodsUpdateDto.getGoodsName()); |
| | | mallGoods.setGoodsIntrodution(mallGoodsUpdateDto.getGoodsIntrodution()); |
| | | mallGoods.setUnit(mallGoodsUpdateDto.getUnit()); |
| | | mallGoods.setThumb(mallGoodsUpdateDto.getThumb()); |
| | | mallGoods.setGoodsDetails(mallGoodsUpdateDto.getGoodsDetails()); |
| | | mallGoods.setOriginalPrice(mallGoodsUpdateDto.getOriginalPrice()); |
| | | mallGoods.setCategoryId(mallGoodsUpdateDto.getCategoryId()); |
| | | mallGoods.setPresentPrice(mallGoodsUpdateDto.getPresentPrice()); |
| | | mallGoods.setIsHot(mallGoodsUpdateDto.getIsHot()); |
| | | // mallGoods.setIsSale(MallGoods.ISSALE_STATUS_DISABLED); |
| | | |
| | | // 若原来不为多规格或编辑后也不为多规格,则清空样式和规格 |
| | | if (mallGoods.getIsSku() == 2 || mallGoodsUpdateDto.getIsSku() == 2) { |
| | | mallGoodsSkuMapper.deleteByGoodsId(mallGoods.getId()); |
| | | mallGoodsStyleMapper.deleteByGoodsId(mallGoods.getId()); |
| | | } |
| | | |
| | | BeanUtil.copyProperties(mallGoodsUpdateDto, mallGoods); |
| | | // if (mallGoods.getHasCarriage() == 2) { |
| | | // mallGoods.setCarriage(BigDecimal.ZERO); |
| | | // } |
| | | |
| | | mallGoodsMapper.updateById(mallGoods); |
| | | |
| | | mallGoodsImagesMapper.deleteByGoodsId(mallGoodsUpdateDto.getId()); |
| | | |
| | | String thumbs = mallGoodsUpdateDto.getThumbs(); |
| | | if (StrUtil.isNotEmpty(thumbs)) { |
| | | List<String> imgs = StrUtil.splitTrim(thumbs, ","); |
| | |
| | | } |
| | | } |
| | | |
| | | if (mallGoodsUpdateDto.getGoodsType() == 2) { |
| | | return new FebsResponse().success().message("编辑成功"); |
| | | } |
| | | |
| | | // 单规格 |
| | | if (mallGoodsUpdateDto.getIsSku() == 2) { |
| | | MallGoodsStyle style = new MallGoodsStyle(); |
| | | style.setGoodsId(mallGoods.getId()); |
| | | style.setName(mallGoods.getGoodsName()); |
| | | mallGoodsStyleMapper.insert(style); |
| | | |
| | | MallGoodsSku sku = new MallGoodsSku(); |
| | | sku.setGoodsId(mallGoods.getId()); |
| | | sku.setSkuImage(mallGoods.getThumb()); |
| | | sku.setSkuName(mallGoods.getGoodsName()); |
| | | sku.setCostPrice(mallGoods.getCostPrice()); |
| | | sku.setPresentPrice(new BigDecimal(mallGoods.getPresentPrice())); |
| | | sku.setOriginalPrice(new BigDecimal(mallGoods.getOriginalPrice())); |
| | | sku.setSkuVolume(mallGoods.getVolume()); |
| | | sku.setStock(mallGoods.getStock()); |
| | | sku.setStyleId(style.getId()); |
| | | sku.setGoodsWeight(mallGoods.getGoodsWeight()); |
| | | mallGoodsSkuMapper.insert(sku); |
| | | return new FebsResponse().success().message("添加成功"); |
| | | } |
| | | |
| | | |
| | | |
| | | // 删除已存在sku |
| | | List<Long> delSkuIds = mallGoodsUpdateDto.getDelSkuId(); |
| | | if (CollUtil.isNotEmpty(delSkuIds)) { |
| | | mallGoodsSkuMapper.delSkuByIds(delSkuIds); |
| | | |
| | | // 如果该样式下sku全删除,则删除该样式 |
| | | List<MallGoodsStyle> styles = mallGoodsStyleMapper.selectByGoodsId(mallGoods.getId()); |
| | | for (MallGoodsStyle style : styles) { |
| | | if (CollUtil.isEmpty(style.getSkus())) { |
| | | mallGoodsStyleMapper.deleteById(style.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | List<MailGoodsSkuDto> mailGoodsSkuDto = mallGoodsUpdateDto.getMailGoodsSkuDto(); |
| | | Set<String> styles = new HashSet<>(); |
| | | if (CollUtil.isNotEmpty(mailGoodsSkuDto)) { |
| | | for (MailGoodsSkuDto addStyleDto : mailGoodsSkuDto) { |
| | | if (ObjectUtil.isNotEmpty(addStyleDto.getDelLog())) { |
| | | mallGoodsSkuMapper.deleteById(addStyleDto.getId()); |
| | | // if (ObjectUtil.isNotEmpty(addStyleDto.getDelLog())) { |
| | | // mallGoodsSkuMapper.deleteById(addStyleDto.getId()); |
| | | // mallShoppingCartMapper.deleteByGoodsIdAndSkuId(addStyleDto.getId(), addStyleDto.getGoodsId()); |
| | | // } |
| | | |
| | | mallShoppingCartMapper.deleteByGoodsIdAndSkuId(addStyleDto.getId(), addStyleDto.getGoodsId()); |
| | | } |
| | | if (ObjectUtil.isEmpty(addStyleDto.getStyleId())) { |
| | | MallGoodsStyle mallGoodsStyleSku = mallGoodsStyleMapper.selectByStyleName(addStyleDto.getStyleName(), mallGoods.getId()); |
| | | if (ObjectUtil.isEmpty(mallGoodsStyleSku)) { |
| | |
| | | mallGoodsSku.setPresentPrice(addMallGoodsSkuDto.getPresentPrice()); |
| | | mallGoodsSku.setStyleId(addMallGoodsSkuDto.getStyleId()); |
| | | mallGoodsSku.setGoodsId(mallGoods.getId()); |
| | | mallGoodsSku.setCostPrice(addMallGoodsSkuDto.getCostPrice()); |
| | | mallGoodsSku.setGoodsWeight(addMallGoodsSkuDto.getGoodsWeight()); |
| | | mallGoodsSkuMapper.updateById(mallGoodsSku); |
| | | } else { |
| | | //新增商品规格 |
| | |
| | | mallGoodsSku.setOriginalPrice(addMallGoodsSkuDto.getOriginalPrice()); |
| | | mallGoodsSku.setPresentPrice(addMallGoodsSkuDto.getPresentPrice()); |
| | | mallGoodsSku.setStyleId(mallGoodsStyleSku.getId()); |
| | | mallGoodsSku.setCostPrice(addMallGoodsSkuDto.getCostPrice()); |
| | | mallGoodsSku.setGoodsId(mallGoods.getId()); |
| | | mallGoodsSku.setGoodsWeight(addMallGoodsSkuDto.getGoodsWeight()); |
| | | mallGoodsSkuMapper.insert(mallGoodsSku); |
| | | } |
| | | } |
| | |
| | | return mallGoodsMapper.getAllGoodsTree(); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse goodsHot(Long id) { |
| | | MallGoods mallGoods = mallGoodsMapper.selectById(id); |
| | | if (ObjectUtil.isEmpty(mallGoods)) { |
| | | return new FebsResponse().fail().message("商品不存在,请刷新当前页面"); |
| | | } |
| | | mallGoods.setIsHot(MallGoods.ISHOT_STATE_YES); |
| | | mallGoodsMapper.updateById(mallGoods); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public FebsResponse goodsNotHot(Long id) { |
| | | MallGoods mallGoods = mallGoodsMapper.selectById(id); |
| | | if (ObjectUtil.isEmpty(mallGoods)) { |
| | | return new FebsResponse().fail().message("商品不存在,请刷新当前页面"); |
| | | } |
| | | mallGoods.setIsHot(MallGoods.ISHOT_STATE_NO); |
| | | mallGoodsMapper.updateById(mallGoods); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<AdminHomeDeliverySettingVo> getDeliveryHomeListInPage(AdminHomeDeliverySettingVo adminHomeDeliverySetting, QueryRequest request) { |
| | | Page<DataDictionaryCustom> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<DataDictionaryCustom> dataDictionaryCustomIPage = this.baseMapper.getDeliveryHomeListInPage(page, adminHomeDeliverySetting); |
| | | List<DataDictionaryCustom> records = dataDictionaryCustomIPage.getRecords(); |
| | | List<AdminHomeDeliverySettingVo> adminHomeDeliverySettingVos = new ArrayList<>(); |
| | | if(CollUtil.isNotEmpty(records)){ |
| | | for(DataDictionaryCustom dataDictionaryCustom : records){ |
| | | AdminHomeDeliverySettingVo adminHomeDeliverySettingVo = JSONUtil.toBean(dataDictionaryCustom.getValue(), AdminHomeDeliverySettingVo.class); |
| | | adminHomeDeliverySettingVo.setId(dataDictionaryCustom.getId()); |
| | | adminHomeDeliverySettingVos.add(adminHomeDeliverySettingVo); |
| | | } |
| | | } |
| | | IPage<AdminHomeDeliverySettingVo> adminHomeDeliverySettingVoIPage = new Page<>(); |
| | | adminHomeDeliverySettingVoIPage.setRecords(adminHomeDeliverySettingVos); |
| | | adminHomeDeliverySettingVoIPage.setTotal(dataDictionaryCustomIPage.getTotal()); |
| | | return adminHomeDeliverySettingVoIPage; |
| | | } |
| | | |
| | | |
| | | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | @Override |
| | | public FebsResponse deliveryHomeUpdate(AdminHomeDeliverySettingVo adminHomeDeliverySettingVo) { |
| | | DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectById(adminHomeDeliverySettingVo.getId()); |
| | | adminHomeDeliverySettingVo.setId(null); |
| | | dataDictionaryCustom.setValue(JSONUtil.toJsonStr(adminHomeDeliverySettingVo)); |
| | | dataDictionaryCustomMapper.updateById(dataDictionaryCustom); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | public IPage<MallCarriageRule> getMallCarriageRuleListInPage(MallCarriageRule mallCarriageRule, QueryRequest request) { |
| | | Page<MallCarriageRule> page = new Page<>(request.getPageNum(), request.getPageSize()); |
| | | IPage<MallCarriageRule> mallCarriageRules = mallCarriageRuleMapper.selectMallCarriageRuleListInPage(page, mallCarriageRule); |
| | | return mallCarriageRules; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse carriageRuleDelById(Long id) { |
| | | MallCarriageRule mallCarriageRule = mallCarriageRuleMapper.selectById(id); |
| | | if(ObjectUtil.isEmpty(mallCarriageRule)){ |
| | | return new FebsResponse().fail().message("操作失败"); |
| | | } |
| | | List<MallGoods> mallGoods = this.baseMapper.selectMallGoodsListQueryByRuleId(id); |
| | | if(CollUtil.isNotEmpty(mallGoods)){ |
| | | StringBuffer goodsNameBuffer = new StringBuffer(); |
| | | for(MallGoods goods : mallGoods){ |
| | | goodsNameBuffer.append(goods.getGoodsName()); |
| | | goodsNameBuffer.append(","); |
| | | } |
| | | return new FebsResponse().fail().message(goodsNameBuffer+"正在使用当前模板,请先编辑商品信息"); |
| | | } |
| | | QueryWrapper<MallCarriageRuleInfo> objectQueryWrapper = new QueryWrapper<>(); |
| | | objectQueryWrapper.eq("rule_id",id); |
| | | mallCarriageRuleInfoMapper.delete(objectQueryWrapper); |
| | | |
| | | mallCarriageRuleMapper.deleteById(id); |
| | | return new FebsResponse().success(); |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse carriageRuleAdd(AdminCarriageRuleAddDto adminCarriageRuleAddDto) { |
| | | String ruleName = adminCarriageRuleAddDto.getRuleName(); |
| | | QueryWrapper<MallCarriageRule> objectQueryWrapper = new QueryWrapper<>(); |
| | | objectQueryWrapper.eq("name",ruleName); |
| | | List<MallCarriageRule> mallCarriageRules = mallCarriageRuleMapper.selectList(objectQueryWrapper); |
| | | if(CollUtil.isNotEmpty(mallCarriageRules)){ |
| | | return new FebsResponse().fail().message("标题不能重复"); |
| | | } |
| | | |
| | | MallCarriageRule mallCarriageRule = new MallCarriageRule(); |
| | | mallCarriageRule.setName(ruleName); |
| | | mallCarriageRuleMapper.insert(mallCarriageRule); |
| | | |
| | | Long ruleId = mallCarriageRule.getId(); |
| | | /** |
| | | * 生成默认的运费规则 |
| | | */ |
| | | MallCarriageRuleInfo mallCarriageRuleInfoDefault = new MallCarriageRuleInfo(); |
| | | mallCarriageRuleInfoDefault.setRuleId(ruleId); |
| | | //计价方式(1:按件算 2:按重量算) |
| | | mallCarriageRuleInfoDefault.setValuationType(adminCarriageRuleAddDto.getValuationType()); |
| | | mallCarriageRuleInfoDefault.setValuationUnit( |
| | | adminCarriageRuleAddDto.getValuationType() == 1?"件":"千克" |
| | | ); |
| | | mallCarriageRuleInfoDefault.setBasicCnt(adminCarriageRuleAddDto.getBasicCntDefault()); |
| | | mallCarriageRuleInfoDefault.setBasicPrice(adminCarriageRuleAddDto.getBasicPriceDefault()); |
| | | mallCarriageRuleInfoDefault.setMoreCnt(adminCarriageRuleAddDto.getMoreCntDefault()); |
| | | mallCarriageRuleInfoDefault.setMorePrice(adminCarriageRuleAddDto.getMorePriceDefault()); |
| | | mallCarriageRuleInfoMapper.insert(mallCarriageRuleInfoDefault); |
| | | |
| | | List<AdminCarriageRuleAddInfoDto> adminCarriageRuleAddInfoDtos = adminCarriageRuleAddDto.getAdminCarriageRuleAddInfoDtos(); |
| | | if(CollUtil.isNotEmpty(adminCarriageRuleAddInfoDtos)){ |
| | | for(AdminCarriageRuleAddInfoDto adminCarriageRuleAddInfoDto : adminCarriageRuleAddInfoDtos){ |
| | | MallCarriageRuleInfo mallCarriageRuleInfo = new MallCarriageRuleInfo(); |
| | | mallCarriageRuleInfo.setRuleId(ruleId); |
| | | mallCarriageRuleInfo.setAreaAddress(adminCarriageRuleAddInfoDto.getAreaAddress()); |
| | | //计价方式(1:按件算 2:按重量算) |
| | | mallCarriageRuleInfo.setValuationType(adminCarriageRuleAddDto.getValuationType()); |
| | | mallCarriageRuleInfo.setValuationUnit( |
| | | adminCarriageRuleAddDto.getValuationType() == 1?"件":"千克" |
| | | ); |
| | | mallCarriageRuleInfo.setBasicCnt(adminCarriageRuleAddInfoDto.getBasicCnt()); |
| | | mallCarriageRuleInfo.setBasicPrice(adminCarriageRuleAddInfoDto.getBasicPrice()); |
| | | mallCarriageRuleInfo.setMoreCnt(adminCarriageRuleAddInfoDto.getMoreCnt()); |
| | | mallCarriageRuleInfo.setMorePrice(adminCarriageRuleAddInfoDto.getMorePrice()); |
| | | mallCarriageRuleInfoMapper.insert(mallCarriageRuleInfo); |
| | | } |
| | | } |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public AdminMallCarriageRuleVo selectCarriageRuleByRuleId(long id) { |
| | | AdminMallCarriageRuleVo adminMallCarriageRuleVo = new AdminMallCarriageRuleVo(); |
| | | |
| | | MallCarriageRule mallCarriageRule = mallCarriageRuleMapper.selectById(id); |
| | | adminMallCarriageRuleVo.setId(id); |
| | | adminMallCarriageRuleVo.setRuleName(mallCarriageRule.getName()); |
| | | |
| | | List<MallCarriageRuleInfo> mallCarriageRuleInfos = mallCarriageRuleInfoMapper.selectMallCarriageRuleInfoByRuleIdAndAreaAddress(id,null); |
| | | if(CollUtil.isNotEmpty(mallCarriageRuleInfos)){ |
| | | List<AdminMallCarriageRuleInfoVo> adminCarriageRuleInfoVos = new ArrayList<>(); |
| | | for(MallCarriageRuleInfo mallCarriageRuleInfo : mallCarriageRuleInfos){ |
| | | if(StrUtil.isNotEmpty(mallCarriageRuleInfo.getAreaAddress())){ |
| | | AdminMallCarriageRuleInfoVo adminMallCarriageRuleInfoVo = new AdminMallCarriageRuleInfoVo(); |
| | | adminMallCarriageRuleInfoVo.setId(mallCarriageRuleInfo.getId()); |
| | | adminMallCarriageRuleInfoVo.setAreaAddress(mallCarriageRuleInfo.getAreaAddress()); |
| | | adminMallCarriageRuleInfoVo.setBasicCnt(mallCarriageRuleInfo.getBasicCnt()); |
| | | adminMallCarriageRuleInfoVo.setBasicPrice(mallCarriageRuleInfo.getBasicPrice()); |
| | | adminMallCarriageRuleInfoVo.setMoreCnt(mallCarriageRuleInfo.getMoreCnt()); |
| | | adminMallCarriageRuleInfoVo.setMorePrice(mallCarriageRuleInfo.getMorePrice()); |
| | | adminCarriageRuleInfoVos.add(adminMallCarriageRuleInfoVo); |
| | | }else{ |
| | | //默认规则 |
| | | adminMallCarriageRuleVo.setBasicCntDefault(mallCarriageRuleInfo.getBasicCnt()); |
| | | adminMallCarriageRuleVo.setBasicPriceDefault(mallCarriageRuleInfo.getBasicPrice()); |
| | | adminMallCarriageRuleVo.setMoreCntDefault(mallCarriageRuleInfo.getMoreCnt()); |
| | | adminMallCarriageRuleVo.setMorePriceDefault(mallCarriageRuleInfo.getMorePrice()); |
| | | adminMallCarriageRuleVo.setValuationType(mallCarriageRuleInfo.getValuationType()); |
| | | } |
| | | } |
| | | adminMallCarriageRuleVo.setAdminCarriageRuleInfoVos(adminCarriageRuleInfoVos); |
| | | } |
| | | return adminMallCarriageRuleVo; |
| | | } |
| | | |
| | | @Override |
| | | @Transactional |
| | | public FebsResponse carriageRuleUpdate(AdminCarriageRuleUpdateDto adminCarriageRuleUpdateDto) { |
| | | Long id = adminCarriageRuleUpdateDto.getId(); |
| | | MallCarriageRule mallCarriageRule = mallCarriageRuleMapper.selectById(id); |
| | | if(ObjectUtil.isEmpty(mallCarriageRule)){ |
| | | return new FebsResponse().fail().message("运费模板不存在"); |
| | | } |
| | | |
| | | List<MallGoods> mallGoods = this.baseMapper.selectMallGoodsListQueryByRuleIdAndIsSale(id,MallGoods.ISHOT_STATE_YES); |
| | | if(CollUtil.isNotEmpty(mallGoods)){ |
| | | StringBuffer goodsNameBuffer = new StringBuffer(); |
| | | for(MallGoods goods : mallGoods){ |
| | | goodsNameBuffer.append(goods.getGoodsName()); |
| | | goodsNameBuffer.append(","); |
| | | } |
| | | return new FebsResponse().fail().message(goodsNameBuffer+"正在使用当前模板,请先下架商品"); |
| | | } |
| | | //删除现有的所有运费模板子表数据 |
| | | List<MallCarriageRuleInfo> mallCarriageRuleInfos = mallCarriageRuleInfoMapper.selectMallCarriageRuleInfoByRuleIdAndAreaAddress(id, null); |
| | | if(CollUtil.isNotEmpty(mallCarriageRuleInfos)){ |
| | | for(MallCarriageRuleInfo mallCarriageRuleInfo : mallCarriageRuleInfos){ |
| | | mallCarriageRuleInfoMapper.deleteById(mallCarriageRuleInfo.getId()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 生成运费模板子表数据 |
| | | */ |
| | | MallCarriageRuleInfo mallCarriageRuleInfoDefault = new MallCarriageRuleInfo(); |
| | | mallCarriageRuleInfoDefault.setRuleId(id); |
| | | //计价方式(1:按件算 2:按重量算) |
| | | mallCarriageRuleInfoDefault.setValuationType(adminCarriageRuleUpdateDto.getValuationType()); |
| | | mallCarriageRuleInfoDefault.setValuationUnit( |
| | | adminCarriageRuleUpdateDto.getValuationType() == 1?"件":"千克" |
| | | ); |
| | | mallCarriageRuleInfoDefault.setBasicCnt(adminCarriageRuleUpdateDto.getBasicCntDefault()); |
| | | mallCarriageRuleInfoDefault.setBasicPrice(adminCarriageRuleUpdateDto.getBasicPriceDefault()); |
| | | mallCarriageRuleInfoDefault.setMoreCnt(adminCarriageRuleUpdateDto.getMoreCntDefault()); |
| | | mallCarriageRuleInfoDefault.setMorePrice(adminCarriageRuleUpdateDto.getMorePriceDefault()); |
| | | mallCarriageRuleInfoMapper.insert(mallCarriageRuleInfoDefault); |
| | | |
| | | List<AdminCarriageRuleAddInfoDto> adminCarriageRuleAddInfoDtos = adminCarriageRuleUpdateDto.getAdminCarriageRuleAddInfoDtos(); |
| | | if(CollUtil.isNotEmpty(adminCarriageRuleAddInfoDtos)){ |
| | | for(AdminCarriageRuleAddInfoDto adminCarriageRuleAddInfoDto : adminCarriageRuleAddInfoDtos){ |
| | | MallCarriageRuleInfo mallCarriageRuleInfo = new MallCarriageRuleInfo(); |
| | | mallCarriageRuleInfo.setRuleId(id); |
| | | mallCarriageRuleInfo.setAreaAddress(adminCarriageRuleAddInfoDto.getAreaAddress()); |
| | | //计价方式(1:按件算 2:按重量算) |
| | | mallCarriageRuleInfo.setValuationType(mallCarriageRuleInfoDefault.getValuationType()); |
| | | mallCarriageRuleInfo.setValuationUnit( |
| | | mallCarriageRuleInfoDefault.getValuationType() == 1?"件":"千克" |
| | | ); |
| | | mallCarriageRuleInfo.setBasicCnt(adminCarriageRuleAddInfoDto.getBasicCnt()); |
| | | mallCarriageRuleInfo.setBasicPrice(adminCarriageRuleAddInfoDto.getBasicPrice()); |
| | | mallCarriageRuleInfo.setMoreCnt(adminCarriageRuleAddInfoDto.getMoreCnt()); |
| | | mallCarriageRuleInfo.setMorePrice(adminCarriageRuleAddInfoDto.getMorePrice()); |
| | | mallCarriageRuleInfoMapper.insert(mallCarriageRuleInfo); |
| | | } |
| | | } |
| | | |
| | | return new FebsResponse().success().message("操作成功"); |
| | | } |
| | | |
| | | @Override |
| | | public List<MallCarriageRule> findAllCarriageRuleTree() { |
| | | List<MallCarriageRule> mallCarriageRules = mallCarriageRuleMapper.selectList(new QueryWrapper<>()); |
| | | return mallCarriageRules; |
| | | } |
| | | } |