From fe70ca5db711b458714bfbe4a6eda6cf7d8a0421 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 16 Sep 2025 13:58:46 +0800
Subject: [PATCH] feat(member): 添加会员公司ID并更新相关服务

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ClothesTypeServiceImpl.java |  281 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 275 insertions(+), 6 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ClothesTypeServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ClothesTypeServiceImpl.java
index f52d65f..25e79e9 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ClothesTypeServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ClothesTypeServiceImpl.java
@@ -3,6 +3,7 @@
 import cc.mrbird.febs.common.entity.FebsResponse;
 import cc.mrbird.febs.common.entity.QueryRequest;
 import cc.mrbird.febs.common.enumerates.*;
+import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.common.properties.XcxProperties;
 import cc.mrbird.febs.common.utils.SpringContextHolder;
 import cc.mrbird.febs.common.utils.excl.ExcelSheetPO;
@@ -16,16 +17,14 @@
 import cc.mrbird.febs.mall.service.IApiMallMemberWalletService;
 import cc.mrbird.febs.mall.service.IMallMoneyFlowService;
 import cc.mrbird.febs.mall.vo.AdminMallOrderInfoVo;
-import cc.mrbird.febs.mall.vo.clothes.AdminClothesLocationRemarkVo;
-import cc.mrbird.febs.mall.vo.clothes.AdminClothesOrderListVo;
-import cc.mrbird.febs.mall.vo.clothes.AdminClothesPatternRemarkVo;
-import cc.mrbird.febs.mall.vo.clothes.AdminClothesSocialListVo;
+import cc.mrbird.febs.mall.vo.clothes.*;
 import cc.mrbird.febs.pay.util.WeixinServiceUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.json.JSON;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -44,6 +43,7 @@
 import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.net.URLEncoder;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -66,14 +66,17 @@
     private final ClothesTypePatternMapper clothesTypePatternMapper;
     private final ClothesTypeLocationMapper clothesTypeLocationMapper;
     private final ClothesOrderMapper clothesOrderMapper;
+    private final ClothesOrderItemMapper clothesOrderItemMapper;
     private final MallExpressInfoMapper mallExpressInfoMapper;
     private final ClothesSocialMapper clothesSocialMapper;
     private final ClothesSocialFileMapper clothesSocialFileMapper;
     private final ClothesSocialMuseMapper clothesSocialMuseMapper;
     private final ClothesSocialCategoryMapper clothesSocialCategoryMapper;
+    private final ClothesMemberStatureMapper clothesMemberStatureMapper;
 
     private final ClothesPatternRemarkMapper clothesPatternRemarkMapper;
     private final ClothesLocationRemarkMapper clothesLocationRemarkMapper;
+    private final ClothesSocialCommentMapper clothesSocialCommentMapper;
 
     private final IApiMallMemberWalletService memberWalletService;
     private final IMallMoneyFlowService mallMoneyFlowService;
@@ -212,6 +215,10 @@
         clothesPattern.setOrderNum(dto.getOrderNum());
         clothesPattern.setImage(dto.getImage());
         clothesPattern.setContent(dto.getContent());
+        clothesPattern.setBoxWidth(dto.getBoxWidth());
+        clothesPattern.setBoxHeight(dto.getBoxHeight());
+        clothesPattern.setLeftPercent(dto.getLeftPercent());
+        clothesPattern.setTopPercent(dto.getTopPercent());
         clothesPatternMapper.insert(clothesPattern);
         return new FebsResponse().success().message("操作成功");
     }
@@ -230,6 +237,11 @@
                             .set(ClothesPattern::getContent, dto.getContent())
                             .set(ClothesPattern::getOrderNum, dto.getOrderNum())
                             .set(ClothesPattern::getPrice, dto.getPrice())
+                            .set(ClothesPattern::getBoxHeight, dto.getBoxHeight())
+                            .set(ClothesPattern::getBoxWidth, dto.getBoxWidth())
+                            .set(ClothesPattern::getLeftPercent, dto.getLeftPercent())
+                            .set(ClothesPattern::getTopPercent, dto.getTopPercent())
+
             );
         }
         return new FebsResponse().success().message("操作成功");
@@ -252,6 +264,10 @@
         clothesLocation.setContent(dto.getContent());
         clothesLocation.setPrice(dto.getPrice());
         clothesLocation.setOrderNum(dto.getOrderNum());
+        clothesLocation.setBoxHeight(dto.getBoxHeight());
+        clothesLocation.setBoxWidth(dto.getBoxWidth());
+        clothesLocation.setLeftPercent(dto.getLeftPercent());
+        clothesLocation.setTopPercent(dto.getTopPercent());
         clothesLocationMapper.insert(clothesLocation);
         return new FebsResponse().success().message("操作成功");
     }
