From ef552b45c7affb3b91c39d2451a0233c1da67814 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 22 Aug 2023 16:24:35 +0800
Subject: [PATCH] 后台修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java |  376 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 368 insertions(+), 8 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
index 1b4cb94..7ff7707 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
@@ -2,18 +2,21 @@
 
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
-import cc.mrbird.febs.dapp.dto.AddMallGoodsDto;
-import cc.mrbird.febs.dapp.dto.MallGoodsUpdateDto;
-import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
-import cc.mrbird.febs.dapp.entity.MallGoods;
-import cc.mrbird.febs.dapp.entity.MallOrderInfo;
-import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
-import cc.mrbird.febs.dapp.mapper.MallGoodsMapper;
-import cc.mrbird.febs.dapp.mapper.MallOrderInfoMapper;
+import cc.mrbird.febs.dapp.dto.*;
+import cc.mrbird.febs.dapp.entity.*;
+import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum;
+import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.IAdminMallGoodsService;
+import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryTreeVo;
+import cc.mrbird.febs.dapp.vo.AdminMallGoodsCategoryVo;
 import cc.mrbird.febs.dapp.vo.AdminMallMoneyFlowVo;
+import cc.mrbird.febs.dapp.vo.AdminMallOrderVo;
 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 com.baomidou.mybatisplus.core.conditions.Wrapper;
+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;
@@ -21,6 +24,12 @@
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
 
 @Slf4j
 @Service
@@ -31,6 +40,12 @@
     private final MallGoodsMapper mallGoodsMapper;
     private final MallOrderInfoMapper mallOrderInfoMapper;
     private final DappFundFlowDao dappFundFlowDao;
+    private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
+    private final MallGoodsCategoryMapper mallGoodsCategoryMapper;
+
+    private final PlatformBannerMapper platformBannerMapper;
+    private final MallGoodsImagesMapper mallGoodsImagesMapper;
+    private final DappMemberDao dappMemberDao;
 
     @Override
     public IPage<MallGoods> getCategoryListInPage(MallGoods mallGoods, QueryRequest request) {
@@ -57,6 +72,22 @@
         BeanUtil.copyProperties(addMallGoodsDto, mallGoods);
         mallGoods.setIsSale(MallGoods.ISSALE_STATUS_DISABLED);
         mallGoodsMapper.insert(mallGoods);
+
+        String thumbs = addMallGoodsDto.getThumbs();
+        if (StrUtil.isNotEmpty(thumbs)) {
+            List<String> imgs = StrUtil.splitTrim(thumbs, ",");
+            if (CollUtil.isNotEmpty(imgs)) {
+                int i = 1;
+                for (String img : imgs) {
+                    MallGoodsImages mallGoodsImages = new MallGoodsImages();
+                    mallGoodsImages.setGoodsId(mallGoods.getId());
+                    mallGoodsImages.setImageUrl(img);
+                    mallGoodsImages.setSeq(i);
+                    mallGoodsImagesMapper.insert(mallGoodsImages);
+                    i++;
+                }
+            }
+        }
         return new FebsResponse().success().message("操作成功");
     }
 
@@ -101,6 +132,8 @@
     @Override
     public MallGoods selectGoodsById(long id) {
         MallGoods mallGoods = mallGoodsMapper.selectById(id);
+        List<String> thumbs = mallGoodsImagesMapper.selectByGoodId(mallGoods.getId());
+        mallGoods.setImages(thumbs);
         return mallGoods;
     }
 
@@ -124,6 +157,23 @@
         BeanUtil.copyProperties(mallGoodsUpdateDto, mallGoods);
         mallGoodsMapper.updateById(mallGoods);
 
+        mallGoodsImagesMapper.deleteByGoodsId(mallGoodsUpdateDto.getId());
+        String thumbs = mallGoodsUpdateDto.getThumbs();
+        if (StrUtil.isNotEmpty(thumbs)) {
+            List<String> imgs = StrUtil.splitTrim(thumbs, ",");
+            if (CollUtil.isNotEmpty(imgs)) {
+                int i = 1;
+                for (String img : imgs) {
+                    MallGoodsImages mallGoodsImages = new MallGoodsImages();
+                    mallGoodsImages.setGoodsId(mallGoods.getId());
+                    mallGoodsImages.setImageUrl(img);
+                    mallGoodsImages.setSeq(i);
+                    mallGoodsImagesMapper.insert(mallGoodsImages);
+                    i++;
+                }
+            }
+        }
+
         return new FebsResponse().success().message("操作成功");
     }
 
