xiaoyong931011
2023-08-22 ef552b45c7affb3b91c39d2451a0233c1da67814
src/main/java/cc/mrbird/febs/dapp/service/impl/AdminMallGoodsService.java
@@ -2,10 +2,7 @@
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.HlmBasicPerkDto;
import cc.mrbird.febs.dapp.dto.MallGoodsUpdateDto;
import cc.mrbird.febs.dapp.dto.MallOrderInfoDto;
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.*;
@@ -13,10 +10,13 @@
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;
@@ -44,6 +44,8 @@
    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) {
@@ -70,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("操作成功");
    }
@@ -114,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;
    }
@@ -136,6 +156,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("操作成功");
    }
@@ -382,6 +419,11 @@
    }
    @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) {
@@ -390,4 +432,73 @@
        }
    }
    @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);
    }
}