@@ -270,6 +286,10 @@
                             .set(ClothesLocation::getPrice, dto.getPrice())
                             .set(ClothesLocation::getImage, dto.getImage())
                             .set(ClothesLocation::getContent, dto.getContent())
+                            .set(ClothesLocation::getBoxHeight, dto.getBoxHeight())
+                            .set(ClothesLocation::getBoxWidth, dto.getBoxWidth())
+                            .set(ClothesLocation::getLeftPercent, dto.getLeftPercent())
+                            .set(ClothesLocation::getTopPercent, dto.getTopPercent())
             );
         }
         return new FebsResponse().success().message("操作成功");
@@ -549,8 +569,8 @@
         clothesOrderMapper.update(
                 null,
                 Wrappers.lambdaUpdate(ClothesOrder.class)
-                        .set(ClothesOrder::getStatus, ClothesOrderStatusEnum.CANCEL.getValue())
-                        .set(ClothesOrder::getUpdatedTime, new Date())
+                        .set(ClothesOrder::getStatus, value)
+                        .set(ClothesOrder::getUpdatedTime, date)
                         .eq(ClothesOrder::getId, id)
         );
     }
@@ -752,6 +772,13 @@
     }
 
     @Override
+    public IPage<AdminClothesSocialCommentVo> socialComment(ClothesSocialComment dto, QueryRequest request) {
+        Page<AdminClothesSocialCommentVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+        IPage<AdminClothesSocialCommentVo> vos = clothesSocialCommentMapper.selectSocialCommentListInPage(page, dto);
+        return vos;
+    }
+
+    @Override
     public FebsResponse socialState(Long id, Integer state) {
 
         ClothesSocial clothesSocial = clothesSocialMapper.selectById(id);
@@ -763,6 +790,39 @@
                 Wrappers.lambdaUpdate(ClothesSocial.class)
                 .set(ClothesSocial::getState, state)
                 .eq(ClothesSocial::getId, id)
+        );
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @Override
+    public FebsResponse commentStateSwitch(Long id, Integer state) {
+
+        ClothesSocial clothesSocial = clothesSocialMapper.selectById(id);
+        if(ObjectUtil.isNull(clothesSocial)){
+            throw new RuntimeException("内容不存在");
+        }
+        clothesSocialMapper.update(
+                null,
+                Wrappers.lambdaUpdate(ClothesSocial.class)
+                        .set(ClothesSocial::getCommentState, state)
+                        .eq(ClothesSocial::getId, id)
+        );
+        return new FebsResponse().success().message("操作成功");
+    }
+
+    @Override
+    public FebsResponse showStateSwitch(Long id, Integer state) {
+
+        ClothesSocialComment clothesSocialComment = clothesSocialCommentMapper.selectById(id);
+
+        if(ObjectUtil.isNull(clothesSocialComment)){
+            throw new RuntimeException("评论不存在");
+        }
+        clothesSocialCommentMapper.update(
+                null,
+                Wrappers.lambdaUpdate(ClothesSocialComment.class)
+                        .set(ClothesSocialComment::getShowState, state)
+                        .eq(ClothesSocialComment::getId, id)
         );
         return new FebsResponse().success().message("操作成功");
     }
@@ -934,6 +994,8 @@
         entity.setContent(dto.getContent());
         entity.setIndexFile(dto.getIndexFile());
         entity.setOrderCnt(dto.getOrderCnt());
+        entity.setLikeCnt(dto.getLikeCnt());
+        entity.setCollectCnt(dto.getCollectCnt());
 
         clothesSocialMapper.updateById(entity);
 
@@ -1110,4 +1172,211 @@
         return new FebsResponse().success().message("操作成功");
     }
 