@@ -141,4 +191,314 @@
         IPage<AdminMallMoneyFlowVo> adminMallMoneyFlowVos = dappFundFlowDao.selectOrderMoneyFlowInPage(page, mallOrder);
         return adminMallMoneyFlowVos;
     }
+
+    @Override
+    public List<DataDictionaryCustom> findDataDicByType(String type) {
+        return dataDictionaryCustomMapper.selectDicByType(type);
+    }
+
+    @Override
+    public void bonusSystemSetting(Map<String, Object> map) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
+            if (entry.getValue() instanceof String) {
+                dataDictionaryCustomMapper.updateDicValueByTypeAndCode(null, entry.getKey(), (String) entry.getValue());
+            } else {
+                List<LinkedHashMap<String, Object>> value = (List<LinkedHashMap<String, Object>>) entry.getValue();
+
+                for (LinkedHashMap<String, Object> dic : value) {
+                    String type = (String) dic.get("type");
+                    String code = (String) dic.get("code");
+                    String dataValue = (String) dic.get("value");
+                    dataDictionaryCustomMapper.updateDicValueByTypeAndCode(type, code, dataValue);
+                }
+            }
+        }
+    }
+
+    @Override
+    public void hlmBasicPerk(HlmBasicPerkDto hlmBasicPerkDto) {
+        updateDataDic(DataDictionaryEnum.DONATE_SCORE_PERCENT.getType(),
+                DataDictionaryEnum.DONATE_SCORE_PERCENT.getCode(),
+                hlmBasicPerkDto.getDonateScorePercent());
+        updateDataDic(DataDictionaryEnum.STATIC_RELEASE.getType(),
+                DataDictionaryEnum.STATIC_RELEASE.getCode(),
+                hlmBasicPerkDto.getStaticRelease());
+        updateDataDic(DataDictionaryEnum.DIRECT_RELEASE.getType(),
+                DataDictionaryEnum.DIRECT_RELEASE.getCode(),
+                hlmBasicPerkDto.getDirectRelease());
+        updateDataDic(DataDictionaryEnum.MAX_RELEASE.getType(),
+                DataDictionaryEnum.MAX_RELEASE.getCode(),
+                hlmBasicPerkDto.getMaxRelease());
+        updateDataDic(DataDictionaryEnum.USDT_ORDER_PERCENT.getType(),
+                DataDictionaryEnum.USDT_ORDER_PERCENT.getCode(),
+                hlmBasicPerkDto.getUsdtOrderRelease());
+        updateDataDic(DataDictionaryEnum.TEAM_PERK_LEVEL_EQUALS.getType(),
+                DataDictionaryEnum.TEAM_PERK_LEVEL_EQUALS.getCode(),
+                hlmBasicPerkDto.getTeamPerkLevelEquals());
+        updateDataDic(DataDictionaryEnum.MEMBER_BUY_MAX_AMOUNT.getType(),
+                DataDictionaryEnum.MEMBER_BUY_MAX_AMOUNT.getCode(),
+                hlmBasicPerkDto.getMemberBuyMaxAmount());
+        updateDataDic(DataDictionaryEnum.PACKAGE_TOTAL_SCORE.getType(),
+                DataDictionaryEnum.PACKAGE_TOTAL_SCORE.getCode(),
+                hlmBasicPerkDto.getPackageTotalScore());
+        updateDataDic(DataDictionaryEnum.PACKAGE_SCORE_PRICE.getType(),
+                DataDictionaryEnum.PACKAGE_SCORE_PRICE.getCode(),
+                hlmBasicPerkDto.getPackageScorePrice());
+        updateDataDic(DataDictionaryEnum.PACKAGE_SALE_TO_POOR_PERCENT.getType(),
+                DataDictionaryEnum.PACKAGE_SALE_TO_POOR_PERCENT.getCode(),
+                hlmBasicPerkDto.getPackageSaleToPoorPercent());
+        updateDataDic(DataDictionaryEnum.PACKAGE_POOR.getType(),
+                DataDictionaryEnum.PACKAGE_POOR.getCode(),
+                hlmBasicPerkDto.getPackagePoor());
+        updateDataDic(DataDictionaryEnum.WITHDRAW_FEE.getType(),
+                DataDictionaryEnum.WITHDRAW_FEE.getCode(),
+                hlmBasicPerkDto.getWithDrawFee());
+    }
+
+    @Override
+    public IPage<MallGoodsCategory> getCategoryList(MallGoodsCategory mallGoodsCategory, QueryRequest request) {
+        Page<MallGoodsCategory> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<MallGoodsCategory> mallGoodsCategorys = mallGoodsCategoryMapper.selectCategoryListInPage(page, mallGoodsCategory);
+        return mallGoodsCategorys;
+    }
+
+    @Override
+    public FebsResponse addCategory(MallGoodsCategory mallGoodsCategory) {
+        String name = mallGoodsCategory.getName();
+        if(StrUtil.isEmpty(name)){
+            return new FebsResponse().fail().message("分类名称不能为空");
+        }
+        List<MallGoodsCategory> categorys = mallGoodsCategoryMapper.selectCategoryByName(name);
+        if(CollUtil.isNotEmpty(categorys)){
+            return new FebsResponse().fail().message("分类名称不能重复");
+        }
+        Long parentIdParam = mallGoodsCategory.getParentId() == null ? 0L:mallGoodsCategory.getParentId();
+        Integer isRecommendParam = mallGoodsCategory.getIsRecommend();
+        if(parentIdParam > 0 && isRecommendParam == 1){
+            return new FebsResponse().fail().message("子分类不能选择【是否推荐】为【是】");
+        }
+
+        MallGoodsCategory goodsCategory = new MallGoodsCategory();
+        goodsCategory.setName(name);
+        goodsCategory.setImage(mallGoodsCategory.getImage());
+        if(ObjectUtil.isNotEmpty(mallGoodsCategory.getParentId())){
+            Long parentId = mallGoodsCategory.getParentId();
+            MallGoodsCategory mallGoodsCategoryParent = mallGoodsCategoryMapper.selectById(parentId);
+            goodsCategory.setParentId(mallGoodsCategory.getParentId());
+            if(StrUtil.isNotEmpty(mallGoodsCategoryParent.getParentIds())){
+                goodsCategory.setParentIds(mallGoodsCategoryParent.getParentIds()+","+mallGoodsCategory.getParentId()+",");
+            }else{
+                goodsCategory.setParentIds(mallGoodsCategory.getParentId()+",");
+            }
+            goodsCategory.setIsRecommend(0);
+        }else{
+            goodsCategory.setParentId(0L);
+            goodsCategory.setIsRecommend(mallGoodsCategory.getIsRecommend());
+        }
+        mallGoodsCategoryMapper.insert(goodsCategory);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse updateCategory(MallGoodsCategory mallGoodsCategoryParam) {
+        String name = mallGoodsCategoryParam.getName();
+        if(StrUtil.isEmpty(name)){
+            return new FebsResponse().fail().message("名称不能为空");
+        }
+        Long parentIdParam = mallGoodsCategoryParam.getParentId() == null ? 0L:mallGoodsCategoryParam.getParentId();
+        Integer isRecommendParam = mallGoodsCategoryParam.getIsRecommend();
+        if(parentIdParam > 0 && isRecommendParam == 1){
+            return new FebsResponse().fail().message("子分类不能选择【是否推荐】为【是】");
+        }
+
+        Long id = mallGoodsCategoryParam.getId();
+        MallGoodsCategory mallGoodsCategory = mallGoodsCategoryMapper.selectById(id);
+        mallGoodsCategory.setName(mallGoodsCategoryParam.getName());
+        mallGoodsCategory.setImage(mallGoodsCategoryParam.getImage());
+        mallGoodsCategory.setIndexNum(mallGoodsCategoryParam.getIndexNum());
+        if(ObjectUtil.isNotEmpty(mallGoodsCategoryParam.getParentId())){
+            Long parentId = mallGoodsCategoryParam.getParentId();
+            MallGoodsCategory mallGoodsCategoryParent = mallGoodsCategoryMapper.selectById(parentId);
+            mallGoodsCategory.setParentId(mallGoodsCategoryParam.getParentId());
+            if(StrUtil.isNotEmpty(mallGoodsCategoryParent.getParentIds())){
+                mallGoodsCategory.setParentIds(mallGoodsCategoryParent.getParentIds()+","+mallGoodsCategory.getParentId()+",");
+            }else{
+                mallGoodsCategory.setParentIds(mallGoodsCategory.getParentId()+",");
+            }
+            mallGoodsCategory.setIsRecommend(0);
+        }else{
+            mallGoodsCategory.setParentId(0L);
+            mallGoodsCategory.setIsRecommend(mallGoodsCategoryParam.getIsRecommend());
+        }
+        mallGoodsCategoryMapper.updateById(mallGoodsCategory);
+
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse delCategary(Long id) {
+        MallGoodsCategory mallGoodsCategory = mallGoodsCategoryMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallGoodsCategory)){
+            return new FebsResponse().fail().message("系统繁忙,请刷新页面重试");
+        }
+        List<MallGoodsCategory> childCategarys = mallGoodsCategoryMapper.selectChildCategaryById(id);
+        if(CollUtil.isNotEmpty(childCategarys)){
+            for(MallGoodsCategory childCategary : childCategarys){
+                Long childCategaryId = childCategary.getId();
+                List<MallGoods> mallChildGoods = mallGoodsMapper.selectMallGoodsByCategaryId(childCategaryId);
+                if(CollUtil.isNotEmpty(mallChildGoods)){
+                    return new FebsResponse().fail().message("该分类下的子类【"+childCategary.getName()+"】还有商品,请先删除商品或者修改商品分类");
+                }
+            }
+        }
+
+        if(CollUtil.isNotEmpty(childCategarys)){
+            return new FebsResponse().fail().message("该分类下还有子类,请先删除子类");
+        }
+
+        List<MallGoods> mallGoods = mallGoodsMapper.selectMallGoodsByCategaryId(id);
+        if(CollUtil.isNotEmpty(mallGoods)){
+            return new FebsResponse().fail().message("该分类下还有商品,请先删除商品或者修改商品分类");
+        }
+        mallGoodsCategoryMapper.deleteById(mallGoodsCategory);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public AdminMallGoodsCategoryVo getMallGoodsCategoryInfoById(long id) {
+        return mallGoodsCategoryMapper.getMallGoodsCategoryInfoById(id);
+    }
+
+    @Override
+    public List<AdminMallGoodsCategoryTreeVo> getParentCategorys() {
+        List<AdminMallGoodsCategoryTreeVo> adminMallGoodsCategoryTreeVos = mallGoodsCategoryMapper.getParentCategorys();
+        return adminMallGoodsCategoryTreeVos;
+    }
+
+    @Override
+    public IPage<PlatformBanner> findPlatformBannerInPage(PlatformBanner platformBannerEntity,
+                                                          QueryRequest request) {
+        Page<PlatformBanner> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<PlatformBanner> platformBannerEntitys = platformBannerMapper.findPlatformBannerInPage(page, platformBannerEntity);
+        return platformBannerEntitys;
+    }
+
+    @Override
+    public PlatformBanner selectPlatformBannerById(long id) {
+        PlatformBanner platformBannerEntity = platformBannerMapper.selectById(id);
+        return platformBannerEntity;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public FebsResponse platformBannerConfirm(@Valid PlatformBanner platformBannerEntity) {
+        platformBannerMapper.updateById(platformBannerEntity);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public FebsResponse platformBannerDelete(@NotNull(message = "{required}") Long id) {
+        platformBannerMapper.deleteById(id);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void platformBannerAdd(@Valid PlatformBanner platformBannerEntity) {
+        PlatformBanner platformBannerEntityAdd = new PlatformBanner();
+        platformBannerEntityAdd.setImageUrl(platformBannerEntity.getImageUrl());
+        platformBannerEntityAdd.setIsInside(platformBannerEntity.getIsInside());
+        platformBannerEntityAdd.setIsJump(platformBannerEntity.getIsJump());
+        platformBannerEntityAdd.setIsTop(platformBannerEntity.getIsTop());
+        platformBannerEntityAdd.setJumpUrl(platformBannerEntity.getJumpUrl());
+        platformBannerEntityAdd.setName(platformBannerEntity.getName());
+        platformBannerEntityAdd.setShowPort(platformBannerEntity.getShowPort());
+        platformBannerEntityAdd.setSort(platformBannerEntity.getSort());
+        platformBannerMapper.insert(platformBannerEntityAdd);
+
+    }
+
+    @Override
+    public AdminMallOrderVo getMallOrderInfoById(long id) {
+        return this.baseMapper.getMallOrderInfoById(id);
+    }
+
+    public void updateDataDic(String type, String code, String value) {
+        DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(type, code);
+        if (dic != null) {
+            dic.setValue(value);
+            dataDictionaryCustomMapper.updateById(dic);
+        }
+    }
+
+    @Override
+    public FebsResponse deliverGoods(DeliverGoodsDto deliverGoodsDto) {
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(deliverGoodsDto.getId());
+        if(ObjectUtil.isEmpty(mallOrderInfo)){
+            return new FebsResponse().fail().message("订单不存在,刷新后重试");
+        }
+        Integer status = mallOrderInfo.getStatus();
+        if(2 != status){
+            return new FebsResponse().fail().message("订单不是已完成状态");
+        }
+        Integer deliverState = mallOrderInfo.getDeliverState();
+        if(1 != deliverState){
+            return new FebsResponse().fail().message("订单不是待发货状态");
+        }
+        String expressNo = deliverGoodsDto.getExpressNo();
+        if(StrUtil.isEmpty(expressNo)){
+            return new FebsResponse().fail().message("请输入物流单号");
+        }
+        String expressCom = deliverGoodsDto.getExpressCom();
+        if(StrUtil.isEmpty(expressCom)){
+            return new FebsResponse().fail().message("请输入物流公司");
+        }
+        mallOrderInfo.setDeliverState(2);
+        mallOrderInfo.setDeliverName(expressCom);
+        mallOrderInfo.setDeliverCode(expressNo);
+        mallOrderInfoMapper.updateById(mallOrderInfo);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public FebsResponse delOrder(Long id) {
+        MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(id);
+        if(ObjectUtil.isEmpty(mallOrderInfo)){
+            return new FebsResponse().fail().message("订单不存在,请刷新重试");
+        }
+        mallOrderInfoMapper.deleteById(id);
+        dappMemberDao.deleteByOrderId(id);
+        return new FebsResponse().success();
+    }
+
+    @Override
+    public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoods) {
+
+        MallOrderInfo mallOrderInfo = dappMemberDao.selectOrderByOrderNo(deliverGoods.getOrderNo());
+        if(ObjectUtil.isEmpty(mallOrderInfo)){
+            return;
+        }
+        Integer status = mallOrderInfo.getStatus();
+        if(2 != status){
+            return;
+        }
+        Integer deliverState = mallOrderInfo.getDeliverState();
+        if(1 != deliverState){
+            return;
+        }
+        String expressNo = deliverGoods.getExpressNo();
+        if(StrUtil.isEmpty(expressNo)){
+            return;
+        }
+        String expressCom = deliverGoods.getExpressCom();
+        if(StrUtil.isEmpty(expressCom)){
+            return;
+        }
+        mallOrderInfo.setDeliverState(2);
+        mallOrderInfo.setDeliverName(expressCom);
+        mallOrderInfo.setDeliverCode(expressNo);
+        mallOrderInfoMapper.updateById(mallOrderInfo);
+    }
+
 }

--
Gitblit v1.9.1