| | |
| | | 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) { |
| | |
| | | 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("操作成功"); |
| | | } |
| | | } |