+    @Override
+    public FebsResponse printOrder(AdminClothesPrintOrderDto dto) {
+        HashMap<String, Object> objectObjectHashMap = new HashMap<>();
+        ClothesOrder order = clothesOrderMapper.selectById(dto.getId());
+        if (ObjectUtil.isNotNull(order)){
+            objectObjectHashMap.put("orderNo", order.getOrderNo());
+        }
+        ClothesType clothesType = clothesTypeMapper.selectById(order.getTypeId());
+        if (ObjectUtil.isNotNull(clothesType)) {
+            objectObjectHashMap.put("typeName", clothesType.getName());
+            objectObjectHashMap.put("typeFront", clothesType.getImageFront());
+            objectObjectHashMap.put("typeBack", clothesType.getImageBack());
+        }
+        List<ClothesOrderItem> clothesOrderItems = clothesOrderItemMapper.selectList(
+                Wrappers.lambdaQuery(ClothesOrderItem.class)
+                        .eq(ClothesOrderItem::getOrderId, order.getId())
+        );
+        if(CollUtil.isNotEmpty(clothesOrderItems)){
+            for (ClothesOrderItem item : clothesOrderItems){
+                if (ClothesOrderItemEnum.CLOTH.getCode() == item.getType()) {
+                    ClothesCloth cloth = clothesClothMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(cloth)) {
+                        objectObjectHashMap.put("clothName", cloth.getName());
+                        objectObjectHashMap.put("clothCode", cloth.getCode());
+                    }
+                    continue;
+                } else if (ClothesOrderItemEnum.SIZE.getCode() == item.getType()) {
+                    ClothesSize size = clothesSizeMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(size)) {
+                        objectObjectHashMap.put("sizeName", size.getName());
+                        objectObjectHashMap.put("sizeCode", size.getCode());
+                    }
+                    continue;
+                } else if (ClothesOrderItemEnum.LOCATION.getCode() == item.getType()) {
+                    ClothesLocation location = clothesLocationMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(location)) {
+                        objectObjectHashMap.put("locationName", location.getName());
+                        objectObjectHashMap.put("locationCode", location.getCode());
+
+                        JSON parse = JSONUtil.parse(item.getRemark());
+                        objectObjectHashMap.put("locationText", parse.getByPath("text", String.class));
+                        objectObjectHashMap.put("locationImage", parse.getByPath("file", String.class));
+                    }else{
+                        objectObjectHashMap.put("locationName", "");
+                        objectObjectHashMap.put("locationCode", "");
+                        objectObjectHashMap.put("locationText", "");
+                        objectObjectHashMap.put("locationImage", "");
+                    }
+                    continue;
+                } else if (ClothesOrderItemEnum.PATTERN.getCode() == item.getType()) {
+                    ClothesPattern pattern = clothesPatternMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(pattern)) {
+                        objectObjectHashMap.put("patternName", pattern.getName());
+                        objectObjectHashMap.put("patternCode", pattern.getCode());
+
+                        JSON parse = JSONUtil.parse(item.getRemark());
+                        objectObjectHashMap.put("patternText", parse.getByPath("text", String.class));
+                        objectObjectHashMap.put("patternImage", parse.getByPath("file", String.class));
+                    }else{
+                        objectObjectHashMap.put("patternName", "");
+                        objectObjectHashMap.put("patternCode", "");
+                        objectObjectHashMap.put("patternText", "");
+                        objectObjectHashMap.put("patternImage", "");
+                    }
+                    continue;
+                } else if (ClothesOrderItemEnum.ART.getCode() == item.getType()) {
+                    ClothesArt art = clothesArtMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(art)) {
+                        objectObjectHashMap.put("artName", art.getName());
+                        objectObjectHashMap.put("artCode", art.getCode());
+                    }
+                    continue;
+                } else if (ClothesOrderItemEnum.CUSTOMIZE.getCode() == item.getType()) {
+                    ClothesMemberStature clothesMemberStature = clothesMemberStatureMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(clothesMemberStature)) {
+                        objectObjectHashMap.put("statureName", clothesMemberStature.getName());
+                    }
+                    continue;
+                } else {
+                    continue;
+                }
+            }
+        }
+        return new FebsResponse().success().data(objectObjectHashMap);
+    }
+
+    @Override
+    public AdminClothesPrintOrderVo printOrderEvent(AdminClothesPrintOrderDto dto) {
+
+        AdminClothesPrintOrderVo vo = new AdminClothesPrintOrderVo();
+
+        ClothesOrder order = clothesOrderMapper.selectById(dto.getId());
+        if (ObjectUtil.isNotNull(order)){
+            vo.setOrderNo(order.getOrderNo());
+        }
+        ClothesType clothesType = clothesTypeMapper.selectById(order.getTypeId());
+        if (ObjectUtil.isNotNull(clothesType)) {
+            vo.setTypeName(clothesType.getName());
+            vo.setTypeFront(clothesType.getImageFront());
+            vo.setTypeBack(clothesType.getImageBack());
+        }
+        List<ClothesOrderItem> clothesOrderItems = clothesOrderItemMapper.selectList(
+                Wrappers.lambdaQuery(ClothesOrderItem.class)
+                        .eq(ClothesOrderItem::getOrderId, order.getId())
+        );
+        if(CollUtil.isNotEmpty(clothesOrderItems)){
+            String nullStr = "暂无";
+            List<AdminClothesPrintLocationVo> locations = new ArrayList<>();
+            List<AdminClothesPrintPatternVo> patterns = new ArrayList<>();
+            for (ClothesOrderItem item : clothesOrderItems){
+                if (ClothesOrderItemEnum.CLOTH.getCode() == item.getType()) {
+                    ClothesCloth cloth = clothesClothMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(cloth)) {
+                        vo.setClothCode(cloth.getCode());
+                        vo.setClothName(cloth.getName());
+                    }else{
+                        vo.setClothCode(nullStr);
+                        vo.setClothName(nullStr);
+                    }
+                    continue;
+                } else if (ClothesOrderItemEnum.SIZE.getCode() == item.getType()) {
+                    ClothesSize size = clothesSizeMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(size)) {
+                        vo.setSizeName(size.getName());
+                        vo.setSizeCode(size.getCode());
+                    }else {
+                        vo.setSizeName(nullStr);
+                        vo.setSizeCode(nullStr);
+                    }
+                    continue;
+                } else if (ClothesOrderItemEnum.LOCATION.getCode() == item.getType()) {
+                    AdminClothesPrintLocationVo locationVo = new AdminClothesPrintLocationVo();
+                    ClothesLocation location = clothesLocationMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(location)) {
+                        locationVo.setLocationName(location.getName());
+                        locationVo.setLocationCode(location.getCode());
+
+                        JSON parse = JSONUtil.parse(item.getRemark());
+                        locationVo.setLocationText(parse.getByPath("text", String.class));
+                        locationVo.setLocationImage(parse.getByPath("file", String.class));
+                    }else{
+                        locationVo.setLocationName(nullStr);
+                        locationVo.setLocationCode(nullStr);
+                        locationVo.setLocationText(nullStr);
+                        locationVo.setLocationImage(nullStr);
+                    }
+                    locations.add(locationVo);
+                    vo.setLocations( locations);
+                    continue;
+                } else if (ClothesOrderItemEnum.PATTERN.getCode() == item.getType()) {
+                    AdminClothesPrintPatternVo patternVo = new AdminClothesPrintPatternVo();
+
+                    ClothesPattern pattern = clothesPatternMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(pattern)) {
+                        patternVo.setPatternName(pattern.getName());
+                        patternVo.setPatternCode(pattern.getCode());
+
+                        JSON parse = JSONUtil.parse(item.getRemark());
+                        patternVo.setPatternText(parse.getByPath("text", String.class));
+                        patternVo.setPatternImage(parse.getByPath("file", String.class));
+                    }else{
+                        patternVo.setPatternName(nullStr);
+                        patternVo.setPatternCode(nullStr);
+                        patternVo.setPatternText(nullStr);
+                        patternVo.setPatternImage(nullStr);
+                    }
+                    patterns.add(patternVo);
+                    vo.setPatterns( patterns);
+                    continue;
+                } else if (ClothesOrderItemEnum.ART.getCode() == item.getType()) {
+                    ClothesArt art = clothesArtMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(art)) {
+                        vo.setArtName(art.getName());
+                        vo.setArtCode(art.getCode());
+                    }else{
+                        vo.setArtName(nullStr);
+                        vo.setArtCode(nullStr);
+                    }
+                    continue;
+                } else if (ClothesOrderItemEnum.CUSTOMIZE.getCode() == item.getType()) {
+                    AdminClothesPrintMemberStatureVo memberStature = new AdminClothesPrintMemberStatureVo();
+                    ClothesMemberStature clothesMemberStature = clothesMemberStatureMapper.selectById(item.getItemId());
+                    if (ObjectUtil.isNotNull(clothesMemberStature)) {
+                        memberStature.setName(clothesMemberStature.getName());
+                        memberStature.setHeightLine(clothesMemberStature.getHeightLine());
+                        memberStature.setBustLine(clothesMemberStature.getBustLine());
+                        memberStature.setWaistLine(clothesMemberStature.getWaistLine());
+                        memberStature.setWideLine(clothesMemberStature.getWideLine());
+                        memberStature.setHipLine(clothesMemberStature.getHipLine());
+                    }else{
+                        memberStature.setName(nullStr);
+                        memberStature.setHeightLine(BigDecimal.ZERO);
+                        memberStature.setBustLine(BigDecimal.ZERO);
+                        memberStature.setWaistLine(BigDecimal.ZERO);
+                        memberStature.setWideLine(BigDecimal.ZERO);
+                        memberStature.setHipLine(BigDecimal.ZERO);
+                    }
+                    vo.setMemberStature(memberStature);
+                    continue;
+                } else {
+                    continue;
+                }
+            }
+        }
+        return vo;
+    }
+
 }

--
Gitblit v1.9.1